Reading/Writing SDS card through RS-485


I am new to embeded.

I want to be able to read a text file from the SD Flash card or internal memory then send it out through RS-485 (which has a USB convert connected.)
So I can plug in my flash drive or other portable storage device and transfer files.

I found some sample on MMC implementation but most of them are done through SPI.

I wonder if there is anyway to do it on RS485.

Thank you.

From your description, I’m not sure what you’re trying to do. You cannot read an SD card from an RS-485 signal. RS-485, RS-422 and RS-232 are line transmission standards meant for carrying asynchronous serial signals over wires to a device with appropriate drivers and receivers to convert the line signals back to logic levels. Both RS-485 and RS-422 are differential signals, which are very different from logic level signals. SD cards work with logic level signals, not serial line level signals. They can be interfaced in their native SD mode, or more simply in SPI mode.

There are cores that work directly with miniSD cards, and can use microSD cards with an appropriate adapter. If you want to interface an SD card socket, you could look at the RCM4300 or RCM3900 schematic to see how the miniSD card is wired in, and wire an SD card socket similarly. You could then talk to the card using the SDflash library after doing some custom configuration. You could also configure the FAT file system to allow access files on the SD card. This would allow you to read and write files on the SD card. Now what exactly do you want to do with the data once you read it from the SD card, that is not clear.

Thank you for your reply.

I don’t fully understand your description,but here is what I’m trying to do.


  1. I have a set of data files in various format (both binary and ASCII) stored in my microSD card. The total size of all files is about 512Mb to 1GB.

  2. I would like to copy those files into another 50 USB Flash drives simultaneously.

  3. Someone told me that I could connect all 50 USB Flash drives together into one USB hub. Then connect the USB hub to RCM4300 using RS-485.
    And all I need to do are just to read files from my microSD card and send the correct format of data through RS-485.

I saw libaries/sample in Dynamic-C to read microSD and another sample to send data through RS-485. But I got stuck trying to integrate both samples.

Please let me know if my requirements are achievable with RCM4300 or I need to get a new board.:slight_smile:

Thank you very much.

You received some bad information. There is no way to drive USB devices from an RS-485 port. There are many companies that make USB serial end point devices that have RS-485 drivers on them, basically giving your PC a new serial port with RS-485 drivers, but this is a simple serial device to the PC only. It does not have the ability to act as host and work with USB drives (flash or hard drives).

To talk to a USB drive requires a USB host controller, not a USB device controller. RS-485 is a transmission level standard for transmitting serial data over fairly long distance or in noisy conditions. It has no direct relation to USB and cannot drive USB devices directly.


I have a similar project wich is the following

I use RCM4300
I use FTP server library to transfer data to FAT formatted SD Memory on RCM
then I want to read secuentially this data and show it thru a byte wide port plus parity (9 bits)
I have to implement hardware hanshaking of course.

Question is: is there a file i/o method, instruction or sample program I can use as a fresh start?

thanks and best regards