STR912 ARM with SSD1906 TFT controller

Hi,

I'm looking for an application note or sample code to get started using a TFT display with a Solomon's SSD1906 graphic controller.

I have a board with a STR912 on it that I'll use to interface with the graphic controller and send commands and data.

Thanks in advance !!

H.K.

Reply to
kikuzo
Loading thread data ...

I have just done this - str9 amd SSD1906. It is a daughter board to plug into the Hitex STR9 starter kit.

I will send schematics if you give me a contact email.

Running Ramtex gui as it is low cost compared to others, also currently porting microwindows. Display used is a Hitachi TX09.

Cheers Spen

Reply to
Spen

I have just done this - str9 amd SSD1906. It is a daughter board to plug into the Hitex STR9 starter kit.

I will send schematics if you give me a contact email.

Running Ramtex gui as it is low cost compared to others, also currently porting microwindows. Display used is a Hitachi TX09.

Cheers Spen

Reply to
Spen

Hi Spen, great to hear from you..!!!

I've already connected the STR912 to the graphic chip SSD1906, but I can only read even register/address locations. For odd locations I only read 0xFF. I don't have very clear how to use the WE1, A0 lines.

I have not found much literature for the SSD1906 except for the datasheet. I'll appreciate very much your help.

Regards,

Hideo. snipped-for-privacy@gmail.com (remove no spam)

Spen wrote:

Reply to
kikuzo

These are my connections for the STR9-SSD1906 tft driver.

CS - STR9 CS0 BS - GND RD RD/WR - STR9 RD WE0 - STR9 EMI_WRL WE1 - STR9 EMI_WRH WAIT - NC RESET - STR9 RESET_OUT M/R - STR9 A17 CLKI - 25MHz STR9 ETHCLK OUT

I am using the 16bit multiplexed bus, so remember on the str9 the address are shifted. Because of this we need to connect SSD A0 to GND. The STR9 A0 to the SSD A1 and so on.

2 M74HC573 are used as the address latches.

Hope this helps Spen

Reply to
Spen

Hi Spen, thanks for the tips..!!

I see that you used a Generic #1 Bus. I had to use #2 because the board with the SSD1906 was set that way.

I also tried to use the WAIT signal to stop momentarily the STR912 connecting it to an external interrupt (P5.6, line 14), but I have not been lucky with that. The interrupt routine never gets called, so I lowered the bus speed to 40 MHz. With that and the aid of Wait States, I let the WAIT signal to come up nicely.

For the write signal I used EMI_WRL. The other line, EMI_WRH , does the same job in a multiplexed 16-bit bus. The pin WE1 was tied to ground, since it's only used for 8-bit buses.

In my test I got 18mSec refresh rate for a full screen, using 4bpp. That give me about 55Hz, which is perfect.

I visited Ramtex web page, but they don't have a demo library. That's a shame. I'm starting to write my own library, but graphic functions are very heavy to deal with.

Regards,

Hideo.

Spen wrote:

Reply to
kikuzo

This is not how to use a WAIT signal. It should be connected to the WAIT (or busy, ready etc.) pin of the bus interface. The businterface will then automatically insert waitstates until WAIT goes inactive.

Setting a fixed number of waitstates is a good alternative to using WAIT, but you must make sure all minimum bus times are met. This means that using the WAIT signal can make the access a little faster as the number of waitstates is adjusted to the requirement for that particular access.

--
Stef    (remove caps, dashes and .invalid from e-mail address to reply by mail)
Reply to
Stef

Hi Stef !!

The WAIT signal for the EMI in the STR912 is only available in LFBGA packages, that's why I tried to to use an external interrupt instead, but I think that am missing son info about EMI and EXINT because the interrupt request works fine only when the EMI is not beign used...

any thoughts about this ?

Regards,

Hideo.

Stef wrote:

Reply to
kikuzo
[Please reply below the material you quote]

I' don't know this particular processor, but I suspect EMI means External Memory Interface in this context. The WAIT signal effects the EMI timing, the EXTINT effect the program flow, the two have nothing to do with each other.

If you have no WAIT signal availale on your EMI, just set the number of waitstates high enough. Read the timing diagrams to get the correct values.

I think you need to study your documentation more carefully and also read op on general processor architecture. You need to understand the concepts of bus interface (and the wait signal) and interrupt and must be able to differentiate between.

[quote below left because it has some relevant info]

mail)

>
--
Stef    (remove caps, dashes and .invalid from e-mail address to reply by mail)
Reply to
Stef

Please don't top-post. Your answer belongs after, or intermixed with, the material you quote, after snipping out anything immaterial. See the following links:

--
 Some informative links:
     (newusers)
   
   
   
     (taming google)
Reply to
CBFalconer

Hi, Any chance of the connections between the SSD1906 and the TX09 display? I'm about to start a design using the STR710 micro, SSD1906 and a Hitachi TX09 (or a TX14) TFT display. Any help would be appreciated! e.g. where do I connect the DTMG signal on the display? Does it just go to LDEN on the SSD1906?

Thanks,

-- Gareth

Reply to
Gareth

That's correct:

LDEN - DTMG LSHIFT - DCLK (Pixel Clock) LFRAME - VSYNC LLINE - HSYNC

Check the Pixel Clock polarity is ok, as the SSD polarity cannot be changed in software - use an external inverter.

I can tell you the polarity is ok for TX14 and TX09D70, but not the new TX09D40 or TX06.

Regards Spen

Reply to
Spen

I'm

TX09

on

Spen In one of your replies you mention that the STR9 emi address is shifte and describe how SSD 1906 A0 should be connected to 0V, etc.

Could you please tell me where you found this information? other than block diagram type suggested connection I can not find much on this.

regards Mo

Reply to
Mo

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.