串行通讯与并行通讯
- 串行通讯是指设备之间通过少量数据信号线(一般8根以下)、地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式,串行通讯同一时刻只能传输一个数据位的数据,但通讯距离比并行通讯远、抗干扰能力比并行通讯强,成本较低;
- 并行通讯指使用8、16、32及64根或更多的数据线进行传输的通讯方式。并行通讯可传输多个数据位的数据,传输速率相比于串行通讯较高。
全双工、半双工及单工通讯
- 全双工就是同一时刻两个设备间可同时收发数据;半双工同一时刻不能同时收发数据但设备间可进行数据收发;单工表示随时但只能进行一个方向的通讯,设备向另一个设备发送和接收都是固定的。
同步通讯和异步通讯
- 根据是否使用到时钟信号简单可区分;
USART
- 具体名称:通用同步/异步串行接收/发送器;
- 特点:全双工通用同步/异步串行收发模块;
- 注意:它只是一种通信方式;不具体到串口名称;
UART
- 具体名称:通用异步串行接收/发送器;
- 特点:全双工通用异步串行收发模块;
- 串口通信的接收和发送方无统一的时钟信号,故也可算为异步通信;
- 串口通信使用电平信号传输:电平信号是用信号线电平减去参考线电平得到的电压差,此电压差决定了传输值为0或1(逻辑值);
- RS232电平和TTL电平以及RS485电平:RS232电平中-15-3V表示值为1,+3V+15V表示0;而TTL电平中+2.4V+5V表示1,0V0.5V表示0;RS485中+2V+6V表示逻辑1,-6V-2V表示逻辑0;注意:它们都是一种逻辑电平的表示方式,算是一个电平标准。
- 串口通信为了使双方正常通信,所以需要事先约定号通信格式对应参数值,比如波特率(指串口通信速率,9600波特率表示每秒传输一个二进制位需要1/9600=104us),需要注意通信时双方必须设置相同的波特率才可通信;
- 其他参数:起始位:表示发送方发送一个通信单元;数据位:是一个通信单元中发送的有效信息位,一般可选6、7、8、9,一般为8位;校验位、停止位(一般可设1、1.5、2);
- 232通信主要由RX、TX和GND三根线组成,设备间发送接接收,接收连发送,地线接地线,为了保证数据传输增加至九个引脚,也叫DB9;
- 485通信时主要为了解决232通信距离问题,它以一种差分信号进行传输,只需要两根线,A和B作为数据信号传输。
- 422就是把232的RX分为RX+、RX-,TX分为TX+、TX-,确保可以同时发送和接收,传输距离也比较长。(RS232接口通讯距离小于等于15m,只能连接一个设备,而RS422和485接口通讯距离最大可达1200m并且可连接多台设备。)
- 参考地址
SPI和IIC总线
- SPI总线
SPI总线是一种全双工的串行通信总线,由一个主设备(Master)和一个或多个从设备(Slave)组成。SPI总线通常由四根线构成:
SCLK(Serial Clock):时钟线,由主设备产生,并用于同步数据传输。
MOSI(Master Out Slave In):主设备输出从设备输入的数据线。
MISO(Master In Slave Out):主设备输入从设备输出的数据线。
SS(Slave Select):从设备选择线,用于选择从设备进行通信。
SPI总线的工作方式如下:
主设备通过SS线选择目标从设备。
主设备发送数据到MOSI线。
主设备从MISO线读取从设备的响应数据。
在每个时钟周期中,主设备和从设备都会在各自的数据线上同时发送和接收数据。
SPI总线具有以下特点:
高速:SPI总线通常可以达到很高的数据传输速率,适用于对速度要求较高的应用。
灵活性:SPI总线可以连接多个从设备,并且可以通过SS线选择目标设备。
简单性:SPI总线协议相对简单,易于实现和调试。
SPI总线广泛应用于许多领域,如存储器芯片、传感器、显示屏等。例如,存储器芯片可以使用SPI总线来读取和写入数据。
20. I2C总线
I2C总线是一种双线制的串行通信总线,由一个或多个主设备和一个或多个从设备组成。I2C总线通常由两根线构成:
SCL(Serial Clock):时钟线,由主设备产生,并用于同步数据传输。
SDA(Serial Data):数据线,用于传输数据。
I2C总线的工作方式如下:
主设备通过SCL线产生时钟信号驱动通信。
主设备通过SDA线发送起始位(Start Bit)和从设备地址,并指定读取或写入操作。
主设备或从设备通过SDA线传输数据,每个字节都会由接收方发送一个应答位(ACK)作为确认。
通信结束后,主设备发送停止位(Stop Bit)结束通信。
I2C总线具有以下特点:
多设备连接:I2C总线支持多个主设备和从设备的连接,通过地址选择实现通信。
低速:相对于SPI总线,I2C总线的数据传输速率较低。
简单性:I2C总线协议较为简单,易于实现和调试。
I2C总线广泛应用于许多领域,如存储器芯片、传感器、温度监测器、电源管理芯片等。例如,传感器可以使用I2C总线来传输测量数据,而电源管理芯片可以使用I2C总线来控制和监测电源的状态。
注意:由于SPI总线采用全双工模式,数据可以同时在主设备和从设备之间传输,因此SPI总线通常具有较高的数据传输速率。而I2C总线采用半双工模式,数据只能在一个方向上传输,因此其数据传输速率相对较低。
参考地址