Is it at all possible to use both the TWR-MEM and the TWR-LCD modules together in the Tower Stack?
The reason I ask is that the MRAM on the TWR-MEM and the LCD signals appear to share the same pins on the ELEV modules.
I'm wanting to use the MRAM on the TWR-MEM as a frame buffer for the LCD, with a view to supporting displays with higher resolutions (i.e 640x480, 800x600, etc).
Thanks in advance,
Kev
Solved! Go to Solution.
TWR-LCD also allows access from Tower MCU modules through SPI port, so you may set TWR-LCD controled by SPI and TWR-MEM accessed by FlexBus.
Or you may connect other FB_CSn such as FB_CS1 to J10 pin 2 when it is opened, so that TWR-LCD and TWR-MEM are both attached on flexBus with difference CS signals.
Hope that helps,
B.R
Kan
TWR-LCD also allows access from Tower MCU modules through SPI port, so you may set TWR-LCD controled by SPI and TWR-MEM accessed by FlexBus.
Or you may connect other FB_CSn such as FB_CS1 to J10 pin 2 when it is opened, so that TWR-LCD and TWR-MEM are both attached on flexBus with difference CS signals.
Hope that helps,
B.R
Kan
Hi,
Thank you for your reply.
I want to drive the display using the 16bit EBI mode.
Can this be done using the FlexBus peripheral or will I need to change the MUX back to GPIO and drive the pins differently? Either way, I need the swapping between MRAM and the display to be as fast as possible.
Best regards,
K
Yes, it can be done with the option of "PS2 - ON PS0 - OFF", and you needn't change the mux to GPIO, just do some modification on hardware, the TWR-LCD is selected by FB_CS0 in 16bit EBI mode, and TWR-MEM is also selected by FB_CS0 at default, but we can connected another CS to it, such as FB_CS2, (FB_CS1 is used as FB_ALE for TWR-MEM). When flexBus is configured, you may let CS0 control TWR-MEM, CS2 control TWR-LCD by mapping them to difference address. We provide bare metal project on FlexBus, please kindly refer to KINETIS512_SC\build\iar\flexbus for details.
BTW, /FB_CS2 can use the pin of PTC18 , providing you are referring to TWR-K60N512, the signal might be difficult to fetch on the TWR-K60N512
but can be easily accessed if you using with TWR-SER,
In summary, You may build the whole tower system with TWR-K60N512,TWR-SER,TWR-MEM and TWR-LCD, and connect pin 2 of J18 on TWR-SER with pin 2 of J10 on TWR-MEM. Please kindly refer to the following for details.
Hope that helps,
B.R
Kan
Thanks again for your reply.
I will be using the stack with TWR-SER.
I've seen the FlexBus example which makes use of the MRAM chip - this looks quite straightforward to implement. However I'm still not fully certain how I can use the FlexBus to drive the LCD display. You mention mapping the LCD to a different FlexBus address - how would this help me?
Best regards,
K
Mapping the LCD to a different FlexBus address just helps TWR-MEM and TWR-LCD have the diffenrent system mapping address so that the application code can read /write to them independently by asserting different FB_CSn signals.
You know, FlexBus has the following memory map:
and TWR-MEM and TWR-LCD share the same flexBus interface except the chip select signal. so you may configure 0x60000000 based address for FB_CS0 and 0x80000000 based address for FB_CS2 , and these two FB_CSx signals control accesses for TWR-MEM and TWR-LCD in the above attached tower system.
Hope that helps,
B.R
Kan
Thanks for the information - that makes much more sense now.
One final question. I want to use 8080 parallel 16-bit mode to drive a custom display via the FlexBus. The TWR-LCD uses 6800 mode with E and R/W signals whereas 8080 has separate RD and WR signals - how would the FlexBus deal with these?
Best regards,
K
Hi Kevin,
There is not a good compatibility between Flexbus and 8080 type bus.
But I know that this is a working configuration with a 8080 bus LCD controller:
LCD_CS connected to ground or GPIO (normally to LOW should be ok to reduce timing)
LCD_RD connected to one FB_CSx
LCD_WR connected to one FB_CSx
LCD_RS connnected to GPIO or FB_ADx
LCD_D0..D15 conencted to FB_AD15 .. FB_AD31
Then you define two memory ranges for Wrtting or reading, the MCU will assert the corresponding CSx.
Luis
Hi Luis,
Thanks for your reply.
I shall stick with the 6800 mode then as that seems less complicated. I guess reading from the display is not really an issue given that I'm working with a frame buffer - I can just read the contents of that.
Best regards,
K