Troubleshooting my display driver port for STM32F100

After porting my display driver for the Discovery board based on STM32F100, I noticed that something is not quite right. The ILI9341 display seems to constantly miss the second command of the couple Column Address Set (0x2A) and Page Address Set (0x2B), irrelevant of the order they are issued.

As I bought a logic analyser for troubleshooting this sort of scenarios a while ago, I decided to fire it up and acquire signals on the SPI bus, along with control signals D/C and Reset.

Logic Analyser displaying commands 0x2A and 0x2B

Logic Analyser displaying commands 0x2A and 0x2B

Well, the above image shows clearly that D/C does not stay low for long enough when 0x2B is sent to the display (about 0.54 us instead of 1.5), hence the command is missed. At the moment this is always occurring, despite I poll the SPI status register to make sure a full byte was transmitted before asserting D/C. Oddly enough, such polling seems to work fine for the first command, 0x2A.

This entry was posted in Technical and tagged , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s