[资源共享] STM32常见通信方式(TTL、RS232、RS485、I2C)总结

[复制链接]
1238|18
 楼主| 键盘手没手 发表于 2022-2-28 16:08 | 显示全部楼层 |阅读模式
本帖最后由 芯圣电子官方QQ 于 2023-7-20 10:49 编辑

一、TTL电平:全双工(逻辑1: 2.4V–5V   逻辑0: 0V–0.5V)


1、硬件框图如下,TTL用于两个MCU间通信


SouthEast.jpg


 楼主| 键盘手没手 发表于 2022-2-28 16:09 | 显示全部楼层
2、‘0’和‘1’表示
74883621c832eec32a.png
 楼主| 键盘手没手 发表于 2022-2-28 16:11 | 显示全部楼层
二、RS-232电平:全双工(逻辑1:-15V–5V  逻辑0:+3V–+15V)

1、硬件框图如下,TTL用于MCU与PC机之间通信
39049621c8349f0633.png
 楼主| 键盘手没手 发表于 2022-2-28 16:13 | 显示全部楼层
2、‘0’和‘1’表示


87235621c840f78394.png
 楼主| 键盘手没手 发表于 2022-2-28 16:14 | 显示全部楼层
三、RS-485:半双工、(逻辑1:+2V–+6V  逻辑0: -6V—2V)这里的电平指AB 两线间的电压差。
1、硬件框图如下
35908621c84587d092.png

 楼主| 键盘手没手 发表于 2022-2-28 16:15 | 显示全部楼层
2、‘0’和‘1’表示

32245621c8472da35c.png
 楼主| 键盘手没手 发表于 2022-2-28 16:16 | 显示全部楼层
四、CAN总线:逻辑1:-1.5V–0V  逻辑0:+1.5V–+3V)这里的电平指CAN_High、CAN_Low 两线间的电压差。
1、硬件框图如下
91862621c84b79ba41.png
 楼主| 键盘手没手 发表于 2022-2-28 16:20 | 显示全部楼层
2、‘0’和‘1’表示
58578621c84fc4be57.png
以上总结:

1、从单片机软件编程角度来说,RS232、RS-485最终结果都是转换为TTL电平方式与单片机通信(CAN收发器把差分信号转化为TTL–>CAN控制器(MCU))。其目的都是提高通信质量,提高抗干扰能力。

2、TTL、RS232是逻辑电平信号。RS-485、CAN为差分信号。
 楼主| 键盘手没手 发表于 2022-2-28 16:22 | 显示全部楼层
五、I2C

5.1 I2C物理层

73012621c864bb56fd.png
 楼主| 键盘手没手 发表于 2022-2-28 16:23 | 显示全部楼层
5.2 I2C协议层
24198621c868309e80.png
 楼主| 键盘手没手 发表于 2022-2-28 16:28 | 显示全部楼层
5.3 数据的起始信号与停止信号

96347621c87aca7c39.png
 楼主| 键盘手没手 发表于 2022-2-28 16:29 | 显示全部楼层
5.4数据有效性

15362621c87bf87959.png

I2C 协议在 SCL 高电平时对 SDA 信号采样, SCL 低电平时 SDA准备下一个数据。
tpgf 发表于 2022-3-3 09:21 | 显示全部楼层
有些有交叉啊
paotangsan 发表于 2022-3-3 09:29 | 显示全部楼层
232和485是不是都是ttl啊
renzheshengui 发表于 2022-3-3 09:35 | 显示全部楼层
后三个都是差分信号吧
wakayi 发表于 2022-3-3 09:54 | 显示全部楼层
232不是差分信号吧
wowu 发表于 2022-3-3 10:05 | 显示全部楼层
定义的还是很严谨的
xiaoqizi 发表于 2022-3-3 10:10 | 显示全部楼层
iic的优势和缺点都很明显
七毛钱 发表于 2022-3-3 10:21 | 显示全部楼层
楼主以后记得找对版块再发
您需要登录后才可以回帖 登录 | 注册

本版积分规则

104

主题

1260

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部