I am designing with the K22FX512AVLQ12 in mind. I have a memory interface I put together based on what I understood of the FLEXBUS in the K22P144M120SFV2RM.pdf reference manual. However I have seen several comments in Freescales community boards about problems people are having using a x16 bit data bus. AN4393 doesn't talk about using a non-multiplexed interface for a x16 bit data bus. So, before I make a board, I wanted someone to advise me that this design will work, and if there are other limitations with it if it does. For example, can it read/write an odd or even byte without affecting the corresponding even or odd byte? Will a 32-bit aligned read or write actually result in two memory cycles to the SRAM? Will non-aligned reads and writes work? If the design does work, it should be added to AN4393.
Also, Table-4-1 of the reference manual shows the FLEXBUS to be in 5 different regions of the memory map. The comments I have seen recommend using the "External Peripheral" space. "write-back" and "write-through" suggests a cache, but there is no mention of a cache for the FLEXBUS in the reference manual.
Hi Adam,
There should without problem for customer to use 16-bit data port with non-multiplexed mode.
When using the non-multiplexed mode, customer need to make sure the Flexbus pin resource is enough for the application.
For using 16-bit data port, the FB_AD0 pin is obsoleted as address pin, it just read the data with 16 bits (2 bytes).
If there exists address non-aligned, there still could read data out, while it will take more cycles (time).
It could read the odd byte and even byte with byte enable signal.
Wish it helps.
Have a great day,
Ma Hui
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Ma,
Can you please take a look at the attached schematic and let me know if your answer is still valid?
Thanks,
Adam
Yes, I think customer using FB_AD1 connects with SRAM's A0 is quite right.
Customer need to config Flexbus port size to 16-bit.
For the Kinetis Flexbus module is original from ColdFire product, I attached a ColdFire product MCF54451 Flexbus connects with NOR Flash (16-bit data port) for your reference:
Have a great day,
Ma Hui
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Adam posted this question for me. Please refer to External SRAM and non-multiplexed Flexbus and comment.
Mike Huslig
Hi Ma,
Thank you very much for the quick response! I will let you know if I have more questions.
Thanks again.
Adam