[X]关闭

米联客(MSXBO)MZ7XA-UCOSIII SD卡测评

文档创建者:222zhumingming
浏览次数:5900
最后更新:2019-09-03
   UCOS是Micrium公司出品的RTOS类实时操作系统,UCOS目前有两个版本:UCOSII和UCOSIII。 UCOSIII是一个可裁剪、可剥夺型的多任务内核,而且没有任务数限制。UCOSIII提供了实时操作系统所需的所有功能,包括资源管理、同步、任务通信等。

SD卡是由松下电器、东芝和SanDisk联合推出,1999年8月发布。SD卡的数据传送和物理规范由MMC发展而来,大小和MMC卡差不多,尺寸为32mm x 24mm x 2.1mm。长宽和MMC卡一样,只是比MMC卡厚了0.7mm,以容纳更大容量的存贮单元。S与 MMC 卡保持着向上的兼容,MMC卡可以被新的SD设备存取,兼容性则取决于应用软件,但SD卡却不可以被MMC设备存取。(SD卡外型采用了与MMC卡厚度一样的导轨式设计。
SD卡接口除了保留MMC卡的7针外,还在两边加多了2针,作为数据线。
在 SD 卡 3.0 规范中,SD 卡的理论最大容量可达 2TB,理论最大读写速度可达 104MB/s(在最新的 4.10 规范中,理论最大读写速度已提高到 312MB/s)。[2]
SD卡主要分为四部分组成:外部引脚、内部寄存器、接口控制器和内部存储介质。SD 卡(1)主要引脚和功能描述如下:
CLK:时钟信号,控制器或者 SD 卡在每个时钟周期传输一个命令位或数据位,在 SD 总线的默认速度模式下频率可在0~25MHz 之间变化,SD 卡的总线管理器可以不受任何限制的自由产生0~25MHz 的频率,在 UHS-I 速度模式下,时钟频率最高可达208M。[2]
CMD:命令和响应复用引脚,命令是由控制器发给 SD 卡,可以是从控制器到单个 SD 卡,也可以是到 SD 总线上所有卡;响应是存储卡对控制器发送的命令应答,应答可以来自单卡或所有卡。
DAT0~3:数据线,数据可以从卡传向控制器也可以从控制器传向卡。
SD2.0的规范中对SD卡的速度分级方法是:普通卡高速卡的速率定义为Class2、Class4、Class6 和Class 10 四个等级。在Class10卡问世之前,存在过一阵Class11和Class13的卡,但这种标准最终没有被SDA共识。
SD3.01规范被称为超高速卡,速率定义为UHS-I和UHS-II。到2013年第二季度为止,已上市的只有UHS-I卡。UHS-II在2012年第4季度发布,但就2014年前的技术发展速度来看,UHS-I完全足够度过2014年甚至更久。UHS-I卡的速度等级分为UHS-Class0和UHS-Class1。UHS-I的Class和SD2.0的Class不同,没有明确的Class0卡,字面含义就是达不到Class1的卡。可能未来老Class标准的都会被归纳为Class0吧。Class1代表的是最大读取104MB/s,而SD2.0标准里的Class代表的是写入最小的速度范围。
开发步骤:
1:由于我们的 uC/OS-III 是使用第三方软件库,这个库要求有 2 AXI timer,硬件系统中必须添加这样的两个 IP。开启中断和 zynq 的中断系统相连。整个硬件系统图如下:
691185d6e57f390c34.png

2: SDK 下点击 Xilinx Tools -> Repositories,添加UCOS的ZYNQ库文件
285755d6e5849db03b.png
3:新建工程,选择ucos File

573455d6e58866dfd7.png

4:在BSP中选择SD 0
89235d6e58c8c2dd4.png
测试结果如下:
要先格式化SD为FAT32

336695d6e5924e5e92.png



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则