通信协议学习-485通信(1)

1.RS-485通信协议标准

通信协议是指双方实体完成通信或服务所必须遵循的规则和约定,主要实现两个设备之间的数据交换功能,通信协议分硬件层协议和软件层协议。硬件层协议决定数据如何传输,比如要设备A要想设备B发送0x63,0x63的二进制数为0110 0011,这8个二进制数要从设备A传输到设备B,涉及到1怎么传,0怎么传,这就是硬件层要解决的问题。

硬件层协议目前比较多见的有RS-232、RS-485和SPI等。其中串行通信RS-485规定:逻辑“1”以两线间的电压差为+(2-6)伏表示;逻辑“0”以两线间的电压差为-(2-6)伏表示。再者,比如要选择多少条线传输数据,选择什么材质的线传输输入,这些也是属于硬件层协议约束的。

MCU管脚输出TTL电平,TTL电平的意思是,当MCU管脚输出0电平时,一般情况下电压是0伏,当MCU管脚输出1电平时,电压是5伏。因TTL电平是由一条信号线,一条地线产生,信号线上的干扰信号会跟随有效信号传送到到接收端,使得有效信号受到干扰,485通信实际上是把MCU出来的TTL电平通过硬件层的一个转换器芯片进行转换,示意图如图一所示。
在这里插入图片描述
图 1

把MCU出来的一条TTL信号经过芯片转换为两根线(线A、线B)上的信号。当MCU给转换器输入低TTL电平时,转换器会使线B上的电压比线A上的电压高,反之,线A上的电压比线B上的电压高。

485协议规定两条线上电压差值为多少表示0或者1,电压通过仪表可以测量得到,所以说RS-485是硬件层协议。

485协议的接收端可能是另一个MCU,MCU管脚也只接受TTL电平,转换芯片过来的是两条线的电压,所以需要对此两条线差分电压转换为TTL电平,示意图如图二所示。
在这里插入图片描述
图 2

把TTL电平转换为485电平,实质是一个集成芯片,其间无任何程序代码,纯粹是硬件逻辑。同理,将485电平转换为TTL电平也是如此。现在很多芯片将接收和转换都集成到了一块IC,注意,转换器和接收器依旧是没有同时工作的。

发布了16 篇原创文章 · 获赞 16 · 访问量 1349

猜你喜欢

转载自blog.csdn.net/sinat_41653350/article/details/102961078