SSD2119 QVGA TFT displays (internal ram + spi)
Peter Jakacki
Posts: 10,193
I've just started playing with one of the many displays that I get in as samples. It's a 320x240x16M TFT with touchscreen (and here) that has been lying around but I thought I should try interfacing to it. Anyway I hadn't realized that not only does it have it's own display RAM but you can also access it in 3-wire SPI mode, what a bonus.
Of course I am testing this out using Tachyon Forth and here is a link to my source code page which is still very basic at present.
Has anyone been using something similar? The price seems reasonable even from Element14 and I know that if you ask them for a good quote you can sometimes get a better price than from the manufacturer.
Of course I am testing this out using Tachyon Forth and here is a link to my source code page which is still very basic at present.
Has anyone been using something similar? The price seems reasonable even from Element14 and I know that if you ask them for a good quote you can sometimes get a better price than from the manufacturer.
Comments
The current source code is here.
Thanks for sharing the code with us. The TFT's sound like a steal at that price.
Ron.
Any idea what rate the SPI goes up to? Couldn't find it in the datasheet
I see they also have a 2" variant that is 220x176
cheers
Lachlan
15MHz, eventually if you trawl down to the electrical characteristics section it has all the timing diagrams.
Many thanks Mark_T
Hey-Ho
Don't worry, I'm going to see what price I can get for a box of these, either from Farnell or from KENTEC.
BLUE DARKER PAPER RED PEN
WHITE 5 4 #62 #44 DRAW(KEYPAD)
and then a display window and it would look like this:
Well, it does look like this. However, it is at a nascent stage but I like the idea of being able to run SPI if I am a bit limited with I/O otherwise I can use various parallel interfaces for speed. I am still experimenting with the bare-bones touch screen interface using 4 I/O and 4 caps and it would be nice if I could get this to work otherwise I always have the fall-back option of a touch screen chip. The 3.5" is a good size, not too small and fits nicely into an existing enclosure. At present I can get these for just under $20 a piece.
So, any heads up or links to other posts might be helpful. Even if I am reinventing the wheel it's great fun.
I want to do something similar with ET035009DH6: http://www.google.com/search?q=ET035009DH6
Any thoughts if that is possible?
I have very carefully tried to connect it but it's still blacker than black!
Hints to get me started?
That display does not have any internal RAM so even though the SPI and command set are very similar it doesn't support writing to the non-existent display RAM. I will have an adaptor pcb for this display which will accept the fine pitch FPC and also include the up-converter to drive the back-light and touch-screen encoder. So this is a better option or else there are plenty or similar ones to choose from such as from ego-china etc. Those displays have a huge adaptor board, I just want a small one.
I have seen it running in another configuration.
Comments?
If I don't have to convert the code then it's easy for me, I don't have to do a thing! Spin however is way way too slow and PASM would require dedicating a cog as well as sitting down to code the thing. But the Forth source should be easy enough to follow if you really are determined to convert it. Of course if you were that determined then you may as well learn Forth, it's fast and it's fun.
So to talk to the display I first ask the controller nicely in I2C terms to arrange the I2C lines as pass-through SPI clock and data but have it time the chip select etc. As soon as a I2C start or stop condition is detected then this high-speed pass-through mode is aborted. The micro I'm using is a C8051F986 ($1.60 in an SSOP20 pack and 25MIPS) and sports SPI, I2C, UART, etc as well as 16-bit ADC. I'm using the ADC for interfacing to the touch screen but still allowing for a conventional touch screen chip if I feel it's needed (STMPE610). The micro is programmed in-circuit by the host Prop using another temporary I/O so it is reprogrammable by the user if needed.
Some planned I2C commands are:
RESET
BACKLIGHT ON/OFF/DIM or PWM
CLEAR SCREEN with selected color
PLOT pixel with selected color (slow way but totally I2C standard)
SET CURSOR X and/or Y
DRAW 5x7 font character at current cursor (with optional scaling)
DRAW HORIZONTAL LINE
DRAW VERTICAL LINE
DRAW RECTANGLE
DRAW FILL
SPI ASSIST - pass through all clock and data signals directly to the LCD but count the clocks and generate the chip select automatically.
The UART is also functional and processes the same commands as the I2C except the SPI mode of course.
So this enhancement doesn't add any real cost and I can still totally bypass the controller and talk to the display in SPI if I really wanted to but with it all I need is mixed I2C/SPI or UART. What this means is that the I just use the same I2C lines as the Prop's EEPROM so I can always interface a QVGA TFT even if there are no spare I/O available. The adaptor includes a 5V LDO as many of my 4-pin I2C headers carry 5V.
Now to write some firmware for the hybrid I2C interface chip and see how it goes.
Nice work.
Agreed. The Propeller needs some more display options.
I am beginner in tft touch panel. I have k350-QVGA tft(ssd2119 driver). It would be helpful if anyone can describe the flow -
- initialise
-writing data
-display clear