2017-03-08 03:15 PM
We are having problems trying to make a 320x240 LCD Color Display working on the L476 FMC Peripheral. The LCD uses the SSD1963 chipset. We have hooked the SSD1963 up to the FMC like an 8080 SRAM device using the parallel 16-bit data bus and 1 Data Address bit to communicate. For some reason, we can't seem to get the FMC to duplicate the waveforms on the SSD1963 specification.....A0 address line will not stay asserted during data write, and the CS line is way off from any Data Access signal. Could someone point us to what is going on? BTW, we are using the STMCubeMX HAL drivers for our project.
Let me also mention that we would be glad to pay someone who has gotten the FMC working with the SSD1963 as well. Just E-mail me at
mailto:rasmusjc@gmail.com,
and I'll forward you to our manager.Thanks,
--James Rasmussen
#l476-fmc-lcd-ssd19632017-03-22 10:45 AM
Waitaminute.
Btw, how did you connect the display physically?
Answer this question first. Did you replace the LCD on the EVAL board with your LCD?
There's some weird circuitry apparently aimed at tweaking exactly the control signals there, see Figure 42. TFT LCD of UM1855.
JW
2017-03-23 02:33 AM
Hi,
It was a while back but attached is a design I did using the SSD1963 -
https://www.youtube.com/watch?v=SiGuGaEDeC8
/* fsmc setup */ p.FSMC_AddressSetupTime = 0; p.FSMC_AddressHoldTime = 1; p.FSMC_DataSetupTime = 1; p.FSMC_BusTurnAroundDuration = 0; p.FSMC_CLKDivision = 0; p.FSMC_DataLatency = 0; p.FSMC_AccessMode = FSMC_AccessMode_B; /* Color LCD configuration * LCD configured as follow: * - Data/Address MUX = Disable * - Memory Type = SRAM * - Data Width = 16bit * - Write Operation = Enable * - Extended Mode = Disable * - Asynchronous Wait = Disable */ FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM4; FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM; FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_DuringWaitState; FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p;�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?
Hope this helps.
________________ Attachments : adp0236doc.pdf : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006Hyl7&d=%2Fa%2F0X0000000bC9%2F4CjkpsFcc8Xmj_i06M0jMOKICJ._1rDOswDQaDwCFJc&asPdf=false