CAN总线在机车监控系统中的应用

发布者:MindfulBeing最新更新时间:2013-03-14 来源: 21IC 关键字:CAN总线  机车监控系统  局域网 手机看文章 扫描二维码
随时随地手机看文章
1 引 言

对火车机车监控系统而言,数据测量/传输的快速性、准确性、可靠性、通讯的灵活性都是至关重要的。以前的机车数据监控仅仅提供现场数据的显示和报警,在各设备上加智能仪表,比较分散,不便于观察机车运行情况和进行及时检修,机车运行数据也无法保存,而这些数据是查清机车故障原因和检修的重要依据;智能仪表的各种操作,如调零、限值、精度都因环境和人为因素,影响了简单仪表的显示、报警功能,加之工作现场环境恶劣(高温、震动、电磁波辐射等),导致其实时性、准确性都较差。随着国内现场总线技术的发展,有必要及时更新原来的检测系统。

机车监控系统本身有几十个数据采集节点(采用单片微机AT89C51),一个上位工控机负责数据存储和记录,由于采集点多、采集频率较高(20Hz),因此,总线上的数据通常比较拥挤,而系统对数据传输的准确性、报警数据的实时性要求特别高,鉴于此,我们选择CAN现场总线搭建数据平台,它兼具了灵活性、实时性、准确性、可靠性各方面的优势。

CAN是控制器局域网络(Controller Area Net)的简称,是80年代德国奔驰汽车公司制定的一种串行通讯协议,主要用于汽车多个控制设备和多个仪器仪表之间的数据通讯,链路层采用CAN2.0B协议。现在,它已广泛应用于各种工业现场,特别适用于做优化、分析及维护的系统。90年代,国内开始对CAN总线应用进行研究,目前已在诸多领域中应用CAN总线技术。

本系统就是一个依照CAN2.0B构建的局域网,总线控制器采用德国Philips公司的SJA1000,驱动器为与其匹配的PCA82C250,下位机和上位机通过CANH、CANL双绞线进行双向通信。此系统的整个硬件结构又可以作为CAN网络的一个标准节点,构成树状网络,它是CAN总线系统的最小构成和典型应用。

2 CAN总线特点简介

CAN总线的最大特征就是,网络内各节点以多主方式工作,各节点在任意时刻都可以点对点、一点对多点向其他节点发送信息,不分主从,灵活性好。

CAN总线上同时传送的数据采用非破坏性仲裁,ID小的优先传送,低优先级数据延迟发送,这对负载较重的网络解决网络瘫痪、网络阻塞及提高效率很有效。

CAN还有较强的校验功能,出错的数据自动重新发送,可靠性很高。

另外,CAN通讯介质选择双绞线,机车现场空间狭窄,双绞线的现场布线、安装、拆卸都比较简单。最大通信距离长达10km,比特率可达1Mbps(通信距离较大时,比特率会有所降低),可同时传送16个报文。Philips公司的SJA1000的工作温度范围:-40℃~+125℃,存储温度范围:-65℃~+150℃。

对于系统选用的SJA1000CAN控制器,其功能模块主要有:接口管理逻辑(Interface ManagementLogic)、接收FIFO栈(Receive FIFO)、接收过滤器(Acceptance Filter)、发送缓冲器(Transmit Buffer)和CAN核心模块(CAN Core Block),结构如图1所示(见Philips Semiconductors公司的资料:ApplicationNote——SJA1000 Stand-alone CAN ControllerAN97076,1997)。

接口管理逻辑主要处理和微控制器的信号交换,通过CS、ALE/AS、RD、WR、INT等控制信号与微控制器进行数据读写。而CAN核心模块就是CAN2.0B的执行部分。 [page]

接收过滤器接收经CAN核心模块转换过的数据,通过寄存器接收码寄存器(Acceptance CodeRegister,ACR)、接收屏蔽寄存器(Acceptance MaskRegister,AMR)做过滤处理,符合ID要求的数据才予以接收。ACR提供本机ID,AMR提供ID过滤时的有效位信息。接收FIFO栈用来暂存通过过滤器过滤而接收的数据。

发送缓冲器(TB)存储欲发送的数据,CAN核心模块从发送缓冲器读数,依照CAN2.0B协议发送数据。

3 系统功能及硬件实现

此系统除了常规系统提供的功能之外,还具有模块优先级可调(ID可调)、报警限值可调、报警历史数据的保存等功能。

