一种环形光纤CAN总线网络 技术领域
本发明属于CAN总线网络,特别是一种传输介质基于光纤的环形CAN总线网络。
背景技术
CAN(Control Area Network)总线是一种串行多主站控制器局域总线,具有很好的网络安全性、通信可靠性和实时性,网络成本低。特别适用于汽车和各种工业控制领域。该网络可工作在环境恶劣、电磁辐射强、振动大的工业环境。其传输介质可以采用双绞线,同轴电缆或光纤,数据传输速率可达1Mbits/s。目前双绞线的CAN总线得到广泛应用,双绞线CAN总线各项技术已经十分成熟。双绞线CAN总线常采用CAN收发器如82C250来完成电平转化,将CAN控制器输出的逻辑电平转换成抗干扰能力较强的差分信号完成报文的发送和接收。双绞线CAN总线网络在一定程度上能提高总线的抗干扰能力。但是当工作环境特别复杂时,其抗干扰性能力并不十分令人满意。
在现代通信网中为了解决大容量、高速率、远距离数据传输问题,产生了光纤通信网。与双绞线和同轴电缆相比,光纤的另一优越性能——强大的抗电磁干扰能力,引起人们的关注。为进一步提高CAN网络的性能,采用光纤作传输介质十分必要。目前,由于技术难度大,光纤CAN网络各项技术还未成功开发,故未得到广泛应用。但若在光纤CAN网络中使用CAN收发器,将给网络带来较大的延时,使网络的性能变差。
光纤CAN网作为一种工业底层控制局域网,其拓扑结构与常用局域网一样,基本拓扑结构有总线形、环形和星形。由于光传输的单向性使得环形网络结构成为重要组网方案之一。
发明内容
本发明所要解决的技术问题是:设计一种光纤CAN环网接口,并构建一种环形光纤CAN总线网络。其中光纤环网接口电路功能是:支持CAN总线控制器链路层通信协议,完成环网中报文的正常发送、接收和转发功能,同时提高CAN总线抗干扰能力,减小传输延时。
本发明解决上述技术问题所采用的技术方案是:在环形CAN总线网络中不使用CAN收发器。
环网接口电路内的互接采用电气连接,具体连接关系是:
各节点CAN控制器的输出TX0连接一个与非门b的输入端,并通过一个延时模块a连接与非门b的另一个输入端,还与一个与门d的输入端连接;
一个或门c输入端分别连接CAN控制器的输入RX0和与非门b的输出端,其输出端与与门d的另一个输入端连接;
与门d的输出与电光转换模块LED连接;
CAN控制器地输入RX0还连接有光电转换模块PIN。
环网中各个CAN节点与环网接口电路之间采用电气连接;各CAN节点经环网接口电路通过光纤构成环形光纤CAN总线网络。
发送节点CAN控制器的电光转换模块LED与接收节点CAN控制器光电转换模块PIN连接;
接收节点CAN控制器的电光转换模块LED与下游接收节点CAN控制器光电转换模块PIN连接如此循环,最后一个接收节点CAN控制器的电光转换模块LED与发送节点CAN控制器的光电转换模块PIN连接而形成环网。
为遵守CAN总线控制器在链路层的协议,设计一种光纤环网接口。该环网接口功能是:对CAN总线上主节点进行报文的发送和接收,但对接收到的报文不转发,消除环形光纤CAN总线网络的自激现象,保证环网不被堵塞;对CAN总线上从节点实现报文的接收以及转发,使环网中下游节点能接收上游节点的报文;对CAN总线应答帧信息进行接收和及时阻塞,保证总线上应答帧信息经过环路传送给发送节点,实现正常的报文传输协议;采用简单的RC充放电电路构成延时电路,产生比环路传输延时稍长的延时信号解决由环网自激现象导致网络的堵塞问题。
本发明无需使用CAN收发器,直接将CAN控制器经环网接口连接到环形光纤网络中,不仅减小总线传输延时,而且提高了总线抗干扰能力。采用该光纤环网使得CAN总线网络的安全性、通信可靠性和实时性都到大大提高。
附图说明
图1为本发明实施例网络结构电路图,虚线中为环网接口电路原理图。
图2为环路中处于发送状态节点单元各个端口电平时序图。
图3为环路中处于接收状态节点单元各个端口电平时序图。
图4为环路中延时电路原理图。
具体实施方式
下面结合附图及实施例进一步说明本发明,但该实施例不应理解为对本发明的限制。
如图1所示,CAN控制器的TX与RX的电平为TTL电平,因而在环形CAN总线网络中不需要电平转换,直接采用电光转换模块LED和光电转换模块PIN进行光纤环网的报文传输。采用这种方式无需使用CAN收发器,减少了总线上传输延时;同时简化环网接口电路。采用光纤作为传输介质使得整个系统的抗干扰性更好,整个系统的稳定性得到提高。
如图2所示,假定在CAN总线网络中,通过竞争节点1成为网络的主节点(发送报文),则此时其它节点均为从节点(接收报文)。TX1表示发送节点CAN控制器的TX端发出的信号;RX1表示发送节点CAN控制器的RX端接收的信号,delay1表示环网传输延时,ACK表示总线上接收节点发送的应答信号;a1表示发送节点CAN控制器的TX1端发出信号的延时后的波形,delay2表示了接口电路中延时模块(delay)延时;b1表示TX1信号和经过延时后信号的与非后的波形,作为或门的一个输入信号使得在TX1发送一帧信息时c1端总保持高电平,这样使得本节点的RX1端接收到的信号不再转发,解决了环网自激现象导致网络堵塞问题现象。对于接收到的应答信号ACK,在主节点的下游接收节点将对该信号进行处理。
如图3所示,RX2端在接收从环路中上游节点发送出来的数据或者转发过来的数据,同时也会接收到从上一个节点传输过来的应答信号ACKr,对于该信号将会和b2端信号进行或运算而被滤掉不再转发到下一个接收节点;TX2端时序图中ACK信号为接收节点发送出来的应答信号,该信号会传输到下一个接收节点被下一个接收节点接收但不会再被转发下去;d2端为发送到下一个环路节点的信号,ACK表示的是该接收节点发送出来的应答信号,而对于从上一个节点发送出来的应答信号ACKr已被接口电路滤掉。对于环网上的其余每一个节点都按照这样的时序进行工作,接收环网上一个节点传输过来的信号(包括数据信息和应答信号信息),然后经过接口电路转发其中的数据信息而滤掉上一个节点传输过来的应答信息,同时也会向总线上发送该节点发出的应答信号信息。
如图4所示,通过上述发送节点与接收节点时序图的分析,说明了该环形光纤CAN总线网络的环网接口电路工作方式符合CAN总线链路层的传输协议,能够保证整个环路各节点的正常工作。对于该环网接口电路,其中关键的一点是怎样根据总线的传输延时来确定延时电路的参数。延时电路的设计有很多方式,不但可用模拟电路实现还可用数字电路实现,在此以RC延时电路为例进行说明。假定环形光纤CAN网中有四个节点。通过测试,经过4个节点的环路延时为130ns,因此在设计延时电路时,该延时要大于环路的传输延时,这样才能达到对相应的数据进行处理,否则会出现毛刺使得总线报文传输出错。
由以上分析,延时电路需满足如下条件:
Td<Δτ<Ts
该不等式中Td表示环路传输延时,Δτ为延时电路的延时,Ts为传输信号的位周期。针对不同的网络节点测量出整个环路传输延时,根据总线信号的传输波特率计算信号传输周期,然后确定RC延时电路的延时参数R、C。在实际网络测试中,若总线波特率设置为125kbit,因此该延时电路延时时间要小于8us,大于环路延时130ns。
以上条件满足了信号的延时要求,同时由于该RC延时电路具有滤波特性,因此RC在满足延时要求的同时,尽量不要过大,以免对传输的信号滤掉。根据上述条件实际测试中采用R=3KΩ、C=82pF网络性能最佳。
本发明经过测试,完成遵守CAN总线在物理层和链路层的协议。能够完成报文的快速、正确的传输,减少了总线延时。在本发明中,针对环网节点数目的不同,根据环路传输延时以及总线波特率对RC参数要进行调节。