你有没有遇到过这样的情况:两个芯片机明明“心有灵犀”,结果一通电聊天就“鸡同鸭讲”?
不是它们太笨,而是没找对“说话方式”。
在电子世界里,设备之间的沟通也讲究“音量大小”和“口音标准”。最常见的串口通信就像两个人在耳边悄悄话轻声细语(TTL电平),可惜声音传不远,打个喷嚏都能听错。于是,人们发明了“扩音器”——RS232,嗓门一提,十几米外也能喊话清晰。可要是到了工厂这种又吵又远的地儿,光靠吼也不行了,那就得上“对讲机系统”——RS485,不仅抗干扰、传得远,还能一群人组队群聊。
今天,咱们就来聊聊这三位“通信兄弟”:低调的TTL、中气十足的RS232,和工业硬汉RS485,看看它们到底是怎么“说人话”(或者“说电平”)的。
01
串口通讯:
最基础的“芯片对话”
串口通讯(Serial Communication)是一种数据一位一位传输的通信方式。它只需要很少的引脚(通常是两根线:发送 TX 和接收 RX),就能在两个设备之间传递信息。
(本文图片来自爱上半导体)
02
串口通讯的基本要素:
帧格式与波特率
串口通讯是芯片间信号传输的基础方式,必须事先约定好规则,核心是约定帧格式和波特率:
(1) 帧格式(Frame Format)
标准帧格式含10位:1位起始位(低电平)+8位数据位(1字节=256种信息)+1位停止位(高电平),也有7位/5位数据位的变种。
这是数据打包的方式。最常见的串口帧格式是 10位:
注意:其他格式也存在,比如 7 数据位 + 1 停止位等,但核心思想一致。
注意:窗口通信发送端与接收端的帧格式与波特率都要相同,否则会出现乱码问题
(2) 波特率(Baud Rate)
波特率:1秒之内能够传输的高低电平个数。
例如 9600 波特率:每秒可传 9600 个高低电平信号。
双方必须使用相同的波特率,否则会“听不懂”。
03
串口使用的电平标准:TTL逻辑
原始的串口通讯使用的是 TTL 电平(Transistor-Transistor Logic),由芯片直接输出: