I want to transfer 8 bit parallel data from IO to memory ,the data is coming very fast at speed of roughly 5 Mhz ,I am using embedded linux on ARM9 based kit by friendly arm which is using S3C2440(400Mhz) processor can any body pleas tell me where to start,my data is a video signal that is coming from a adc I have read the on internet that I can do this using DMA but I need a start ...
-
'I have read the on internet that I can do this using DMA' - link? IIRC, the on-chip ADC is not available as a DMA Request Source and so you would probably need an FIQ handler to empty the 10-bit ADC at 500KSPS. – Martin James Feb 24 '12 at 15:36
-
I am trying to follow the tecniqe used in this link http://www.google.com/patents?id=LuJ-AAAAEBAJ&printsec=frontcover&dq=insert+type+barcode+reader&hl=en&sa=X&ei=V29IT6ecHMe8rAfCiIDVDw&ved=0CDQQ6AEwAA I want to take the image data from the sensor in same way as this patent is using,you can see the diagram 3 in which image is coming from the cpld I want to follow this toplogy my image is coming in same way as from am imaging device at very high speed – user960951 Feb 25 '12 at 05:21
-
Whatever else might be new and useful about this invention, '8-bit parallel signal and transmitted in the manner of DMA to said processor' would allow anyone to use the invention without infringing the patent by simply not using DMA - it would be a good shield against patent suits. What's more, the patent application, barcode-reading, does not remotely require DMA - the bandwidth is far too low. Heh - the patent specifies DMA but doesn't need it, you do need DMA but cannot use it. – Martin James Feb 25 '12 at 13:23
2 Answers
have a look at these articles to for brieif theroy
http://my.opera.com/richasn/blog/2011/01/15/application-of-dma-way-in-data-acquisition-in-arm-system
http://my.opera.com/richasn/blog/2011/01/14/application-of-dma-way-in-data-acquisition-in-arm-system

- 11
- 3
Forget about DMA on this device. The ADC is not available as a DMA source. One reason for this is that DMA is only useful for transferring multiple bytes/words/whatever - the overhead of setting up, starting the DMA and handling an OnCompletion interrupt makes it pointless for occasional transfers of one item. Your ADC has no buffering, just the one output register with 10 sig. bits.
Use an FIQ handler to extract the ADC result. How you buffer the output and signal it for further processing is up to you and the linux driver framework.

- 24,453
- 3
- 36
- 60
-
hi ,thanks for the suggestion you mean to say this that by using FIQ I can get he Data from the sensor to the memory Let me explain my problem – user960951 Feb 28 '12 at 09:17
-