- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
With the Master/Slave example in AN87216, after incresing CY_FX_EP_BURST_LENGTH from 1 to 4 or 8 and loading the firmware to RAM, CYUSB3KIT-003 enumerate successfully but won't show up in Control center. Modify CY_FX_DMA_BUF_COUNT from 16 to 32 or 64 at the same time have the same problem.
How to modify CY_FX_EP_BURST_LENGTH / CY_FX_DMA_SIZE_MULTIPLIER / CY_FX_DMA_BUF_COUNT at the same time to increase the bandwidth of Master/Slave example? GPIF designed may need to be modified too according to a former post - quote
"On changing the DMA buffer size, the Data counter and Addr counter values also need to be modified in the state machine as well as in the firmware. The counter value is calculated (counter value ) = (DMA buffersize)/ (GPIF bus width in bytes) + 1"
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
The maximum DMA buffer size allocated for 512 KB system memory is 224 KB. Please refer to this KBA DMA Buffer Count - KBA218339
In AN 87216 firmware, there are two channels created with same buffer count and buffer size.
i.e. glChHandleBulkLpUtoP and &glChHandleBulkLpPtoU
dmaCfg.size = (size * CY_FX_EP_BURST_LENGTH * CY_FX_DMA_SIZE_MULTIPLIER);
For USB 3.0 by default settings are
dma buffer size = 1024 * 1* 2 = 2 KB
DMA buffer count is 16
For two channels = 2 * 2 *16 = 64 KB
So when you change the DMA buffer size, you need to reduce the DMA buffer count
For eg:
dma buffer size = 1024 * 8 *2 = 16 KB
DMA buffer count = 4
For two channels it will be 2 * 16 * 4 = 128 KB
The CYUSB3KIT-003 does not enumerate as the DMA channel creation fails. Please confirm that CyU3PDmaChannelCreate API is failing. You can call CYU3PDeviceReset(CyFalse) when return is not success.
Apologies for the mistake. The counter values need to be modified as per (DMA buffersize)/ (GPIF bus width in bytes) - 1.
The response in the thread is edited
Regards,
Rashi
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The above "counter value" seems to be "LD_DATA_COUNT" and "LD_ADDR_COUNT" in GPIF designer. But the default value is 0~511? Then why "(DMA buffersize)/ (GPIF bus width in bytes) + 1"? For example, if DMA buffer size is changed to
size * CY_FX_EP_BURST_LENGTH * CY_FX_DMA_SIZE_MULTIPLIER=1024*8*2=16KB,
then the value in GPIF designer shoulde be changed to 0-16383 right?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
The maximum DMA buffer size allocated for 512 KB system memory is 224 KB. Please refer to this KBA DMA Buffer Count - KBA218339
In AN 87216 firmware, there are two channels created with same buffer count and buffer size.
i.e. glChHandleBulkLpUtoP and &glChHandleBulkLpPtoU
dmaCfg.size = (size * CY_FX_EP_BURST_LENGTH * CY_FX_DMA_SIZE_MULTIPLIER);
For USB 3.0 by default settings are
dma buffer size = 1024 * 1* 2 = 2 KB
DMA buffer count is 16
For two channels = 2 * 2 *16 = 64 KB
So when you change the DMA buffer size, you need to reduce the DMA buffer count
For eg:
dma buffer size = 1024 * 8 *2 = 16 KB
DMA buffer count = 4
For two channels it will be 2 * 16 * 4 = 128 KB
The CYUSB3KIT-003 does not enumerate as the DMA channel creation fails. Please confirm that CyU3PDmaChannelCreate API is failing. You can call CYU3PDeviceReset(CyFalse) when return is not success.
Apologies for the mistake. The counter values need to be modified as per (DMA buffersize)/ (GPIF bus width in bytes) - 1.
The response in the thread is edited
Regards,
Rashi
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
CYUSB3KIT-003 enumerates, but Control center won't list it.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Please let me know device strings when the device enumerating in the device manager.
Regards,
Rashi
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What is the exact name of "device strings" do you need in device property dialog? Device instance path?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Please let me know the with what name is the device enumerating
Regards,
Rashi
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The original name as before which contains "slave"
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Please let me know if you made any changes to code of Control Center application.
If not try restarting the system (PC) and then plugin the programmed FX3.
If you are having another PC with SDK installed you can try with that PC and let me know the results
Regards,
Rashi
Rashi