工作现场由多个模拟仪表和一些开关信号组成,每一个仪表配一块数据采集板,开关量的采集由一个和模拟量采集板相似的单独模块完成。下位机采用ATMEL公司的AT89C51微型单片机,主要做通信数据的采集、简单判断和数据发送的准备工作;通信部分由总线控制器SJA1000及其配套的驱动器PCA82C250构成,它们可以完成数据链路层和物理层的所有工作;另有上位工控机,带有5M字节的闪存E2PROM,能提供10万次擦除和10年的数据保存期,用以存储各个采集模块报警前、后1min的数据,机车每个运行周期结束后,就将E2PROM中的数据导出,以备日后的性能分析;监控报警模块,用来进行数据的实时显示及报警,为了防止上位机出现瓶颈现象,各模块的报警任务分散给下位机完成,向上位机发送数据只需将报警标志位置复位即可;总线终端接100Ω~120Ω电阻以抑制信号反射,保证通信可靠性。双绞线连接各个模块节点,形成多主控制的局域网。另外,为了防止系统运行意外,还加了X25045(美国Xicor公司的外围器件,集成了Watchdog、复位控制器、带Block锁的CMOS串行E2PROM阵列三种功能)作看门狗,4KB的SPI(Serial Peripheral Interface)E2PROM可以存储此节点的报警限值等一些重要数据。系统拓扑结构如图2所示。

4 上位/下位机的数据通讯

SJA1000支持CAN2.0B规范协议,且有2种工作方式:BasicCAN和PeliCAN,本系统采用BasicCAN。

各AT89C51单片机每隔0.05s主动给上位机发送一次数据,下位机的CPU相对上位机来说不太忙,因此,为了防止外部干扰信号引起错误报警,下位机发送数据之前对数据进行数字滤波:0.05s分为5次采集,取其平均值发送,这样就可以避免对瞬间高频干扰信号的误报警。

而上位工控机发给下位机的数据一般都是针对某个下位机的命令,下位单片机接收数据是用外部中断INT0完成的。上位机时刻监听所有下位单片机,下位机也时时监听上位机,接收发给自己的命令。

SJA1000以BasicCAN工作模式接收数据时,先装入到过滤器中,顺序如下:

其中,ID的高八位接收AMR码屏蔽之后,与ACR八位接收码进行比较,符合则传入接收FIFO,否则不予接收。因CAN2.0B协议中ID越小的优先级越高,所以,可以将ID最高位ID10设为报警数据的标志(数据超限时此位为零),以保证有报警的模块数据优先传送。而对于上位机,要接收所有下位单片微机的数据,ID高八位应全部屏蔽,而低三位ID2~ID0用来作为上位工控机向下位单片机发送命令(如修改报警限值等)的标志位,因此,在系统工作期间各个模块的限值可以由上位机发送命令加以调节。

下位机在发送数据时,先从寄存器读入限值,判断是否超限,如超限,ID10置0,否则置1。然后在ID9~ID3填入本模块的ID号,将发送命令位置位,之后单片机就不参与此次数据发送进程了,其他工作就由SJA1000和PCA82C250完成。由于ID也可以决定数据的优先级,单片机复位时总是先从P2口上读入外部8位拨动开关作为ID,这样,各个模块的优先级就可以人为改变,增强了系统的灵活性。

[page]

AT89C51在主程序中向上位机发送数据,在0#外部中断程序中接收上位机的命令,利用ID低三位判断约定命令的意义,在此不再细述,只给出主程序和SJA1000的初始化程序流程,其中,在各个主程序开始,为了防止网络由于所有下位机复位的时间、采集周期、软件均一致而导致BUS上负荷不均匀,上位机工作量时而很大的问题,各个下位机每次复位时主程序特意安排不同时间长短的延时,这样,各模块发送数据的时刻就能均匀分布。

上位机接收到数据后,先查看报警标志位,判断是否报警,若是,将寄存器中前1分钟的数据及对应的时间向E2PROM中写入,并且继续写入接收到的报警实时数据,直到报警停止以后一分钟。否则,将数据加上当前时间以队列方式存入寄存器,寄存器满,将最旧的数据刷掉。

监控报警模块和上位工控机一样接收数据,只是每个仪表模块对应一个报警装置,n个报警装置实时显示各个仪表的超限状态,另有液晶屏一块,显示有报警模块的实时数据,无报警时显示ID最小的模块的实时数据。

以上介绍的就是一个单独的下位采集模块和上位机通讯的基本过程和原理,整个系统由若干个相对独立的、相似的下位模块和一个上位机组成,下位机之间暂时无通信。

5 结束语

