新闻中心

EEPW首页>嵌入式系统>设计应用> 基于STCl2C5A60S2单片机的SD卡读写

基于STCl2C5A60S2单片机的SD卡读写

作者: 时间:2010-04-23 来源:网络 收藏

4 软件设计
4.1卡的初始化
卡从上电到对卡进行正确的操作,往往都需要一个上电初始化的过程。SD卡上电后,主机必须先向SD卡发送74个时钟周期,以完成SD卡的上电过程。通常SD卡上电后会自动进入SD总线模式,并在SD总线模式下向SD卡发送复位命令(CMD0)。因此,主机在对SD卡进行任何操作前,都必须先要拉低SD卡的片选信号CS(card select),以使SD卡进入SPI总线模式,然后再由主机向SD卡发送命令。SD卡可以响应主机发来的各种应答信号,同时向主机发送一个特殊的数据响应标志。若主机读到的应答信号为01,即表明SD卡已进人SPI模式,此时,主机即可不断地向SD卡发送命令字(CMDl)并读取SD卡的应答信号,直到应答信号为00,表明SD卡已完成初始化过程,并准备好接受下一命令。此后,系统便可读取SD卡的各寄存器,以进行等操作。SD卡初始化流程如图3所示。下面是SD卡初始化的程序代码:


4.2 SD卡的
SD卡的数据传输主要通过块读写来实现。块长度默认为512 KB。当RAM中已存放由模数转换模块传来的512 KB数据时,便向SD卡写入此块数据。块读取时,可发送命令CMDl7,接收到的应答信号为0x00。这样就可以直接接收数据了,接收到的数据的第1个字节为数据令牌0xfe,后面的为接收到的数据,当输出口变为高电平时。表明读取操作完成。SD卡的读操作与写操作相同,故此不再赘述。图4所示是SD卡的读写软件流程图。其具体程序代码如下:


5 结束语
该SD卡与的接口电路已在实际的试验板上验证成功,并已证明可以正确实现数据通讯,故可对SD卡上的文件进行各种操作。

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