凡亿教育-豆豆
凡事用心,一起进步
打开APP
公司名片
凡亿专栏 | SPI、I2C、UART总线的区别及联系详解
SPI、I2C、UART总线的区别及联系详解

总线系统毫无疑问是电子电路的重要组成之一,作为电子系统与外界的桥梁,总线系统不可或缺,其中SPI、I2C和UART是常见的三大总线,但很多人认为其功能一样,区别不大,因此乱用导致系统无法正常运行,所以本文将详谈它们三者的区别及联系。

1.png

SPI:由三条信号线组成(串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI))。可以实现多个SPI设备互相连接。提供串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。

I2C:总线是双向、两线(SCL、SDA)、串行、多主控(multi-master)接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。

UART:总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。

一般来说,它们的区别是:I2C线更少,功能比UART、SPI整体上更为强大,所以应用比较广泛,但同时技术研发也更加麻烦,这是由于I2CC需要双向IO的支持,并且还要配备上拉电阻,抗干扰能力较弱,所以一般用于统一板卡上芯片之间的通信,很少应用在远距离通信。UART总线需要固定的波特率(需要两维数据的间隔相等),而SPI是有时钟的协议,所以在三者中,是最简单的总线系统。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表凡亿课堂立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。
相关阅读
进入分区查看更多精彩内容>
精彩评论

暂无评论