此系统是为西安某公司改进机车控制台开发的,经过试验、软件调试直到试车运行(采集模块20个)表明,性能稳定,采集数据的波动幅度小于0.05%,试车时数据传输率设为125kbps,无数据丢失,上位机和下位机间无数据传送出错现象,最高比特率可达1Mb/s,抗干扰能力、抗高温能力(-40℃~+120℃)、数据准确性都令人满意,充分体现了CAN总线的优越性。遗憾的是,机车仪表报警以后,目前还只能以人工方式解决问题。

下一步还会考虑更高一层的上位机与次系统的通信(仍会采用CAN现场总线),若能实现,车站及相关部门与各列车的联络、运行情况的及时汇报和监控等问题都将迎刃而解。

参考文献

1 何立民.单片机应用技术选编.北京:北京航空航天大学出版社,1999
2 邬宽明.单片机外围器件实用手册——数据传输接口器件分册.北京:北京航空航天大学出版社,1998
3 邬宽明.CAN总线原理及应用系统设计.北京:北京航空航天大学出版社,1996 (end)
关键字:CAN总线  机车监控系统  局域网 引用地址:CAN总线在机车监控系统中的应用

上一篇:试论十种类型现场总线的体系结构
下一篇:PROFIBUS现场总线及其在开放控制系统中的应用

推荐阅读最新更新时间:2024-05-02 22:35

