通信协议学习-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,注意,转换器和接收器依旧是没有同时工作的。

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值