Looking for help with UG-32F01 320x240 LCD display

For discussing the 65xx hardware itself or electronics projects.
User avatar
Druzyek
Posts: 367
Joined: 12 May 2014
Contact:

Re: Looking for help with UG-32F01 320x240 LCD display

Post by Druzyek »

I got one of these for very cheap though never got it going: https://datasheetspdf.com/pdf-file/5363 ... /EW32F50/1

The one I have requires -27v for contrast. How are you planning on generating the negative voltage? I see 8BIT is using an AA9090A running off 12v. Someone got one of the LCDs going using three 9v batteries, though I was hoping to generate it from the same 5v power source as everything else.

One thing, at least for the model I have, is that you need to start up the LCD first then apply the negative voltage after it's started. Not sure if that's something useful to try for yours.
plasmo
Posts: 1273
Joined: 21 Dec 2018
Location: Albuquerque NM USA

Re: Looking for help with UG-32F01 320x240 LCD display

Post by plasmo »

I'm using a separate adjustable bench power supply to provide the negative voltage right now. Once I got it working, I will need to figure out how to generate -16V from 5V, don't think a simple charge pump doubler will do, need a bona fide booster converter.
Bill
User avatar
8BIT
Posts: 1787
Joined: 30 Aug 2002
Location: Sacramento, CA
Contact:

Re: Looking for help with UG-32F01 320x240 LCD display

Post by 8BIT »

The Z-80 has DMA capability which would increase efficiency for refreshing the display. I would not give up on that idea. I did do a composite video graphical display with an ATMega1284 which included the AVR doing Line, Box, and circle generation along with text. I cannot speak to the speed at this point as I don't recall, but it did work. It also had the option to output to an LCD.

Daryl
Please visit my website -> https://sbc.rictor.org/
plasmo
Posts: 1273
Joined: 21 Dec 2018
Location: Albuquerque NM USA

Re: Looking for help with UG-32F01 320x240 LCD display

Post by plasmo »

In the Z80 world I probably would use a Z280 which has 4 DMA channels built in. Since this is 6502 forum, I thought I'd try it again using my newly developed 6502 SBC with the help of a CPLD I/O board. The CPLD I/O board was a CF drive interface board re-purposed as LCD interface. I'll need to make some cuts and jumpers and reprogram the CPLD, but conceptually it looks like the attached photos.
Attachments
CRC65 SBC with CPLD I/O board driving the UG-32F01 320x240 LCD display
CRC65 SBC with CPLD I/O board driving the UG-32F01 320x240 LCD display
DSC_63320130.jpg
plasmo
Posts: 1273
Joined: 21 Dec 2018
Location: Albuquerque NM USA

Re: Looking for help with UG-32F01 320x240 LCD display

Post by plasmo »

Daryl,
Sometimes just KNOWING that I'm on the right track is enough to solve the problem. Before I dive into your ATmega program trying to understand yet another assembly language, I thought I take another fresh look at my LCD interface logic and software since I'm using a new CPLD board with 6502. I found a couple mistakes and fixed them. Now I can actually display a pattern on the LCD! This is very encouraging.
Attachments
UG-32F01 displaying a pattern
UG-32F01 displaying a pattern
User avatar
8BIT
Posts: 1787
Joined: 30 Aug 2002
Location: Sacramento, CA
Contact:

Re: Looking for help with UG-32F01 320x240 LCD display

Post by 8BIT »

I'm glad you are making headway! If it helps, the only file you need to focus on is "vidgen.asm" It does all of the refresh based on an interrupt.

In Vid-LCD.asm, I set up a timer interrupt to provide 1 interrupt every 55.6us (microseconds). This does a refresh of 1 line. Doing the math, it completes a frame every 13.3mS, which is a 74.9Hz frame rate.

I don't recall the time needed to generate 1 line, but counting cycles in the code would provide that data.

Hope that helps.

Daryl
Please visit my website -> https://sbc.rictor.org/
plasmo
Posts: 1273
Joined: 21 Dec 2018
Location: Albuquerque NM USA

Re: Looking for help with UG-32F01 320x240 LCD display

Post by plasmo »

This is the program driving the display in my previous post. The display memory is 10K from 0xC000-0xE7FF. It started off with random display data and then filled it with one-byte pattern every frame. It took 2 minutes 10 seconds to fill the entire display this way. So that's 10K frames in 130 seconds or 74 frames per second, which is what I measured with a scope. This is 6502 is running flat out moving display data to the LCD display, not very good use of a 6502, but now I understand how it works, I can start to replace the software with hardware.
Attachments
tstLCD.txt
(2.07 KiB) Downloaded 70 times
Post Reply