光纤CAN总线集线器及其组网研究
扫描二维码
随时随地手机看文章
1 引言
CAN是一种采用无破坏性位竞争机制实现串行多主通信的现场总线。由于具有抗干扰能力强、报文短、实时性好和组网成本低等优点,CAN总线被广泛地应用于环境恶劣、电磁辐射大、对可靠性要求高的工业自动化现场和汽车部件控制等领域。
最常用的CAN总线物理层传输介质是双绞线。ISO11898-2定义了以双绞线为介质的高速CAN总线物理层标准。在CAN总线中,网络可实现的最高速率与总线的尺寸有关。例如当线缆长度不大于40 m时可实现的最高速率为1 Mb/s。实际使用时,以下几个原因会造成最高可实现速率的下降:
1)总线上接入的节点过多造成总线参数失配;
2)节点上加装的过压过流保护电路造成总线参数失配;
3)节点的地域分布过大,太长的电缆造成总线参数失配。此外,当总线的工作环境过于恶劣,如节点间的共模电位差超出物理层收发器件允许的最大值时,总线也不能正常工作。
光纤通信具有速率高、抗电磁干扰能力强等一系列优点,但目前国际上还没有制定出以光纤为传输介质的CAN总线物理层标准。因此研究光纤CAN总线的组网方法,解决CAN总线的大容量和远距离组网问题。对促进新标准的形成具有十分重要的意义。
据有关资料报道光纤在CAN总线中的应用主要有以下几种方案:
1)单节点光纤隔离方案:该方案类似于用光收发器和光纤对替换图l中1#节点中的一对光隔,解决超高电压等恶劣环境中单个节点的远距离隔离问题一剖。2) 中继器方案:该方案中的2个双绞线CAN总线子网通过2台CAN中继器和1对光纤对相连。经特别设计的中继器能抑制互联环路中信号的自发自收造成自激阻塞网络现象。
3)环型组网方案:文献[9一12]介绍了构建CAN总线光纤环网和自愈环网的方法。这类环网主要适用于地域较广、接入节点较少和网速较低的场合。这类环网也存在信号传输环路,故也存在有可能自激造成网络堵塞的问题。此外环网案也不便于与双绞线CAN总线子网实现级联扩展。
4)星型组网方案:文献[13]介绍了一个简单的4节点星型拓扑结构的光纤CAN网络。文中并未对构成星型光纤CAN网络的一般工作原理、设计方法和网络扩展等问题展开讨论。
本文在简述了双绞线CAN总线物理层的工作原理和主要特点基础之上,提出了一种基于光纤CAN总线集线器的具有星型拓扑结构的CAN总线组网方案。详细介绍了光纤CAN集线器的设计方法和工作原理,讨论了2种基于集线器的级联扩展组网方法。实际设计了一个八口的集线器并对其通信性能进行了初步测试,验证了这种组网方案的可行性。
2 双绞线介质CAN总线物理层的特点
图1是n个节点构成的双绞线介质CAN总线网络结构图。图中各节点中的微处理器未画出,节点CAN控制器通过光隔(也可以不用光隔)与CAN收发器相连后接到双绞线CANH、CANL上。CAN网络物理层中的Medium Dependent Interface和Physical Medium Attachment两个子层由CAN收发器实现;Physical Signaling子层则在CAN控制器中实现。数据链路层(包括LLC和MAC两个子层)也在CAN控制器中实现。
根据有关标准的规定,CAN控制器和收发器引脚TX和RX处的“隐性”位和“显性”位的信号电平分别定义为高电平“1”和低电平“0”。相应地总线上差分电压Vcanh-Vcaml>0定义为“显性”位,Vcanh-Vcaml<=0定义为“隐性”位。
当多个节点竞争总线控制权时,发送节点发出的总线仲裁位(ID号)信号在总线上与其他节点发送的位信号“线与”后,送到各个节点的控制器的RX端(也包括发送节点本身),保证所有节点都能监听到总线上的状态。在总线上(由CAN收发器完成)“隐性”位与“显性”位“线与”的结果为“显性”位;“隐性”位与 “隐性”位“线与”仍然为“隐性”位,保证了CAN总线多主无破坏性的位竞争总线仲裁机制在CAN控制器中的实现。
此外、由于CAN总线报文固有的位仲裁、应答位和错误帧传输机制,数据位信号的传输方向即使在同一数据帧内也会发生变化,因此出现在总线上的每一位数据位必须在规定的时间内被总线上的所有节点(包括发送节点本身)正确接收,通信才可正常进行。这一特点也决定了CAN总线的网络半径与通信速率成反比的关系。
综上所述双绞线介质CAN总线收发器完成物理层信号传输工作的3个主要特点为:
1)在CAN控制器的引脚TX、RX处和总线上合理地定义“隐性”位和“显性”位的信号电平;
2)多节点发送数据时要能实现位信号的“线与”;
3)所有节点(包括发送节点)在任何时刻都必须能监听到总线上的位信号。
3 光纤CAN总线集线器结构及其工作原理
采用光纤介质构成CAN总线网络时,保留图1所示节点中的CAN控制器,将双绞线CAN的物理层(包括光隔、CAN收发器和双绞线)用光收发模块、光纤和能够实现位信号“线与”的部件替换。新构成的物理层仍然需要满足上述CAN总线信号传输的3个特点。
图2是本文提出的一种基于光纤CAN总线集线器的组网结构图。集线器具有n个光口和1个电扩展口。每个光口都有1对光电转换模块PIN和电光转换模块 LED,并通过l对光纤分别与光节点中的LED模块和PIN模块相连。光节点中只有CAN总线控制器(其他与CAN无关部分未画出),其输入脚RX接 PIN的输出端,其输出脚TX接LED的输入端。集线器也可通过电口扩展电路与1个2对双绞线构成的CAN总线子网相连。
集线器的原理框图(虚线框内)如图3所示,由一片复杂可编程器件CPLD、n个光电转换模块PIN、n个电光转换模块LED和电扩展口电路构成。n个 PIN的输出接CPLD的输入脚RX(1)?RX(n);CPLD的输出脚TX(1)?TX(n)接各个LED的输入端。
电口扩展电路由CAN收发器1、CAN收发器2、光隔1和光隔2构成,并通过2对双绞线与外部相连。收发器1只工作在接收状态(TXl接“隐性”电平),从双绞线1#(CANH1,CANL1)接收到的信号经过收发器l和光隔1后达到CPLD的RX(n+1)脚;收发器2只工作在发送状态(RX2悬空),从CPLD的TX(n+1)脚发出的信号经过光隔2和收发器2后到达双绞线2#(CANH2,CANL2)。[!--empirenews.page--]
在CPLD的引脚TX(1)-TX(n+1)和RX(1)-RX(n+1)处,仍然定义“隐性”位和“显性”位分别对应高电平和低电平。结合LED和 PIN模块的驱动特点,并经过适当地信号反相,可设计光纤中有光信号传输时对应“显性”位;无光信号传输时对应“隐性”位。如此设计实现了上述CAN信号传输的第1个特点。
集线器中CPLD主要实现上述CAN信号传输的第2、3两个特点。其逻辑按下列n+1个ABEL语言方程组设计实现。
TX(i)=RX(1)&RX(2)&...&RX(n)&Rx(n+1)(1)
式中:i=1~(n+1)。程式组(1)的含义是各个节点送入CPLD中的n+1个信号RX(1),RX(2),...,RX(/9,),RX(n+1) 全部相“与”后,再从n+1个输出脚TX(1),TX(2),...,TX(n),TX(n+1)送回各个节点。即采用CPLD的逻辑“与”实现了双绞线的“线与”功能;将逻辑“与”后的信号送回保证了总线上各节点可在任何时刻监听到总线上的数据位信号。
这样设计的光纤CAN总线的物理层也具有前面总结的CAN总线信号传输的3个特点,故可以保证在其物理层之上与CAN总线原有的标准完令兼容。
还需说明的是当集线器的第i个光口悬空未用或光缆意外故障断开时,对应的PIN无光信号输入(传输的是“隐性”位),CPLD的输入脚RX(i)=“1”,也为“隐性”电平,故不会影响方程式组(1)的“与”效果,不会阻塞影响其他节点的正常通信。