SPI 4-wire interface
I'm trying to interface to the SDT033TFT via the display driver (D51E5TA7601). I'm still in the initial phase meaning just trying to communicate (write/read) through 4-wire spi for now, 18-bit parallel will come later. To enable me to prove that my SPI interface is functional I'm trying to read back R00h (register 0) which should be the device code = 'h7601.
It is mentioned in the datasheet that when SPI3=0 the SPI mode is set to 4-wire. The interface mode IM[3:0] = 4'b010x for a 16-bit serial interface.
- first question: "the IM0 pin is used as an ID bit of the device code" How do I determine what should be the value of the ID bit (IM0) of the device code?
- second question: Any pointers to look for that I might of forgotten for a 4-wire spi interface? I've been struggling to get a response back from the device on the SDO line, but still no luck.
Any comment would help.
Thank you!
I'm gathering info from our engineering department and will reply once available.
thanks trevordtech, I'll be awaiting your reply.
On a same note regarding the IM[0] as a device ID bit below is an extract that I found in the datasheet of the D51E5TA7601 (LCD driver) that is a little bit unclear. It's under section 10.2 "Serial Peripheral Interface":
"... For the serial interface, IM[0] is used as ID. ... The D51E5TA7601 is selected when the 6-bit chip address in the start byte transferred by the transmitting device matches the 6-bit device identification code assigned to D51E5TA7601. ID is the least significant bit of the device identification code. The D51E5TA7601, when selected, receives the subsequent data string. Two different chip addresses must be assigned to a single D51E5TA7601..."
There is no more info anywhere else in the datasheet that explains more in details.
thank you.
1) It is determined by your interface. If you connect IM0 to GND, then you will get back "0" from this bit. But if you connect IM0 to VDD, then you will get back "1" from this bit.
2) Sorry that our engineers are not sure exactly what the question is. But they
said if you cannot get the device code from SDO, they suspect that the
timing sequence of the software may have an error. May be you can check
it against the IC spec.
I'm trying to get the SPI interface to work as well. I have IM0 tied to Gnd.
I have the SPI in my software configured as:
5000 Hz
0 delay
8 bits
CPOL: 0
CPHA: 0
MSB first
CS Low to transfer
4-wire
I first send bytes 0x70, 0x00, 0x00 and get back 0xFF, 0xFF, 0xFF
then send bytes 0x73, 0x00, 0x00 and of course get back 0xFF, 0xFF, 0xFF
What am I doing wrong?
-Stevo
Update.
Changed CPOL to 1 and CPHA to 1 and it's now working. I can now set and read registers.
What are the register values needed to configure to RGB mode?
-Stevo
?
Do you have the MagnChip IC spec? It can be downloaded here:
Thank you trevordtech, I already possessed the datasheets, however I don't get to initialize through SPI, I have 5 display, I tried to initialize more than an and I didn't obtain results.
I entered in contact with the engineering of the displaytech, and the personnel will help, be attentive.
I am posting the initialization code that I am trying to use.
Attachment: Displaytech.c (2.0KB)
I will pass along the code to our engineers for review and to see if they find any possible trouble spots.
Trevor
Due to the slow SPI interface speed, we only use the parallel and RGB interface in our TFT modules. I wouldn’t go so far as to say the SPI is unusable, however we say it is not optimal and we don’t recommend it because of the speed, therefore we don’t spend our resources developing code or have in-depth knowledge of being able to troubleshoot.
Sorry we couldn’t be more help here.
ok, i buy the display exactly because it allow the communication SPI and now you is me saying that doesn't work? Cannot I make anything with SPI?
It does work, however because of its slow speed we don't use it, we use the parallel and RGB interface.