基于帧结构转发的方法及RS485总线集线器.pdf

上传人:r7 文档编号:4300276 上传时间:2018-09-13 格式:PDF 页数:14 大小:1.02MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210192084.4

申请日:

2012.06.12

公开号:

CN102752194A

公开日:

2012.10.24

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):H04L 12/70登记生效日:20151009变更事项:专利权人变更前权利人:黄程云变更后权利人:济南赛英立德电子科技有限公司变更事项:地址变更前权利人:250022 山东省济南市槐荫区经十路466号济南铸造锻压研究所办公楼二楼变更后权利人:250022 山东省济南市槐荫区经十路646号院内济南铸造锻压研究所办公楼二楼东侧207室|||授权|||实质审查的生效IPC(主分类):H04L 12/56申请日:20120612|||公开

IPC分类号:

H04L12/56; H04L12/40

主分类号:

H04L12/56

申请人:

黄程云

发明人:

黄程云

地址:

250022 山东省济南市槐荫区经十路466号济南铸造锻压研究所办公楼二楼

优先权:

专利代理机构:

济南泉城专利商标事务所 37218

代理人:

李桂存

PDF下载: PDF下载
内容摘要

本发明的基于帧结构的RS-485总线集线器的数据收发方法,包括:a.检测总线上是否有数据发送,如有则立即对数据进行转发;同时不断检测数据帧是否结束,没有则继续转发,如有则停止转发;b.测量码元宽度;c.检测是否有超过15个的连续的与码元宽度相等的高电平存在;如有,则发出帧结束信号;如没有,则继续进行检测。RS-485总线集线器包括接口电路、时钟电路和时序电路;特征为:还有帧检测电路、高低电平识别电路、计数器、比较器、锁存器、数据选择器以及满量识别电路;通过检测出的数据码元宽度,在有超过15个连续的与码元宽度相等的高电平存在时产生帧转发结束的标志,实现数据转发。本发明做到了自适应转发,即插即用。满足300~115200bps的要求,可通过CPLD器件来实现,具有电路简单、抗干扰能力强、功耗低、稳定度高、速率测量精度高、转换信号准确的优点。

权利要求书

1.一种基于帧结构的RS-485总线集线器的数据收发方法,其特征在于包括以下步骤:a.检测RS-485总线上是否有数据发送信号产生,如有则将该路数据转发到其它各路RS-485总线上;同时不断检测数据帧是否结束,如没有结束,继续转发,如果结束,则停止转发;b.转发数据的同时,测量转发数据的码元宽度;c.检测转发的数据中是否有超过15个的连续的与码元宽度相等的高电平存在;如有,则发出帧结束信号;如没有,则继续进行检测。2.一种基于帧结构转发的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接口电路的TXD端相与运算后接于主RS485接口电路的TXD端;时序电路的输入端还与总接收数据相连接;所述帧检测电路在满量识别电路输出信号的作用下输出信号变为低电平。3.根据权利要求2所述的基于帧结构转发的RS-485总线集线器,其特征在于:包括故障识别电路(12)以及数目与RS485接口电路数量相等的故障隔离电路(19),单个故障隔离电路接于单个数据接收端RXD上;故障识别电路的输入端与16位低电平计数器(11)的输出信号相连接,故障识别电路的输出端与每个故障隔离电路均相连接。4.根据权利要求2或3所述的基于帧结构转发的RS-485总线集线器,其特征在于:所述RS485转发方式还可用于无线转发方式。5.根据权利要求2或3所述的基于帧结构转发的RS-485总线集线器,其特征在于:实现所述基于帧结构转发的RS-485总线集线器功能的器件为复杂可编程逻辑器件CPLD。

说明书

基于帧结构转发的方法及RS-485总线集线器

技术领域

 本发明涉及一种基于帧结构转发的方法及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器件后,集线器的全部电路在一个芯片中实现,外部电路简单,抗干扰能力强,功耗低。时钟电路采用晶体振荡器,稳定度高,对速率的测量精度高,产生的转换信号准确。且具有较强的保密性,可以防止人为仿造。

