简介
本文主要讨论串行通信协议uart、spi和i2c,串行接口标准rs232、rs422和rs485.
串行通信协议(数据怎么传输)
串行通信协议分为同步串行通信协议(spi、i2c)和异步串行通信协议(uart)。同步和异步传输的区别在于是否包含有时钟信号线,如果包含有时钟信号线为同步传输,否则为异步传输。
同步串行通信协议
spi是一种同步、全双工的通信协议。spi通信由四根信号线构成:时钟信号线(sclk)、数据输入线(sdi)、数据输出线(sdo)和片选信号线(cs)。其中片选信号线可以实现一对多的通信方式。
(1)SDO – 主设备数据输出,从设备数据输入;
(2)SDI – 主设备数据输入,从设备数据输出;
(3)SCLK – 时钟信号,由主设备产生;
(4)CS – 从设备使能信号,由主设备控制。
注意:SCLK信号是由主spi设备提供的,从spi设备不能控制时钟信号线(sclk)。因此在一个基于spi的通信系统中至少包含一个主spi设备,同样因为数据的发送和接受是基于时钟信号来进行采样,因此同步串行通信不同于异步串行通信的固定格式传输方式(7位、8位、10位),同步串行通信每次传输的数据位数可以是任意的,只要在传输数据的同时传输时钟信号即可。
I2C是一种同步、半双工的通信协议。工作速率有低速100kbits、快速400kbitsÿ