2012-03-21 04:56 AM
Hi,
I have to read a 15 bit parallel data coming from a camera sensor and one bit as a request signal which tells whether the micrcontroller should initiate memory transfer or not. Does FSMC has any trigger signal within itself so that I dont want to use any external interrupt or timer to trigger the transfer ? Please help me out.2012-03-21 11:52 PM
Hello,
Try to use DCMI camera interfaceinstead of
FSMC.2012-03-22 02:09 AM
DCMI interface provides only 14 bit parallel interface. I need to read at one single time 15 bits of parallel data and 1 bit for the request from the sensor.
2012-03-22 03:05 AM
try this....
2012-03-22 04:22 AM
I went through the manual, but I cant seem to judge whether there can be an external trigger to the FSMC to function, or it should be done with the TIMER external trigger and the DMA exectuting the memory transfer.
There is one example, which says to poll the Ready/Busy signal.But again, I think it might overhead my application. Do you have any other suggestions for reading a 16 bit parallel data on STM32F?2012-03-22 05:18 AM
Maybe you can use one of the TIMx_CHx INPUTS as a DMA trigger, and thus a FSMC access.
2012-03-22 06:36 AM
Yeah thats what I thought, I was just checking out if there is any direct trigger to the FSMC to initiate the data transfer.
2012-03-22 07:09 AM
Yeah thats what I thought, I was just checking out if there is any direct trigger to the FSMC to initiate the data transfer.
Well, unless I missed how FSMC works, it's just an external bus interface, the transfer is a memory access. That memory access could be performed by the processor (read/write), or externally via DMA. Unfortunately generating external DMA requests is not something ST has apparently put much thought or documentation into.2012-03-23 09:05 PM
2012-03-27 01:39 AM
Hi Alokm,
The problem is : The sensor is sending a 15 bit data and 1 request signal to the microcontroller. 7 bits are used for X coordinate and 7 bits for Y coordinate and 1 bit for brightness. I can't lose the 1 bit as it would beat the purpose of the application. I thought of the solution to trigger the DMA transaction with TIM trigger option. But i dont know if I can initiate the DMA transaction from the GPIO base address to an address in memory or does the TIMER only initiates a tranfer among its register. Do you have any clue ?