实时隔离传输的CAN总线中继器
2013-04-29姚志生
姚志生
摘 要: 介绍了一种CAN总线的实时传输的中继技术,它具有实时传输的、隔离的、容错处理的功能,用于长距离的、多点的CAN总线通信系统中。
关键词: CAN总线;中断器
中图分类号: TB
文献标识码: A
文章编号: 16723198(2013)06016802
0 引言
CAN总线是近年来非常流行的几种现场总线之一,它规范了设备互联系统中的物理层和数据链路层是一种多主方式的串行通信总线,可以组建多主对等的总线通信系统,因其非破坏性总线仲裁技术和强大的错误检测机制,其传输具有高可靠性,广泛应用于汽车、航天等工业领域中。
在大型的CAN总线网络系统中,许多的设备挂接在CAN总线上,如图1。由于CAN总线的带载能力的限制,不能让所有的设备均挂在同一根CAN总线上,为此,常把CAN总线分成几段,每一段CAN总线上挂接的设备数量减少,保证每段CAN总线能正常驱动设备,并在每段CAN总线之间接入CAN连接器,把分段CAN总线连成一个整体网络,称为复合CAN总线。如图2。
目前,CAN总线连接技术有CAN中继器、CAN网桥和CAN网关。
网桥跨接在CAN总线上,随时监控接收每一段CAN总线上的每一帧数据(一帧数据常有几十位数据),并缓存在其存储器中,然后再向另一段CAN总线上竞争发出此帧数据。这两段CAN总线上的数据不进行实时仲裁处理,并且,当某段CAN总线故障时,不影响另一段CAN总线的运行。但是,因其数据缓存,使数据在复合CAN总线上的传输至少有一帧的延时。
1 实时传输的CAN中继器的提出
在煤矿综采工作面液压支架电液控制系统中引入CAN总线技术,电液控制系统由200多台支架控制器组成一个线性网络,整个网络的长度达1000多米,支架控制器的供电采用分布式供电,CAN总线作为支架控制器间的控制数据交换链路。因为CAN总线的驱动能力的限制和分布供电的特点,常把200多台支架控制器分成多个组,每个组内的支架控制器挂接在同一根CAN总线上,组间采用CAN中继器把多个CAN总线段联接成一个复合CAN总线。
2 实时传输的CAN中继器的内部框图
一种实时传输的CAN中继器,其内部功能框图如图3,它由CAN收发器模块、脉冲宽度限制模块、脉冲后沿延时模块、优先竞争模块、光耦隔离器组成。它跨接在CAN总线上,把CAN总线分开为两段,随时监控接收每一段CAN总线上的每一位数据,并同时向另一段CAN总线上竞争发出此位数据。具有传输速度快、电气隔离、双向按位竞争实时传输、总线保护功能。
3 实时传输的CAN中继器的传输模式
CAN总线上的位信号有两种状态,分为显性位(比如逻辑0)和隐性位(比如逻辑1),其运算(竞争)规则如下:显性状态位优于隐性状态位。当挂接在总线上的一个设备向总线发出显性位的同时,另一个设备发出隐性位,此时总线表现为显性位,CAN仲裁机制要求后一个设备停止发送数据。
CAN中继器跨接在CAN总线上,有4种工作状态,完成两段CAN总线上信号状态的同步竞争传输,如下表所示。传输原则是:显性传输,即把一边CAN总线上的显性状态传输到另一边CAN总线上。为了防止CAN总线上数据的循环死锁,要求传输方式只能有为“分时单向传输”或“不传输”,严禁“同时双向传输”。如果是“同时双向传输”,则当S1为显性位时,它传到S5,使S5也为显性位,此时,S5的显性位也反向传到S1,使S1为显性位,从而锁定S1为显性位。
CAN中继器内部有控制流和数据流。数据流是被传输的信息的通道,数据流有:S1→S2→S3→S4→S5和S5→S6→S7→S8→S1。控制流完成数据传输与否的控制,控制流有S2→S9,S7S→10,S11,S12。
4 实时传输的CAN中继器的内部模块
4.1 CAN收发器模块
“CAN收发器模块”完成CAN总线信号电平与TTL逻辑电平的竞争转换。比如“CAN收发器模块1”,S2随时跟踪S1的状态,当S1为显性位时,S2为逻辑电平0,当S1为隐性位时,S2为逻辑电平1;同时,数据S8在S11的控制下输出并与S1进行竞争合并。
4.2 光耦隔离器
“光耦隔离器”对信号进行隔离传输,完成其两边电气的隔离。
4.3 优先竞争模块
“优先竞争模块”完成传输方向的选择,其选择方式如表2所示,完成把一边CAN总线上的显性状态传输到另一边CAN总线上。
4.4 脉冲宽度限制模块
“脉冲宽度限制模块”对输入的显性信号的宽度进行限制,当输入的显性电平宽度过宽时,则强行转换为隐性电平。比如,当S2长时间为显性电平时,经过“脉冲宽度限制模块2”后,S3不长时间为显性电平,再经S4,到达S5,就不会长时间地引起S5为显性电平,从而保证S5不受S1的长时间显性电平的锁死。
4.5 脉冲后沿延时模块
脉冲后沿延时模块,对控制信号的显性脉冲的后沿进行延时。
数据流在中继器内传输时有延时。比如,S1的显性状态脉冲向S5传输过程中,当S1的显性状态脉冲后沿到达时,S1已经变为隐性态,由于传输延时,此时,S5仍然为前面的显性状态, S5的显性态就要回传到S1,形成死锁。为了防止此时的回传,处理方式有两种,一种方式是此时段禁止传输,另一种方式是此时段维持原来的从S1向S5的传输方向。本中继器采用第二种处理方式,对显性脉冲的后沿进行一小段时间的延时,用延时后的显性脉冲去进行传输方式的选择,从而延长了传输控制时间。
5 结论
实时传输的CAN中继器,具有透明的传输功能,它接入CAN总线上,不影响CAN上设备原有的竞争传输功能,适用于要求有实时控制的CAN总线控制系统中。