一、通信协议中的专业名词
1.1 单工、半双工、全双工
假设是A、B两方要进行通信
- 单工:只能A方发送给B方
- 半双工:传输过程只能有一个方向,即只能接收或只能发送。e.g.A接收时B发送
- 全双工:双方能同时发送和接收数据。e.g.A可以一边发送给B,也可以一边接收B的发送信息
1.2 波特率 与 比特率
概念:波特率与比特率_0相邻比特位-CSDN博客
波特率的计算:
- 如何计算CAN通信波特率-CSDN博客
- STM32中CAN波特率的计算_stm32 can波特率计算-CSDN博客

1.3 同步通讯与异步通讯
- 同步通讯:发送端与接收端时钟频率一致,依靠时钟传输数据。
- 异步通讯:发送端与接收端按约定发送一组数据,数据用帧头帧尾标记数据的开始和结束,没有时钟要求。
- 参考链接:同步通信与异步通信区别_同步通讯和异步通讯-CSDN博客
1.4 串行与并行
- 串行通信:是指数据通过单一通道或线路逐位(bit by bit)顺序传输的方式。在串行传输中,数据被拆分成一系列的比特流,然后按顺序一个接一个地发送。这种传输方式需要较少的物理线路,降低了成本和复杂性,但相对地,单个数据包的传输时间会较长。串行通信适用于远距离传输,因为随着距离的增加,信号衰减和干扰问题在并行传输中更为严重。现代高速串行通信技术,如USB、Ethernet和PCI Express,虽然使用单一线路,但通过提高信号频率和采用复杂的编码技术,能够达到非常高的数据传输速率。
- 并行通信:是指数据通过多条通道或线路同时传输,每个通道负责传输数据的一个部分,比如一个字节的不同比特。这种方式可以在同一时间内发送更多的信息,因此传输速度较快。并行通信常见于早期的打印机接口、内部总线(如早期的PCI总线)等近距离高速数据传输场景。然而,随着传输距离的增加,信号之间的干扰(串扰)和同步问题变得难以解决,这限制了并行通信在长距离传输中的应用。此外,并行接口需要更多的物理线路,导致成本增加和布线复杂。
二、通信协议
2.1 I2C (Inter-Integrated Circuit)
- 同步:I2C协议利用时钟线SCL来同步数据传输,属于同步通信。
- 半双工:I2C是半双工的,同一时间只能发送或接收数据,不能同时进行。
- 串行:I2C使用两根线(数据SDA和时钟SCL)进行串行数据传输。
2.2 SPI (Serial Peripheral Interface)
- 同步:SPI通信通过单独的时钟线SCK同步数据传输,属于同步通信。
- 全双工:SPI支持全双工操作,可以同时发送和接收数据,使用四根线(MISO, MOSI, SCK, SS)。
- 串行:SPI是一种串行通信协议。
2.3 UART (Universal Asynchronous Receiver/Transmitter)
- 异步:UART不使用共享时钟信号,依赖于每个数据帧中的起始位和停止位进行同步,属于异步通信。
- 全双工:UART提供全双工通信,可同时发送和接收数据,常用两根线(TX, RX)。
- 串行:UART是一种串行通信方式。
2.4 USART (Universal Synchronous/Asynchronous Receiver/Transmitter)
- 同步/异步:USART灵活地支持同步和异步两种通信模式。
- 全双工:不论是同步还是异步模式,USART都支持全双工通信。
- 串行:USART是一种串行通信接口。
2.5 CAN (Controller Area Network)
- 同步:CAN协议在数据传输上采用位同步机制,虽然没有传统意义上的时钟线,但通过总线上的数据位进行时钟恢复,可视为同步通信。
- 半双工:CAN通常被视为半双工,因为它在一个时刻只能进行发送或接收,但支持多节点双向通信。
- 串行:CAN总线是串行通信协议,使用差分信号进行数据传输。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/66088.html