一种rs485半双工收发自动切换电路的制作方法

文档序号:6583652阅读:532来源:国知局
专利名称:一种rs485半双工收发自动切换电路的制作方法
技术领域
本发明涉及通信接口技术领域,特别涉及一种RS485半双工收发自动切换电路。
背景技术
半双工(Half Duplex)数据传输指数据可以在一个信号载体的两个方向上传输, 但是不能同时传输。具体是指在通信过程的任意时刻,信息既可由M传到N,又能由N传到 M,但同时只能由一个方向上的传输存在。采用半双工方式时,通信系统每一端的发送器和 接收器,通过收/发开关转接到通信线上,进行方向的切换,因此,会产生时间延迟。
RS485标准是半双工通信协议。RS485适用于收发双方共享一对线路进行通信,也
适用于多个点之间共享一对线路进行总线方式联网,但通信只能是半双工的。 下面结合附图介绍现有技术中RS485的工作原理。 参见图l,该图为现有技术中RS485收发数据的工作原理图。 首先介绍RS485通信芯片的8个管脚的定义。 R0是RS485的接收器输出端; DI是RS485的发送器输入端; /RE是接收器输出使能端,低电平有效; DE是发送器输出使能端,高电平有效; A和B分别对应RS485通信总线的两条差分数据传输线; VCC和GND分别是电源和地。 RS485通过A和B接收总线上的数据,经过RS485通信芯片将数据的电平转换 为与微处理器(MCU, Microcontroller Unit)匹配的晶体管_晶体管逻辑电平(TTL, Transistor-Transistor logic)以后,经过R0管脚发送至MCU的接收管脚RXD。
MCU的数据经过发送管脚TXD发送至RS485的DI, RS485将数据转换为与总线数 据匹配的电平后,经过A和B发送到总线上。 由于RS485的工作特性就是半双工通信,因此RS485的工作状态是发送还是接收, 需要控制/RE和DE的电平来实现,MCU的读写控制管脚R/D连接/RE和DE。当R/D是高 电平时,RS485通信芯片处于发送状态;当R/D是低电平时,RS485通信芯片处于接收状态。 此处RS485通信芯片的发送状态和接收状态是以该MCU和该RS485通信芯片所在节点为基 准,来描述RS485通信芯片的状态。RS485通信芯片处于发送状态,是指RS485将MCU的数 据发送到总线上。RS485通信芯片处于接收状态,是指RS485从总线上接收数据,再将接收 的数据发送到MCU。 因此,每次切换RS485通信芯片的工作状态时,均需要改变MCU的控制管脚R/D的 电平,这样会导致整个数据的收发比较缓慢,造成时间延迟。

发明内容
本发明要解决的技术问题是提供一种RS485半双工收发自动切换电路,能够自动切换RS485通信芯片的接收和发送工作状态。 本发明实施例提供一种RS485半双工收发自动切换电路,包括微处理器、RS485通 信芯片和RS485总线;其特征在于,所述微处理器的数据接收管脚连接RS485通信芯片的接 收器输出端;所述微处理器的数据发送管脚通过限流电阻连接三极管的基极;
所述RS485通信芯片的发送器输入端接地; 所述三极管的集电极连接RS485通信芯片的接收器输出使能端和发送器输出使 能端,同时通过第三电阻连接电源;所述三极管的发射极接地;
所述RS485通信芯片的A管脚通过上拉电阻连接电源; 所述RS485通信芯片的B管脚通过下拉电阻接地。优选地,所述上拉电阻的阻值 和所述下拉电阻的阻值相同。 优选地,所述上拉电阻的阻值和所述下拉电阻的阻值相同均是1000欧姆。
优选地,所述上拉电阻的阻值和所述下拉电阻的阻值相同均是2000欧姆。
本发明实施例该提供一种RS485半双工收发自动切换电路,包括微处理器、RS485 通信芯片和RS485总线;所述微处理器的数据接收管脚连接RS485通信芯片的接收器输出 端;所述微处理器的数据发送管脚通过限流电阻连接三极管的基极; 所述三极管的集电极连接RS485通信芯片的接收器输出使能端和发送器输出使 能端,同时通过第三电阻连接电源;
所述三极管的发射极接地; 所述RS485通信芯片的发送器输入端连接所述微处理器的数据发送管脚; 所述RS485通信芯片的A管脚通过上拉电阻连接电源; 所述RS485通信芯片的B管脚通过下拉电阻接地。 优选地,所述上拉电阻的阻值和所述下拉电阻的阻值相同。 优选地,所述上拉电阻的阻值和所述下拉电阻的阻值相同均是1000欧姆。 优选地,所述上拉电阻的阻值和所述下拉电阻的阻值相同均是2000欧姆。 与现有技术相比,本发明具有以下优点 本发明实施例提供的RS485半双工收发自动切换电路,将MCU的TXD管脚通过三 极管Ql控制/RE和DE,利用MCU在发送数据时以"0"作为起始位,发送完数据后以"1"作 为结束位,实现RS485的工作状态的自动切换。当MCU发送完数据时,TXD发送的结束位为 "1",因此,三极管导通,此时/RE和DE为低电平,R0有效,RS485的工作状态由发送自动转 换为接收。当MCU开始发送数据时,TXD发送的起始位为"0",因此,三极管截止,此时/RE 和DE为高电平,DI有效,RS485处于发送工作状态。由于此时DI处于低电平,因此,RS485 可以将"O"发送到总线上。当MCU的TXD发送"l"时,三极管导通,此时/RE和DE为低电 平,RS485处于接收工作状态,但是,此时总线处于空闲状态,由于上拉电阻Rl和下拉电阻 R2的作用使得总线上的数据为"l",从而保证总线能得到正确的数据"l"。进而其他节点也 可以从总线上得到数据"l"。本发明两个实施例提供的RS485半双工收发自动切换电路, 不需要单独控制MCU的R/D的电平,来切换RS485通信芯片的工作状态。当RS485通信芯 片处于发送状态时,通过三极管Q1的导通和关断来控制。当RS485通信芯片处于接收状态 时,通过TXD输出高电平从而可以保证正确接收数据。


