新闻中心

EEPW首页>嵌入式系统>设计应用> 基于NiosⅡ的SD卡驱动程序开发

基于NiosⅡ的SD卡驱动程序开发

作者: 时间:2010-08-02 来源:网络 收藏

1.2 从端口读/写传输
从端口读传输是主设备通过卡控制器对卡进行读取的操作,即读取卡的数据;从端口写传输是主设备通过SD卡控制器对SD卡进行写操作,即对SD卡写入数据。图2为从端口读/写信号时序。

本文引用地址://m.amcfsurvey.com/article/151709.htm


从端口读传输时,在时钟上升沿开始传输数据,并在下一个时钟上升沿完成传输。在clk的第1个上升沿,systeminterconnect fabric配合read、begintransfer信号将有效的address,byteenable和read信号传输给从端口,且system interconnect fabric在内部将address译码,产生并从端口的chipselect信号。chipselect信号一旦有效,则从端口立即readdata。system interconnect fabric则在下一个clk上升沿捕获readdata。
从端口写传输是由system interconnect fabric发起的。它向从端口传输1个单元的数据,且在1个时钟周期内完成。system intercon-nect fabric配合write、begintransfer信号提供address,writedata,byteenable和write。system interconnectfabric不对address进行译码,chipselect,并使其有效。从端口在下一个时钟的上升沿捕获地址、数据和控制信号,并完成写传输。
从端口的读写时序是通过SD卡控制器完成的,而SD卡的控制器是以Ⅱ软核处理器外设的形式与处理器相连接的。其关系如图3所示。

2 SD卡的接口协议分析
SD卡即可靠数字存储卡(Seeure Digital Memory Card),是为满足消费电子类产品对安全、容量、性能等有特殊要求的环境而设计的。 SD卡定义了SD和SPI这2种可选择的总线协议。这里研究的是SPI协议下的SD卡设备开发。SPI是面向字节的传输,SPI的命令和数据块都是以8个比特为单位进行分组的。SPI的信息分为控制帧、反馈帧和数据帧,所有的SPI信息都是建立在命令、应答和数据端口标记上的。所有主机和卡之间的通信都由主机控制,主机通过拉低CS信号开始一个总线事务。
SPI模式下,SD卡可支持单个块和多个块的读/写操作,在接收到一个合法的读取命令后,这个SD卡可将用一个应答标志来应答响应,随后的就是一个数据块。在接收到一个合法的写指令时,SD卡将响应一个应答标记,并等待主控制器发送这个数据块。图4为单个块数据的读取操作,图5为单个块数据的写入操作。

3 SD卡驱动设计
Ⅱ软件架构是建立在硬件抽象层HAL(Hardware Abstraction Layer)之上的,HAL为软件开发者提供了编程接口、底层的设备驱动、HAL API以及C标准库等资源。



评论


相关推荐

技术专区

关闭