VDR及其智能数据采集系统应士君(上海海事大学)材摘要:际绍一种应用于vDR系统的以AT89C51微控制器和sJAlooo独立cAN总线控
制器为核m组成的CAN总线智能数据采集系统的设计思路、过程厦实现方法.并给出硬件原理图和初始化程序。、
关键词:VDR;CAN总线;数据采集;SJAl0000引言随着世界航运事业的迅速发展,现代船舶朝着大型化、高速化和专业化方向发展,船舶航行安全保障技术显得越来越重要。集装箱船、滚装船、油船和液化气船等专业化船舶的货物危险度更高,一旦发生海事,造成的人员伤亡、财产损失、海洋河流污染以及海上资源和生态环境破坏等后果特别严重。为了更好地了解海事发生的原因和实际情况,国际海事组织(IMO)的A.861(20,导决议提出了在船舶上安装船舶航行数据记录仪(VDR)t撤议和性能标
准。船舶航行数据记录仪(VoyageDataRecorder,VDR)是一种以可靠的可恢复的形式,保存大量有关事故前后船舶位置、运动、物理状态、命令和控制信息的设备。数据从船舶系统获取并存储在记录设备中,在需要的时候可以在一定平台上重现。VDR保存的船舶航行过程中的重要数据,有助于获得可靠的、正确的有关事故原因和细节方面的信息,有助于重建事故原因链,通过确定事敌的真实原因来避免同类事故的再次发生,增强航海交通的安全,而且还能在船员培训中发挥作用,从而进一步提高海上安全和环境保护的水平。欧洲共同体委员会强制规定:从2002年1月1日起,所有定期进出会员国港口的滚装渡船和高速客船或国内特定海区航行时,不论其悬挂哪国国旗,均必须安装VDR。国际海事组织(IMO)航行安全分委会也同时建议:从2002年7月1日起,VDR必须在客船和装载危险品的船舶例如油船、化学品船及天然气船上安装。随着国际反恐的形势目益严峻,美国等西方发达国家正在积极推动通过强制安装VDR的决议。VDR记录的船舶数据种类繁多复杂,需要有大量的数据采集节点,其中有模拟信号也有数据开关量信号。这些信号来自船舶的各个部位,在不破坏现有船舶外观的前提下,布线既要合理,又要确保信号正确传输,尽可能减少信号传输电缆。如果采用传统星型拓扑结构或者环型、总线型网络结构其硬件软件及介质造价都比较高,而现场总线(F/ELDBUS)通信系统既造价低廉又能经受工业现场环境的干扰,其中的控制局部网总线(CAN)是目前应用最广泛的现场总线。lCAN总线的特点CAN(ControlAreaNetwork)是德国Bosch公司为了解决现代汽车中众多的控制与检测一
起之间的数据交换而开发的一种串行数据通信协议。目前已经被广泛应用于“奔驰”等各种汽车的控制系统。1993年,[SO正式颁布了CAN的国际标准(Iso—l1898).并被公认为几种最有前途的现场总线之一。由于采用了许多新技术和独特的设计,与其他的通信总线相比,CAN做工程控制系统的最大糖点就是性能可靠及启动成本低。CAN有如下特点:
(1)采用多主方式工作.网络上任意一个节点可在任意时刻主动地向网上其他节点发送信息,不分,-LtA,通信方式灵活;节点出错严重时,自动关闭输出功能,其他节点不受影响:(2)采用对通信数据块进行编码,可使网络内的节点个数在理论上可达2000个,实际
应用中可达110个;网络上节点信息分成不同的优先级,可满足不同的实时要求,最高优先
级的数据可在134“s内得到传输。(3)通过撮文滤波可实现点对点、~点对多点、全局广疆等几种方式传送接收数据:(4)采用非破坏性总线仲裁制度,当多个节点同时向总线发送信息时+最高优先级的节点可以不受影响继续发送,而优先级较低的节点主动停IE发送数据,这样可以有效避免总线冲突。(5)采用短帧数据结构.数据段长度最多为8个字节,足可满足通常工业领域中控制命令、工作状态及测试数据的采集,同时8个字节不会占用总线时间过长,这样短的传输时间可以保证通信的实时性,降低受干扰的概率,重新发送时间也短。每帧信息都有位填充、数据块编码、CRC校验等检错措施,保证了数据通信的可靠性。(6)通信介质多采甩双绞线,也可以思圊轴电缆或光导纤维,通信距离小于40rfl时最大通信速率1bit/s,通信连率为5biffs时,最大直接通信距离可达10km。
2CAN总线数据采集智能节点由于VDR的数据来自船舟白的各个部位,可以按照CAN总线物理层协议选择总线介质,设计布线方案,连接成CAN总线分布式数据采集网络系统,如图1所示。VDR各数据采集节点功能相对单一,数据量少,因此对CPU的要求大大降低,采用AT89C51系列单片机即可满足要求。CAN总线适配器件主要有:控制器接口、总线收发器和I/O器件。采用Philips公司生产的SJAl000控制器和与其配套的PCA82C250收发器。sJAlOoD其有完成高性锯通信协议Ei要求的全部必要特性。具有简单总线连接的SJAl000可完成物理层和数据链路层的所有功能。
40图1基手CAN总线的VDR数据系统SIAl000是—个独立的CAN控制器,可通过平行总线与Intel和Motorola的微处理器接1:3。有两种不同操作模式:BasicCAN和PeliCAN模式。PeliCAN模式能够处理所有CAN2.013规范的帧类型,而且还提供下列增强功能:(1)支持带有29位标识符的网络扩展应用;(2)有11位或29位标识符的单报文发送缓冲器;(3)具有两个验收滤波器模式,支持11位或29位标识符的滤波:(4)支持错误分析,支持系统优化包括报文延迟时闻的分析;(5)单次发送使软件命令最小化和允许快速重载发送缓冲器;(6)仅听模式可以分析CAN总线通信或进行自动位速率检测;(7)自测试模式支持全部CAN节点的功能自测试或在—个系统内的自接受。SJAl000在数据采集智能节点中的硬件配置与CAN总线接口的电路如图2所示。硬件电路中使用PCA82C250的目的是为了增大通信距离,提高系统的瞬间抗干扰能力,保护总线,降低射频干扰,实现热防护等。SJAl000在智能节点电路中实现从VDR的CAN接口到数据采集节点微处理器之间的数据通信。SJAl000是微处理器的—个总线接口,SJAl000片内的存储单元相对AT89C51来说是片外的数据存储器,因此,可以按照扩展片外数据存储器的形式来访问SJAl000的寄存器地址。AT89C51是CAN控制器的微处理器,把AT89C51的AI正、RD、WR和SJAl000的ALE、RD、WR相连就构成.—个最小系统节点,采用单片机AT89C51的P2.7为片选信号a因此,SJAl000的地址为:7F00~TFFFI'I,劳由ng决定CAN控制器各寄存器的地址,通过读、写外部数据存储器的形式来访问SJAl000。
41曲O,P0.0ADOTXO————一E
^DI/PO.】^Dl
TXl
^D2/PO.2∞Z稚0腊
-M)31PO,3
^D3
麟1
一1
曲矗/PO.4删撼)DE一VDi
鐾。AI)5/PO.5
~溅诌S2耋Ab6/P0.6ADT/PO.T腻
【P20
雠嚣舻翟饕
巍,P3.6张Cl掇衙P3.2
I辩10XT&Li≮t_{b
肾g砒l
CLEOUT马蠢
RSTR。。—S—TXT&L2r_C2
图2智能数据采集节点硬件原理在系统中我们将SJAl000的MODE接VDD采用Intel模式的微处理器,TXI脚悬空,
RXl引脚接地,形成CAN协议所要求的电平逻辑。为进一步提高智能节点的抗干扰能力,在CAN控制器SJAl000和CAN控制器接口82C250之间加接6N137光电隔离芯片,并采用Dc—Dc变换器隔离电源。由于通信信号传输到导线的端点时会发生反射,反射信号会干扰正常信号的传输,因而总线两端必须连接两个120Q的吸收电阻,吸收电阻对匹配总线阻抗起着相当重要的作用,忽略捧它们,会使数据通信的抗干掘l生和可帮l生大大降低,甚至无法通信。在数据采集模块中,可以由ADC0809完成对8路模拟量的转换,将各类传感器采集的0~5V的模拟量传送到ADC0809,0809将转换成的数字量传给AT89C5l。用AT89C51的P1口和P2口对开关量进行采集,最后单片机将采集到的数据送到SJAl000通过CAN总线收发器82C250传上总线,完成数据采集工作。
3软件设计本软件设计采用C语言(Kcil的编译器),程序框图如图3所示。系统软件设计的指导思想是系统上电后首先对AT89C51和SJAl000进行初始化,以确定工作主频、波特率、输出特性等,然后通过查询方式获取模数转换采样值,并把该值通过SJAl000传送到CAN总线上由VDR的CAN接口进行控制。SJAl000的寄存器地址为:控制寄存器CR基地址枷H
命令寄存器CMR黜+OIH
状态寄存器SR基地址+02H中断寄存器Ⅱ己基地Jk+03H
42
圈3软件流程图