- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am using FX3S chipset for my project. Exactly what we are doing is, coping from one SD card1 to another SD card2 without affecting the old data
We have done the copying from SD1 to SD2, but the copying speed is bit slow. my requirement is 1.5 Gb per second need to complete in one min. we have achieved almost 0.9Gb/s. we are using EXFAT file system and the SD card type is SDXC UHS 1. Speed of the card is 170mb/s mention card label
Fx3s clock speed 384mhz we tried with 404 MHz also but its not much difference
Please suggest me to come out from this problem
THANKS & REGARDS
S.RAVI CHANDRIKA
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Ravi chandrika,
As you might know, in the implementation of f_read/f_write there will be calls to disk_read/disk_write respectively which are implemented in the block driver of fx3s. If you see the implementations of the same, you can find that we make use of CyU3PDmaChannelSetupRecvBuffer and CyU3PSibReadWriteRequest (for disk_read). So, there's nothing that can be done to increase the data transfer rate. However I will further see if there is any other possibility and let you know.
Currently are you just trying to copy 32KB from one card to another?
Regards,
Hemanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Ravi Chankdrika,
Please let me know how you are currently implementing the copy from one card to another? Can you share the firmware?
Regards,
Hemanth
- 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
Hi Ravi chandrika,
As you might know, in the implementation of f_read/f_write there will be calls to disk_read/disk_write respectively which are implemented in the block driver of fx3s. If you see the implementations of the same, you can find that we make use of CyU3PDmaChannelSetupRecvBuffer and CyU3PSibReadWriteRequest (for disk_read). So, there's nothing that can be done to increase the data transfer rate. However I will further see if there is any other possibility and let you know.
Currently are you just trying to copy 32KB from one card to another?
Regards,
Hemanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am trying to 512mb file to copy from one card to another.
THANKS & REGARDS
S.RAVI CHANDRIKA
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
From what I see in the code, you are reading and writing in chunks of 32KB. Am I correct?
Regards,
Hemanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am doing for testing purpose only. I used only IMG file . And the read and write buffer size is 32kb.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can you increase the buffer size and check the difference in transfer rate?
Regards,
Hemanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If I increase the buffer size ,the file copy time also increased.
Regards,
S.Ravi chandrika
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
As I mentioned above, apart from experimenting with different buffer sizes, nothing can be done to improve the transfer rate in your application.
Regards,
Hemanth