诸如SPI、 I2C、USART等协议有什么共同点和区别啊?什么时候该用什么?
1.SPI/IIC/UART端口
IIC,拥有2根线,sda(双向端口)/scl(最大4Mbits/s).
SPI,拥有4根线,sclk/SDI(串行输入)/SDO(串行输出)/CS(片选:当接多个从设备时,需要用到该信号)
UART,拥有3根线,RX(接受数据)/TX(发送数据)/GND(地线)
2.SPI/IIC/UART优缺点
1.IIC和SPI均为先传输MSB,UART为LSB先传输
2.IIC的速度比SPI的速度更慢一些,协议更复杂一些,线也比标准的SPI少。
3.IIC通过地址选择从设备,SPI通过片选信号选择从设备
4.SPI和UART可以实现全双工通信,IIC为半双工通信(IIC只有一根数据线)
5.IIC需要上拉电阻,抗干扰的能力更弱。一般用于同一板卡上芯片之间的通信,较少用于远距离通信
6.UART需要固定的波特率,也就是说两位数据之间的间隔要相等。SPI无所谓,因为它是同步通信协议,拥有自己的时钟
7.UART为异步通信,一帧可以传送5/6/7/8位数据,SPI为同步通信可以一位一位的传送,IIC为同步通信传送8位连续数据
3.总结
IICSPIUART信号端口2根线,SDA、SCLK4根线,SCLK、SDO、SDI、CS3根线,RX、TX、GND主从设备关系存在主从设备,主设备通过IIC地址选择从设备存在主从设备,主设备通过CS(片选)选择从机无主从设备通信方式半双工通信(只有一根数据线)全双工通信全双工通信通信速率IIC常用速率为:100k/400k/1MSPI速率比IIC速率更快,可达几M,也可以用于10+M,看具体应用速率慢,一般为115200bps或以下,不过现在一般也能支持4Mbps或者8Mbps了传输距离IIC需要上拉电阻,抗干扰的能力更弱。一般用于同一板卡上芯片之间的通信,较少用于远距离通信通信特征同步通信,电平信号,一次传输8bit。从MSB开始传输同步通信,SPI允许数据一位一位传输,甚至允许暂定,从最高位开始传异步通信,一帧可以传5/6/7/8bit协议复杂度协议比SPI复杂,但是连线比标准SPI少SPI实现比UART简单,由于为同步传输(带时钟),无需保证两位数据之间的间隔结构比较复杂,UART的实现需要固定的波特率,也就是说两位数据的间隔要相等。对比(1)在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。(2)在多个从器件的系统中,每个从器件需要独立的使能信号,硬件上比IIC系统稍微复杂一些应用领域IIC一般用在同一块板子上的两个IC之间的通信主要应用在EEPROM,FLASH,实时时钟,AD转换器,数字信号处理器和数字信号解码器等(1)UART常用于控制计算机与串行设备的芯片(2)用作串口,用于调试
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/97567.html