TTL、RS232、RS485、CAN
一、TTL电平
:全双工(逻辑1: 2.4V–5V 逻辑0: 0V–0.5V)
1、硬件框图如下,TTL用于两个MCU间通信
2、‘0’和‘1’表示
二、RS-232电平
:全双工(逻辑0:+3V–+15V 逻辑1:-3V-- -15V )
1、硬件框图如下,RS-232用于MCU与PC机之间通信
2、‘0’和‘1’表示
RS232线序定义
三、RS-485/422
3.1 RS485
:半双工、(逻辑1:+2V–+6V 逻辑0: -6V—2V)这里的电平指AB 两线间的电压差。
1、硬件框图如下
2、‘0’和‘1’表示
B站 485讲解
3.2 RS422
RS422可以变为RS485:A和Y短路(然后接T/R+),B和Z短路(然后接T/R-)
RS485是半双工,只有两根线通信线,要么接收状态,要么发送状态
RE为低电平,作为接收器
DE为高电平,作为发送器
可以把RE和DE短接,这样要么在接收状态,要么在发送状态
DB9接口针脚定义
RS422是全双工,有四根通信线,两根发送(Y、Z)、两根接收(A、B)
参考来源:RS485 / RS422
四、CAN总线
:逻辑1:-1.5V–0V 逻辑0:+1.5V–+3V)这里的电平指CAN_High、CAN_Low 两线间的电压差。
1、硬件框图如下
2、‘0’和‘1’表示
以上总结:
1、从单片机软件编程角度来说,RS232、RS-485最终结果都是转换为TTL电平方式与单片机通信(CAN收发器把差分信号转化为TTL–>CAN控制器(MCU))。其目的都是提高通信质量,提高抗干扰能力。
2、TTL、RS232是逻辑电平信号。RS-485、CAN为差分信号。
五、I2C
5.1 I2C物理层
5.2 I2C协议层
5.3 数据的起始信号与停止信号
5.4数据有效性
I2C 协议在 SCL 高电平时对 SDA 信号采样, SCL 低电平时 SDA准备下一个数据。