基于帧结构转发的方法及RS485总线集线器.pdf_第1页
第1页 / 共14页
基于帧结构转发的方法及RS485总线集线器.pdf_第2页
第2页 / 共14页
基于帧结构转发的方法及RS485总线集线器.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《基于帧结构转发的方法及RS485总线集线器.pdf》由会员分享,可在线阅读,更多相关《基于帧结构转发的方法及RS485总线集线器.pdf(14页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102752194 A (43)申请公布日 2012.10.24 C N 1 0 2 7 5 2 1 9 4 A *CN102752194A* (21)申请号 201210192084.4 (22)申请日 2012.06.12 H04L 12/56(2006.01) H04L 12/40(2006.01) (71)申请人黄程云 地址 250022 山东省济南市槐荫区经十路 466号济南铸造锻压研究所办公楼二 楼 (72)发明人黄程云 (74)专利代理机构济南泉城专利商标事务所 37218 代理人李桂存 (54) 发明名称 基于帧结构转发的方法及RS-485总线集线 器。

2、 (57) 摘要 本发明的基于帧结构的RS-485总线集线器 的数据收发方法,包括:a检测总线上是否有数 据发送,如有则立即对数据进行转发;同时不断 检测数据帧是否结束,没有则继续转发,如有则 停止转发;b测量码元宽度;c检测是否有超 过15个的连续的与码元宽度相等的高电平存在; 如有,则发出帧结束信号;如没有,则继续进行检 测。RS-485总线集线器包括接口电路、时钟电路 和时序电路;特征为:还有帧检测电路、高低电平 识别电路、计数器、比较器、锁存器、数据选择器以 及满量识别电路;通过检测出的数据码元宽度, 在有超过15个连续的与码元宽度相等的高电平 存在时产生帧转发结束的标志,实现数据转发。

3、。本 发明做到了自适应转发,即插即用。满足300 115200bps的要求,可通过CPLD器件来实现,具有 电路简单、抗干扰能力强、功耗低、稳定度高、速率 测量精度高、转换信号准确的优点。 (51)Int.Cl. 权利要求书2页 说明书8页 附图3页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 8 页 附图 3 页 1/2页 2 1.一种基于帧结构的RS-485总线集线器的数据收发方法,其特征在于包括以下步骤: a检测RS-485总线上是否有数据发送信号产生,如有则将该路数据转发到其它各路 RS-485总线上;同时不断检测数据帧是否结束,如没有结束,。

4、继续转发,如果结束,则停止 转发; b转发数据的同时,测量转发数据的码元宽度; c检测转发的数据中是否有超过15个的连续的与码元宽度相等的高电平存在;如有, 则发出帧结束信号;如没有,则继续进行检测。 2.一种基于帧结构转发的RS-485总线集线器,包括与RS485总线相连接的一个主 RS485接口电路和多个从RS485接口电路、产生高频脉冲的时钟电路(3)以及用于产生时序 控制信号的时序电路(8),所述RS485接口电路包括数据接收端RXD、数据发送端TXD和发 送使能端DE;其特征在于,还包括: 两个帧检测电路, 主RS485接口电路的数据接收端RXD与一个帧检测电路的输入端相 连接,其余。

5、从RS485接口电路的RXD经相与运算后与另一个帧检测电路的输入端相连接;所 有主、从RS485接口电路的RXD信号相与运算后形成总接收数据;帧检测电路的输出端与时 序电路的输入端以及除与本帧检测电路相连接的之外的所有RS485接口电路的发送使能 端DE相连接;帧检测电路在数据接收端RXD的信号第一个下降沿输出高电平; 高电平识别电路(6)和低电平识别电路(7),输入端均与总接收数据相连接; 16位高电平计数器(9),输入端与高电平识别电路的输出与时钟电路的输出相与后形 成的逻辑信号相连接;计数控制端与时序电路的输出相连接; 16位低电平计数器(11),输入端与低电平识别电路的输出与时钟电路的。

6、输出相与后 形成的逻辑信号相连接;计数控制端与时序电路的输出相连接; 16位数据选择器(10),输入端与16位高电平计数器和16位低电平计数器均相连接; 控制端与时序电路的输出相连接; 16位锁存器(14),输入端与16位数据选择器的输出端连接;控制端与时序电路的输出 信号相连接; 第一16位比较器(13),两组输入端分别与16位锁存器的输入端和输出端相连接,信号 输出端与时序电路相连接; 16位脉宽计数器(15),输入端与高电平识别电路的输出与时钟电路的输出信号相与 后形成的逻辑信号相连接; 第二16位比较器(16),两组输入端分别与16位锁存器的输出和16位脉宽计数器的输 出相连接;输出端。

7、与16位脉宽计数器的控制端相连接; 4位计数器(17),输入端与第二16位比较器的输出端相连接,控制端与时序电路的控 制信号输出端相连接,4位计数器在数据接收端RXD出现零电平时清零; 满量识别电路(18),用于产生帧发送完毕的识别信号,输入端与4位计数器的输出端 相连接,信号输出端与两个帧检测电路的控制输入端均相连接; 所述主RS485接口电路的数据接收端RXD均与其余从RS485接口电路的数据发送端 TXD相连接;其余从RS485接口电路的TXD端相与运算后接于主RS485接口电路的TXD端; 时序电路的输入端还与总接收数据相连接;所述帧检测电路在满量识别电路输出信号的作 用下输出信号变为。

8、低电平。 权 利 要 求 书CN 102752194 A 2/2页 3 3.根据权利要求2所述的基于帧结构转发的RS-485总线集线器,其特征在于:包括故 障识别电路(12)以及数目与RS485接口电路数量相等的故障隔离电路(19),单个故障隔离 电路接于单个数据接收端RXD上;故障识别电路的输入端与16位低电平计数器(11)的输 出信号相连接,故障识别电路的输出端与每个故障隔离电路均相连接。 4.根据权利要求2或3所述的基于帧结构转发的RS-485总线集线器,其特征在于:所 述RS485转发方式还可用于无线转发方式。 5.根据权利要求2或3所述的基于帧结构转发的RS-485总线集线器,其特征。

9、在于:实 现所述基于帧结构转发的RS-485总线集线器功能的器件为复杂可编程逻辑器件CPLD。 权 利 要 求 书CN 102752194 A 1/8页 4 基于帧结构转发的方法及 RS-485 总线集线器 技术领域 0001 本发明涉及一种基于帧结构转发的方法及RS-485总线集线器,更具体的说,尤 其涉及一种通过检测与码元宽度相等的连续的高电平个数来判断帧传输结束与否的基于 帧结构转发的方法及RS-485总线集线器。 背景技术 0002 RS-485总线采用平衡发送和差分接收,因此具有较高的共模干扰抑制能力。接收 器具有较高灵敏度,能够检测低达200 mV的电压,传输信号能在千米以外得到恢。

10、复。使用 一对双绞线就能实现多站联网,构成分布式系统。而且设备简单、价格低廉,在适当的波特 率下,能进行长距离通信,因而在远程有线数字通信和很多工业现场领域得到了非常广泛 的应用。 0003 由于双绞线上的电平损耗,通信最大传输距离是1200m,因此更远距离的应用中必 须使用中继器;网络节点数与所选芯片驱动能力和接收器的输入阻抗有关。RS-485标准规 定了最大总线负载为32个单位负载,若应用中总线负载大于32个单位负载则必须使用中 继器或集线器。 0004 RS-485总线是总线型拓扑结构,采用单一信道作为传输介质,所有节点通过相应 硬件接口接至这个公共信道(总线)上,任何一个节点发送信息,。

11、所有其它节点都能接收。信 息到达节点后,经过地址识别,符合的节点将信息接收下来。优点是所需电缆长度短,工作 的可靠性较高,增加和减少节点都很容易。缺点一是布线复杂,需要从楼层的两端分别上楼 层和下楼层,施工难度大;一般楼宇的上下线路都在竖井中,从其它的位置上下线路是不允 许的,因此在实际的工程施工中,布设这种网络拓扑结构的总线往往十分困难。二是一条总 线从头到尾连接各个节点,传输距离长,由于数据速率和传输距离的互相制约关系,传输速 率难以提高。三是节点为32个,可能无法满足需要。四是所有节点都挂接在总线上,一个 节点的故障可能影响整个网络,故障的检测需要在各节点上进行,比较困难。 发明内容 0。

12、005 本发明为了克服上述技术问题的缺点,提供了一种通过检测与码元宽度相等的连 续的高电平个数来判断帧传输结束与否的基于帧结构转发的方法及RS-485总线集线器。 0006 本发明的基于帧结构的RS-485总线集线器的数据收发方法,其特征在于,包括以 下步骤:a检测RS-485总线上是否有数据发送信号产生,如有则将该路数据转发到其它各 路RS-485总线上;同时不断检测数据帧是否结束,如没有结束,继续转发,如果结束,则停 止转发;b转发数据的同时,测量转发数据的码元宽度;c检测转发的数据中是否有超过 15个的连续的与码元宽度相等的高电平存在;如有,则发出帧结束信号;如没有,则继续进 行检测。 。

13、0007 本发明的基于帧结构转发的RS-485总线集线器,包括与RS485总线相连接的一 个主RS485接口电路和多个从RS485接口电路、产生高频脉冲的时钟电路以及用于产生时 说 明 书CN 102752194 A 2/8页 5 序控制信号的时序电路,所述RS485接口电路包括数据接收端RXD、数据发送端TXD和发 送使能端DE;其特征在于,还包括:两个帧检测电路, 主RS485接口电路的数据接收端RXD 与一个帧检测电路的输入端相连接,其余从RS485接口电路的RXD经相与运算后与另一个 帧检测电路的输入端相连接;所有主、从RS485接口电路的RXD信号相与运算后形成总接 收数据;帧检测电。

14、路的输出端与时序电路的输入端以及除与本帧检测电路相连接的之外的 所有RS485接口电路的发送使能端DE相连接;帧检测电路在数据接收端RXD的信号第一 个下降沿输出高电平;高电平识别电路和低电平识别电路,输入端均与总接收数据的数据 接收端RXD相连接;16位高电平计数器,输入端与高电平识别电路的输出与时钟电路的输 出相与后形成的逻辑信号相连接;计数控制端与时序电路的输出相连接;16位低电平计数 器,输入端与低电平识别电路的输出与时钟电路的输出相与后形成的逻辑信号相连接;计 数控制端与时序电路的输出相连接;16位数据选择器,输入端与16位高电平计数器和16 位低电平计数器均相连接;控制端与时序电路。

15、的输出相连接;16位锁存器,输入端与16位 数据选择器的输出端连接;控制端与时序电路的输出信号相连接;第一16位比较器,两组 输入端分别与16位锁存器的输入端和输出端相连接,信号输出端与时序电路相连接;16位 脉宽计数器,输入端与高电平识别电路的输出与时钟电路的输出信号相与后形成的逻辑信 号相连接;第二16位比较器,两组输入端分别与16位锁存器的输出和16位脉宽计数器的 输出相连接;输出端与16位脉宽计数器的控制端相连接;4位计数器,输入端与第二16位 比较器的输出端相连接,控制端与时序电路的控制信号输出端相连接,4位计数器在数据接 收端RXD出现零电平时清零;满量识别电路,用于产生帧发送完毕。

16、的识别信号,输入端与4 位计数器的输出端相连接,信号输出端与两个帧检测电路的控制输入端均相连接;所述主 RS485接口电路的数据接收端RXD均与其余从RS485接口电路的数据发送端TXD相连接; 其余从RS485接口电路的TXD端相与运算后接于主RS485接口电路的TXD端;时序电路的 输入端还与总接收数据相连接;所述帧检测电路在满量识别电路输出信号的作用下输出信 号变为低电平。 0008 RS485接口电路用于将总线信号放大和判决形成数据在RXD端出现,并将TXD端发 送的数据形成与总线标准要求的信号;故障隔离电路通过故障识别电路的控制,隔离有故 障的端口,防止其干扰其它端口的正常工作;帧检。

17、测电路在数据接收端RXD信号出现第一 个下降沿时将输出信号置位为“1”电平,在满量识别电路输出的复位信号的作用下复位为 “0”电平,形成收发转换控制信号;电平识别电路将帧内的高低电平分别送到相关与门进行 计数时钟的分配;时序电路是在帧信号、数据高低电平和时钟信号的作用下,产生计数器、 选择器和锁存器所需的各种控制信号;时钟电路产生高频的计数脉冲;计数器用于对数据 脉宽内的时钟脉冲进行计数;比较器的作用是比较两个数据的大小,形成“大于”、“等于”和 “小于”信号;锁存器在锁存时钟的作用下将数据锁存保持不变;满量识别电路的作用是在 4位计数器计数满15个脉冲后产生识别脉冲。 0009 通过高、低电。

18、平计数器分别对高电平和低电平信号所对应的脉冲个数进行计数, 并通过第一比较器的比较,最终将信号对应的最少的脉冲个数存储在锁存器中,使得锁存 器中存储的数值为码元宽度所对应的脉冲个数,实现了码元宽度的测量;脉宽计数器用于 对高电平所对应的脉冲个数进行计数,并通过4位计数器的高电平计数,低电平清零作用, 使得4位计数的计数个数始终为连续的且与码元宽度相等的高电平个数,而一帧内一般不 说 明 书CN 102752194 A 3/8页 6 会有11个连续的高电平存在,而满量识别数为15个,因此使得4位计数器在帧内不会产生 帧发送完毕的识别信号;只有一帧数据传送完毕时才能有连续15个码元宽度的高电平存 。

19、在,使满量识别电路产生帧发送完毕的识别信号,完成一帧的数据转发。 0010 本发明的基于帧结构转发的RS-485总线集线器,包括故障识别电路以及数目与 RS485接口电路数量相等的故障隔离电路,单个故障隔离电路接于单个数据接收端RXD上; 故障识别电路的输入端与16位低电平计数器的输出信号相连接,故障识别电路的输出端 与每个故障隔离电路均相连接。故障识别电路用于对发生故障的RS-485总线进行识别,故 障隔离电路用于将发生故障的电路进行隔离,防止其影响正常的RS-485总线进行数据传 输,也保证了故障诊断和查修的便利性。 0011 本发明的基于帧结构转发的RS-485总线集线器,所述RS485。

20、接口转发方式还可用 于无线转发方式。 0012 本发明的基于帧结构转发的RS-485总线集线器,实现所述基于帧结构转发的方 法及RS-485总线集线器功能的器件为复杂可编程逻辑器件CPLD。由于转换电路复杂,如果 采用常规的中小规模数字集成电路来实现,电路将十分繁杂,占用电路板面积大,功耗大, 检测维修困难。尤其是集线器端口众多时,几乎无法实现;采用CPLD电路可以有效解决这 个问题。 0013 本发明的有益效果是:本发明的基于帧结构转发的方法及RS-485总线集线器根 据RS-485总线数据传输中一帧内不可能有超过11个连续的与码元宽度相等的高电平存在 的特点,首先检测出码元宽度,然后再根据。

21、是否有超过15个连续的与码元宽度相等的高电 平存在来对数据发送是否完毕进行判断,有效地实现了多路RS-485总线数据的转发,并抛 弃了对数据传输速率的考虑,做到了真正自适应转发,无需进行任何设置,即插即用。通过 设置故障识别电路和故障隔离电路,有效地实现了故障线路的诊断和隔离,保证了正常总 线的工作。可以满足传输速率为300115200bps的要求。 附图说明 0014 图1为RS-485总线集线器原理图; 图2为RS-485总线信号收发常用芯片MAX485的管脚及真值表; 图3为在RS-485总线中ModBus-RTU协议的字节格式; 图4为ModBus-RTU协议中一帧数据的标准结构; 图。

22、5为总线数目为两个的基于帧结构转发的方法及RS-485总线集线器的电路方框图。 0015 图中: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为故障隔离电路。 具体实施方式 0016 下面结合附图与实施例对本发明作进一步说明。 0017 。

23、如图1所示,给出了RS-485总线集线器原理图,集线器作为网络中枢连接各类节 说 明 书CN 102752194 A 4/8页 7 点,以形成星型、树形结构的一种网络设备。主要功能是对接收到的信号进行再生整形放 大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。即将一个总线端 口接收到的信号从其他端口转发出去,并将其它总线端口返回的数据转发回原端口。 0018 RS-485集线器利用主485接口芯片把上位机总线侧的差分信号转换成控制侧的 TTL电平,然后以广播方式分配给其它各支路的从485接口芯片,再由接口芯片转换为差分 信号发送到各从总线上。图1是四路集线器的应用方案,图的左。

24、侧RS-485主总线接上位机, 右侧各分支路接下位机或设备。 0019 RS-485总线集线器的信号转发就是将主接口电路控制侧的数据接收端RXD接到 其它从接口电路的发送端TXD,其它从接口电路的RXD同样接到主电路的TXD端。主总线接 收信号时,其RXD收到的数据就可以从其它从端口的TXD发送出去。同样其它从总线接收 信号时也同样转发回主总线。 0020 RS-485信号的转发,需要有一个控制端才能实现。如图2所示,以常用芯片MAX485 的管脚及其真值表为例进行说明。A、B为总线端,D为数据输入信号,R为数据输出信号,DE 为发送控制端,/RE为接收控制端,通常将/RE和DE端连接在一起,。

25、作为收发控制信号。从 真值表中可以看出,在发送信号时,需要将DE/RE控制信号置高电平,接收时置低电平。 0021 为了实现信号转发,收发控制信号的产生是关键技术。目前集线器普遍采用的方 法有两种:一是存储转发,这种方法使用单片机将接收的数据存储起来再进行转发,由单片 机本身产生收发转换信号。这种转发方式的缺点是每传输1帧数据至少损失1个单位的接 收时间(储存转发1帧数据的时间),不利于数据量大的实时通信。而且需要对集线器进行 地址、协议和通信速率的设置才能实现,无法做到通用。 0022 二是码元转发,利用接收数据中的低电平反向并增加一定延时后作为控制信号, 即只将数据中的低电平转发,高电平是。

26、用在总线(A、B)上加偏置的方法来实现。因为在不 发信号的空闲状态,D和R一直为高电平,加上偏置后,使A和B端的电压大于0.2V,相当于 发送了高电平。这是RS-485总线中继器和集线器常用的方法。这种转发方式是基于数据 的码元来进行的,称为码元转发方式。这种转发方式的缺点之一是速率的适应范围窄,满足 不了300115200bps的要求;收发转换信号中的延时是必须的,如果没有延时电路,在发 送“0”电平后的“1”电平时,DE/RE立即为“0”电平,总线处于高阻状态,AB线上的高电平 由偏置电阻产生。由于总线电抗特性的影响,需要约50s的上升时间才能稳定,通信速率 将收到极大的影响,误码率高。转。

27、换信号增加延时后,在数据由“0”转“1”的一段时间内, DE/RE仍然为“1”电平,接口电路能立即在总线上发送真正的高电平。只有延时结束,DE/RE 变为“0”电平后才由偏置电路提供总线上的高电平状态,总线延时时间大为缩短。由于此 时总线上的高电平前端高(由发送电路提供)、后端低(由偏置电路提供),在此转换过程中, 总线上将出现阶跃电压,对电磁兼容性十分不利。延时电路一般按照最高速率的码元宽度 设计,难以满足低速率的要求;二是延时精度差,延时采用RC单稳电路,受元件参数和环境 温度影响大。延时结束后,发送电路处于高阻状态,总线上所有接口处于接收状态,总线是 空闲的,允许其它接口发送数据,因此容。

28、易引入总线冲突。特别是连续发送高电平数据时, 发送电路处于高阻状态的时间越长,引入总线冲突的几率就越大;三是驱动能力差,降低节 点数量。为了实现总线A-B0.2V的要求,偏置电路的阻值范围一般为0.53K左右, 这些电阻加重了接口电路的负担,相应的就减少了带节点的数量。如采用0.5K电阻,节 说 明 书CN 102752194 A 5/8页 8 点数就从32个下降到8个左右。 0023 为了实现集线器通用性、稳定性和无需任何设置的要求,对300115200bps之间 的任何速率、任何协议都要能够进行正确的转发,不可能采用由单片机组成的存储转发方 式,因为它事先是需要知道速率才能工作的。由于无法。

29、预知下一帧需转发数据的传输速率 究竟是多少,也就不能提前对单片机进行设置。而码元转发的也有不少缺点,尤其是电磁兼 容差、节点数量降低以及转发速率的限制是不能接受的,因此急需一种能打破现有存储转 发和码元转发局限性的转发方法。为此,根据RS-485总线数据传输的特点,提出了基于帧 结构的转发方法及其构成的集线器。 0024 如图3所示,给出了RS-485总线中ModBus-RTU协议的字节格式示意图,在RS-485 总线各种协议的数据链路层中,信息传输为异步方式,以每字节为10位的格式进行传输。 起始位为1位(为“0”电平)、数据位为8位、无奇偶校验位、停止位为1位(“1”电平),共计 10位二。

30、进制。其它协议与之类似。如图4所示,给出了ModBus-RTU协议中一帧数据的标准 结构图,在RTU模式中,新的数据总是以至少3.5个字节的静默时间开始,紧接着传送第一 个域,即设备地址域。整帧的数据必须以一个连续的数据流进行传输。 0025 其中:T1T4都是1个字节的时间,即每帧之间有4个字节的高电平间隔。如果 能够确定一个字节的长度,当高电平长度超过一个字节时,就可以认为本帧已经结束而停 止转换。剩下的问题就是如何检测字节的长度了,只要知道通信速率,就容易确定字节长 度。 0026 因此,为了实现正确的转发,就只能从收到的数据中侦测出数据的速率。我们采 用了测量码元宽度的方法,即用帧内每。

31、个数据位对一个高速脉冲进行计数,通过计算找出 码元宽度,以此为基准对高电平进行测量,当连续的宽度超过一个字节时,可以认为本帧结 束。这就是帧转发的基本原理。常用RS-485总线的最高速率为115.2kbps,最小码元宽度 =8.7S;最低速率为300bps,码元宽度=3.33ms,考虑到如果数据位、校验位和结束位全部 为“1”,则10个连“1”码最大宽度=33.3ms,计数器范围至少=33.31000/8.7=3828,为了 提高分辨精度,应该加大最小码元内的计数个数,设为16个,那么,计数范围=61248,采用 16Bit计数器,计数范围=65536,可以满足要求。时钟频率=1610 6 /。

32、8.7=1.839MHz,采用 2MHz正好满足要求。 0027 本发明的基于帧结构的RS-485总线集线器的数据收发方式,包括以下步骤:a检 测RS-485总线上是否有数据发送信号产生,如有则将该路转发到其它各路RS-485总线上; 同时不断检测数据帧是否结束;如没有结束,继续转发,如果结束,则停止转发;b转发数 据的同时,测量转发数据的码元宽度;c检测转发的数据中是否有超过15个的连续的与码 元宽度相等的高电平存在;如有,则发出帧结束信号;如没有,则继续进行检测。 0028 如图5所示,给出了总线数目为两个的基于帧结构转发的方法及RS-485总线集线 器的电路方框图,其包括第一RS485接。

33、口电路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和发送使 说 明 书CN 102752194 A 6/8页 9 能端DE;如果采用MAX485芯片。

34、,则数据接收端RXD和数据发送端TXD分别与RO和DI端口 相对应。 0029 第一RS485接口电路1的数据接收端RXD1与第二RS485接口电路2的数据发送 端TXD2相连接,第二RS485接口电路2的数据接收端RXD2也与第一RS485接口电路1的 数据发送端TXD1相连接,以便实现信号的转发。RXD1端输出的信号经故障隔离电路后输入 到第一路帧检测电路4的输入端,RXD2端输出的信号经故障隔离电路后输入到第二路帧检 测电路5的输入端;第一路帧检测电路4的输出端接到发送使能端DE2,第二路帧检测电路 5的输出端接到发送使能端DE1。两路帧检测电路(4、5)还受满量识别电路18输出信号的 。

35、控制,帧检测电路在RXD端口产生接收信号第一个下降沿时输出高电平,在满量识别电路 18的控制下置为低电平;这样在RXD端口出现信号时,进行RS-485数据的转发,在满量识 别电路发出帧结束标志时,结束数据转发。 0030 通过故障隔离电路的RXD1和RXD2端口输出的信号,再经过与门运算产生的逻辑 信号输入到高电平识别电路6、低电平识别电路7和时序电路8的输入端,高电平识别电路 6和低电平识别电路7对待转发的RS-485总线上的高电平和低电平分别进行识别,以便通 过计数器计算其对应的高频脉冲个数。高电平识别电路6输出的信号与时钟电路信号相与 后输入到16位高电平计数器9的输入端,计算高电平对应。

36、的脉冲数目;同样地,低电平识别 电路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输出脉冲的。

37、控制;经比较器比较后, 如果16位锁存器14的输入数据大于等于输出数据,时序电路8不产生锁存信号,数据自然 丢弃;如果输入数据小于输出数据则发出锁存信号将输入数据进行锁存,通过不断地比较, 锁存器在帧结束之前就可以得到码元宽度数据。 0031 16位脉宽计数器15的输入端与高电平识别电路6输出信号与时钟电路3的输出 信号相与后的逻辑信号相连接,用于对高电平所对应的脉冲个数进行计数;输出端与第二 16位比较器16的输入端相连接,脉宽计数器的清零控制端受第二16位比较器16输出信号 的控制。16位脉宽计数器15用于比较16位锁存器14输出的信号与16位脉宽计数器15 输出信号的大小,如果锁存器与脉。

38、宽计数器中的数据相等,则输出信号令4位计数器17加 “1”、对16位脉宽计数器15清零使其重新计数。4位计数器17受时序电路的控制,只有在 端口RXD的数据为高电平的时候才处于计数状态,当RXD端口输出的数据为低电平,则被清 零。这就使得4位计数器17中的数值始终为与16位锁存器14中存储的码元宽度相等的 连续的高电平个数,由于一帧之内不可能有超过11个连续的与码元宽度相等的高电平存 在,据此满量识别电路18可通过检测4位计数器17中的数值,来产生帧发送完毕信号,以 便控制帧检测电路(4、5)发出停止发送的控制信号。这样,就可完整、准确地将一路RS-485 上的数据转发到其他总线上;摒弃了对传。

39、输协议和速率的考虑,实现了基于帧结构转发的 RS-485总线集线器,具有即插即用的方便性。 说 明 书CN 102752194 A 7/8页 10 0032 假设第一路总线上出现信号,则RXD1=0,故障隔离电路19在正常状态下处于直通 状态,RXD1信号加到第一路帧检测电路4,帧检测电路是一个触发器,RXD下降沿触发输出 高电平,复位信号RES触发输出低电平。RXD1下降沿使一路帧检测电路输出高电平,DE2=1 信号加到第二路RS485接口电路2上,将数据转发到总线上,完成信号的转发。 0033 两路信号经过与门合成总的接收信号RXD,送到三个方向,一路到高电平识别电路 6,在帧内数据为“1。

40、”时输出高电平;二路到低电平识别电路7,在帧内信号为“0”时输出高 电平;三路到时序电路8,产生计数器所需的清零、锁存、通道转换信号。由于此时RXD=0,则 低电平识别电路7产生高电平,将右侧下方的与门开启,时钟信号通过此门后进入16位低 电平计数器11中进行计数。在RXD1“0”电平结束变成“1”电平后,低电平计数器停止计 数,高电平将右侧上方的与门打开,16位高电平计数器9开始工作;同时,将低电平计数器 数据通过16位数据选择器10后锁存到16位锁存器14中;在RXD1“1”电平结束再次变成 “0”电平后,高电平计数器停止计数,低电平计数器重新开始计数。高电平计数器中的数据 通过数据选择器。

41、出现在16位锁存器14输入端,第一16位比较器13将锁存器的输入数据 和输出数据进行数值比较。如果输入大于等于输出,时序电路8不产生锁存信号,数据自然 丢弃;如果输入数据小于输出数据则发出锁存信号将输入数据进行锁存。通过不断地比较, 锁存器在帧结束之前就可以得到码元宽度数据。 0034 16位脉宽计数器15输出的数据与16位锁存器14输出数据在第二16位比较器 16中进行比较,相等时输出信号将脉宽计数器清零后重新开始计数,同时使4位计数器17 增加一个数值,完成高电平与码元宽度的比较。4位计数器17还受时序电路控制,保证只 有在RXD为“1”电平时计数、“0”电平时清零。因此4位计数器17在帧。

42、内永远不会计满11 个数值,只有在本帧结束时数值才能超过11个。满量识别电路18可以在4位计数器17计 满15个数值后输出复位信号RES,将帧检测电路复位,DE2=0,信号转发过程结束,完成一帧 数据的转发。第二路总线上收到数据后,转发过程与之相同。 0035 故障识别电路12的作用是识别线路上是否出现故障,出现故障后,启动故障隔离 电路19,将该路进行隔离,保证其它路正常工作。当故障消失后能够自动解除隔离。从上述 分析可以看出,收发转换控制信号DE在整个帧结构内始终处于高电平,将RXD数据的“1”、 “0”电平都如实地转发了出去。因此驱动能力强,总线上的信号失真小,误码率低,电磁兼 容性好。。

43、由于是从接收的数据中实时测量数据速率,适应性强,达到完全透明转发的目标。 真正做到自适应转发,无需外界任何设置,即插即用。这种转发方式不但可以用于有线的 RS-485总线信号转发,而且可以用于RS-485信号的无线转发,只要将DE信号接无线数传的 PTT信号即可。具有很高的使用价值。 0036 多路信号的转发原理相同,需将故障隔离电路设置为与RS485接口电路相等的数 目,并使主接口电路上的RXD、TXD作为一路信号的输入输出端,其余从接口电路上的RXD相 与后及各从TXD作为另一路信号的输入输出端口即可。所有RS485接口电路上的RXD端口 输出的信号经相与运算后形成总接收数据接到高电平识别。

44、电路6、低电平识别电路7和时 序电路8上,就可以实现多路RS-485总线信号的转发。 0037 由于转换电路复杂,如果采用常规的中小规模数字集成电路来实现的话,电路将 十分繁杂,占用电路板面积大,功耗大,检测维修困难;尤其是集线器端口众多时,几乎无 法实现。采用CPLD电路可以有效低解决这个问题。CPLD(Complex Programmable Logic 说 明 书CN 102752194 A 10 8/8页 11 Device)复杂可编程逻辑器件,是一种用户根据各自需要而自行构造逻辑功能的数字集成 电路,它具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造 成本低。

45、、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点,可 实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产之中。采用CPLD 器件后,集线器的全部电路在一个芯片中实现,外部电路简单,抗干扰能力强,功耗低。时钟 电路采用晶体振荡器,稳定度高,对速率的测量精度高,产生的转换信号准确。且具有较强 的保密性,可以防止人为仿造。 说 明 书CN 102752194 A 11 1/3页 12 图1 图2 图3 说 明 书 附 图CN 102752194 A 12 2/3页 13 图4 说 明 书 附 图CN 102752194 A 13 3/3页 14 图5 说 明 书 附 图CN 102752194 A 14 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1