Skip to main content
xtaega
Associate
July 18, 2012
Question

Parallel Interface on the STM32F4

  • July 18, 2012
  • 2 replies
  • 2125 views
Posted on July 18, 2012 at 19:47

Hello,

I'm wondering how to create a parallel interface on the STM32F4Discovery Board, if possible. As far as the application, I would like to connect the Discovery to an external ADC evaluation module from TI (ADS855xEVM).

It has been suggested I use the FSMC to do this, however the ADC module has no SRAM of its own. I would appreciate any input this community has to offer.

Thanks,

BG

#adc #parallel #stm32f4discovery
This topic has been closed for replies.

2 replies

Tesla DeLorean
Guru
July 18, 2012
Posted on July 18, 2012 at 19:57

It doesn't have to have SRAM on it. The FSMC just provides an External Bus Interface, in a manner not dissimilar to how you'd wire up buffers or latches to micro processors of yore.

Your peripherals, ADC, 8-bit latch, or whatever would just be memory-mapped into the STM32's address space.

Look at how the SRAM's hook up, a -RD (OE), -WR and -CS (CE), plus the data bus.

Alternatively if that's too complex, you could strap your device and it's bus to a block of GPIO pins (ie PG.[0..7]), add a couple of control signals on other GPIOs and connect the EOC signal to a GPIO to generate an EXTI interrupt.

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
xtaega
xtaegaAuthor
Associate
July 18, 2012
Posted on July 18, 2012 at 21:07

From what I can tell from the TI ADS855xEVM datasheet, I'm working with a SAR ADC, and the values in the registers should be able to be read correctly once I properly map the I/O of the ADC to the STM32F4's address space.

I think its important to note here that I'm trying to implement this using the STM Standard Peripheral Library. 

I've configured the GPIO Pins for thier respective Alternate Functions for the Muxed-Nor-Ram functionality of the FSMC. 

I've attempted to configure the FSMC using InitStructure Variables, but in this particular case I'm unsure of how to determine what specific settings are required for my implementation.

Thanks,

BG