当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]CAN总线是德国Bosch公司于20世纪80年代初为解决汽车中众多数据交换而开发的一种串行数据通信协议。由于其具有卓越的特性,CAN总线成为目前公认的几种最有前途的现场总线之一

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控制器状态机为例。[!--empirenews.page--]

 

各状态机设置了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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在这个AI计算越来越受到关注的时代,德国一个科学家团队开发了一种可能改变游戏规则的解决方案。

关键字: 无芯片计算机 光纤 计算机 光波

CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。

关键字: can总线 通信 电子控制

随着这两个必要的条件的相续出现,光纤通信开始了它的飞速发展,拉开了光纤通信这个通信行业中最为重要的传输手段之一的技术的序幕。

关键字: 光纤通信 光纤 激光器

光通信是以光波为信息载体,以光纤为传输媒介的通信方式。相比传统的电通信,光通信具有传输带宽大、传输损耗低、成本低、保密性好等优点。光通信系统的基本组成包括光源、光发送机、光纤、光接收机和光检测器等设备。

关键字: 光通信 光纤

由南卡罗来纳州州长亨利·麦克马斯特(Henry McMaster)阁下揭幕  投资5600万美元  承诺推动美国乡村宽带建设并...

关键字: 光纤 电缆 ST BSP

光纤测温系统分为三种,一种是荧光光纤测温、一种是分布式光纤测温、还有一种是光纤光栅测温。

关键字: 光纤 高温 测量仪 荧光光纤测温

CAN总线和485总线都是常见的串行通信协议,它们在工业自动化、机器人控制等领域被广泛应用。本文将从物理层、数据传输方式、网络拓扑结构、通信速率和应用范围等方面比较CAN总线和485总线的区别。

关键字: can总线 485总线

CAN总线是一种串行通信协议,能有效的支持具有很高安全等级的分布实时控制 应用范围十分广泛,从高速网络到低价位的多路接线都可以使用CAN,主要运用于汽车电子航天等行业,使用CAN连接发动机的控制单元等汽车部件,CAN总...

关键字: can总线 can总线原理

新产品同时支持铜缆和光纤接口,增加了航天应用的灵活性

关键字: 以太网 铜缆 光纤

随着信息技术的发展,各种传感器的使用越来越普遍。在传感器的种类中,光纤传感器无疑是一种重要的组成部分。光纤传感器是一种利用光纤技术来检测物理量的传感器。光纤传感器能够检测的物理量包括温度、压力、湿度、电磁场强度等。由于光...

关键字: 光纤 传感器 物联网
关闭
关闭