光纤CAN总线自愈环网的研究

2007-03-09 19:03:27来源: 互联网
摘要:介绍了光纤单CAN网络的工作特点及其不足。为提高光纤CAN网络的生存性,设计了光纤CAN总线自愈环网。采用塑料地(POF)为传输介质,用波长为650nm的红光光电收发器件实现光/电转换。分析了CAN网络数据帧的结构特点,给出了基于CPLD的自愈接口电路的实现方法。通过组建车载光纤CAN总线自愈环网,证明该网络不但具有自愈功能,还能消除光纤CAN环形网络中的阻塞现象。 关键词:CAN 自愈环 CPLD 接口电路 塑料光纤 CAN总线是德国Bosch公司于20世纪80年代初为解决汽车中众多数据交换而开发的一种串行数据通信协议。由于其具有卓越的特性,CAN总线成为目前公认的几种最有前途的现场总线之一。CAN总线的传输介质可以是双绞线、光纤和同轴电缆。目前双绞线CAN总线已得到了广泛应用,各项技术已经成熟。双绞线CAN网络在技术在容易实现、造价低廉,且对环境电磁辐射有一定抑制能力。但是当工作环境特别复杂时,其抗干扰能力并不十分令人满意。如在电动汽车现场,情况较为复杂,车载电气系统会产生强电磁干扰,将导致双绞线CAN网络不能正常工作。与双绞线和同轴电缆相比,光纤的优越性能--强大的抗EMI能力引起人们的关注。为进一步提高CAN网络的性能,应采用光纤作传输介质。由于车载局域网传送距离短,同时为了降低车载光纤CAN网络的成本,可选用塑料光纤(POF)作为传输介质。塑料光纤在高速短距离通信传输中成本低、易连接、可绕性好、重量轻,故组网成本低。德国宝马公司在2002年3月上市的最高级新款轿车"BMW7系列""中采用于50m POF构筑车内局域网。 光纤CAN网作为一种工业底层控制局域网,其拓扑结构与常用局域网一样,基本拓扑结构有总线形、环形和晕形。在光纤单环CAN网络中,由于器件的延时将导致环路信号自激,使环形CAN网络堵塞(或称为锁死)。为遵守CAN总线控制器在链路层的协议,应设计一种光纤CAN单环网专用逻辑控制单元LCU。该单元的功能是:对CAN总线数据实现收发控制,即主节点对接收到的数据不转发,当数据沿光纤环回到原发送节点时,立即被剔除;从节点对接收数据实现转发。同时还可消除环形光纤CAN总线网络的自激现象,保证环网不被堵塞。 Q光纤单环网络中,节点或链路的故障可能造成网络的瘫痪。为了提高光纤环网的生存性,应构成具有自愈功能的光纤双环自愈网。 图1 1 光纤自愈环CAN网总体设计 1.1 光纤自愈环结构 光纤自愈环CAN网络如图1所示。该网络有两条光纤环路--顺时针环和逆时针环,各节点CAN控制器SJAl000通过接口电路与双环光纤网相连,接口电路由Altera公司出产的复杂可编程逻辑器件(CPLD)EPM7128S、两个光发送器LEDR和LEDL、两个光接收器PINR和PINL组成。 1.2 接口电路的功能 光纤自愈环CAN网接口电路的功能是:(1)当光纤双环通信正常时(如图2(a)所示),各节点右端光发送器 LEDR传送左端光接收器PINL的数据,信号顺时针传送;同理LEDL传送PINR的数据,信号逆时针传送,即发送器选择对侧数据转发。(2)当单根光纤故障时(如图2(b)所示),下游C节点接口电路实现环回,由于左侧光接收器PINL无信号,右端光发送器LEDR选择同侧光接收器PINR数据转发。(3)当任意节点间两根光纤故障时(如图2(c)所以),如BC节点间光纤被切断时,则B、C两个节点与光纤切断点相连执行环回功能。此时,从A到C的信号AC则先经顺时针环到B,再经逆时针环过A、D后到达C。而信号CA则仍经顺时针环传输。这种自愈功能保证在故障情况下仍能维持环的连续性。故障排除后,倒换开关自动返回原来位置。(4)实现节点CAN控制器数据选择接收。其原则为:对于各节点接收的顺、逆时针数据,选择PINL、PINR中先到达的数据接收。(5)实现节点数据选择发送。其原则为:当总线空闲时,选择本节点CAN控制器发送端TX发送数据,可消除环形光纤CAN总线网络的自激现象,保证环网不被堵塞;当本节点CAN控制器为接收节点时,选择对侧数据发送;当本节点CAN控制器为接收节点时,且对侧光纤通道故障,则选择同侧数据发送。(6)判别各通道帧起始和帧结束,鉴别总线是否空闲,网络是否故障。如判断到左测光接收器PINL有数据帧正在传送时,产生左侧发送数据标志flag_l和网络通信状态标志sync_l。 2 接口电路设计 光纤CAN自愈网的自愈功能及收发控制功能由可编程逻辑器件(ALTERA EPM7128SLC84一15)实现,编程采用VHDL语言。下面进行具体介绍。 2.1 输入输出口设置 图3为接口电路CPLD的I/O口示意图。其中,输入输出pin_l、led_l、1ed_r、pin_r分别与光/电转换模块PINL、LEDL、LEDR、PINR相连:txd、rxd分别与CAN痉制器的数据发送端TX、接收端RX相连;flag_txd=1代表本节点CAN控制器TX0正在发送数据帧;flag_l=1代表左侧通道正在发送数据帧;flag__r=1代表右侧通道正在发送单据帧。sync_l为左侧网络通信状态标志,sync_r为右侧网络通信状态标志。当左通道正常时,输出sync_1="l",驱动网络状态发光二极管D_sl亮;当右通道正常时,输出sync_r="1",驱动网络状态发光二极管D_sr亮;若网络状态发光二极管D_sr或D_sl灭,表示网络对应光纤通道出了故障。当本节点CAN控制器选择左通道数据接收时,输出端rx_l/r为高电平;当本节点CAN控制器选择右通道数据接收时,输出端rx_l/r为低电平。输入端reset为复位端,低电平有效;clk0为时钟输入端,输入时钟的频率为20MHz。 图2 2.2 CPLD功能结构 CPLD为控制环网自愈接口单元,控制电路由分频器、中心状态机、发送数据选择器、接收数据选择器组成,如图4所示。 2.3 分频器 通讯接口CPLD时钟频率为20MHz。在光纤CAN自愈环网中,各节点CAN控制器SJAl000和CPLD接口采用独立的工作时钟。为使状态机产生的flag的信号与CAN控制器数据传送同步,以保证两个数据选择器的切换和数据传送同步,应正确选择状态机的时钟。本文中CAN网数据传送波特率是125kbit/s,状态.机时钟rxclk的速率设计为数据传送波特率的8倍,即1Mbit/s,保证在一个CAN数据位周期中可对数据读取多次,提高抗干扰能力。所以分频器的功能为产生1MHz的时钟频率。 2.4 中心状态机 依据CAN 2.0B协议,CAN网络数据帧由7个不同的位场组成,即帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结束。数据场长度可为0~8个字节。帧起始位是一个显性位低电?quot;0";帧结束是由7个隐性位"1"组成的序列;在数据帧传送中,使用位添充技术编码,保证数据帧位流中不会出现5个连续的"1""或""0"。 中心控制状态机是本设计的核心单元。中心状态机的功能是:(1),检测CAN数据帧的帧起始和帧结束,产生相应的发送数据标志信号flag_txd、flag_r和flag_l。(2)产生网络通信状态标志sync_r和sync_l。中心状态机由:三个状态机组成:本节点CAN控制器状态机、左通道状态机和右通道状态机。它们分别判别各通道(TX、PIN_L和PIN_R)是否有数据传送。下面对各处状态机的解释均以本节点CAN控制器状态机为例。 各状态机设置了61个状态, 即idle、S1、S2、S3…S60。当总线空闲时,状态机处于空闲态idle,此时rxclk上沿到来,检测到txd=0时,状态机转向S1,同时发送数据标志置位信号flag_txd="1";第二上沿时,状态机无条件转向S2;第三上沿时,状态机无条件转向S3;第四上沿时,状态机无条件转向S4;第五上沿到来时,此时是数据位的中央位置,数据稳定,对数据再次读取,若txd="0"的条件仍成立,表示帧起始到来,状态机转向S5;否则flag_txd="0",同时状态机转向空闲态idle,等待帧起始的到来。 当状态机处于S5时,此后rxclk(1MHz)每过一个时钟周期,状态机状态前进一步(S6、S7、S8、S9、S10、S11、S12、……、S58、S59、S60);每过8个时钟周期,对CAN总线上的数据位进行一次检测(S12、S20、S28、S36、S44、S52、S60),保证每次检测在数据位(位周期)中央。当连续7次txd="1"时,检测到"1"表示"帧结束""到来,发送数据标志复位flag_txd="0",等待下一次帧起始的到来;否则状态机返回状态S5,等待帧结束的到来。 网络通信状态sync_r、sync _l是进行环网自愈的重要依据。如上所述,当左右通道发送数据状态标志flag="1""时,各通道网络通信状态sync="1",网络状态发光二极管D_sr、D_sl亮;当帧结束到来时,flag="0",启动网络通信状态计数群count,其时钟为rxclk=1MHz,当计数器为30000时(30ms),sync="0",网络状态发光二极管D_sr、D_sl灭。这表示某数据帧传输后,如果再也检测不到其它数据帧起始,则网络出了故障。如果在30ms内能检测到数据帧起始(flag置位),网络通信状态标志sync持续为"1"。 计数器达到满值的时间应为估算的帧间最短时间间隔。 2.5 数据选择器 发送数据选择器和接收数据选择器的功能是实现链路搭建(即通道选择)。为保证网络正常工作,CAN网络延时应小于一个数据宽度(位周期)。为使链路搭建时间尽可能短,使用最高时钟频率(20MHz)控制两个数据选择器。 在发送数据选择器中,CPLD检测三路通道数据txd、pin_l、pin_r。各通道数据具有不同的优先级。优先级的设置为:当本节点发送数据(txd="0"或flag_txd="1"")时,左右通道发送CAN控制鞣⑺投薚X的数据,即led_r=txd,led_l=txd。若本节点不发送数据,则依据sync_r和sync_l选择发送数据,当左右通道均正常时,选择对侧数据发送,led_r=pin_l,led_l=pin_r。如果某通道故障,接收不到对侧数据,则选择本侧数据发送,led_l=pin_l,led_r=pin_r。据此,不仅实现了网络自愈,也消除了环网阻塞问题。 在接收数据选择器中,设定左通道为首选接收通道;当左通道数据未到时(flag_l="0"")或左通道故障时,不需人为干预,自动选择右通道接收。据此实现了接收优化(选择优先到达通道数据接收)以及光纤CAN总线双环网的自愈功能。 在电动车内组建光纤CAN自愈环网,采用塑料光纤作为传输介质,塑料光纤在可见光区有低损耗窗口,选用工作波长为650nm(红光)的光/电转换模块--Agilent公司生产的光发送器HFBR-1528和光接收器HFBR--2528。各节点CAN控卸器选用SJAl000或带CAN控制器的TMS320LF2407 DSP芯片,组成4个节点车载光纤CAN自愈环网。CAN网络的数据传送速率设置为125kbit/s,当设置某条通道故障时,网络能实现图2(b)所不的自愈功能;当设置任意节点之间的两根光纤故障时,网络能实现图2(c)所示的自愈功能。当CAN节点故障时,接口电路仍能保证双环网正常工作;但当接口电路故障时,将导致本节点脱离总线,其它节点实现网络自愈,构成单环网。通过示波器观测波形,发送节点通过总线竞争发送数据;接收节点能向总线上发送应答信号;节点数据通过4节点光纤CAN自愈环返回原节点的时间小于100ns。经测试,通道故障网络自愈时间为301ms。

关键字:光纤  can总线  自愈  研究

编辑: 引用地址:http://www.eeworld.com.cn/wltx/qtjs/200703/2905.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
光纤
can总线
自愈
研究

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved