cancel
Showing results for 
Search instead for 
Did you mean: 

When I touch the SCL pin with my finger the SPI works

jean_prieur
Associate III
Posted on September 11, 2013 at 17:32

Hello,

I programmed a LCD screen with SPI on a prototype and everything was working fine.

But I mounted

 the 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 !
12 REPLIES 12
Posted on September 11, 2013 at 18:05

Ineffective ground paths, or other supply issues?

The information supplied doesn't really convey any engineering design information.
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
jean_prieur
Associate III
Posted on September 11, 2013 at 18:28

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. 

jj2
Associate II
Posted on September 11, 2013 at 18:29

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.''

emalund
Associate III
Posted on September 11, 2013 at 19:54

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.

Erik
jj2
Associate II
Posted on September 11, 2013 at 20:18

@ 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...

jean_prieur
Associate III
Posted on September 12, 2013 at 11:23

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.

jj2
Associate II
Posted on September 12, 2013 at 15:54

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...

jean_prieur
Associate III
Posted on September 12, 2013 at 20:56

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.

Posted on September 12, 2013 at 22:30

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.