紫光同创PGL22G开发平台试用连载(2)——SD卡读串口输入,并输出点亮LED part1

stayreal 提交于 周五, 09/25/2020

1.看了前面的博文,有些直接往文章里贴代码,感觉并不是特别好的方式。

2.本篇博文,想要实现的功能是:

                     **通过串口助手将数据发送给SD卡

                     **再根据SD卡中记录的内容点亮LED

3.问题分解(硬件部分)

**********串口**********

1)数据位:8位

2)停止位:1位

3)无校验位

4)波特率:115200 bit/s

5)下图为试用的开发板的串口通信原理图,有兴趣的同学可以看看CP2102-GM这个芯片的手册

6)看着并没有用到几个引脚,串口的收发信号,通信指示灯,usb的电源、差分信号

7)串口通信时,工程里面往往包含顶层模块、接收模块、发送模块;顶层模块完成对接收和发送的例化

8)解释一下什么是例化,见:https://blog.csdn.net/sy243772901/article/details/84892644

串口

 

 

*********SD卡记录*******

1)SD卡主要分为四部分组成:外部引脚、内部寄存器接口控制器和内部存储介质。

看一下SD卡的引脚和内部结构框图:

SD

2)SD卡在正常读/写之前,必须先进行初始化(通过向SD卡写入命令初始化)

3)SD卡在正常读/写时,也需要首先发送读/写命令

4)SD卡的命令格式由48个bit组成,也就是6个字节

SD

5)对上图的说明:48个bit中,

第1个字节:47-46为01、紧跟Command Number命令号;

第2、3、4、5个字节:命令参数

第6个字节:CRC+停止位1

6)注意在SPI模式下,只有两个命令需要用CRC,CMD0、CMD8,原因可以自己查一查;

你可能会发现和SD卡上电的时候默认的模式有关系(SD模式)

7)SD卡的命令分为标准命令和应用相关命令

注意:在发送应用相关命令之前,必须先发送CMD55命令,让SD卡知道将要接收到的命令为应用相关命令

8)下面看一下初始化流程:

看到下图的0x41命令了吗???

它是应用相关命令,所以在它之前有CMD55命令

SD

9)SD卡收到命令之后会进行响应,响应的格式有R1,R2,R3;具体格式请自查。算了,我还是把我看到的让大家看看吧

SDSD

 

10)这一部分先写到这里,对于读/写操作,在下一篇博文进行分享~~敬请期待

期不期待

期待不

不期待

相关文章

Digi-Key