CN102752194B - 基于帧结构转发的rs-485总线集线器 - Google Patents
基于帧结构转发的rs-485总线集线器 Download PDFInfo
- Publication number
- CN102752194B CN102752194B CN201210192084.4A CN201210192084A CN102752194B CN 102752194 B CN102752194 B CN 102752194B CN 201210192084 A CN201210192084 A CN 201210192084A CN 102752194 B CN102752194 B CN 102752194B
- Authority
- CN
- China
- Prior art keywords
- circuit
- data
- output
- signal
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title abstract description 22
- 238000002955 isolation Methods 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 14
- 230000000694 effects Effects 0.000 claims description 9
- 230000015572 biosynthetic process Effects 0.000 claims description 7
- 238000005259 measurement Methods 0.000 abstract description 3
- 238000006243 chemical reaction Methods 0.000 abstract description 2
- 230000003044 adaptive effect Effects 0.000 abstract 1
- 230000000875 corresponding effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000004308 accommodation Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000005501 phase interface Effects 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000002277 temperature effect Effects 0.000 description 1
Landscapes
- Dc Digital Transmission (AREA)
Abstract
本发明的基于帧结构的RS-485总线集线器的数据收发方法,包括:a.检测总线上是否有数据发送,如有则立即对数据进行转发;同时不断检测数据帧是否结束,没有则继续转发,如有则停止转发;b.测量码元宽度;c.检测是否有超过15个的连续的与码元宽度相等的高电平存在;如有,则发出帧结束信号;如没有,则继续进行检测。RS-485总线集线器包括接口电路、时钟电路和时序电路;特征为:还有帧检测电路、高低电平识别电路、计数器、比较器、锁存器、数据选择器以及满量识别电路;通过检测出的数据码元宽度,在有超过15个连续的与码元宽度相等的高电平存在时产生帧转发结束的标志,实现数据转发。本发明做到了自适应转发,即插即用。满足300~115200bps的要求,可通过CPLD器件来实现,具有电路简单、抗干扰能力强、功耗低、稳定度高、速率测量精度高、转换信号准确的优点。
Description
技术领域
本发明涉及一种基于帧结构转发的方法及RS-485总线集线器,更具体的说,尤其涉及一种通过检测与码元宽度相等的连续的高电平个数来判断帧传输结束与否的基于帧结构转发的方法及RS-485总线集线器。
背景技术
RS-485总线采用平衡发送和差分接收,因此具有较高的共模干扰抑制能力。接收器具有较高灵敏度,能够检测低达200 mV的电压,传输信号能在千米以外得到恢复。使用一对双绞线就能实现多站联网,构成分布式系统。而且设备简单、价格低廉,在适当的波特率下,能进行长距离通信,因而在远程有线数字通信和很多工业现场领域得到了非常广泛的应用。
由于双绞线上的电平损耗,通信最大传输距离是1200m,因此更远距离的应用中必须使用中继器;网络节点数与所选芯片驱动能力和接收器的输入阻抗有关。RS-485标准规定了最大总线负载为32个单位负载,若应用中总线负载大于32个单位负载则必须使用中继器或集线器。
RS-485总线是总线型拓扑结构,采用单一信道作为传输介质,所有节点通过相应硬件接口接至这个公共信道(总线)上,任何一个节点发送信息,所有其它节点都能接收。信息到达节点后,经过地址识别,符合的节点将信息接收下来。优点是所需电缆长度短,工作的可靠性较高,增加和减少节点都很容易。缺点一是布线复杂,需要从楼层的两端分别上楼层和下楼层,施工难度大;一般楼宇的上下线路都在竖井中,从其它的位置上下线路是不允许的,因此在实际的工程施工中,布设这种网络拓扑结构的总线往往十分困难。二是一条总线从头到尾连接各个节点,传输距离长,由于数据速率和传输距离的互相制约关系,传输速率难以提高。三是节点为32个,可能无法满足需要。四是所有节点都挂接在总线上,一个节点的故障可能影响整个网络,故障的检测需要在各节点上进行,比较困难。
发明内容
本发明为了克服上述技术问题的缺点,提供了一种通过检测与码元宽度相等的连续的高电平个数来判断帧传输结束与否的基于帧结构转发的方法及RS-485总线集线器。
本发明的基于帧结构的RS-485总线集线器的数据收发方法,其特征在于,包括以下步骤:a.检测RS-485总线上是否有数据发送信号产生,如有则将该路数据转发到其它各路RS-485总线上;同时不断检测数据帧是否结束,如没有结束,继续转发,如果结束,则停止转发;b.转发数据的同时,测量转发数据的码元宽度;c.检测转发的数据中是否有超过15个的连续的与码元宽度相等的高电平存在;如有,则发出帧结束信号;如没有,则继续进行检测。
本发明的基于帧结构转发的RS-485总线集线器,包括与RS485总线相连接的一个主RS485接口电路和多个从RS485接口电路、产生高频脉冲的时钟电路以及用于产生时序控制信号的时序电路,所述RS485接口电路包括数据接收端RXD、数据发送端TXD和发送使能端DE;其特征在于,还包括:两个帧检测电路, 主RS485接口电路的数据接收端RXD与一个帧检测电路的输入端相连接,其余从RS485接口电路的RXD经相与运算后与另一个帧检测电路的输入端相连接;所有主、从RS485接口电路的RXD信号相与运算后形成总接收数据;帧检测电路的输出端与时序电路的输入端以及除与本帧检测电路相连接的之外的所有RS485接口电路的发送使能端DE相连接;帧检测电路在数据接收端RXD的信号第一个下降沿输出高电平;高电平识别电路和低电平识别电路,输入端均与总接收数据的数据接收端RXD相连接;16位高电平计数器,输入端与高电平识别电路的输出与时钟电路的输出相与后形成的逻辑信号相连接;计数控制端与时序电路的输出相连接;16位低电平计数器,输入端与低电平识别电路的输出与时钟电路的输出相与后形成的逻辑信号相连接;计数控制端与时序电路的输出相连接;16位数据选择器,输入端与16位高电平计数器和16位低电平计数器均相连接;控制端与时序电路的输出相连接;16位锁存器,输入端与16位数据选择器的输出端连接;控制端与时序电路的输出信号相连接;第一16位比较器,两组输入端分别与16位锁存器的输入端和输出端相连接,信号输出端与时序电路相连接;16位脉宽计数器,输入端与高电平识别电路的输出与时钟电路的输出信号相与后形成的逻辑信号相连接;第二16位比较器,两组输入端分别与16位锁存器的输出和16位脉宽计数器的输出相连接;输出端与16位脉宽计数器的控制端相连接;4位计数器,输入端与第二16位比较器的输出端相连接,控制端与时序电路的控制信号输出端相连接,4位计数器在数据接收端RXD出现零电平时清零;满量识别电路,用于产生帧发送完毕的识别信号,输入端与4位计数器的输出端相连接,信号输出端与两个帧检测电路的控制输入端均相连接;所述主RS485接口电路的数据接收端RXD均与其余从RS485接口电路的数据发送端TXD相连接;其余从RS485接口电路的TXD端相与运算后接于主RS485接口电路的TXD端;时序电路的输入端还与总接收数据相连接;所述帧检测电路在满量识别电路输出信号的作用下输出信号变为低电平。
RS485接口电路用于将总线信号放大和判决形成数据在RXD端出现,并将TXD端发送的数据形成与总线标准要求的信号;故障隔离电路通过故障识别电路的控制,隔离有故障的端口,防止其干扰其它端口的正常工作;帧检测电路在数据接收端RXD信号出现第一个下降沿时将输出信号置位为“1”电平,在满量识别电路输出的复位信号的作用下复位为“0”电平,形成收发转换控制信号;电平识别电路将帧内的高低电平分别送到相关与门进行计数时钟的分配;时序电路是在帧信号、数据高低电平和时钟信号的作用下,产生计数器、选择器和锁存器所需的各种控制信号;时钟电路产生高频的计数脉冲;计数器用于对数据脉宽内的时钟脉冲进行计数;比较器的作用是比较两个数据的大小,形成“大于”、“等于”和“小于”信号;锁存器在锁存时钟的作用下将数据锁存保持不变;满量识别电路的作用是在4位计数器计数满15个脉冲后产生识别脉冲。
通过高、低电平计数器分别对高电平和低电平信号所对应的脉冲个数进行计数,并通过第一比较器的比较,最终将信号对应的最少的脉冲个数存储在锁存器中,使得锁存器中存储的数值为码元宽度所对应的脉冲个数,实现了码元宽度的测量;脉宽计数器用于对高电平所对应的脉冲个数进行计数,并通过4位计数器的高电平计数,低电平清零作用,使得4位计数的计数个数始终为连续的且与码元宽度相等的高电平个数,而一帧内一般不会有11个连续的高电平存在,而满量识别数为15个,因此使得4位计数器在帧内不会产生帧发送完毕的识别信号;只有一帧数据传送完毕时才能有连续15个码元宽度的高电平存在,使满量识别电路产生帧发送完毕的识别信号,完成一帧的数据转发。
本发明的基于帧结构转发的RS-485总线集线器,包括故障识别电路以及数目与RS485接口电路数量相等的故障隔离电路,单个故障隔离电路接于单个数据接收端RXD上;故障识别电路的输入端与16位低电平计数器的输出信号相连接,故障识别电路的输出端与每个故障隔离电路均相连接。故障识别电路用于对发生故障的RS-485总线进行识别,故障隔离电路用于将发生故障的电路进行隔离,防止其影响正常的RS-485总线进行数据传输,也保证了故障诊断和查修的便利性。
本发明的基于帧结构转发的RS-485总线集线器,所述RS485接口转发方式还可用于无线转发方式。
本发明的基于帧结构转发的RS-485总线集线器,实现所述基于帧结构转发的方法及RS-485总线集线器功能的器件为复杂可编程逻辑器件CPLD。由于转换电路复杂,如果采用常规的中小规模数字集成电路来实现,电路将十分繁杂,占用电路板面积大,功耗大,检测维修困难。尤其是集线器端口众多时,几乎无法实现;采用CPLD电路可以有效解决这个问题。
本发明的有益效果是:本发明的基于帧结构转发的方法及RS-485总线集线器根据RS-485总线数据传输中一帧内不可能有超过11个连续的与码元宽度相等的高电平存在的特点,首先检测出码元宽度,然后再根据是否有超过15个连续的与码元宽度相等的高电平存在来对数据发送是否完毕进行判断,有效地实现了多路RS-485总线数据的转发,并抛弃了对数据传输速率的考虑,做到了真正自适应转发,无需进行任何设置,即插即用。通过设置故障识别电路和故障隔离电路,有效地实现了故障线路的诊断和隔离,保证了正常总线的工作。可以满足传输速率为300~115200bps的要求。
附图说明
图1为RS-485总线集线器原理图;
图2为RS-485总线信号收发常用芯片MAX485的管脚及真值表;
图3为在RS-485总线中ModBus-RTU协议的字节格式;
图4为ModBus-RTU协议中一帧数据的标准结构;
图5为总线数目为两个的基于帧结构转发的方法及RS-485总线集线器的电路方框图。
图中:1为第一路RS485接口电路,2为第二路RS485接口电路,3为时钟电路,4为第一路帧检测电路,5为第二路帧检测电路,6为高电平识别电路,7为低电平识别电路,8为时序电路,9为16位高电平计数器,10为16位数据选择器,11为16位低电平计数器,12为故障识别电路,13为第一16位比较器,14为16位锁存器,15为16位脉宽计数器,16为第二16位比较器,17为4位计数器,18为满量识别电路,19为故障隔离电路。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
如图1所示,给出了RS-485总线集线器原理图,集线器作为网络中枢连接各类节点,以形成星型、树形结构的一种网络设备。主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。即将一个总线端口接收到的信号从其他端口转发出去,并将其它总线端口返回的数据转发回原端口。
RS-485集线器利用主485接口芯片把上位机总线侧的差分信号转换成控制侧的TTL电平,然后以广播方式分配给其它各支路的从485接口芯片,再由接口芯片转换为差分信号发送到各从总线上。图1是四路集线器的应用方案,图的左侧RS-485主总线接上位机,右侧各分支路接下位机或设备。
RS-485总线集线器的信号转发就是将主接口电路控制侧的数据接收端RXD接到其它从接口电路的发送端TXD,其它从接口电路的RXD同样接到主电路的TXD端。主总线接收信号时,其RXD收到的数据就可以从其它从端口的TXD发送出去。同样其它从总线接收信号时也同样转发回主总线。
RS-485信号的转发,需要有一个控制端才能实现。如图2所示,以常用芯片MAX485的管脚及其真值表为例进行说明。A、B为总线端,D为数据输入信号,R为数据输出信号,DE为发送控制端,/RE为接收控制端,通常将/RE和DE端连接在一起,作为收发控制信号。从真值表中可以看出,在发送信号时,需要将DE/RE控制信号置高电平,接收时置低电平。
为了实现信号转发,收发控制信号的产生是关键技术。目前集线器普遍采用的方法有两种:一是存储转发,这种方法使用单片机将接收的数据存储起来再进行转发,由单片机本身产生收发转换信号。这种转发方式的缺点是每传输1帧数据至少损失1个单位的接收时间(储存转发1帧数据的时间),不利于数据量大的实时通信。而且需要对集线器进行地址、协议和通信速率的设置才能实现,无法做到通用。
二是码元转发,利用接收数据中的低电平反向并增加一定延时后作为控制信号,即只将数据中的低电平转发,高电平是用在总线(A、B)上加偏置的方法来实现。因为在不发信号的空闲状态,D和R一直为高电平,加上偏置后,使A和B端的电压大于0.2V,相当于发送了高电平。这是RS-485总线中继器和集线器常用的方法。这种转发方式是基于数据的码元来进行的,称为码元转发方式。这种转发方式的缺点之一是速率的适应范围窄,满足不了300~115200bps的要求;收发转换信号中的延时是必须的,如果没有延时电路,在发送“0”电平后的“1”电平时,DE/RE立即为“0”电平,总线处于高阻状态,AB线上的高电平由偏置电阻产生。由于总线电抗特性的影响,需要约50μs的上升时间才能稳定,通信速率将收到极大的影响,误码率高。转换信号增加延时后,在数据由“0”转“1”的一段时间内,DE/RE仍然为“1”电平,接口电路能立即在总线上发送真正的高电平。只有延时结束,DE/RE变为“0”电平后才由偏置电路提供总线上的高电平状态,总线延时时间大为缩短。由于此时总线上的高电平前端高(由发送电路提供)、后端低(由偏置电路提供),在此转换过程中,总线上将出现阶跃电压,对电磁兼容性十分不利。延时电路一般按照最高速率的码元宽度设计,难以满足低速率的要求;二是延时精度差,延时采用RC单稳电路,受元件参数和环境温度影响大。延时结束后,发送电路处于高阻状态,总线上所有接口处于接收状态,总线是空闲的,允许其它接口发送数据,因此容易引入总线冲突。特别是连续发送高电平数据时,发送电路处于高阻状态的时间越长,引入总线冲突的几率就越大;三是驱动能力差,降低节点数量。为了实现总线A-B>0.2V的要求,偏置电路的阻值范围一般为0.5~3KΩ左右,这些电阻加重了接口电路的负担,相应的就减少了带节点的数量。如采用0.5KΩ电阻,节点数就从32个下降到8个左右。
为了实现集线器通用性、稳定性和无需任何设置的要求,对300~115200bps之间的任何速率、任何协议都要能够进行正确的转发,不可能采用由单片机组成的存储转发方式,因为它事先是需要知道速率才能工作的。由于无法预知下一帧需转发数据的传输速率究竟是多少,也就不能提前对单片机进行设置。而码元转发的也有不少缺点,尤其是电磁兼容差、节点数量降低以及转发速率的限制是不能接受的,因此急需一种能打破现有存储转发和码元转发局限性的转发方法。为此,根据RS-485总线数据传输的特点,提出了基于帧结构的转发方法及其构成的集线器。
如图3所示,给出了RS-485总线中ModBus-RTU协议的字节格式示意图,在RS-485总线各种协议的数据链路层中,信息传输为异步方式,以每字节为10位的格式进行传输。起始位为1位(为“0”电平)、数据位为8位、无奇偶校验位、停止位为1位(“1”电平),共计10位二进制。其它协议与之类似。如图4所示,给出了ModBus-RTU协议中一帧数据的标准结构图,在RTU模式中,新的数据总是以至少3.5个字节的静默时间开始,紧接着传送第一个域,即设备地址域。整帧的数据必须以一个连续的数据流进行传输。
其中:T1~T4都是1个字节的时间,即每帧之间有4个字节的高电平间隔。如果能够确定一个字节的长度,当高电平长度超过一个字节时,就可以认为本帧已经结束而停止转换。剩下的问题就是如何检测字节的长度了,只要知道通信速率,就容易确定字节长度。
因此,为了实现正确的转发,就只能从收到的数据中侦测出数据的速率。我们采用了测量码元宽度的方法,即用帧内每个数据位对一个高速脉冲进行计数,通过计算找出码元宽度,以此为基准对高电平进行测量,当连续的宽度超过一个字节时,可以认为本帧结束。这就是帧转发的基本原理。常用RS-485总线的最高速率为115.2kbps,最小码元宽度=8.7μS;最低速率为300bps,码元宽度=3.33ms,考虑到如果数据位、校验位和结束位全部为“1”,则10个连“1”码最大宽度=33.3ms,计数器范围至少=33.3×1000/8.7=3828,为了提高分辨精度,应该加大最小码元内的计数个数,设为16个,那么,计数范围=61248,采用16Bit计数器,计数范围=65536,可以满足要求。时钟频率=16×106/8.7=1.839MHz,采用2MHz正好满足要求。
本发明的基于帧结构的RS-485总线集线器的数据收发方式,包括以下步骤:a.检测RS-485总线上是否有数据发送信号产生,如有则将该路转发到其它各路RS-485总线上;同时不断检测数据帧是否结束;如没有结束,继续转发,如果结束,则停止转发;b.转发数据的同时,测量转发数据的码元宽度;c.检测转发的数据中是否有超过15个的连续的与码元宽度相等的高电平存在;如有,则发出帧结束信号;如没有,则继续进行检测。
如图5所示,给出了总线数目为两个的基于帧结构转发的方法及RS-485总线集线器的电路方框图,其包括第一RS485接口电路1、第二RS485接口电路2、时钟电路3、第一路帧检测电路4、第二路帧检测电路5、高电平识别电路6、低电平识别电路7、时序电路8、16位高电平计数器9、16位数据选择器10、16位低电平计数器11、故障识别电路12、第一16位比较器13、16位锁存器14、16位脉宽计数器15、第二16位比较器16、4位计数器17、满量识别电路18、故障隔离电路19;所示的第一RS485接口电路1和第二RS485接口电路2均由收发RS485总线数据的芯片组成,其包括数据接收端RXD、数据发送端TXD和发送使能端DE;如果采用MAX485芯片,则数据接收端RXD和数据发送端TXD分别与RO和DI端口相对应。
第一RS485接口电路1的数据接收端RXD1与第二RS485接口电路2的数据发送端TXD2相连接,第二RS485接口电路2的数据接收端RXD2也与第一RS485接口电路1的数据发送端TXD1相连接,以便实现信号的转发。RXD1端输出的信号经故障隔离电路后输入到第一路帧检测电路4的输入端,RXD2端输出的信号经故障隔离电路后输入到第二路帧检测电路5的输入端;第一路帧检测电路4的输出端接到发送使能端DE2,第二路帧检测电路5的输出端接到发送使能端DE1。两路帧检测电路(4、5)还受满量识别电路18输出信号的控制,帧检测电路在RXD端口产生接收信号第一个下降沿时输出高电平,在满量识别电路18的控制下置为低电平;这样在RXD端口出现信号时,进行RS-485数据的转发,在满量识别电路发出帧结束标志时,结束数据转发。
通过故障隔离电路的RXD1和RXD2端口输出的信号,再经过与门运算产生的逻辑信号输入到高电平识别电路6、低电平识别电路7和时序电路8的输入端,高电平识别电路6和低电平识别电路7对待转发的RS-485总线上的高电平和低电平分别进行识别,以便通过计数器计算其对应的高频脉冲个数。高电平识别电路6输出的信号与时钟电路信号相与后输入到16位高电平计数器9的输入端,计算高电平对应的脉冲数目;同样地,低电平识别电路7输出的信号与时钟电路信号相与后输入到16位低电平计数器11的输入端,以计算低电平对应的脉冲数目;同时,16位高电平计数器9和16位低电平计数器11还受时序电路8输出信号的控制,以便进行准确计数。16位高电平计数器9和16位低电平计数器11的输出端均与16位数据选择器10的输入端相连接,16位数据选择器10在时序电路8信号的控制下,将计数完毕的计数器中的数据输入到16位锁存器14的输入端。第一16位比较器13实现16位锁存器14输入端和输出端数据的比较;第一16位比较器13的输出端与时序电路8相连接,16位锁存器14的控制端受时序电路8输出脉冲的控制;经比较器比较后,如果16位锁存器14的输入数据大于等于输出数据,时序电路8不产生锁存信号,数据自然丢弃;如果输入数据小于输出数据则发出锁存信号将输入数据进行锁存,通过不断地比较,锁存器在帧结束之前就可以得到码元宽度数据。
16位脉宽计数器15的输入端与高电平识别电路6输出信号与时钟电路3的输出信号相与后的逻辑信号相连接,用于对高电平所对应的脉冲个数进行计数;输出端与第二16位比较器16的输入端相连接,脉宽计数器的清零控制端受第二16位比较器16输出信号的控制。16位脉宽计数器15用于比较16位锁存器14输出的信号与16位脉宽计数器15输出信号的大小,如果锁存器与脉宽计数器中的数据相等,则输出信号令4位计数器17加“1”、对16位脉宽计数器15清零使其重新计数。4位计数器17受时序电路的控制,只有在端口RXD的数据为高电平的时候才处于计数状态,当RXD端口输出的数据为低电平,则被清零。这就使得4位计数器17中的数值始终为与16位锁存器14中存储的码元宽度相等的连续的高电平个数,由于一帧之内不可能有超过11个连续的与码元宽度相等的高电平存在,据此满量识别电路18可通过检测4位计数器17中的数值,来产生帧发送完毕信号,以便控制帧检测电路(4、5)发出停止发送的控制信号。这样,就可完整、准确地将一路RS-485上的数据转发到其他总线上;摒弃了对传输协议和速率的考虑,实现了基于帧结构转发的RS-485总线集线器,具有即插即用的方便性。
假设第一路总线上出现信号,则RXD1=0,故障隔离电路19在正常状态下处于直通状态,RXD1信号加到第一路帧检测电路4,帧检测电路是一个触发器,RXD下降沿触发输出高电平,复位信号RES触发输出低电平。RXD1下降沿使一路帧检测电路输出高电平,DE2=1信号加到第二路RS485接口电路2上,将数据转发到总线上,完成信号的转发。
两路信号经过与门合成总的接收信号RXD,送到三个方向,一路到高电平识别电路6,在帧内数据为“1”时输出高电平;二路到低电平识别电路7,在帧内信号为“0”时输出高电平;三路到时序电路8,产生计数器所需的清零、锁存、通道转换信号。由于此时RXD=0,则低电平识别电路7产生高电平,将右侧下方的与门开启,时钟信号通过此门后进入16位低电平计数器11中进行计数。在RXD1“0”电平结束变成“1”电平后,低电平计数器停止计数,高电平将右侧上方的与门打开,16位高电平计数器9开始工作;同时,将低电平计数器数据通过16位数据选择器10后锁存到16位锁存器14中;在RXD1“1”电平结束再次变成“0”电平后,高电平计数器停止计数,低电平计数器重新开始计数。高电平计数器中的数据通过数据选择器出现在16位锁存器14输入端,第一16位比较器13将锁存器的输入数据和输出数据进行数值比较。如果输入大于等于输出,时序电路8不产生锁存信号,数据自然丢弃;如果输入数据小于输出数据则发出锁存信号将输入数据进行锁存。通过不断地比较,锁存器在帧结束之前就可以得到码元宽度数据。
16位脉宽计数器15输出的数据与16位锁存器14输出数据在第二16位比较器16中进行比较,相等时输出信号将脉宽计数器清零后重新开始计数,同时使4位计数器17增加一个数值,完成高电平与码元宽度的比较。4位计数器17还受时序电路控制,保证只有在RXD为“1”电平时计数、“0”电平时清零。因此4位计数器17在帧内永远不会计满11个数值,只有在本帧结束时数值才能超过11个。满量识别电路18可以在4位计数器17计满15个数值后输出复位信号RES,将帧检测电路复位,DE2=0,信号转发过程结束,完成一帧数据的转发。第二路总线上收到数据后,转发过程与之相同。
故障识别电路12的作用是识别线路上是否出现故障,出现故障后,启动故障隔离电路19,将该路进行隔离,保证其它路正常工作。当故障消失后能够自动解除隔离。从上述分析可以看出,收发转换控制信号DE在整个帧结构内始终处于高电平,将RXD数据的“1”、“0”电平都如实地转发了出去。因此驱动能力强,总线上的信号失真小,误码率低,电磁兼容性好。由于是从接收的数据中实时测量数据速率,适应性强,达到完全透明转发的目标。真正做到自适应转发,无需外界任何设置,即插即用。这种转发方式不但可以用于有线的RS-485总线信号转发,而且可以用于RS-485信号的无线转发,只要将DE信号接无线数传的PTT信号即可。具有很高的使用价值。
多路信号的转发原理相同,需将故障隔离电路设置为与RS485接口电路相等的数目,并使主接口电路上的RXD、TXD作为一路信号的输入输出端,其余从接口电路上的RXD相与后及各从TXD作为另一路信号的输入输出端口即可。所有RS485接口电路上的RXD端口输出的信号经相与运算后形成总接收数据接到高电平识别电路6、低电平识别电路7和时序电路8上,就可以实现多路RS-485总线信号的转发。
由于转换电路复杂,如果采用常规的中小规模数字集成电路来实现的话,电路将十分繁杂,占用电路板面积大,功耗大,检测维修困难;尤其是集线器端口众多时,几乎无法实现。采用CPLD电路可以有效低解决这个问题。CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件,是一种用户根据各自需要而自行构造逻辑功能的数字集成电路,它具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产之中。采用CPLD器件后,集线器的全部电路在一个芯片中实现,外部电路简单,抗干扰能力强,功耗低。时钟电路采用晶体振荡器,稳定度高,对速率的测量精度高,产生的转换信号准确。且具有较强的保密性,可以防止人为仿造。
Claims (4)
1.一种基于帧结构转发的RS-485总线集线器,包括与RS485总线相连接的一个主RS485接口电路和多个从RS485接口电路、产生高频脉冲的时钟电路(3)以及用于产生时序控制信号的时序电路(8),所述RS485接口电路包括数据接收端RXD、数据发送端TXD和发送使能端DE;其特征在于,还包括:
两个帧检测电路, 主RS485接口电路的数据接收端RXD与一个帧检测电路的输入端相连接,其余从RS485接口电路的RXD经相与运算后与另一个帧检测电路的输入端相连接;所有主、从RS485接口电路的RXD信号相与运算后形成总接收数据;帧检测电路的输出端与时序电路的输入端以及除与本帧检测电路相连接的之外的所有RS485接口电路的发送使能端DE相连接;帧检测电路在数据接收端RXD的信号第一个下降沿输出高电平;
高电平识别电路(6)和低电平识别电路(7),输入端均与总接收数据端相连接;
16位高电平计数器(9),输入端与高电平识别电路的输出与时钟电路的输出相与后形成的逻辑信号相连接;计数控制端与时序电路的输出相连接;
16位低电平计数器(11),输入端与低电平识别电路的输出与时钟电路的输出相与后形成的逻辑信号相连接;计数控制端与时序电路的输出相连接;
16位数据选择器(10),输入端与16位高电平计数器和16位低电平计数器均相连接;控制端与时序电路的输出相连接;
16位锁存器(14),输入端与16位数据选择器的输出端连接;控制端与时序电路的输出信号相连接;
第一16位比较器(13),两组输入端分别与16位锁存器的输入端和输出端相连接,信号输出端与时序电路相连接;
16位脉宽计数器(15),输入端与高电平识别电路的输出与时钟电路的输出信号相与后形成的逻辑信号相连接;
第二16位比较器(16),两组输入端分别与16位锁存器的输出和16位脉宽计数器的输出相连接;输出端与16位脉宽计数器的控制端相连接;
4位计数器(17),输入端与第二16位比较器的输出端相连接,控制端与时序电路的控制信号输出端相连接,4位计数器在数据接收端RXD出现零电平时清零;
满量识别电路(18),用于产生帧发送完毕的识别信号,输入端与4位计数器的输出端相连接,信号输出端与两个帧检测电路的控制输入端均相连接;
所述主RS485接口电路的数据接收端RXD均与其余从RS485接口电路的数据发送端TXD相连接;其余从RS485接口电路的RXD端相与运算后接于主RS485接口电路的TXD端;时序电路的输入端还与总接收数据相连接;所述帧检测电路在满量识别电路输出信号的作用下输出信号变为低电平。
2.根据权利要求1所述的基于帧结构转发的RS-485总线集线器,其特征在于:包括故障识别电路(12)以及数目与RS485接口电路数量相等的故障隔离电路(19),单个故障隔离电路接于单个数据接收端RXD上;故障识别电路的输入端与16位低电平计数器(11)的输出信号相连接,故障识别电路的输出端与每个故障隔离电路均相连接。
3.根据权利要求1所述的基于帧结构转发的RS-485总线集线器,其特征在于:所述RS485转发方式还可用于无线转发方式。
4.根据权利要求1所述的基于帧结构转发的RS-485总线集线器,其特征在于:实现所述基于帧结构转发的RS-485总线集线器功能的器件为复杂可编程逻辑器件CPLD。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210192084.4A CN102752194B (zh) | 2012-06-12 | 2012-06-12 | 基于帧结构转发的rs-485总线集线器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210192084.4A CN102752194B (zh) | 2012-06-12 | 2012-06-12 | 基于帧结构转发的rs-485总线集线器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102752194A CN102752194A (zh) | 2012-10-24 |
CN102752194B true CN102752194B (zh) | 2015-04-15 |
Family
ID=47032098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210192084.4A Active CN102752194B (zh) | 2012-06-12 | 2012-06-12 | 基于帧结构转发的rs-485总线集线器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102752194B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103023715B (zh) * | 2012-11-23 | 2016-06-22 | 北京广利核系统工程有限公司 | 一种基于rs485总线通讯链路的故障监测方法 |
CN103885357B (zh) * | 2013-12-26 | 2016-11-23 | 浙江工商大学 | 多协议油机通信集线器及通信方法 |
CN105207693B (zh) * | 2015-09-30 | 2017-08-04 | 浙江锦马自动化科技有限公司 | 一种具有纯硬件仲裁功能的rs485中继器 |
CN106254349B (zh) * | 2016-08-09 | 2021-06-25 | 丰郅(上海)新能源科技有限公司 | 一种总线上现场实时通信的方法 |
CN106327851A (zh) * | 2016-09-05 | 2017-01-11 | 深圳市科曼信息技术有限公司 | 用电信息采集系统及其分线器与通信故障检测方法 |
CN106506245B (zh) * | 2016-12-28 | 2019-06-11 | 武汉智能控制工业技术研究院有限公司 | 一种车载设备故障重连总线接口模块 |
CN107894764B (zh) * | 2017-12-21 | 2023-06-20 | 重庆金鑫科技产业发展有限公司 | 一种数据检测设备 |
CN110798234B (zh) * | 2019-10-15 | 2021-08-17 | 深圳和而泰智能控制股份有限公司 | 提高433mhz无线通信中通讯灵敏度的方法及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1649349A (zh) * | 2005-02-04 | 2005-08-03 | 艾默生网络能源系统有限公司 | 一种rs485通信接口转换装置 |
CN101383918A (zh) * | 2008-06-27 | 2009-03-11 | 青岛海信电器股份有限公司 | 1+1电视系统及其通信方法 |
CN101630299A (zh) * | 2009-05-27 | 2010-01-20 | 东南大学 | 一种i2c串行总线信号的分析与触发方法 |
-
2012
- 2012-06-12 CN CN201210192084.4A patent/CN102752194B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1649349A (zh) * | 2005-02-04 | 2005-08-03 | 艾默生网络能源系统有限公司 | 一种rs485通信接口转换装置 |
CN101383918A (zh) * | 2008-06-27 | 2009-03-11 | 青岛海信电器股份有限公司 | 1+1电视系统及其通信方法 |
CN101630299A (zh) * | 2009-05-27 | 2010-01-20 | 东南大学 | 一种i2c串行总线信号的分析与触发方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102752194A (zh) | 2012-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102752194B (zh) | 基于帧结构转发的rs-485总线集线器 | |
Fang et al. | Design and simulation of UART serial communication module based on VHDL | |
CN103218339B (zh) | 一种1553b总线与rs485总线的通信转接系统及控制方法 | |
US8290103B2 (en) | Method for transmitting parallelization signals of uninterruptible power supplies | |
CN106603358B (zh) | 一种基于mlvds接口的快速总线系统和实现方法 | |
CN100502385C (zh) | 实现rs-485多点通讯的方法 | |
CN202602695U (zh) | 基于帧结构转发的rs-485总线集线器 | |
CN105573239A (zh) | 一种高速背板总线通讯控制装置及方法 | |
CN102104515A (zh) | 耦合装置、包括耦合装置的系统和用于该系统的方法 | |
CN106803340A (zh) | Mbus通信电路、通信方法及其制成的计量仪表 | |
CN101404556A (zh) | 一线总线的通讯方法 | |
CN110650066A (zh) | 一种基于嵌入式的总线通信检测系统及其可靠性检测方法 | |
CN106788566A (zh) | 基于以太网物理层芯片速率连续可变的收发器及传输方法 | |
CN102946260A (zh) | 自动抄表系统及其通信链路质量检测方法 | |
CN100388692C (zh) | 网络交换设备多网口切换装置 | |
CN108011692A (zh) | 一种用于单片机的数据通信方法 | |
CN104317762A (zh) | 一种fpga自适应控制rs485芯片收发方向的方法 | |
CN103812797B (zh) | 传输数据分组的方法及发送和接收数据分组的通信模块 | |
CN102692642A (zh) | 基于以太网物理层收发器的地震数据传输装置 | |
CN106059878A (zh) | 支持多点远距离通信的rs232通信系统 | |
CN105847077A (zh) | 一种检测多路串行数据冲突的方法及装置、设备 | |
CN202711246U (zh) | 一种485总线与232总线的扩展应用系统 | |
CN101667953A (zh) | 一种快速环网物理链路状态的上报方法及装置 | |
CN206461608U (zh) | 基于以太网物理层芯片速率连续可变的收发器 | |
CN101547131A (zh) | Eaps环网单通故障定位和保护方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20151009 Address after: Huaiyin District of Ji'nan City, Shandong province 250022 ten road, No. 646 hospital in Ji'nan casting and forging Institute of office building two East Room 207 Patentee after: Jinan Sine-lead Electronic Technology Co., Ltd. Address before: Study on Ji'nan casting forging Huaiyin District of Ji'nan city in Shandong province 250022 ten Road No. 466 building two floor Patentee before: Huang Chengyun |