2013-09-11 08:32 AM
Hello,
I programmed a LCD screen with SPI on a prototype and everything was working fine. But I mountedthe screen on the final PCB and now I have a
problem: the screen didn't understand the datas I send to it. The screen
remains white. Datas are correctly send, I know it because I compare signals
with my working prototype.
When I touch with my finger the clock pin, the screen is able to
understand datas and works fine.
Do you ever had this problem ? I am sure of the screen connexions and
I tested it with different SPI speeds and configurations...
Thanks !2013-09-11 09:05 AM
Ineffective ground paths, or other supply issues?
The information supplied doesn't really convey any engineering design information.2013-09-11 09:28 AM
Hello Clive,
Sorry for the missing engineering information, i was just to explain my problem easily.I'm not sure it is a ground or supply or signal problem, because I try to link my screen with other wire solutions and the problem is still here...On the PCB, coppers from the uC (stm32f427vit6) and the screen (DOGM128-6) width is 0,2mm and the length is 20cm... Maybe it's too thin but when I add floating wires there is no change.2013-09-11 09:29 AM
Use of your finger as test probe or temperature sense - may prove sub-optimal. ESD anyone?
Might it be that the added body capacitance extends or alters a critical signal - which is, ''at the edge'' of timing spec? Or - may indicate that the added stress causes a faulty connection/contact to ''restore.''2013-09-11 10:54 AM
The f4 is pretty fast, many LCDs are a bit slow.
check the specs for the LCD and verify you adhere to the timing requirements. Erik2013-09-11 11:18 AM
@ Erik,
At first glance - my response was almost, ''word for word'' yours. But.... his is SPI input Lcd - and any/all timing should be managed by that intervening device - avoiding the ''usual'' lcd s...l...o...w... accommodation.@Poster, Just checked display & 7565 data. Note 2 critical issues: a) 7565 accepts up to 20MHz SPI clock - but I'd stay below 10MHz during test/verify. b) depending upon your powering of this display - you need either 9 1uF caps (3V3 power) or 5 1uF caps (10V +) which tie to critical charge pump pins (mostly) on the display. I'd place small wager that your MCU SPI clock is set too close to max of the Lcd controller - dialing down would be my first attempt...2013-09-12 02:23 AM
1) Of course my screen have the 1uF capacitors connected because I'm in 3V3. I put standard 0805 CMS ceramic capacitors, I hope this is not the problem.
2) I try to communicate with lower speeds but no changes. What is the right way to lower the speed ? Is it to change the SPI_BaudRatePrescaler or to set the GPIO_Speed pins to a lower speed ?This is strange because at the maximal speed (SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2 and GPIO_Speed = 100MHz) the screen works when I put my finger on the pins...3) It's not possible in my design to place the microcontroller near my screen. I have to do with that.2013-09-12 06:54 AM
Jean: ''Of course my screen have the 1uF capacitors connected...''
Not the most appropriate nor diplomatic response - none here could have so known! Review of the SPI section w/in MCU manual should reveal how you can alter SPI clock speed. I made time/effort to review 7565 spec - and noted a caution as to, ''reflections'' upon the SPI clock line. Usually a terminating resistor helps in this regard. Suggest you ''start'' at/around 100 ohms - ranging up to 10K. This R should be located close to the Lcd controller (and possibly was included by display vendor - resistance measurement between clock line & ground will reveal if this R exists) And - of course - you are welcome...2013-09-12 11:56 AM
Thanks a lot for these advices jj.sprague ! Sorry for the ''of course'' it was really not appropriate, not my real intention...
I will try it tomorow and keep you informed.2013-09-12 01:30 PM
Sounds like your clock line could benefit from a close examination with a good scope with a FET probe. Beg/borrow/steal/rent/buy and you might be shocked at what you see.