串行和并行通信
串行通信和并行通信都是计算机科学中的概念,指的都是计算机内部或者计算机与外设之间的通信方式。
串行通信:Serial communication,是指使用一条数据线(另外需要地线,可能还需要控制线),将数据一位一位地依次传输。
并行通信:Parallel communication,是指使用多条数据线,同时传输多bit数据。
单工、半双工和全双工
单工通信,Simplex communication,数据只能从一个方向向另一个方向传输,而不能反过来,如数据只能A发送B接收,而不能B发送A接收。相关应用:电视、广播。
半双工通信,Half Duplex communication,数据可以双向传输,但是,在同一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信。相关应用:对讲机。
全双工通信,Full Duplex communication,数据允许同时在两个方向上传输,它要求数据两头的设备都有独立的发送和接收数据的能力。相关应用:电话。
同步通信和异步通信
并行通信因为应用少,并没有去区分同步还是异步。只有串行通信有同步异步的区分。
发送方和接收方共用一条时钟线的称为同步通信,如SPI;不共用时钟线则称为异步通信,如CAN。
同步通信
发送方和接收方共用一条时钟线
异步通信
收发双方在通信时,没有同步时钟信号就叫异步通信。异步通信靠通信速率来规范高/低电平要维持多长时间来表示0/1,这个速率叫波特率,单位为bps。
电平信号和差分信号
电平信号和差分信号是用来描述通信线路传输方式的,也就是说如何在通信线路上表示1和0。
电平信号的传输线中有一个参考电平线(一般是GND),信号线上的信号值是由信号线电平和参考电平线的电压差决定;差分信号的传输线中没有参考电平线,所有都是信号线((D+,D-),1和0的表达靠信号线之间的电压差。
电平信号的两根通信线(数据线和GND)之间的电平差异容易受到干扰,传输容易失败;差分信号不容易受到干扰,因此传输质量比较稳定。现代通信(如网线、USB线等)一般都使用差分信号,电平信号几乎没有了。
接口技术
在嵌入式软件开发过程中,使用得最多、必须熟练掌握的接口技术包括:
- 1根线通信: 1-Wire/W1/一线协议,典型代表DS18B20温度传感器、DHT11温湿度传感器;
- 2 根线通信:12C/IIC协议,典型代表SHT30温湿度传感器、OLED显示屏、RTC、触摸屏等;
- 3 根线通信:UART/RS232/串口协议,典型代表GPS、GPRS/3G/4G、NB-IoT 串口蓝牙、WiFi 等;
- 4根线通信: SPI 协议,典型代表NFC 芯片、SPI 以太网、LoRa等。