串口 vs COM vs UART vs CAN vs 1553B

发布时间 2023-06-09 15:47:58作者: 西伯尔

1、串口 vs COM

1.1 串口

串口,即串行接口,与之相对应的另一种接口叫并口,并行接口。两者的区别是,传输一个字节(8个位)的数据时,串口是将8个位排好队,逐个地在1条连接线上传输,而并口则将8个位一字排开,分别在8条连接线上同时传输。+在相同的数据传输速率下,并口的确比串口更快,但由于并口的各个连接线之间容易互相干扰,高速情况下难以同步各连接线的数据,而且硬件成本也相对串口更高(线多),因而串口取代并口成为了现在的主流接口,

常见串口:

  • 较具代表性的要数Universal+Serial+Bus,通用串行总线,也就是USB。
  • 其它在嵌入式领域常见的串行接口还包括:I2C,SPI,RJ-45,UART,USART等。

注意:串口、UART/USART通常指的是硬件接口,而RS-232指的是属于物理层范畴的串行通信接口标准,简而言之,RS-232就是个标准。

1.2 COM口

电脑上的异步串行通信接口,有时也称之为串口(其实这个叫法并不严谨)。

电脑COM口使用DB9连接器,遵循RS-232标准,RS-232规定了通信口的电气特性(比如多少伏为逻辑“1”)和接口机械特性(形状,针脚定义)等内容。

COM口多见于旧式电脑,用于连接鼠标,调制调解器等设备,现在已被USB取代。

1.3 单片机与电脑的连接

既然单片机有串囗(UART/USART),电脑也有串囗(COM),那么两者就可以通过串口进行通信。

如果电脑有实体COM囗,由于COM口使用的RS一232电平跟单片机的UART/USART使用的TTL电平不一样,这时就需要使用MAX232之类的电平转换芯片,将TTL电平转换成RS一232电平,连接示意如下:
电脑COM口<——>MAX232<——>单片机UART/USART 【串口调试时,用这种】

如果电脑没COM囗,就要通过CH340之类的USB转TTL串囗芯片,来实现用USB模拟COM口,这样电脑的USB口就变成了一个TTL串囗,可以跟单片机的UART/USART通信,连接示意如下:
电脑USB口<——>CH340<——>单片机UART/USART

参考:
https://blog.csdn.net/qq_26904271/article/details/79829363

2、CAN总线

CAN节点通常由三部分组成:CAN收发器、CAN控制器和MCU。

CAN总线是一种广播类型的总线,可支持线形拓扑、星形拓扑、树形拓扑和环形拓扑等。CAN网络中至少需要两个节点设备才可进行通信,无法仅某一个特定节点设备发送消息,发送数据时所有节点都不可避免地接收所有流量。但是,CAN总线硬件支持本地过滤,因此每个节点可以设置对有效的消息做出反应。

参考:
https://zhuanlan.zhihu.com/p/548772223

4、CAN vs 1553B总线

二者都是广播形式、只能本地过滤。1553B和CAN的速度都能达到1Mbps。

CAN常用于汽车,1553B安全性较高、用于航天。