C8051F040在基于CAN总线的分布式测控系统中的应用
摘要:CYGNAL生产的单片机C8051F040是代表8位单片机发展方向的高速(25M)混合信号系统级芯片(SOC)它不仅集成了一般测控系统需要的外设,而且集成了很有发展前景的现场总线—CAN总线控制器,文中对该芯片中的CAN控制器结构作了分析,并给出了在分布式测控系统中使用该芯片的智能节点的硬件、软件设计方案。 关键词:C8051F040;CAN总线;分布式;测控节点 1 概述 分布式在线测控系统是由多个面向设备的、以MCU为核心的智能处理单元和多个并行运行且具有不同监测和故障诊断功能的微机构成的。该系统采取“分治”的设计思想它将数据采集以及部分数据处理任务交给设备层的智能处理单元去完成而监测诊断层主要负责监视和故障
[工业控制]
基于CAN总线和MSP430的CO红外检测系统设计
1 引言 一氧化碳(CO)是剧毒性气体,人体吸人后造成人体组织和细胞缺氧,导致引起中毒窒息。在煤矿井下,CO也是引起瓦斯爆炸的主要气体之一。CO无论是对工业生产还是人类都造成巨大的损害,因此,CO检测尤为重要,特别在煤矿井下,《煤矿安全规程》规定,井下作业场所的CO浓度应控制在0.002 4%以下。因此,实时、准确地测出井下CO气体浓度,对保障煤矿工业安全生产具有重要意义。 目前检测CO的方法主要有化学法、电化学法、气相色谱法等。这些方法普遍存在价格高、普适性差等问题,且测量精度较低。这里设计一种新的检测系统,选用红外CO传感器和MSP430单片机作为核心信号处理电路,结合数字滤波、温度补偿运算.具有检测浓度范围宽、使用
[单片机]
基于<font color='red'>CAN总线</font>和MSP430的CO红外检测系统设计
基于AVR单片机CAN总线的显示板设计
简介:随着现代社会的发展,科学技术的进步,出现了众多高层建筑和智能建筑。电梯,作为高层建筑内部一种重要的交通工具,其应用规模日益扩大。而作为电梯系统中必不可少的一部分,电梯召唤显示板(简称电梯外呼板)的应用也随之剧增。电梯外呼板应用于每层楼的电梯门外,供乘客及电梯维保人员使用。电梯外呼板将乘客及维保人员的需求信息通过CAN总线传达给电梯主板,电梯主板接收信息并执行相应的操作 ... 随着现代社会的发展,科学技术的进步,出现了众多高层建筑和智能建筑。电梯,作为高层建筑内部一种重要的交通工具,其应用规模日益扩大。而作为电梯系统中必不可少的一部分,电梯召唤显示板(简称电梯外呼板)的应用也随之剧增。电梯外呼板应用于每层楼的电梯门外,供
[单片机]
基于AVR单片机<font color='red'>CAN总线</font>的显示板设计
AVR单片机CAN总线的显示板设计
随着现代社会的发展,科学技术的进步,出现了众多高层建筑和智能建筑。电梯,作为高层建筑内部一种重要的交通工具,其应用规模日益扩大。而作为电梯系统中必不可少的一部分,电梯召唤显示板(简称电梯外呼板)的应用也随之剧增。 电梯外呼板应用于每层楼的电梯门外,供乘客及电梯维保人员使用。电梯外呼板将乘客及维保人员的需求信息通过CAN总线传达给电梯主板,电梯主板接收信息并执行相应的操作。同时,电梯主板将电梯的实时运行信息通过 CAN 总线传递给电梯外呼板,通过外呼板LED显示出来,供乘客参阅。 AVR 单片机 具有高可靠性、功能强、高速度、低功耗和低价位的特点,本系统选用了高档ATmega列AVR单片机ATmegal6。它具有先进的RI-SC结
[电源管理]
AVR单片机<font color='red'>CAN总线</font>的显示板设计
双通道数字式隔离器ADUM1201在CAN总线通信系统中的应用
引 言 CAN(Controller Area Network)总线属于现场总线的范畴,它是德国Bosch公司在20世纪80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。自Bosch公司推出CAN总线至今,CAN总线以其系统的实用性、可靠性和经济性而倍受青睐,并获得了长足的进步。CAN总线是目前唯一有国际标准的现场总线,可实现全分布式多机系统,采用非破坏性总线仲裁技术,可满足不同的实时要求,通信距离最远可达10km(传输率为5kb/s),通讯速率最高可达l Mb/s(传输距离为40m);节点数可达110个,传输介质为双绞线或光纤,报文采用短帧结构,带有CRC校验以及其他检错措施,使得
[单片机]
双通道数字式隔离器ADUM1201在<font color='red'>CAN总线</font>通信系统中的应用
基于CAN总线的非智能适配卡设计
引言 控制器局域网CAN (Controller Area Network)是目前被批准为国际标准的少数现场总线之一。CAN网络可采用多主方式工作。它采用非破坏性的总线仲裁技术,其信号传输和控制采用短帧结构,因而具有较强的抗干扰能力和低耦合性;CAH网络的通讯速率范围为5 kbs/10 km~lMbs//40m,驱动节点数可达110个。它的传输介质可以是双绞线、同轴电缆或光纤,选择十分灵活;每帧信息都有CRC校验及其它检错措施,因而数据出错率极低,可靠性很高;当其传输的信息出错严重时,节点可自动断开与总线的联系,以使总线上其它的操作不受影响。 虽然目前PCI、USB等总线技术得到了快速发展,但在大量应用的测试微机及工控
[工业控制]
搞定了CAN总线加密的Trillium,能成为汽车安全防护的好把式吗?
一直以来,大家都认为CAN总线几乎是没法保护的。但Trillium的SecureCAN显然打破了这个 迷信 。 汽车安全领域的技术产品正在变得炙手可热。大量创业公司涌入,潜心技术开发的同时,都期待着能成为大公司收购的下一个目标。去年夏天,白帽黑客查理 米勒和老搭档克里斯 瓦拉塞克入侵了一辆Jeep切诺基。几乎是同一时间,通用安吉星的RemoteLink系统被爆安全漏洞,黑客利用系统网关能够远程操控车门解锁,发动机启停。下图是英特尔公布的目前联网汽车上暴露出的15个最容易被黑客利用的攻击面。 因此,照目前的形势来看,车企和供应商在智能互联、自动驾驶汽车上投入的精力越多,他们对安全的重视程度就越高,而网络安全对汽
[汽车电子]
搞定了<font color='red'>CAN总线</font>加密的Trillium,能成为汽车安全防护的好把式吗?
用LPC2119芯片CAN总线和DSl8B20设计的智能超声液位变送器
0 引言 现场总线是用于现场仪表与控制系统和控制室之间的一种全分散、全数字化、智能、双向、互连、多变量、多点、多站的通信网络。CAN(Controller Area Network,控制器局域网)是德国Bosch公司在80年代初为解决现代汽车中大量的控制与测试仪器之间的数据交换而提出的一种串行数据通信协议。CAN总线是国际上应用最广泛的现场总线之一,由于采用了许多新技术以及独特的设计,与一般的通信总线相比,CAN总线的数据通信具有突出的性能,且可靠性、实时性和灵活性强。 近些年来,随着超声技术研究的不断深入,再加上其具有的高精度、无损、非接触等优点,超声的应用变得越来越普及。超声波液位测量有许多优点:检测元件可以不与被测介质接
[单片机]
用LPC2119芯片<font color='red'>CAN总线</font>和DSl8B20设计的智能超声液位变送器
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved