SD卡接口设计[附硬件电路和程序]
3.4 SD卡的初始化
SD卡的初始化要遵循一定的步骤。首先将SPI时钟降低到400 kHz,等待至少74个时钟周期。接着拉低片选信号,并发送CMD0命令,对SD卡进行复位并使其进入SPI模式,这里需要正确的CRC校验,校验字节为0x95。若SD卡进入空闲状态(即接收响应为0x01时),则发送CMD1命令,激活卡的初始化过程,此时响应为0x00。然后设置块的长度,一般为512字节。最后将片选拉高并将SPI时钟设为最大值,以保证最大的读写速度。SD卡初始化过程如图3所示。
SD卡初始化代码如下:
3.5 SD卡单块数据读写
SPI模式支持单块和多块数据的读写操作,可通过发送相应的命令来实现。读单块数据的操作过程如图4所示。拉低片选后,首先由主控制器MCF51QE128发送读单块数据命令CMD17,然后等待SD卡的响应。当收到数据块开始标志0xfe后,开始从SD卡读取512字节的数据,最后读取2字节的CRC校验位。
读单块数据的函数代码如下:
写单块数据的操作过程与读操作类似,如图5所示。拉低片选后同样由主控制器MCF51QE128发送写单块数据命令CMD24,SD卡正确响应后发送数据块开始标志0xfe,接着发送512字节数据块和2字节CRC校验。
写入数据后,SD卡会发送1字节的数据响应来反馈数据写入的情况,其格式如图6所示。当数据正确写入SD卡后,数据响应为0x05。最后读数据总线,写数据忙时等待,直到总线为高电平。
写单块数据的函数代码如下:
结 语
SD卡是目前广泛应用的可擦除的大容量存储设备,其接口设计可作为各类嵌入式系统中存储单元的一般解决方案。本文结合SD卡标准的相关技术,基于MCF51QE128微控制器完成了硬件接口和底层通信软件的设计。在此基础上,可进一步构建文件系统,实现对存储数据更有效的管理。
图片新闻
最新活动更多
-
5月10日立即下载>> 【是德科技】精选《汽车 SerDes 发射机测试》白皮书
-
5月14日火热报名>> “大航海时代”,车企如何优化创新竞争力?
-
5月16日火热报名>>> OFweek锂电/半导体行业数字化转型在线研讨会
-
5月22日立即观看>> 蔡司-“质”敬明天线上峰会-电子行业主题日
-
5月22日立即报名>>> OFweek 2024新周期显示技术趋势研讨会
-
5月28日立即观看>> 【在线研讨会】Ansys镜头点胶可靠性技术及方案
- 1 拆机实锤!华为Pura70使用新芯片,推测为7nm,性能如何?
- 2 中国芯片基地诞生:一年产量1055亿颗,占全国30%,三省共占67%
- 3 华为P70系列即将强势来袭,能否再次复制华为Mate60系列的辉煌?
- 4 华为麒麟9010、苹果A17、高通8Gen3对比,差距有多大?
- 5 避免内卷?中国大陆4大芯片代工厂,产能、营收、优势介绍
- 6 华为Pura70又打脸了?美国商务部长:华为芯片没那么先进
- 7 华为Pura70证明:我们7nm已没问题,接下来是5nm、3nm
- 8 MTK和Intel联手,投资RISC-V芯片新贵谋发展?
- 9 AI计算搅动先进封装市场变局,FOPLP异军突起
- 10 应用在防蓝光显示器中的LED防蓝光灯珠
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论