> 文章列表 > 串口通信协议

串口通信协议

串口通信协议

I2C

总线有两根双向数据线,一根是数据线 SDA,一根是时钟先 SCL

空闲: SDL  SCL都是高电平

起始信号   SCL 高      SDL由高变低的跳变

停止信号 SCL 高   SDL由低变高的跳变

主设备在SCL线上产生一个时钟脉冲,将SDL线上传输一个数据位,当一个字节数据传输完之后,从设备将拉低SDA线,回传给主设备一个应答位,这就是一个字节的真正传输

系统中的外围设备都有一个七位的从器件地址,通过这个地址来选择从设备

一般操作

1、主机给从机发数据

发送开始条件START和从机地址

发送数据

发送停止条件STOP结束

       主机从从机读取数据

发送开始条件START和从机地址

发送要读取的地址

读取数据

发送停止条件STOP结束

       开始和结束条件

当SCL高,SDA从高变低,就是START

当 SCL 高,SDA从低变高,就是STOP

SPI

 

四条线

SCLK :串行时钟,用来同步数据传输,由主机输出

MOSI: 主机输出从机输入数据线,通常先传输MSB

MISO:主机输入从机输出数据线,通常先传输LSB

SS:片选,低电平有效,由主机输出

数据传输

在SPI一个周期内,完成如下操作

1、主机通过MOSI线发生1位数据,从设备通过这根线读取这1位数据

2、从机通过MISO线发送1位数据,从设备通过这根线读取这1位数据

3、时钟使能线,当要和某个从设备通信就将之使能

这是通过移位寄存器实现的,主机和从机各有一个移位寄存器,且二者连接成环

UART

没有时钟线,异步传输

数据包的内容由起始位、主体数据、校验位、停止位组成,通讯双方的数据包格式以及波特率要约定一样

·1、接口

UART仅通过两条TXD和RXD用于数据发和收

SPI、I2C和UART

 

数据格式

1、起始位

数据线空闲状态为高电平,要发送数据时将其拉低一个时钟周期表示起始位

2、数据位

使用校验位时,数据位可以有5~8位,如果不使用校验位,数据位可以达9位

3、校验位

奇偶校验,保证校验位和数据位在内所有位中1的个数为偶数

4、停止位

为了表示数据包的结束,发送端需要将信号线从低电平变成高电平,并且保持2个时钟周期

优缺点

1、只使用两条信号线,不需要时钟线,有校验位进行错误检测

2、传输速率比较慢