功能描述:
将一张SD卡的内容快速copy到另外一张。
因为刚刚拿到一块ST的三合一开发板,想问问大家,ST有合适的片子能时间这个功能吗?
STM32可以实现SD卡之间的拷贝
2种办法使用SD: 1)通过SPI接口,多数STM32都有2个SPI接口。2)使用专有的SDIO接口。
STM32的固件库中2种方法都有例子。
香水城大人
第一种方法不合适
理由:SPI速度慢,假如4G的的卡,要很久。
第二种方法不知道如何实现2张SD卡传输信息,我知道可以单独控制一张卡读出来、写进去,但是SD控制器只有一个,只能使一张SD处于SD模式,或者一张SPI模式,一张SD模式,两张不同步。
难道一个SD控制器可以设置两张SD卡均为SD模式?
应该可以的
我知道MMC卡可以在同一组信号线上使用卡的识别码分别对多张MMC卡进行访问操作,SD卡是否也有这个机制我记不清楚了,要看看协议文本才知道。
CPLD解决这个问题
可以通过SDIO的CLK线举行SDIO总线的共享,你去Altera的网站看看CPLD的参考设计专门有一片文章讨论这个问题
当然要使用缓存了,不过不会占太多的存储
一般最少一个Block(512字节),最多几K也就够了。
使用CPLD或FPGA肯定可以,但挑战性太低了,呵呵~~~~~~
真要高速Copy的话(高速拷贝机),应该用CPLD做硬件逻辑
转化成直接DMA操作或者 配置后自动执行
否则,不可能很快(达到或接近SD卡本身的速度)
当然,一般用用还是没问题的
方案这么多
呵呵 目前已知倾向于寻找带有双SD控制器的CPU如S3C2443,DSP C5000系列。
没有用过DSP和FPGA,FPGA要重新学习语言,DSP仿真器太贵,而且无法估计出难度和工期,但是比较向往。
用2443硬件就搞复杂了。
对于一个于DSP和FPGA一片空白的人,大家觉得那个容易上手,对产品和个人提升帮助最大?
CPLD可以简化的
CLK信号是单向的,速度也不高,最简单可以1元的成本使用一片14脚的74HC的3态逻辑门或模拟开关搞定!
成本控制
整个项目成本控制在200以内
打听过说FPGA实现这个速度要400W以上,芯片就180,太贵了
还有什么好片子推荐吗?