一、总线通信协议简介
总线是计算机系统中负责连接各个硬件的通信线路,它可以传输数据、地址和控制信号。通信协议是指双方实体完成通信所遵循的规则。总线通信协议是一种规定总线设备之间数据通信方式和方法的规则,它包括数据的通信方式、速率、格式、错误检测和纠正等规定。
二、总线通信协议之通信方式
2.1 并行和串行
串行通信是指逐个传输数据位;并行通信则是同时传输多个数据位。
2.2 单工、半双工和双工
单工通信:数据传输只支持数据在一个方向上传输,同一时间只有一方能接收或发送信息,不能实现双向通信,举例:电视,广播。
半双工通信:数据传输允许数据在两个方向上传输,但在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信,可以实现双向通信。举例:对讲机。
双工通信:数据通信允许数据同时在两个方向上传输,是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力,在同一时间可以同时接收和发送信息,实现双向通信,举例:电话通信。
2.3 同步和异步
同步通信:要求接收端时钟频率和发送端时钟频率一致,可以连续的比特位,同效率高。
异步通信:发送方和接收方按照规定的波特率进行数据传输,数据传送以字符为单位,字符与字符间的传送是完全异步的,位与位之间的传送基本上是同步的,发送时钟和接收时钟只要相近就可以,简单说就是:字符间异步,字符内部各位同步。
三、常见总线通信协议
总线通信协议有很多,这里我们只关注最常见的几种,UART、I2C和SPI,下面是它们对应的通信方式。
总线通信协议 | 数据同步方式 | 数据传输方向与时间的关系 | 串并行 |
---|---|---|---|
UART | 异步 | 双工 | 串行 |
I2C | 同步 | 半双工 | 串行 |
SPI | 同步 | 双工 | 串行 |
关于UART、I2C和SPI的详细内容请参考后续专题。
一个专注于“嵌入式知识分享”、“DIY嵌入式产品”的技术开发人员,关注我,一起共创嵌入式联盟。