20.1串行与并行通信
按数据传送的方式,通讯可分为串行通讯与并行通讯,串行通讯是指设备之间通过少
量数据信号线(一般是 8 根以下),地线以及控制信号线,按数据位形式一位一位地传输数据
的通讯方式。而并行通讯一般是指使用 8、16、32 及 64 根或更多的数据线进行传输的通讯
方式,它们的通讯传输对比说明见图 20-1,并行通讯就像多个车道的公路,可以同时传输
多个数据位的数据,而串行通讯,而串行通讯就像单个车道的公路,同一时刻只能传输一
个数据位的数据。
串行:USART I2C SPI
并行:SDIO4 FSMC16 W5500
20.2全双工、半双工和单工
全双工:USART SPI
半双工:USART SPI
单工:I2C
20.3同步与异步
有时钟信号为同步,对时钟要求较高
在同步通讯中,数据信号所传输的内容绝大部分就是有效数据,而异步通讯中会包含有帧的各种标识符,所以同步通讯的效率更高,但是同步通讯双方的时钟允许误差较小,而异步通讯双方的时钟允许误差较大。
SPI I2C
在异步通讯中不使用时钟信号进行数据同步,它们直接在数据信号中穿插一些同步用的信号位,或者把主体数据进行打包,以数据帧的格式传输数据,某些通讯中还需要双方约定数据的传输速率,以便更好地同步。
20.4通信的速率
比特率(Bitrate)来表示,即每秒钟传输的二进制位数,单位为比特每秒(bit/s)。
“波特率”(Baudrate),它表示每秒钟传输了多少个码元。
分析:用 0V 表示数字 0,5V 表示数字 1,那么一个码元可以表示两种状态 0 和 1,所以一个码元
等于一个二进制比特位,此时波特率的大小与比特率一致;如果在通讯传输中,有 0V、
2V、4V 以及 6V 分别表示二进制数 00、01、10、11,那么每个码元可以表示四种状态,即
两个二进制比特位,所以码元数是二进制比特位数的一半,这个时候的波特率为比特率的
一半