1、串口 vs COM

1.1 串口

串口通信方式有两种:串行通信和并行通信。

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

常见串口:

  • 较具代表性的要数USB(Universal Serial Bus),通用串行总线。是一个外部总线标准。其通信时序和信号电平都和串口完全不同,因此和串口没有任何关系。USB是高速的通信接口,其通信主要靠D+,D-两条数据线构成的差分线来进行数据传输!
  • 其它在嵌入式领域常见的串行接口还包括:I2C,SPI,RJ-45,UART,USART等。

注意:串口、UART/USART通常指的是硬件接口,而RS-232指的是属于物理层范畴的串行通信接口标准,简而言之,RS-232就是个标准。
串口、COM口是指的物理接口形式(硬件)。TTL、RS-232、RS-485指的是串口的电平标准(电信号)。

UART是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种异步收发传输器,是设备间进行异步通信的关键模块。
UART是串口收发的逻辑电路,这部分可以独立成芯片,也可以作为模块嵌入到其他芯片里,单片机、SOC、PC里都会有UART模块。
UART负责处理数据总线和串行口之间的串/并、并/串转换,并规定了帧格式;通信双方只要采用相同的帧格式和波特率,就能在未共享时钟信号的情况下,仅用两根信号线(Rx 和Tx)就可以完成通信过程,因此也称为异步串行通信

若加入一个合适的电平转换器,如SP3232E、SP3485,UART还能用于RS-232、RS-485通信,或与计算机的COM端口连接。
UART应用非常广泛,手机、工业控制、PC 等应用中都要用到UART。

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
https://blog.csdn.net/daocaokafei/article/details/108273134
https://zhuanlan.zhihu.com/p/368958602

2、CAN总线

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

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

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

4、CAN vs 1553B总线

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

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

posted on 2023-06-09 15:40  西伯尔  阅读(219)  评论(0编辑  收藏  举报