图1是现有技术中RS485收发数据的工作原理图; 图2是本发明RS485半双工收发自动切换电路第一实施例结构图; 图3是本发明RS485半双工收发自动切换电路第二实施例结构图。
具体实施例方式
为了本领域技术人员更好地理解和实施本发明,首先对RS485进行简单的介绍。
在自动化通信领域,随着分布式控制系统的发展,迫切需要一种总线能适合远 距离的数字通信。在RS-422标准的基础上,电子工业协会(EIA, Electroniclndustries Association)研究出了一种支持多节点、远距离和接收高灵敏度的RS485总线标准。
RS485总线标准采用平衡式发送,差分式接收的数据收发器来驱动总线,
具体规格要求 1)接收器的输入电阻RIN > 12kQ ;
2)驱动器能输出±7V的共模电压;
3)输入端的电容《50pF ; 4)在节点数为32个,配置了 120Q的终端电阻的情况下,驱动器至少还能输出电 压1. 5V(终端电阻的大小与所用双绞线的参数有关); 5)接收器的输入灵敏度为200mV(即(V+)-(V-) > 0. 2V,表示信号"l"; (V+)-(V-)《-0. 2V,表示信号"0");此处的V+和V-指的是RS485上的A和B上的电压;
因为RS485的远距离、多节点(32个)以及传输线成本低的特性,使得EIA的RS485 成为工业应用中数据传输的首选标准。 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明 的具体实施方式
做详细的说明。
实施例一 参见图2,该图为本发明RS485半双工收发自动切换电路第一实施例结构图。
本实施例中MCU的TXD通过限流电阻R4再经三极管Ql连接RS485通信芯片。
MCU的TXD通过限流电阻R4连接三极管Ql的基极。 三极管Ql的发射极接地;三极管的集电极连接RS485通信芯片的/RE管脚和DE 管脚,同时集电极通过第三电阻R3连接电源VCC。RS485通信芯片的DI管脚接地;R0连接MCU的RXD管脚;A管脚通过第一电阻Rl 连接VCC ;B管脚通过第二电阻R2连接地。同时A管脚和B管脚连接总线的差分数据线。
下面说明该实施例的工作原理。 以RS485通信芯片向总线接收数据和发送数据来介绍。
第一 RS485通信芯片接收总线的数据。 MCU的TXD管脚在空闲状态时输出高电平,此时三极管Ql导通,RS485通信芯片 的/RE和DE为低电平,因此,RS485通信芯片处于接收状态。所以TXD管脚在空闲状态时 RS485通信芯片可以正确接收总线上的数据。进而将从总线接收的数据转换成TTL电平后 通过R0管脚发送至MCU的RXD管脚。
第二 RS485通信芯片向总线发送数据。
此处的RS485通信芯片向总线发送数据是指MCU通过RS485通信芯片向总线发送 数据。 需要说明的是,MCU发送数据的标准协议是数据的起始位为"O",数据的结束位 为"1"。例如,起始位为lbit,发送的数据为8bit,结束位为lbit,共发送10bit的数据。
当MCU开始发送数据时,TXD发送的起始位为"O",因此,三极管Ql截止,此时/RE 和DE为高电平,DI有效,RS485处于发送工作状态。由于DI接地,因此,RS485可以将"O" 发送到总线上。 当MCU的TXD发送"l"时,三极管Ql导通,此时/RE和DE为低电平,RS485处于 接收工作状态,但是,此时总线处于空闲状态,由于上拉电阻R1和下拉电阻R2的作用使得 总线上的数据为"l",从而保证总线能得到正确的数据"l"。进而其他节点也可以从总线上 得到数据"l"。 需要说明的是,总线处于空闲状态时,由于两条数据线上的上拉电阻Rl和下拉电 阻R2的作用,使两条数据线状态处于逻辑"1 "。 需要说明的是,上拉电阻R1和下拉电阻R2的阻值可以不同,也可以相同,只要能 保证总线在空闲状态时,A线上的电压值减去B线上的电压值大于或等于200mV即可,这样 总线上两条数据线体现出来的差值为逻辑"1 "。 需要说明的是,上拉电阻R1和下拉电阻R2除了保证总线处于空闲状态时,使总线 上产生逻辑"l"的电平以外;当总线处于工作状态时,上拉电阻R1和下拉电阻R2还可以使 总线上的信号比较稳定,避免信号产生较大的波动。 当MCU发送完数据时,TXD发送的结束位为"1 ",因此,三极管导通,此时/RE和DE 为低电平,RO有效,RS485的工作状态由发送自动转换为接收。 本发明实施例提供的RS485半双工收发自动切换电路利用MCU在发送数据时以 "O"作为起始位,发送完数据后以"l"作为结束位,以及三极管和上拉电阻和下拉电阻实现 RS485的工作状态的自动切换。该电路实现简单方便,可以自动实现RS485通信芯片的接收 和发送状态的切换,从而省去MCU的R/D端对发送和接收使能的控制,避免了时间延迟。从
而提高整个系统的数据发送和接收速度。
实施例二 参见图3,该图为本发明RS485半双工收发自动切换电路第二实施例结构图。
本实施例中MCU的TXD也是通过限流电阻R4再经三极管Q1连接RS485通信芯 片。 MCU的TXD通过限流电阻R4再连接三极管Ql的基极。 三极管Ql的发射极接地;三极管的集电极连接RS485通信芯片的/RE管脚和DE 管脚,同时集电极通过第三电阻R3连接电源VCC。 RS485通信芯片的DI管脚连接MCU的TXD ;R0连接MCU的RXD管脚;A管脚通过第 一电阻Rl连接VCC ;B管脚通过第二电阻R2连接地。同时A管脚和B管脚连接总线的差分 数据线。 下面说明该实施例的工作原理。 以RS485通信芯片向总线接收数据和发送数据来介绍。 第一 RS4S5通信芯片接收总线的数据。该过程与实施例一相同,在此不再赘述。
第二 RS485通信芯片向总线发送数据。 此处的RS485通信芯片向总线发送数据是指MCU通过RS485通信芯片向总线发送 数据。 需要说明的是,MCU发送数据的标准协议是数据的起始位为"O",数据的结束位 为"1"。例如,起始位为lbit,发送的数据为8bit,结束位为lbit,共发送10bit的数据。
当MCU开始发送数据时,TXD发送的起始位为"0",因此,三极管Ql截止,此时/RE 和DE为高电平,DI有效,RS485处于发送工作状态。由于DI现在直接连接MCU的TXD,因 此,RS485可以将"0"发送到总线上。 当MCU的TXD发送"l"时,三极管Ql导通,此时/RE和DE为低电平,RS485处于 接收工作状态,但是,此时总线处于空闲状态,上拉电阻R1和下拉电阻R2的作用使得总线 上的数据为"l",从而保证总线能得到正确的数据"l"。进而其他节点也可以从总线上得到 数据"1 ",保证MCU发送的数据"1"也可以被其他节点正确地得到。 需要说明的是,总线处于空闲状态时,由于两条数据线上的上拉电阻R1和下拉电 阻R2的作用,使两条数据线状态处于逻辑"1 "。 需要说明的是,上拉电阻R1和下拉电阻R2的阻值可以不同,也可以相同,只要能 保证总线在空闲状态时,A线上的电压值减去B线上的电压值大于或等于200mV即可,这样 总线体现出来的状态为逻辑"1 "。 需要说明的是,上拉电阻R1和下拉电阻R2除了保证总线处于空闲状态时,使总线 上产生逻辑"l"的状态以外;当总线处于工作状态时,上拉电阻R1和下拉电阻R2还可以使 总线上的信号比较稳定,避免信号产生较大的波动。 当MCU发送完数据时,TXD发送的结束位为"1 ",因此,三极管Ql导通,此时/RE和 DE为低电平,RO有效,RS485的工作状态由发送自动转换为接收。 本发明两个实施例提供的RS485半双工收发自动切换电路,不需要单独控制MCU 的R/D的电平,来切换RS485通信芯片的工作状态。而是利用MCU发送数据时TXD管脚发 送的数据直接来控制RS485的/RE和DE。还利用了 RS485的通信标准是半双工,当RS485 处于接收状态时,总线处于空闲状态。 当RS485通信芯片处于发送状态时,通过三极管Q1的导通和关断来控制。当RS485 通信芯片处于接收状态时,通过TXD输出高电平从而可以保证正确接收数据。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽 然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人 员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明 技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离 本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同 变化及修饰,均仍属于本发明技术方案保护的范围内。
权利要求
一种RS485半双工收发自动切换电路,包括微处理器、RS485通信芯片和RS485总线;其特征在于,所述微处理器的数据接收管脚连接RS485通信芯片的接收器输出端;所述微处理器的数据发送管脚通过限流电阻连接三极管的基极;所述RS485通信芯片的发送器输入端接地;所述三极管的集电极连接RS485通信芯片的接收器输出使能端和发送器输出使能端,同时通过第三电阻连接电源;所述三极管的发射极接地;所述RS485通信芯片的A管脚通过上拉电阻连接电源;所述RS485通信芯片的B管脚通过下拉电阻接地。
2. 根据权利要求1所述的RS485半双工收发自动切换电路,其特征在于,所述上拉电阻的阻值和所述下拉电阻的阻值相同。
3. 根据权利要求2所述的RS485半双工收发自动切换电路,其特征在于,所述上拉电阻的阻值和所述下拉电阻的阻值相同均是1000欧姆。
4. 根据权利要求2所述的RS485半双工收发自动切换电路,其特征在于,所述上拉电阻的阻值和所述下拉电阻的阻值相同均是2000欧姆。
5. —种RS485半双工收发自动切换电路,包括微处理器、RS485通信芯片和RS485总线;其特征在于,所述微处理器的数据接收管脚连接RS485通信芯片的接收器输出端;所述微处理器的数据发送管脚通过限流电阻连接三极管的基极;所述三极管的集电极连接RS485通信芯片的接收器输出使能端和发送器输出使能端,同时通过第三电阻连接电源;所述三极管的发射极接地;所述RS485通信芯片的发送器输入端连接所述微处理器的数据发送管脚;所述RS485通信芯片的A管脚通过上拉电阻连接电源;所述RS485通信芯片的B管脚通过下拉电阻接地。
6. 根据权利要求5所述的RS485半双工收发自动切换电路,其特征在于,所述上拉电阻的阻值和所述下拉电阻的阻值相同。
7. 根据权利要求6所述的RS485半双工收发自动切换电路,其特征在于,所述上拉电阻的阻值和所述下拉电阻的阻值相同均是1000欧姆。
8. 根据权利要求6所述的RS485半双工收发自动切换电路,其特征在于,所述上拉电阻的阻值和所述下拉电阻的阻值相同均是2000欧姆。
全文摘要
本发明提供一种RS485半双工收发自动切换电路,包括微处理器、RS485通信芯片和RS485总线;微处理器的数据接收管脚连接RS485通信芯片的接收器输出端;微处理器的数据发送管脚通过限流电阻连接三极管的基极;三极管的集电极连接RS485通信芯片的接收器输出使能端和发送器输出使能端,同时通过第三电阻连接电源;三极管的发射极接地;RS485通信芯片的发送器输入端接地;RS485通信芯片的A管脚通过上拉电阻连接电源;RS485通信芯片的B管脚通过下拉电阻接地。本发明提供的RS485半双工收发自动切换电路可以自动切换发送和接收工作状态。
文档编号G06F15/16GK101719112SQ20091022188
公开日2010年6月2日 申请日期2009年11月19日 优先权日2009年11月19日
发明者徐罕聪, 胡玉斌, 韩大庆 申请人:北京东方信联科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1