2014-02-05 08:20 AM
I have looked at using the STM32F427 to drive a 32 bit Universal Bus, similar to VME.
I need CAN, SPI, USB etc, therefore the STM32 looks a good choice. I am finding difficulty in getting information on the FMC bus that will Read and Write to a 32 bit external SRAM (DPR), I need 32 bit data bus, about 10 Address lines, a WR, RD CE0, CE1 and Wait. I have checked out the MicroXplore this only sets a 32 bit SDRAM and a 8 bit and 16 bit bus all the docs imply this is available. I would prefer to ensure this can be implemented before doing down a board/software design route. Thank you for your help ... Regards John W #poor-quality-of-documentation2014-02-05 09:01 AM
FMC have a 32bits data bus BUT it's for SDRAM ;)
FSMC is for use SRAM , PSRAM , etc , and this one have a 16bits data bus. It's in page 1517 and down from the reference manual. Regards.2014-02-05 09:27 AM
Thanks...
I currently use a Renesas M32/87 for a 16 bit bus but now require 32 bits. I will keep on looking. Thanks for your help. Kind Regards John W.2014-02-06 03:59 AM
Re: User Manual RM0090 Flexible Mem Controller.
Table 260 Non Multiplexed I/O PSRAM/SRAM seems to imply that the FMC can set A[25:0] D31[31:0] with CS, OE, WR, etc NBL[n] appears to address 4 8 bit memory devices and say 2 x 16 bit memory by gating. Fig. 455 .... 458 gives Read/Write timing for a 32 bit bus. also 37.5.6 - FMC_BCR1..4 allows bits 5:4 - MWID to set to a external 32 bit device and the bits 3:2 - MTYP allows SRAM to be set. I would be grateful if any can advise if the external device has a maximum bus width of 16 or 32 bits as there seems to be some conflict in the manual. Thanks for your help - Regards - John W.2014-02-06 04:35 AM
Where do you see the conflict in documentation?
JW2014-02-06 05:43 AM
Thanks for the reply.
37.5.2 Table 262 [SRAM and ROM] is only a 16 bit data size. Am I missing something. Thanks John W.2014-02-06 05:57 AM
OMG, a deja vu.
https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/STM32F103+-+FSMC+8+bit+BUS&FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B¤tviews=31 JW2014-02-06 06:14 AM
Thanks JW.
I guess your are saying that a 32 bit bus should work ? Quite an expenpensive road with hardware/software and PCB design if I only get 16 bits. Thanks for your help .... from JW2014-02-06 06:34 AM
> I guess your are saying that a 32 bit bus should work ?
Yeeeeah.... > Quite an expenpensive road with hardware/software and PCB design if I only get 16 bits. This is why I didn't want to say that ''yes'' above too loudly... No first-hand experience, you see (except that experience with poor documentation :( ). So here's a plan: get a '429 DISCOVERY (you get a nice albeit for your purposes useless TV bundled ;) ), strap it up to a logic analyzer and write some code to read/write 32-bit SRAM. There will be no memory to read from/write to, but all the signals except read data will be there. You still might have doubts whether the '427's FMC works the same way. I don't know of a ready-made '427 board. Maybe somebody here does some. Maybe the '429 from the DISCO could be swapped for a '427, I didn't check but there's quite some compatibility in the STM32 pinouts. Or, design yours, being inspired perhaps by the DISCO, adding perhaps a memory or two - and get it manufactured by the cheapest pool service you can get. I believe you could get below $100 not counting your work. Looking forward to you reporting back with the findings... ;) JW2014-02-06 06:49 AM
Hi
''I have looked at using the STM32F427 to drive a 32 bit Universal Bus, similar to VME.'' Things have changed so much since the days of VME bus. In VME days, you chose a processor and then all the peripherals around it. VME was pretty much an extension of the processor bus. No a days an embedded processor is pretty much the whole system. There is no need to expose the address and data bus to the processor pins. Sorry - this is not much help! Another route to try : Use another processor which is better suited : http://www.st.com/web/en/catalog/mmc/FM169/SC1156 These look like they are really stepping up the processing power! Sorry I have no experience of these, just a thought.