基于物理层转发的can总线集线器的制作方法

文档序号:6390764阅读:857来源:国知局
专利名称:基于物理层转发的can总线集线器的制作方法
技术领域
本实用新型涉及一种基于物理层转发的CAN总线集线器,更具体的说,尤其涉及一种的基于物理层转发的CAN总线集线器。
背景技术
CAN是控制器局域网络(Controller Area Network)的简称,是由德国BOSCH公司开发了的,并最终成为国际标准(IS011898)。是国际上应用最广泛的现场总线之一。由于 其高性能、高可靠性、实时性等优点现已广泛应用于工业自动化、各种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门。其具有如下特点=(I)CAN为多主方式工作,网络上任何一个节点均可在任意时刻主动向网络上其它节点发送信息,而不分主从,通信方式灵活,并且无需站地址等节点信息。利用这一点可方便的构成多机备份系统。(2)CAN网络上的节点信息分成不同的优先级,可满足不同实时要求,高优先级的数据最多也能在很短的时间内得到传输。(3)CAN采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动退出发送,而优先级高的节点可以不受影响的继续传输数据,从而大大节省了总线冲突仲裁时间,尤其在网络负载很重的情况下也不会出现网络瘫痪的情况。(4)CAN只需通过报文过滤便可以实现点对点、一点对多点及全局广播等多种方式传送数据。(5) CAN直接通信距离最远可达到IOkm (速率在5kbps以下),在通信距离为40m以内时,通信速率最高可达到1Mbps。(6)CAN节点数主要取决于总线驱动电路,目前可达到110个,如果需要更多节点,可以利用中继器,实现网络节点的增加和传输距离的延长。(7)采用短帧结构,一次传送的字节最多为8个。传输时间短,受干扰概率低,具有良好的检错效果。(8) CAN的每帧信息都有CRC校验及其它校验措施,保证了数据出错率低,同时降低了应用程序的复杂程度,从而使通信更加可靠。(9) CAN物理层对传输介质没有规定,通信介质可以为双绞线、同轴电缆或光纤,选择灵活。(IO)CAN节点在错误严重的情况下具有自动关闭节点输出功能,以使总线上其它节点的操作不受影响。CAN总线是总线型拓扑结构,采用单一信道作为传输介质,所有节点通过相应硬件接口接至这个公共信道(总线)上,任何一个节点发送信息,所有其它节点都能接收。信息到达节点后,经过地址识别(过滤),符合的节点将信息接收下来。优点是所需电缆长度短,工作的可靠性较高,增加和减少节点都很容易。其也存在诸多缺点,一是布线复杂,需要从楼层的两端分别上楼层和下楼层,施工难度大。一般楼宇的上下线路都在竖井中,从其它的位置上下线路是不允许的,因此在实际的工程施工中,这种网络拓扑结构往往十分困难。二是一条总线从头到尾连接各个节点,传输距离长,由于数据速率和传输距离的互相制约关系,传输速率难以提高。三是节点为110个,可能无法满足需要。四是所有节点都挂接在总线上,一个节点的故障可能影响整个网络,故障的检测需要在各节点上进行,比较困难。为了克服上述问题,一般需要将总线型拓扑扩展成树形拓扑。树型拓扑是从总线拓扑演变而来的。从树根开始,每个节点下都可有多个分支。树型拓扑的许多特点与总线拓扑类似,但是它的故障比较容易隔离和检查。集线器起到了中继器延长距离和扩充终端数量的作用,是实现由总线型拓扑向树形拓扑转换的关键设备。集线器作为网络中枢连接各类节点,以形成星型、树形结构的一种网络设备。主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上,即将一个总线端口接收到的信号从其他端口转发出去,并将其它总线端口返回的数据转发回原端口。目前市场上常见的CAN总线集线器普遍采用协议层的转发方式,一般采用带双CAN端口的微控制器或一个微控制器带两个CAN总线控制器,将一个端口接收到的数据解析后从另一个端口发送出去,反向转发也是如此。这种转发方式的优点是延时短,通信距离受影响少。但缺点是只能用于固定协议、固定速率的信号转发,一旦协议和速率发生变化,需要对集线器重新进行设置才能工作,操作复杂。在端口数较大时,电路复杂,成本高。
发明内容本实用新型为了克服上述技术问题的缺点,提供了一种的基于物理层转发的CAN总线集线器。 为了使集线器具有通用性,在使用时无需对集线器进行各种设置,就要求转发时不受协议和速率的影响。最简单的方法就是从物理层进行转发,将一个端口接收到的数据原封不动地转发到其它端口,反之亦然。实现物理层转发的方法就是将一路CAN总线物理驱动电路控制侧的数据接收端RXD接到其它电路的发送端TXD,其它电路的RXD同样接本电路的TXD。该路总线接收信号时,其RXD收到的数据就可以从其它端口的TXD发送出去;其它路总线接收信号时也同样转发回本路总线。但对CAN物理驱动电路(如常用的TJA1050芯片)的分析和实际测量表明,在控制侧的数据发送端TXD发送一个信号后,在往总线侧发送信号的同时,其数据接收端RXD在延时约100 200ns后出现一个与发送端完全一致的信号。如果将一路驱动电路的TXD和RXD分别与二路驱动电路的RXD和TXD直接连接,一路收到总线信号后在RXD出现数据,送到二路电路的TXD发送,在发送的同时,二路的RXD也将出现信号,又会返回一路TXD端进行发送。一路收到的信号又给自己发送了回来,如此循环,整个电路处于自发自收振荡状态,无法实现数据的正常转发。从上述分析可以看出,造成自发自收的原因是TXD信号会从RXD上重新出现,如果在接收时阻断本路上的TXD信号,就可以实现正常的转发了,这就是我们开发的CAN总线物理层集线器的基本原理。本实用新型的基于物理层转发的CAN总线集线器,包括用于CAN总线协议信号收发的多路CAN总线驱动电路;设CAN总线驱动电路的数目为η个,I η个CAN总线驱动电路
的数据接收端RXD的状态分别为^
…士,并设不存在两路总线同一时刻收到信号的情形;其特别之处在于,输入到I η个CAN总线驱动电路的数据发送端TXD的信号依次为·…·(七+4) + ^、
W+Ofc+O …(aK+0 + 、— > (^ + ^) ( 2+4)…(A+O + K ;其中,4 为 的锁存信号,锁存信号由先收到数据信号的数据接收端RXD产生;在发起锁存信号的数据接收端RXD的状态不改变的情况下,其余锁存信号的状态始终保持为锁存时刻产生的值;η彡2的正整数。CAN总线驱动电路由CAN总线收发芯片构成,端口 RXD和TXD分别为数据的输入端和输出端。在CAN总线处于空闲状态时,数据接收端RXD和数据发送端TXD端口的状态均为“I”电平。假设I η个CAN总线驱动电路中的第m (I彡m彡η)个驱动电路先收到信号,此时第m个CAN总线驱动电路的RXD端口就会由空闲时的“I”电平变为“O”电平,同
时各个数据接收端RXD的状态被锁存,即其余RXD端口的“I”状态被锁存;此时^■和4
均为“O”,其余的锁存信号为“I”,使得只有+ …· (ax+0 +心为输入信
号的端口 TXD为“1”,其余的均为“0”,即只有第m个驱动电路处于接收状态其余的端口均处于发送状态,直至第m个驱动电路中RXD接收的信号发送完毕。由于在发起锁存信号的数据接收端RXD的状态不改变的情况下,其余锁存信号的状态始终保持为锁存时刻产生的 值;因此即使其余的CAN总线驱动电路的RXD端口会在延时约100 200ns后出现一个与发送端完全一致的信号,也不会对数据发送端TXD产生影响。本实用新型的基于物理层转发的CAN总线集线器,包括用于对各个CAN总线驱动电路的数据接收端RXD的状态进行锁存的锁存器以及产生锁存信号的时钟产生电路;所述锁存器和时钟产生电路的输入端口与各个CAN总线驱动电路的数据接收端RXD均相连接,时钟产生电路的输出端与锁存器的控制端口相连接,时钟产生电路只有在信号的下降沿出
现时才产生锁存时钟信号;分别为七…士的数据接收端RXD的状态,经由锁存器的产生的
相应状态分别为4 ;数据接收端RXD的信号及其锁存信号经过逻辑门电路在输入到
数据发送端TXD。时钟产生电路利用数据接收端RXD信号的下降沿来触发产生锁存信号,且触发信号的上升沿没有来临之前不再产生新的锁存信号,实现了将锁存时刻产生的锁存信号一直保持下去,直至信号转发完毕。本实用新型的基于物理层转发的CAN总线集线器,实现所述基于物理层转发的CAN总线集线器功能的器件为复杂可编程逻辑器件CPLD。由于集线器的端口较多,一般为4 8个,如果转发电路采用中小规模的数字电路构成,电路复杂,占用电路板面积大,功耗大,维修困难。采用CPLD电路可以有效地解决这个问题。本实用新型的有益效果是本实用新型通过将多路CAN总线驱动电路的数据接收端RXD和数据发送端TXD通过锁存电路和逻辑门电路相连接,实现了基于物理层转发的CAN总线集线器,摒弃了对协议、速率的考虑,转发不同协议和速率的总线信号,无需对集线器的参数重新设置,实现了基于物理层转发的CAN总线集线器,具有即插即用便利性。本实用新型通过设置对各个数据接收端RXD的信号进行锁存的锁存器,以及下降沿驱动的用于产生锁存信号的时钟产生电路,再配以一系列逻辑门电路,有效地实现了 CAN总线数据的转发。

图I为本实用新型中两路CAN总线电路完成数据转发的电路方框图。图中1、2 CAN总线驱动电路,3锁存器,4时钟产生电路,5、8、9、10或门,6、7反相器,11与门。
具体实施方式

以下结合附图与实施例对本实用新型作进一步说明。为了便于说明和理解,我们以如图I所示的两路CAN总线完成数据转发的方框图进行说明。如图I所示,其包括两路CAN总线驱动电路(I、2 )、锁存器3、时钟产生电路4、或门(5、8、9、10)、反相器(6、7)、与门11。CAN总线驱动电路(1、2)由CAN总线收发芯片构成,所示的RXD和TXD分别为数据接收端和数据发送端,用于将总线信号放大和判决形成数据在RXD端出现,并将TXD端发送的数据形成与总线标准要求的信号。时钟产生电路4的输入端口与两路CAN总线驱动电路的RXDl和RXD2端口均相连接,输出端口与锁存器3的控制端口相连接;时钟产生电路4在空闲期间任何一路数据的下降沿出现时,产生一个锁存用的时钟信号,在数据转发期间不产生时钟信号。锁存器3的两路输入端口与两路CAN总线驱动电路的RXDl和RXD2端口均相连接,锁存器3在锁存信号的作用下将数据锁存保持不变。RXDl端口的信号与其自身的锁存信号经过或门5运算后,再输入到与门11的一个输入端口中;RXD2端口的信号与其自身的锁存信号在或门8中运算后,再输入到与门11的另一个端口中,与门11输出为各路总的接收信号。同时,RXDl和RXD2端口信号的锁存信号分别进过反相器6和反相器7的运算后,再分别输入到或门9和或门10的一个输入端;或门9和或门10的另一个输入端均和与门11的输出端相连接。由或门(5、8、9、10)、反相器(6、7)、与门11构成了收发封锁电路,其作用是在本路接收时封锁发送端,在发送时封锁接收端,由于数据都是“O”电平有效,封锁电路一般采用或门。为了便于识别,不采用字母a加下标的形式来标示两路CAN总线驱动电路的数据接收端RXD的状态数值,令端口 RXDl和RXD2的端口状态值分别为A和B。通过数字逻辑电
路分析,可以得出输入到TXDl端口的数值为¢2 + 1) (5 +妒;I + ,输入到TXD2端口的数
值为(』+制5 +妁+友。假设第一路CAN总线驱动电路I接收到了总线上发送的数据,则端口 RXDI的状态2由“ I”变为了 “O”,2和5经锁存器3锁存形成了分别为“O”和“ I”的I和B1 ; 和F在RXDl端口状态没有发生改变之前分别保持“O”和“ I ”不变,这就使得 = 0+#)·(5 + F)+ Ii = I , i 2 = )_(5 + F) +F = O ,使得处于接收状态的 CAN
总线驱动电路I的发送端TXD被封锁,而RXDl端口的信号经由TXD2完整地发送出去。即使TXD2在转发RXDl端口数据的过程中,RXD2端有与TXD2端口相同的信号产生,通过锁存器3的“隔断”,不会对处于发送状态的TXD2端口产生影响。具体的分析为CAN总线驱动电路在没有收到信号的空闲状态时,TXD和RXD都是“I”电平,收到信号时RXD为“O”电平。设第一路收到信号,则RXDl=O,时钟产生电路4采集到RXDl信号的下降沿后输出锁存时钟信号加到锁存器3中,对RXDl和RXD2同时锁存。形成优先级竞争电路,先出现数据的一路将其它路数据锁存,期间其它路再来数据也不起作用。图中1、2 CAN总线驱动电路,3锁存器,4时钟产生电路,5、8、9、10或门,6、7非门,11与门。锁存器3输出,Q1=0,经反相器6输出“I”电平,将或门9封锁,使TXDl=I,即接收时封锁了本路发送端。二路由于没有接收信号,RXD2=1,锁存后Q2=l,经反向器7输出“O”电平将或门10打开。RXDl和Ql经或门5运算后输出为“0”,RXD2和Q2经或门8后输出为“1”,两者在与门11中相与后恢复成总接收数据RXD=O,送到或门9和或门10。由于或门9被封锁,或门10开启,输出的数据加到第二路驱动电路的TXD2端向二路总线上发送。虽然RXD2延时后也会变成“O”电平,但在RXDl=O期间,时钟产生电路4不会再出现锁存脉冲,锁存器输出Q1=0、Q2=l保持不变。与门11将RXD2信号封锁,不会在RXD端出现,即封锁了发送信号在接收端出现。这样就将一路信号转发到了二路,并防止了自发自收现象发生。只有等一路信号接收完毕,RXDl=I后,才能进行下一个信号的转发。二路信号向一路的转发过程同上。利用RXD信号比TXD信号有一定延时的特性,巧妙地采用锁存器将迟到的信号封锁,就可以实现CAN总线信号的物理层中继。集线器中的多路转发情况与之相似,只需要将锁存器改换为多路,并在每路中增加相应的门电路就可以了。由于只是将接收的数据(低电平)波形如实地转发出去,因此与通信协议和速率没有关系,最高速率只是受到锁存电路和门电路延时传输特性的影响,它们一般在ns数量级,与数据脉宽相比(μ s级)很小。因此在整个CAN总线的速率范围内没有问题。·由于集线器端口众多,一般需要4 8个端口。如果转发电路采用中小规模的数字电路构成,电路复杂,占用电路板面积大,功耗大,维修困难。采用CPLD电路可以有效低解决这个问题。CPLD (Complex Programmable Logic Device)复杂可编程逻辑器件,是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。它具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点,可实现较大规模的电路设计,因此被广泛应用于产品的原型设计和产品生产之中。采用CPLD器件后,集线器的全部转发电路在一个芯片中实现,外部电路简单,抗干扰能力强,功耗低。信号延时时间短,实测在200ns以下,CAN总线的通信距离影响小,约相当于30米左右传输线。且具有较强的保密性,可以防止人为仿造。
权利要求1.一种基于物理层转发的CAN总线集线器,包括用于CAN总线协议信号收发的多路CAN总线驱动电路;设CAN总线驱动电路的数目为η个,I η个CAN总线驱动电路的数据接收端RXD的状态分别为^并设不存在两路总线同一时刻收到信号的情形;其特征在于,输入到I η个CAN总线驱动电路的数据发送端TXD的信号依次为“+ <) …· (βκ + ilH) + a{、(flI + l3I)·( + ) ... {ax +ax) + l3S、...、(1 + i3I)· (a2 + a2) ... (β* +iO+ < ;其中,4为^的锁存信号,锁存信号由先收到数据信号的数据接收端RXD产生;在发起锁存信号的数据接收端RXD的状态不改变的情况下,其余锁存信号的状态始终保持为锁存时刻产生的值;n彡2的正整数。
2.根据权利要求I所述的基于物理层转发的CAN总线集线器,其特征在于包括用于对各个CAN总线驱动电路的数据接收端RXD的状态进行锁存的锁存器(3)以及产生锁存信号的时钟产生电路(4);所述锁存器和时钟产生电路的输入端口与各个CAN总线驱动电路的数据接收端RXD均相连接,时钟产生电路的输出端与锁存器的控制端口相连接,时钟产生电路只有在信号的下降沿出现时才产生锁存时钟信号;分别为的数据接收端RXD的状态,经由锁存器的产生的相应状态分别为4·· 4数据接收端RXD的信号及其锁存信号经过逻辑门电路再输入到数据发送端TXD。
专利摘要本实用新型的基于物理层转发的CAN总线集线器,包括多路CAN总线驱动电路;设1~n个数据接收端RXD的状态分别为…;其特征在于,输入到1~n个CAN总线驱动电路的数据发送端TXD的信号依次为…+、…+、…、…+;其中,为的锁存信号,锁存信号由先收到数据信号的数据接收端RXD产生;在接收端RXD的状态不变时,其余锁存信号始终保持为锁存时刻产生的值;n≥2的正整数。本实用新型摒弃了对协议、速率的考虑,无需对参数重新设置,具有即插即用便利性。
文档编号G06F13/40GK202711247SQ201220275060
公开日2013年1月30日 申请日期2012年6月12日 优先权日2012年6月12日
发明者黄程云 申请人:黄程云
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1