RS485总线详解

RS-485是美国电子工业协会(EIA)在1983年批准了一个新的平衡传输标准(balanced transmission standard),EIA一开始将RS(Recommended Standard)做为标准的前缀,不过后来为了便于识别标准的来源,已将RS改为EIA/TIA。目前标准名称为TIA-485,但工程师仍继续使用RS-485来称呼此标准。

RS485特性:                                                                                                                           

1. 半双工通信;                                                                                                             

2. 差分信号传输;                                                                                                                

3. 最高传输速率为 10Mbps;                                                                                                    4. 理论最大可传输距离为 3000米,实际操作中极限距离仅达 1200 米

  • 注:长距离布线会有信号衰减,引入噪声和干扰的可能性更大,在线缆A和B上的表现就是电压幅度的变化,差分信号传输的好处就是,差值相减就会忽略掉干扰依旧能输出正常的信号,把这种差分接收器忽略两条信号线上相同电压的能力称为共模抑制。逻辑1:+2V ~ +6V,逻辑0:-6V ~ -2V.

  • 单端传输(非平衡传输):在传输过程中,使用一根导线,在这根导线上传输对地(GND)之间的电位差,利用电位差来表示数据逻辑 0 和 1,传输的信号叫单端信号。

  • 差分传输(平衡传输):差分传输是使用两根线进行传输信号,这两根线上的信号振幅相等,相位相差 180 度,极性相反。在这两根线上传输的信号就是差分信号,信号接收端比较这两个信号的电位差来判断发送端发送数据的逻辑 0 和逻辑 1。

 RS485不需要使用特定的总线电压,只看最小差分电压,在较长的电缆长度上,接收器接收到的电压可能会降低到**+/- 200 mV**,对于RS485仍然是完全可以接受的,这也是RS485的优点之一。

RS485时序讲解:异步串行数据的一般格式是:起始位+数据位+停止位,其中起始位1 位,数据位可以是5、6、7、8位,停止位可以是1、1.5、2位,如下是一个RS485的一个数据(0xD3)。

RS-485总线网络拓扑一般采用终端匹配的总线型结构。即采用一条总线将各个节点串接起来,不支持环形或星型网络,在同一总线上最多可以挂接32个节点。如下图所示:

RS485是差分传输,如果用单片机控制RS485接口的设备,需要用到收发器,如下是RS485模块传统电路图:

说一下原理:单片机通信一般是TTL电平,我们外接的485设备是差分信号传输,这两者的电平是不一样的,所以两者不能直接相接一起。中间需要一个电平转换的芯片来协商一下,所以就有了485芯片。芯片的引脚定义如下:

  • RO 一 485芯片输出
  • RE 一 485芯片输入使能(低电平有效)
  • DE — 485芯片输出使能(高电平有效)
  • DI 一 485芯片输入
  • GND 一 连接地
  • A — 驱动器输出/接收器输入(同相)
  • B — 驱动器输出/接收器输入(反相)
  • VCC —芯片供电

如上可知:                                                                                                                                 DE: 1 发送使能;0发送禁止                                                                                                   RE: 0 接收使能;1接收禁止

我们一般将DE和RE接在一起,单片机向外发送数据时,将USART_EN置位1,单片机接收外界数据时,将USART_EN置位0.

 RS485自动收发电路图:

我们在前面电路的基础上加了一个经典的三极管开关电路。电阻R6、电阻R7和NPN三极管Q1组成一个典型的三极管开关电路。R7是限流电阻。R6是上拉电阻。NPN三极管,高电平导通。当TX高电平,三极管导通,RE和DE引脚接地,进入接收模式。当TX低电平,三极管截止,RE和DE引脚接高电平,进入发送模式。

发送数据过程
   发送数据,用的是单片机的TX引脚,也就是说,在TX引脚上表现数据。要发送数据0x55,写成二进制就是0b01010101,TXD引脚上就会依次的用高低电平体现0和1。                             当TX发送0时,三极管不导通,DE接高电平,进入发送模式,485芯片会把DI上的电平反应到AB引脚上输出,因为DI已经接地,所以AB引脚会传输0。所以,当TXD发送0时,AB引脚发送0。    当TX发送1时,三极管导通,RE接低电平,进入接收模式,485芯片的AB引脚进入高阻状态,因为R3把A拉高,R2把B拉低,所以,AB传输的是1。所以,当TXD发送1时,AB引脚发送1。        所以TXD发1,AB就发1;TXD发0,AB就发0。

接收数据过程
接收数据,用的是单片机引脚RX。在接收数据的过程中,TX引脚是一直保持高电平的,当TX是高电平时,RE是低电平,正好变成了接收状态,然后485芯片的RO引脚(也就是接RX的引脚)就会接收AB传输过来的数据。

  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值