- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I would like to use DMA to send data to a simple 32-bit SPI DataPath but the problem is that F0 FIFO of my DataPath is not detecting when DMA sends data to it when Datapath width is 32 bits. It worked fine with 8-bit and 16-bit DataPath.
Can you please advise?
Following is what I got so far.
I started with project DMASPI_8bit which worked as expected as shown on image below. The important signals are Ch5 (isFifoEmpty), and Ch6-7 (when DMA completes). They show when data is loaded into FIFO and when DMA completes.
Made a copy of 8bit project to 16bit project and just updated number of bits in DataPath and also the data to send 2 bytes per burst and all worked great as well as shown on following image.
Made a copy of 16-bit project and set DataPath to 32 bits and also updated variables to send 4 bytes per burst but no luck this time.
The following image shows Ch6-7 going high which means DMA completed but Ch5 (isFifoEmpty) signal remains high.
The 32-bit project has additional debug code that I tried. The debug code also does a direct register write to FIFO F0 PTR to verify that FIFO empty signal changes state at that point, but for some reason it just doesn't work the same with DMA.
- Labels:
-
PSoC 5LP
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Maybe this would help -
http://www.cypress.com/?app=forum&id=2492&rID=76859
I am sure you have seen this stuff ?
http://www.cypress.com/?rID=37793 AN52705 Getting Started with DMA
http://www.cypress.com/?rID=82680 AN84810 PSoC® 3 and PSoC 5LP Advanced DMA Topics
http://www.cypress.com/?rID=44335 AN61102 PSoC® 3 and PSoC 5LP - ADC Data Buffering Using DMA
http://video.cypress.com/video-library/search/dma/ Videos on DMA
https://www.youtube.com/results?search_query=dma+psoc Videos on DMA (some overlap)
Regards, Dana.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Dana, let me build a project with the 32-bit component and will let you know how it goes.
I already went through all the other links. BTW, is it possible to access the projects shown on videos like http://video.cypress.com/video-library/video/Corporate/PSoC-Today-Data-Paths-Part-III/1799598137001 ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Send an email to psoctoday@cypress.com, giving them the list
of video projects you want..
Regards, Dana.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Dana,
I used the 32-bit component from link you sent me but I still got the same problem. Can you please take a look at any of my 32-bit projects to see why writing to FIFO from DMA does not work for 32-bit but works for other bit lengths?
Attached is the project using the 32-bit component from the following link:
www.cypress.com/?app=forum&id=2492&rID=76859