- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I write a firmware for a system based on FX3 and videosensor. I programmed GPIF as described in AN75779 and created DMA chanel for translate data to the PC. I didn't make changes in data, only translate.
As described in AN75779, I define the size of DMA bufer as 16kB, and the bufer count as 4. But when I try to translate data it translate only few frames, and then translation terminated and device didn't detect by Cypress CC.
I reduced the size of DMA bufer to 1kB. Now traslate didn't terminat, but the data arrived discordantly, so i can't capture properly image.
Where there is may be a problem and how solve it?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
How do you debug it? You may want to add some print messages to the firmware and see what exactly is happening?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Function CyU3PDmaMultiChannelCommitBuffer returns CY_U3P_ERROR_INVALID_SEQUENCE and translation terminated. What this mean I don't understand because there aren't any description in technical documentations. Also device don't detects by Cypress CC, but in system device manager it is present.
When I use the small bufer device don't returns any errors.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I solved the problem with transfer data. But now there is another problem with the low data transfer speed. If I've transfer less then 10MB/s there are all ok, and packets havn't lost. But when I have increased data trasfer speed to 50MB/s many packets become lost.
I when I try to test the speed with USBBulkSourceSink example it was up to 380MB/s. But when I use data from videosensor to transfer in this exapmple it transefr with loses. What may be cause of this lases.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Try using the maximum dma buffer that is available.
Regards,
sai krishna.