UART USART RS232 RS485 CAN

经常模块间通信的朋友都知道
UART —> USART —> RS232 —> RS485 —> CAN
通信协议升级迭代,为了使通信变得更可靠,更快速,更远距离

UART(Universal Asynchronous Receiver/Transmitter)

异步全双工串行通信
四个引脚:RX TX GND VCC

通信协议:

在串口通信中,尤其需要关注的是数据流以及波特率。一个数据流由10个数据位组成,包含1位起始位,7位有效数据位,1位奇偶校验位,1位停止位。uart串口信号线上空闲时常驻高电平,当检测到低电平下降沿时认为数据传输开始,到停止位时数据传输结束,一共10位数据位组成一个数据包。
起始位: 通信线路上空闲时为“1”,当检测到“0”即下降沿时,认为数据传输开始
有效数据位: 传输开始后传递的需要接收和发送的数据值,可以表示指令或数据
奇偶校验位: 奇偶校验,通过来校验传输数据中“1”的个数为奇数个(奇校验)或偶数个(偶校验)来指示传输数据是否正确
停止位: 数据传输结束,传输线恢复常“1”状态
此外,还需关注数据传输波特率,波特率表示一秒内传输了多少个码元数量,一般波特率为300,1200,2400,9600,19200,38400,115200等。例如9600 Baud表示一秒内传输了9600个码元信息,当一个码元只含1 bit信息时,波特率=比特率

USART(universal synchronous asynchronous receiver and transmitter)

同步/异步全双工串行通信
五个引脚:VCC GND RX TX CK

通信协议

在UART上面添加了同步功能,不过同步模式很少用,一般用法和UART相同,忽略CK

RS232(Recommended Standard 232)

全双工串行通信

通信协议

+3-+15 0
-3- -15 1
将原本输出的0 1经过转换芯片转换成更高的电平

RS485(Recommended Standard 485)

半双工串行通信
通信采用双绞线,差分信号抗干扰能力强
如果希望采用全双工通信需要采用四线制

通信协议

逻辑 1:两根信号线(A+和B-)的电压差在 +2V~+6V 之间。
逻辑 0:两根信号线(A+和B-)的电压差在 -2V~-6V 之间。

CAN(Controller Area Network)

控制局域网总线
差分总线
逻辑1:压差是0V
逻辑0:压差是1V
显性电平逻辑0
隐性电平逻辑1

通信协议

数据帧由 7 个段构成。
帧起始: 表示数据帧开始的段,1个位显性位
仲裁段: 表示该帧优先级的段。7个位
控制段: 表示数据的字节数及保留位的段。6位
数据段: 数据的内容,可发送 0~8 个字节的数据。0-64位
CRC 段: 检查帧的传输错误的段。15个crc校验位和1位界定位
ACK 段: 表示确认正常接收的段。2个
帧结束: 表示数据帧结束的段。 7个隐性电平
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值