几串口协议的整理
转载自博客园的一篇博客几个串口协议学习整理
一、UART
UART是一个大家族,其包括了RS232、RS499、RS423、RS422和RS485等接口标准规范和总线标准规范。它们的主要区别在于其各自的电平范围不相同。
嵌入式设备中常常使用到的是TTL、TTL转RS232的这种方式。常用的就三根引线:发送线TX、接收线RX、电平参考地线GND。
1.1 电路示意图
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uQfszldr-1593448573103)(image\UART连线示意图.png)]](https://i-blog.csdnimg.cn/blog_migrate/0b039718aa51305e6d0e6cf53b613086.png)
1.2 通信协议
将传输数据的每个字符一位接一位地传输。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OfSXkxcu-1593448573105)(image\串口数据传输示意图.png)]](https://i-blog.csdnimg.cn/blog_migrate/17c2a23b5396078e01eac05146b5d39b.png)
起始位:先发出一个逻辑”0”的信号,表示传输字符的开始。
数据位:紧接着起始位之后。数据位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。
奇偶校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验资料传送的正确性。
停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。
空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。
波特率:数据传输的速率。有以下几个档位:300、600、1200、2400、4800、9600、19200、38400、43000、56000、57600、115200.当然也可以自定义。在数据传输和接收双方,需要预先统一波特率,以便正确的传输数据。
二、I2C 总线
2.1 电路示意图
I²C (Inter-Integrated Circuit)。其拥有一根数据线SDA和一根时钟线SCL。其总线通过上拉电阻与电源相连接。每个接到I2C总线上的器件都有唯一的地址。其中,主动发起操作的一方为主机,另外一方为从机。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fTbaRKdK-1593448573106)(image\IIC 总线电路示意图.png)]](https://i-blog.csdnimg.cn/blog_migrate/acc100ccfd48d6802b30a41003a44449.png#pic_center)
2.2 数据传输
当没有数据传输的时候,两根总线都为高电平;当采集IIC上的数据时,其时钟线SCL必须是高电平且SDA的数据必须保持稳定不变—将SDA的电平与SCL的高电平进行“与”操作后,以便确定SDA上是1还是0;在SCL为低电平的时候,SDA上的数据可以进行跳变。
数据传输开始时,需要发送一个起始信号;数据传输结束后,需要发送一个终止信号;每8bit数据传输结束,都需要一个ACK。起止信号都有Master发出,而ACK则可能由Master或者SLAVE来发出。数据的传输采用大端传输。
开始信号:SCL为高电平,SDA的电平由高跳到低表示开始信号。
终止信号:SCL为高电平,SDA的电平由低跳到高表示终止信号。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gKGyvHc4-1593448573108)(image\IIC总线时序图.png)]](https://i-blog.csdnimg.cn/blog_migrate/c1a6955f44e8c471698ac087a92ec0ba.png#pic_center)
2.3 数据协议
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O7RWWoVN-1593448573110)(image\IIC数据协议.png)]](https://i-blog.csdnimg.cn/blog_migrate/c371092e55830a12297d2abacc05ebcb.png#pic_center)
2.4 I2C读写流程
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1xd1fjFL-1593448573111)(image\I2C读写流程.png)]](https://i-blog.csdnimg.cn/blog_migrate/4e0455b6859137fd76a48d013045ed93.png#pic_center)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lJdWS3IQ-1593448573112)(image\I2C写寄存器的标准流程.png)]](https://i-blog.csdnimg.cn/blog_migrate/56a23570fec70328643354c5797fe042.png#pic_center)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uSmPoiQ2-1593448573113)(image\I2C读寄存器的标准流程.png)]](https://i-blog.csdnimg.cn/blog_migrate/4b4f7049f761914f8a35a20ead9baeaa.png#pic_center)
三、SPI总线
SPI(Serial Peripheral Interface)是一种串行串行同步通讯协议,由一个主设备和一个或多个从设备组成。其拥有四根(类)硬脚引线,分别为 SDI(串行数据输入),SDO(串行数据输出),SCK(串行移位时钟),CS(片选)。因为一个主设备可以挂多个从设备,则通过片选引脚对从设备进行选择。从设备的工作时钟则是来自于主设备的SCK线。
3.1 电路示意图
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b13tYSoq-1593448573115)(image\SPI总线电路示意图.png)]](https://i-blog.csdnimg.cn/blog_migrate/dcc9f8a98d2b758b0596f41d203c9596.png#pic_center)
3.2 数据的传输
SPI在数据传输的时候,需要确定两件事情:其一,数据是在时钟的上升沿采集还是下降沿采集;其二,时钟的初始(空闲)状态是为高电平还是低电平。而I2C的空闲状态,时钟线为高电平;数据采集的时候,时钟线也为高电平。但SPI给出了更自由的方式。
CPOL:时钟极性, 表示 SPI 在空闲时, 时钟信号是高电平还是低电平。
CPHA:时钟相位, 表示 SPI 设备是在 SCK 管脚上的时钟信号变为上升沿时触发数据采样, 还是在时钟信号变为下降沿时触发数据采样。
那么,SPI CPOL有两种可能,CPHA有两种可能,则SPI数据传输就有四种可能—按照标准的说法,SPI数据传输就有四种模式。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ElSTmVYV-1593448573116)(image\SPI数据传输就有四种模式.png)]](https://i-blog.csdnimg.cn/blog_migrate/75722c03fe24223b931833cb6ab9a695.png#pic_center)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f0ZHucjY-1593448573117)(image\SPIMode0.png)]](https://i-blog.csdnimg.cn/blog_migrate/3cc73e771ec16de97b1ab7fa7bd270f4.png#pic_center)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dbYaU7Hd-1593448573117)(image\SPIMode1.png)]](https://i-blog.csdnimg.cn/blog_migrate/46a88bed4809ab619331102962fe64b5.png#pic_center)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t9dByzdB-1593448573118)(image\SPIMode2.png)]](https://i-blog.csdnimg.cn/blog_migrate/dcc8177c4d8d0254d72d0dd69e084244.png#pic_center)

3.3 SPI读写
SPI在硬件设计上采用的双数据线制,根据设计,在SPI通信过程中,主从设备之间会形成一个数据环形链路—也即是,主设备向从设备写一次数据,从设备就会回一次数据(至于该从设备回复的数据是否有效,则另当别论—如果有效,主设备就把它读入;如果无效,则丢弃即可)。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JqoiPWNo-1593448573119)(image\SPI主从连接.png)]](https://i-blog.csdnimg.cn/blog_migrate/b05904b0c806a7a647fd299dd3bacce9.png#pic_center)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UI8I2HIn-1593448573120)(image\SPI读写.png)]](https://i-blog.csdnimg.cn/blog_migrate/9440292ce4915bef1b50fd926e1ae6a2.png#pic_center)
2万+

被折叠的 条评论
为什么被折叠?



