- Sun Apr 15, 2007 3:07 pm
#28603
Hi there,
I've been looking for a ~2.7-3.0" colour LCD display that could be interfaced to a small microcontroller like a dsPIC, and happened to have a couple of ACX705AK's that I figured I'd give a try. These are 2.7" 240x160 512 colour displays that accept 9-bit colour data (RGB) and some other input through a tiny 22-pin connector. (You can see these displays at http://www.goldmine-elec-products.com/p ... ber=G13752. Datasheet: http://www.datasheets.org.uk/pdf/acx705 ... sheet.html ).
It looks like a few people have seen these over the years and tried to interface them to a few things, and successful attempts have been made for the gumstix: http://docwiki.gumstix.org/Display#Sett ... on_gumstix, AVR: http://www.circuitcellar.com/avr2004/grand.html, and there's been some interest in using this on a Basic Stamp or other host of simpler microcontrollers (such as a PIC) over the past few years on the Parallax forums. EarthLCD also makes an easy to use controller board for these displays: http://store.earthlcd.com/LCD, but it's rather pricey.
Over the past couple of days I set out to try and drive the display using a dsPIC30F3012, with the dsPIC's pins connected to the displays: MCLK, HSYNC, VSYNC, and one pin to each of the three colour pins (red 0-2, green 0-2, blue 0-2), for a total of six wires. At best, this sort of thing would let you display 8 colours, but for testing I thought I'd be okay.
I whipped up a simple program in C for the dsPIC that would generate a clock pulse on the MCLK line, and every 240 or so MCLK pulses generate a HSYNC, as well as a VSYNC every 180 or so HSYNC pulses (as specified in the timing diagrams of the data sheet). The pixel data lines (RGB) also had a counting pattern going through them (000, 001, 010, 011, etc) to send some simple pattern to display on the screen.
The dsPIC was fed with a 20mhz crystal oscillator, and I ran it in 8x mode. The maximum clock rate of the display is 4.20mhz, but since the clock was being generated in code between IF statements and such things, the clock rate from the dsPIC to the display (MCLK) ended up looking about 1mhz when I checked it out with a scope.
I wasn't able to get any data displayed on the screen, and so I pulled all of the pixel data pins (RGB) high to try and go for a white pattern, and concentrate on having the dsPIC generate clock/sync pulses. This didn't seem to work out either. I checked all the voltages going into the display (3.0v (logic), 3.8v (DC->DC converter), 6.5v (frontlight)), and they looked pretty good. I built the thing on a solderless breadboard, so I checked the pins at the display for noise, and it looked okay, though I did notice that the MCLK period would varry a little bit, probably due to entering and exciting comparison statements for the HSYNC and VSYNC pulses. I also noticed that sometimes there were issues with programming the dsPIC, it might take a few times to get the program in and verified, which likely was also due to noise.
I also placed LED's on most of the data lines (MCLK, HSYNC, VSYNC, and the 'blue' pixel data line) to make sure data was being transfered and the dsPIC was running okay -- and that turned out to look good). Overall it looked like a VSYNC was generated about 5 times per second, which would mean the display was running at about 5fps (a little slow, but the datasheet doesn't happen to mention a lower clock limit).
Any thoughts? Has anyone else used one of these displays, and had luck or issues? Is it increadably particular about the clock periods, or should I perhaps be using an external crystal (~4mhz) to drive everything?
On that line of thoughts, has anyone come across a colour display out there (~2.7-3.0") that is particularly easy to interface with a microcontroller?
thanks for any help,
silic0re
I've been looking for a ~2.7-3.0" colour LCD display that could be interfaced to a small microcontroller like a dsPIC, and happened to have a couple of ACX705AK's that I figured I'd give a try. These are 2.7" 240x160 512 colour displays that accept 9-bit colour data (RGB) and some other input through a tiny 22-pin connector. (You can see these displays at http://www.goldmine-elec-products.com/p ... ber=G13752. Datasheet: http://www.datasheets.org.uk/pdf/acx705 ... sheet.html ).
It looks like a few people have seen these over the years and tried to interface them to a few things, and successful attempts have been made for the gumstix: http://docwiki.gumstix.org/Display#Sett ... on_gumstix, AVR: http://www.circuitcellar.com/avr2004/grand.html, and there's been some interest in using this on a Basic Stamp or other host of simpler microcontrollers (such as a PIC) over the past few years on the Parallax forums. EarthLCD also makes an easy to use controller board for these displays: http://store.earthlcd.com/LCD, but it's rather pricey.
Over the past couple of days I set out to try and drive the display using a dsPIC30F3012, with the dsPIC's pins connected to the displays: MCLK, HSYNC, VSYNC, and one pin to each of the three colour pins (red 0-2, green 0-2, blue 0-2), for a total of six wires. At best, this sort of thing would let you display 8 colours, but for testing I thought I'd be okay.
I whipped up a simple program in C for the dsPIC that would generate a clock pulse on the MCLK line, and every 240 or so MCLK pulses generate a HSYNC, as well as a VSYNC every 180 or so HSYNC pulses (as specified in the timing diagrams of the data sheet). The pixel data lines (RGB) also had a counting pattern going through them (000, 001, 010, 011, etc) to send some simple pattern to display on the screen.
The dsPIC was fed with a 20mhz crystal oscillator, and I ran it in 8x mode. The maximum clock rate of the display is 4.20mhz, but since the clock was being generated in code between IF statements and such things, the clock rate from the dsPIC to the display (MCLK) ended up looking about 1mhz when I checked it out with a scope.
I wasn't able to get any data displayed on the screen, and so I pulled all of the pixel data pins (RGB) high to try and go for a white pattern, and concentrate on having the dsPIC generate clock/sync pulses. This didn't seem to work out either. I checked all the voltages going into the display (3.0v (logic), 3.8v (DC->DC converter), 6.5v (frontlight)), and they looked pretty good. I built the thing on a solderless breadboard, so I checked the pins at the display for noise, and it looked okay, though I did notice that the MCLK period would varry a little bit, probably due to entering and exciting comparison statements for the HSYNC and VSYNC pulses. I also noticed that sometimes there were issues with programming the dsPIC, it might take a few times to get the program in and verified, which likely was also due to noise.
I also placed LED's on most of the data lines (MCLK, HSYNC, VSYNC, and the 'blue' pixel data line) to make sure data was being transfered and the dsPIC was running okay -- and that turned out to look good). Overall it looked like a VSYNC was generated about 5 times per second, which would mean the display was running at about 5fps (a little slow, but the datasheet doesn't happen to mention a lower clock limit).
Any thoughts? Has anyone else used one of these displays, and had luck or issues? Is it increadably particular about the clock periods, or should I perhaps be using an external crystal (~4mhz) to drive everything?
On that line of thoughts, has anyone come across a colour display out there (~2.7-3.0") that is particularly easy to interface with a microcontroller?
thanks for any help,
silic0re