Hello friends,
Im using 7 inches TFT module (800x480) with LPC1788 controller. This is the first time I'm using a TFT module. Somehow I have managed to get some theoretical idea about TFT. But I have confused with the use SDRAM with TFT module. Is SDRAM is optional or it is compulsory if we are using a TFT LCD especially 7 inches LCD? Can someone please help me regarding this issue?
Thank you Andrew for your kind reply but i didn't see much information in that thread. So if someone could give me some idea regarding this issue it would be really helpful to me. Thank you
Say you have a 2 gallon bucket, and need to collect 5 gallons of water?
Does this non-specific 7" panel have a part number? Nobody here has seen your set up.
Does the LPC1788 have enough SRAM for a frame buffer? Does the panel have a controller, or is it dumb?
With a 24-bit colour depth at 800x480 we're talking about 1.1 MB of frame buffering? If neither the CPU or PANEL have that much RAM, then yes you'll probably want to use some SDRAM to accommodate it.
Thank you Westonsupermare Pier for your kind reply. I got the idea and Im now searching for some document for programming SDRAM. Can anyone please suggest me some materials or websites for reference. Thank you..
But it is the same topic, isn't it? So why not join in with that thread, rather than just duplicate it?
And it seems a big coincidence that 2 virtually identically questions should turn up at the same time...?!
What does the datasheet for your LCD tell you...?
...searching for some document for programming SDRAM A RAM is used at run-time (and hence programming is not a term related to RAM. there is nothing like 'programming a RAM').
It is likely that you may require external SDRAM (LPC1788 has on-chip 96KB RAM which may serve the purpose but it depends upon the application you write & how well you utilize the RAM)
But to store the images (that may be required to be displayed on the TFT screen) you may require a non-volatile memory (NAND Flash or NOR Flash or SD Card). Hence, IMO, you need to interface a NAND Flash or NOR Flash (read cycle in NOR Flash is faster as compared to NAND Flash) or SD card. SD Card may not be a wise option as data transfer is slower as compared to both NAND & NOR Flash.
Study the merits/demerits of each and choose accordingly.
Thank you Dhaval Solanki. Now Im getting it...
With SDRAM you typically have to configure both the Controller, and the Memory Device with parameters related to speed, geometry, and refresh, I tend to use "programming" to achieve that. A lot of externally interfaced devices/buses need configuring on current generation micro-controllers.
With LCD panels your likely to have to program in timing, framing, and geometry too, and set up DMA type transactions.
Thank you very much Westonsupermare Pier for your kind reply. Now I started to configure SDRAM in LPC1788 controller. But I couldn't find a formula to fing a value for DynamicRefresh Register. Can someone please help regarding this. Thank you.
That would depend on the refresh period of the SDRAM you have chosen, but not mentioned. This would perhaps be 8 or 16 ms, and the controller would likely need this period expressed in it's clock cycles?
But I couldn't find a formula to fing a value for DynamicRefresh Register For that you will have to read the datasheet of the SDRAM that you are using _very carefully_ and also refer to the timing diagrams that are given in the datasheet. The values may not be given to you directly as is in the datasheets. you will have to study the datasheet and figure them out. Depending upon the memory organization, the timings are to be configured. The timings are nearly same for the SDRAMs with same memory organization (even though the manufacturers may be different).
Thank you for all for your kind reply. I configured the SDRAM with LPC1788. Now I want to write and read data from SDRAM. I can find the procedure in the SDRAM datasheet for write and read operations. But I cannot find any buffers for that operations in the LPC1788 datasheet. Say for example if I want to set the mode register how do I transfer the value to the EMC address pins. Or can i use the GPIO registers for this purpose. Kindly someone guide me on this issue.....
As Westonsupermare Pier already pointed out. -> Does the LPC1788 have enough SRAM for a frame buffer? Does the panel have a controller, or is it dumb?
The LPC1788 has internal LCD controller, I guess the SDRAM is necessary when use internal LCD controller with external dumb panel.
I read the usermanual once again but i couldn't locate the buffer or register for writing and reading the data to the external SDRAM. I configured the SDRAM with EMC in LPC1788 controller Can some one please guide me in this issue. Thank you......
the buffer or register for writing and reading the data to the external SDRAM.
Once you successfully initialize the EMC/SDRAM, the external SDRAM would be mapped to the ARM Cortex-M3 processor 4G address space.
See : UM10470 Chapter 9: LPC178x/7x External Memory Controller (EMC) 9.7 Memory bank select Table 110. Memory bank selection
Chip select pin Address range Memory type Size of range EMC_DYCS0 0xA000 0000 - 0xAFFF FFFF Dynamic 256 MB EMC_DYCS1 0xB000 0000 - 0xBFFF FFFF Dynamic 256 MB EMC_DYCS2 0xC000 0000 - 0xCFFF FFFF Dynamic 256 MB EMC_DYCS3 0xD000 0000 - 0xDFFF FFFF Dynamic 256 MB
You use registers to configure the memory controller.
You don't use registers to read and write from the DRAM memory.
If you needed registers to read/write then the compiler wouldn't be able to use pointers and variables within the DRAM...
Yes I'm getting the concept. Thank you for everyone for your kind reply.