CAN总线概述和MVB总线.docx
- 文档编号:7527382
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:9
- 大小:152.26KB
CAN总线概述和MVB总线.docx
《CAN总线概述和MVB总线.docx》由会员分享,可在线阅读,更多相关《CAN总线概述和MVB总线.docx(9页珍藏版)》请在冰豆网上搜索。
CAN总线概述和MVB总线
CAN总线概述
1.CAN总线的产生与发展
控制器局部网(CAN-CONTROLLERAREANETWORK)是BOSCH公司为现代汽车应用领先推出的一种多主机局部网,由于其卓越性能现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门。
控制器局部网将在我国迅速普及推广。
随着计算机硬件、软件技术及集成电路技术的迅速发展,工业控制系统已成为计算机技术应用领域中最具活力的一个分支,并取得了巨大进步。
由于对系统可靠性和灵活性的高要求,工业控制系统的发展主要表现为:
控制面向多元化,系统面向分散化,即负载分散、功能分散、危险分散和地域分散。
分散式工业控制系统就是为适应这种需要而发展起来的。
这类系统是以微型机为核心,将5C技术--COMPUTER(计算机技术)、CONTROL(自动控制技术)、COMMUNICATION(通信技术)、CRT(显示技术)和CHANGE(转换技术)紧密结合的产物。
它在适应范围、可扩展性、可维护性以及抗故障能力等方面,较之分散型仪表控制系统和集中型计算机控制系统都具有明显的优越性。
典型的分散式控制系统由现场设备、接口与计算设备以及通信设备组成。
现场总线(FIELDBUS)能同时满足过程控制和制造业自动化的需要,因而现场总线已成为工业数据总线领域中最为活跃的一个领域。
现场总线的研究与应用已成为工业数据总线领域的热点。
尽管目前对现场总线的研究尚未能提出一个完善的标准,但现场总线的高性能价格比将吸引众多工业控制系统采用。
同时,正由于现场总线的标准尚未统一,也使得现场总线的应用得以不拘一格地发挥,并将为现场总线的完善提供更加丰富的依据。
控制器局部网CAN(CONTROLLERAERANETWORK)正是在这种背景下应运而生的。
由于CAN为愈来愈多不同领域采用和推广,导致要求各种应用领域通信报文的标准化。
为此,1991年9月PHILIPSSEMICONDUCTORS制订并发布了CAN技术规范(VERSION2.0)。
该技术规范包括A和B两部分。
2.0A给出了曾在CAN技术规范版本1.2中定义的CAN报文格式,而2.0B给出了标准的和扩展的两种报文格式。
此后,1993年11月ISO正式颁布了道路交通运载工具--数字信息交换--高速通信控制器局部网(CAN)国际标准(ISO11898),为控制器局部网标准化、规范化推广铺平了道路。
2.CAN总线特点
CAN总线是德国BOSCH公司从80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。
通信速率可达1MBPS。
CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。
CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。
采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。
数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。
同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。
CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。
CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。
另外,CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。
CAN总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。
CAN总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数通讯。
CAN总线插卡可以任意插在PCATXT兼容机上,方便地构成分布式监控系统。
3.CAN总线技术介绍
3.1位仲裁
要对数据进行实时处理,就必须将数据快速传送,这就要求数据的物理传输通路有较高的速度。
在几个站同时需要发送数据时,要求快速地进行总线分配。
实时处理通过网络交换的紧急数据有较大的不同。
一个快速变化的物理量,如汽车引擎负载,将比类似汽车引擎温度这样相对变化较慢的物理量更频繁地传送数据并要求更短的延时。
CAN总线以报文为单位进行数据传送,报文的优先级结合在11位标识符中,具有最低二进制数的标识符有最高的优先级。
这种优先级一旦在系统设计时被确立后就不能再被更改。
总线读取中的冲突可通过位仲裁解决。
如图2所示,当几个站同时发送报文时,站1的报文标识符为011111;站2的报文标识符为0100110;站3的报文标识符为0100111。
所有标识符都有相同的两位01,直到第3位进行比较时,站1的报文被丢掉,因为它的第3位为高,而其它两个站的报文第3位为低。
站2和站3报文的4、5、6位相同,直到第7位时,站3的报文才被丢失。
注意,总线中的信号持续跟踪最后获得总线读取权的站的报文。
在此例中,站2的报文被跟踪。
这种非破坏性位仲裁方法的优点在于,在网络最终确定哪一个站的报文被传送以前,报文的起始部分已经在网络上传送了。
所有未获得总线读取权的站都成为具有最高优先权报文的接收站,并且不会在总线再次空闲前发送报文。
CAN具有较高的效率是因为总线仅仅被那些请求总线悬而未决的站利用,这些请求是根据报文在整个系统中的重要性按顺序处理的。
这种方法在网络负载较重时有很多优点,因为总线读取的优先级已被按顺序放在每个报文中了,这可以保证在实时系统中较低的个体隐伏时间。
对于主站的可靠性,由于CAN协议执行非集中化总线控制,所有主要通信,包括总线读取(许可)控制,在系统中分几次完成。
这是实现有较高可靠性的通信系统的唯一方法。
3.2CAN与其它通信方案的比较
在实践中,有两种重要的总线分配方法:
按时间表分配和按需要分配。
在第一种方法中,不管每个节点是否申请总线,都对每个节点按最大期间分配。
由此,总线可被分配给每个站并且是唯一的站,而不论其是立即进行总线存取或在一特定时间进行总线存取。
这将保证在总线存取时有明确的总线分配。
在第二种方法中,总线按传送数据的基本要求分配给一个站,总线系统按站希望的传送分配(如:
EthernetCSMA/CD)。
因此,当多个站同时请求总线存取时,总线将终止所有站的请求,这时将不会有任何一个站获得总线分配。
为了分配总线,多于一个总线存取是必要的。
CAN实现总线分配的方法,可保证当不同的站申请总线存取时,明确地进行总线分配。
这种位仲裁的方法可以解决当两个站同时发送数据时产生的碰撞问题。
不同于Ethernet网络的消息仲裁,CAN的非破坏性解决总线存取冲突的方法,确保在不传送有用消息时总线不被占用。
甚至当总线在重负载情况下,以消息内容为优先的总线存取也被证明是一种有效的系统。
虽然总线的传输能力不足,所有未解决的传输请求都按重要性顺序来处理。
在CSMA/CD这样的网络中,如Ethernet,系统往往由于过载而崩溃,而这种情况在CAN中不会发生。
3.3CAN的报文格式
在总线中传送的报文,每帧由7部分组成,见图3。
CAN协议支持两种报文格式,其唯一的不同是标识符(ID)长度不同,标准格式为11位,扩展格式为29位。
在标准格式中,报文的起始位称为帧起始(SOF),然后是由11位标识符和远程发送请求位(RTR)组成的仲裁场。
RTR位标明是数据帧还是请求帧,在请求帧中没有数据字节。
控制场包括标识符扩展位(IDE),指出是标准格式还是扩展格式。
它还包括一个保留位(ro),为将来扩展使用。
它的最后四个字节用来指明数据场中数据的长度(DLC)。
数据场范围为0~8个字节,其后有一个检测数据错误的循环冗余检查(CRC)。
应答场(ACK)包括应答位和应答分隔符。
发送站发送的这两位均为隐性电平(逻辑1),这时正确接收报文的接收站发送主控电平(逻辑0)覆盖它。
用这种方法,发送站可以保证网络中至少有一个站能正确接收到报文。
报文的尾部由帧结束标出。
在相邻的两条报文间有一很短的间隔位,如果这时没有站进行总线存取,总线将处于空闲状态。
3.4数据错误检测
不同于其它总线,CAN协议不能使用应答信息。
事实上,它可以将发生的任何错误用信号发出。
CAN协议可使用五种检查错误的方法,其中前三种为基于报文内容检查。
3.4.1循环冗余检查(CRC)
在一帧报文中加入冗余检查位可保证报文正确。
接收站通过CRC可判断报文是否有错。
3.4.2帧检查
这种方法通过位场检查帧的格式和大小来确定报文的正确性,用于检查格式上的错误。
3.4.3.应答错误
如前所述,被接收到的帧由接收站通过明确的应答来确认。
如果发送站未收到应答,那么表明接收站发现帧中有错误,也就是说,ACK场已损坏或网络中的报文无站接收。
CAN协议也可通过位检查的方法探测错误。
3.4.4总线检测
有时,CAN中的一个节点可监测自己发出的信号。
因此,发送报文的站可以观测总线电平并探测发送位和接收位的差异。
3.4.5位填充
一帧报文中的每一位都由不归零码表示,可保证位编码的最大效率。
然而,如果在一帧报文中有太多相同电平的位,就有可能失去同步。
为保证同步,同步沿用位填充产生。
在五个生。
在五个连续相等位后,发送站自动插入一个与之互补的补码位;接收时,这个填充位被自动丢掉。
例如,五个连续的低电平位后,CAN自动插入一个高电平位。
CAN通过这种编码规则检查错误,如果在一帧报文中有6个相同位,CAN就知道发生了错误。
如果至少有一个站通过以上方法探测到一个或多个错误,它将发送出错标志终止当前的发送。
这可以阻止其它站接收错误的报文,并保证网络上报文的一致性。
当大量发送数据被终止后,发送站会自动地重新发送数据。
作为规则,在探测到错误后23个位周期内重新开始发送。
在特殊场合,系统的恢复时间为31个位周期。
但这种方法存在一个问题,即一个发生错误的站将导致所有数据被终止,其中也包括正确的数据。
因此,如果不采取自监测措施,总线系统应采用模块化设计。
为此,CAN协议提供一种将偶然错误从永久错误和局部站失败中区别出来的办法。
这种方法可以通过对出错站统计评估来确定一个站本身的错误并进入一种不会对其它站产生不良影响的运行方法来实现,即站可以通过关闭自己来阻止正常数据因被错误地当成不正确的数据而被终止。
3.4.6CAN可靠性
为防止汽车在使用寿命期内由于数据交换错误而对司机造成危险,汽车的安全系统要求数据传输具有较高的安全性。
如果数据传输的可靠性足够高,或者残留下来的数据错误足够低的话,这一目标不难实现。
从总线系统数据的角度看,可靠性可以理解为,对传输过程产生的数据错误的识别能力。
残余数据错误的概率可以通过对数据传输可靠性的统计测量获得。
它描述了传送数据被破坏和这种破坏不能被探测出来的概率。
残余数据错误概率必须非常小,使其在系统整个寿命周期内,按平均统计时几乎检测不到。
计算残余错误概率要求能够对数据错误进行分类,并且数据传输路径可由一模型描述。
如果要确定CAN的残余错误概率,我们可将残留错误的概率作为具有80~90位的报文传送时位错误概率的函数,并假定这个系统中有5~10个站,并且错误率为1/1000,那么最大位错误概率为10—13数量级。
例如,CAN网络的数据传输率最大为1Mbps,如果数据传输能力仅使用50%,那么对于一个工作寿命4000小时、平均报文长度为80位的系统,所传送的数据总量为9×1010。
在系统运行寿命期内,不可检测的传输错误的统计平均小于10—2量级。
换句话说,一个系统按每年365天,每天工作8小时,每秒错误率为0.7计算,那么按统计平均,每1000年才会发生一个不可检测的错误。
4.应用举例
某医院现有5台16T/H德国菲斯曼燃气锅炉,向洗衣房、制剂室、供应室、生活用水、暖气等设施提供5kg/cm2的蒸汽,全年耗用天然气1200万m3,耗用20万吨自来水。
医院采用接力式方式供热,对热网进行地域性管理,分四大供热区。
其中冬季暖气的用气量很大,据此设计了基于CAN现场总线的分布式锅炉蒸汽热网智能监控系统。
现场应用表明:
该楼宇自动化系统具有抗干扰能力强,现场组态容易,网络化程度高,人机界面友好等特点。
摘要:
介绍了MVB总线的物理层、帧和报文的格式与时序,以及其在广州地铁2号线、深圳地铁1号
线、上海地铁1号线延长线等车辆控制系统中的成功应用。
关键词:
地铁列车;多功能车辆总线(MVB);帧;报文;自动控制
地铁2号线、深圳地铁1号线、上海地铁1号线延长线的列车均采用了符合IEC61375TCN标准的德国总线控制系统。
该系统由列车总线(WTB)和多功能车辆总线(MVB)两部分组成,单元(整个列车6辆车为一个编组,3辆车为1个单元)内用MVB总线连接,两个单元间用WTB总线连接,MVB总线实现车辆控制,WTB总线实现列车控制。
1MVB总线的物理层和链路层
MVB总线模型是在开放系统互联OSI模型的基础上进行了简化。
OSI具有7层参考模型,而MVB只有其中的物理层和链路层。
1.1物理层
MVB总线的物理层有3种:
1)ESD(电的短距离传输介质),使用双绞屏蔽线,按RS-485标准,最多支持32个设备,最大总线长度20m。
2)EMD(电的中距离传输介质),使用双绞屏蔽线,最多支持32个设备,最大总线长度200m。
允许使用变压器连接。
3)OGF(光纤媒介),使用总线连接器,传输距离可达2km。
MVB总线系统是分级控制系统。
系统设备共分5个级别,6种能力:
1)1级设备具有的能力有设备状态和过程数据。
设备端口地址一般与设备地址一致。
2)2级设备具有的能力有设备状态,过程数据,信息数据,是智能设备可以通过总线配置,但不能编程。
3)3级设备具有的能力有设备状态,过程数据,信息数据和用户编程。
4)4级设备具有的能力有设备状态、过程数据、信息数据和总线管理器。
用户编程具有可选性。
5)5级设备具有的能力有设备状态、过程数据、信息数据、网关和总线管理器。
具有总线管理器的网关能与各种总线同步。
1.2链路层数据
1.2.1帧和报文格式
有效的帧格式见图1
1)主帧格式:
以主起动定界符开始,接着是16位报文数据,然后是8位校验序列。
4位F_code码限制下面的12位并指示从帧大小,如图2所示。
2)从帧格式:
以从起动定界符开始,接着是16,32,64,128或256位帧数据,8位校验序列在64位数据的每个字后或在16,32位数据后。
帧文每64位后就有一个校验序列,如图3所示。
3)报文时序:
主帧和响应它的从帧称为一个报文。
4)报文类型:
过程数据、信息数据和监管数据报文。
1.2.2数据分布
媒介访问是通过总线管理器实现的,周期循环。
基本周期分为4个阶段:
周期阶段,监管阶段,事件阶段,警惕阶段,见图4。
其中事件阶段、监管阶段和警惕阶段构成临时阶段。
MVB总线的数据分为过程数据、信息数据和监管数据。
其数据分布为:
过程数据为周期发布,信息数据和监管数据发布周期不固定。
过程数据都是一些非常重要的数据,如牵引速度,加速度的值等。
2硬件及软件简介
2.1硬件
系统硬件主要包括车辆控制器VTCU、总线连接器、输入输出单元、通讯连接器ComC、人机显示器MMI及相关子系统。
车辆控制器VTCU即总线控制器,每个3节车单元各一个,共由7块板组成,自带插槽和电源,是标准的模块化系统。
车辆控制单元由网关(VTCU-GW),VCUT,VCUA及VTCU的电源组成。
网关控制列车总线(WTB)和车辆总线(MVB),并在两个总线系统间转换过程和信息数据。
列车诊断板VCUT上有板载数据库(ODBS),可通过RS422接口控制人机界面。
列车应用程序板VCUA里包含着列车和车辆的控制程序。
VTCU的电源提供110V直流电源,并与供电系统的电势隔离。
总线连接器具有连接不同车辆总线的作用,同时也能起到信号放大的作用。
输入输出单元由数字输入输出单元DX和模拟输入输出单元AX组成。
数字输入输出单元DX的数字数据I/O接口一般直接连到继电器触点上。
每辆车都有很多DX,每个DX都可以设置地址。
电源电压DC48~120V,10位输入,6位输出。
1位报警器输出模拟输入输出单元AX有模拟数据I/O接口,每个AX也有自己的地址;4位模拟输入(±10V,±20mA);2位模拟输出。
只有非常少的几处,如牵引力大小等使用模拟量。
通讯连接器ComC主要用于没有MVB总线的第三方供货的通讯设备MC68360处理器,具有2MB闪存和1MB(静态存储器),2通道RS232,2通道RS485,1通道RS-485,1通道RS-232,标准MVBESD+,以及DC24~120V标称电压MVB终端插(每个MVB总线段必须带有一个终端插)。
2.2软件
系统通讯和控制拓扑图如图5所示,其软件结构见图6。
2.2.1基本软件CSS(包括基本系统软件和适时系统软件)
1)控制系统中的操作系统基于VxWorks内核程序;
2)用于应用程序的接口提供标准的功能实时操作系统RTOS;
3)ANSI-C的子集任务管理故障处理;
4)数据记录;
5)事件记录;
6)时间同步;
7)监控器;
8)硬件相关功能;
9)设备启动控制;
10)内存测试;
11)MVB支持和配置:
信息数据、过程数据和总线管理。
2.2.2应用软件
应用软件使用的是功能块语言,它实际上是一种开放式的PLC,代替传统继电器的逻辑关系。
不用使用许多硬线就实现了自动控制。
另外,这种功能块语言不需要编程基础就能看懂,省去了编程语言的培训。
在车辆控制上实现的功能,主要是牵引和制动控制。
但其他一些功能,如门、空调、信息显示等也挂在总线下,只是在牵引安全和制动方面,来判断牵引和制动能否进行,如门没有关到位,不能开车等。
牵引、制动、门、空调、信息显示等是MVB总线下的子系统,这些子系统不需要有共同的语言,每个系统都可以有自己的语言系统,但它们都必须遵循MVB总线协议。
虽然总线系统只有物理层和链路层,同开放式互联系统OSI的7层参考模型相比是一种低级控制,但对实现自动控制已足够了。
3结束语
列车自动控制是发展趋势,而总线技术是实现自动控制的手段。
目前已经在广州地铁2号线、深圳地铁1号线、上海地铁1号线延长线等地铁车辆上成功实践了地铁车辆自动控制,相信总线技术必将得到进一步的推广和应用。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CAN 总线 概述 MVB