冗余CAN总线远程数据采集系统设计与研究
扫描二维码
随时随地手机看文章
1 引 言
随着计算机应用技术在工业控制领域的推广及其自身的革新,以工业现场总线为应用背景的网络控制系统在业界被广泛使用和推广。CAN总线作为工业现场串行总线的一种,因其具有较高的位速率和极高的抗电磁干扰能力,能侦测和处理产生的任何总线错误,并且具有高可靠性、实时性和灵活性,在监测和控制系统中倍受青睐。然而传统的工业现场远程数据采集系统主要通过单总线传输,往往因为总线通讯故障而影响系统工作效率,不利于远程监测和控制,在某些控制领域里甚至存在很大危险,造成难以维护,系统监测数据不连续、难以管理和监测效率低下等缺点。
通过将冗余CAN总线技术应用到现场远程数据采集传输系统中,采用嵌入式控制方式很好地解决了上述问题。
2 远程数据采集系统的组成
考虑到工业现场的环境比较复杂,为提高系统工作的可靠性和抗干扰能力,本系统设计采用嵌入式智能系统作为数据采集器,以PC104系统作为嵌人式信息处理单元,通过冗余CAN总线接口开放式互联的结构组成采集系统。系统的组成框图如图l所示。系统由信息处理单元、远程嵌人式采集器、状态显示、外围控制和维护接口等辅助接口单元组成,嵌人式信息处理单元和远程数据采集器配置双CAN总线接口。
嵌入式信息处理单元是该系统的主控单元,是系统信息处理的核心。它主要负责信息的采集和管理,并将采集信息处理后定期送往数据存储单元和数据显示单元,同时解析来自维护接口的用户指令,根据指令要求执行相应的采集器维护命令和主控单元本身的日常维护。远程数据采集器周期接收信息处理的采集指令,周期性地将采集数据发给信息处理。系统通过高速网络接口实现了与其他网络进行数据交换,可实现监控数据的共享和信息综合。维护接口可提供无线指令响应服务和现场指令响应服务,以满足本地和远程的系统维护。
图1 系统组成示意图
3 远程数据采集系统的实现
本系统的硬件设计重点在于信息处理单元和远程数据采集器的设计。
3.1 信息处理单元设计
远程数据采集系统实现的关键是对现场传感器数据的实时采集、本地和远程命令的接收与采集信息的转换和处理。信息处理单元对数据采集器进行正常的运行监视、操作、测量记录和统计分析、故障运行的监视、报警和事件顺序记录与运行操作,紧急控制、维修状态信息处理等功能。
信息处理单元采用x86架构的PC104计算机系统和CAN总线接口卡组成。盛博SCM一7020B是一款“all~in—one”PC/104 CPU模块¨ ,它在板上集成了10/100Base—T以太网接口及高性能图形处理。采用X86兼容的64位第六代处理器,最高运行速度可达300MHz,外围接口丰富,同时配置64MB SRAM和1GB CF卡存储器,并通过以太网接口进行软件调试和后期维护。为了实现双CAN总线通讯接口,选用盛博SEM/CSD一4 CAN通讯模块,该模块集成了2路独立的CAN控制器SJA1000,同时还集成4路RS一422串行接口及可配置的8位并行接口,可以直接驱动外部的数字接口,满足系统维护和远程数据采集器工作模式设置的需求,对后续系统升级都留有较大空间。
3.2 远程数据采集器设计
远程数据采集器设计为以C805 1 F040 3 为处理器的智能采集通讯节点,C8051F040内部集成了数据采集系统所需要的几乎所有模拟和数字外设,包括ADC、DAC、电压比较器、定时器、以及CAN2.0B控制器等,这种高度集成为设计小体积、低功耗、高可靠和高性能的采集系统统提供了方便。系统中远程数据采集器的硬件结构示意图见图2。远程数据采集器从功能上可分为冗余CAN总线接口、数据采集电路和看门狗超时电路,其中看门狗超时周期为1.6s。为实现冗余CAN总线接口,通过增加一片独立的CAN控制器SJA1000来实现。
图2 远程数据采集器硬件结构示意图
3.2.1 采集电路设计
采集电路结构如图3所示,外部模拟信号进入采集器后,先经低通滤波,对各种干扰信号进行一定的抑制后,送入放大器,再进入带有l2位ADC的C8051F040进行数据采样和增益转换。
图3 远程数据采集器不意图
在实际的工程应用中,由于被采集信号远离采集器,以致两者的地电位存在一定的电势差,不可避免地存在干扰和传输网络阻抗不对称引人的误差。因此。测量电路必须选择有较高的输入阻抗和共模抑制比的集成运放,同时可采用差动输入方式和无限增益电压负反馈放大。[!--empirenews.page--]
3.2.2 冗余CAN总线接口设计
由于系统采用了冗余CAN总线通讯技术,因此冗余CAN总线接口设计是本系统的关键技术。
在各个数据采集器和信息处理单元之间设计两条CAN总线,在每个数据采集器中有2路独立的CAN通道,正常工作时只有一路CAN通道和一路CAN总线运行。远程数据采集器的冗余CAN总线结构如图2所示。系统中冗余CAN总线的基本设计思路如下:其中CAN控制器可以是独立的CAN控制器或者内嵌于MCU内部的CAN控制器。当出现总线通讯故障时,根据错误类型选择切换到另一路CAN通道或是另一路CAN总线。在任意时刻,只有一路CAN通道处于工作状态。
3.3 双冗余CAN总线管理
为了提高系统的可靠性,系统中两套总线采用热备份方式运行。按照CAN总线出现的错误类型,系统通讯故障可分为通道通讯故障和总线通讯故障,处理器利用CAN总线控制器的故障界定状态机制判断通讯故障,并向处理器发送故障状态。
在总线正常通讯过程中,处理器对CAN总线控制器的接收和发送错误计数器进行实时跟踪监控,一旦发送和接收出现故障,其错误类型及出错的各结点被赋予不同的计数值,这些计数值将根据是发送错误还是接收错误进行累加。总线通讯正常或有效接收及发送数据时,这些计数器将逐次递减至最小值0。
当发送错误计数器的值超过最大上限255时“总线关闭”。CAN控制器进入离线状态,CAN总线控制器产生一个总线错误和离线中断,处理器在收到中断信号的同时检测状态位得知系统出现通道通讯故障,通过“通道切换逻辑机制”切换CAN通讯通道,同时清除中断信号。当切换完成后,如果再次进入错误中断,则说明是总线故障,此时处理器再切换回以前的CAN通讯通道,并通过“总线切换逻辑机制”切换CAN通讯总线,同时清除中断信号。采用这种设计方法,当两路CAN通道或两路CAN总线同时出现故障时,通讯节点“总线关闭”并退出总线通讯,此时不会影响其他节点的正常通讯。
4 软件设计
根据系统功能定义,软件设计分为两部分,一是信息处理单元内部的软件,二是远程数据采集器内部的软件。为了提高系统的可靠性和实时性,信息处理单元配置了Vxworks实时操作系统 l,vxworks支持实时多任务系统,具有高实时性、高传输速率、高可靠性的特点,完全适合系统上各单元间的大数据量实时传输。
4.1 信息处理单元系统软件设计
信息处理单元的软件层次组成见图4。整个软件分为两个层次:系统任务层和系统服务层。系统任务层是信息处理单元的核心,其中包括数据采集任务、通讯状态监控任务、系统状态监控任务、系统维护任务及系统故障处理、紧急状况处理任务等。
系统服务层为VxWorks操作系统和一些系统接口、服务组成、服务层封装了VxWorks操作系统、CAN总线设备通讯驱动程序、CAN总线冗余管理模块、数据分区管理模块和系统软件接口及系统服务,同时为系统任务访问硬件设备提供平台。
图4 信息处理单兀的软件层次组成示意图
4.2 远程数据采集器软件设计
远程数据采集器软件包含CAN总线接口管理、外部传感器信号采集和转换、中断服务程序、响应信息处理单元系统指令和采集器自诊断功能。
远程数据采集器是整个采集系统中要求可靠性较高的单元.除了硬件上增加了看门狗功能、高性能采集电路和双CAN总线接口外,软件设计也必须考虑其可靠性和稳定性要求。因此软件设计上需要重点考虑以下几个方面:
(1)软件校准ADC。为了提高ADC采集精度和数据可靠度,需要通过软硬件相结合的方式对ADC进行校准。校准包括零点漂移及增益误差的自校准和采集误差修正,在设计中采用分段线性插值的方法对测量数据通过软件进行非线性校正_6],并将补偿和校准参数存储在片内FLASH中;(2)看门狗超时监控处理。为了提高系统运行的稳定性,软件在50ms周期内喂一次看门狗,若看门狗超时则采集器复位;(3)软件数字滤波处理。为了防止外部干扰信号引起采集到的数据产生突变,导致错误报警,现场数据采集节点发送数据之前对数据进行数字滤波。
数字滤波分两部分完成,一是外部信号在10ms内发生急脯突变的概率较小,采集器在10ms的单位时间内监测和统计信号的变化率,根据事先设定的门限值在数据转换前端剔除虚警数据。二是采集器在lOOms内对相应的采样信号进行lO次采集取其平均值 ,这种算术平均值滤波方法比中值滤波可靠性更高,又比防脉冲干扰平均值滤波简便,可以有效降低对瞬间高频干扰信号的虚警率。
5 结束语
基于冗余CAN总线设计的数据采集系统在实际应用中得到了验证,整个系统在恶劣的工作环境下性能稳定,通讯能力令人满意。采集器在正常运行时陕速地对远程请求做出响应,工作方式多样,参数修改灵活方便,能远程维护管理,可应用于构建网络化管理系统的环境。
利用冗余CAN总线通讯技术,有效解决了单线传输故障,提高了可系统的可靠性和稳定性。测试证明,在总线或通道处注入故障时,冗余CAN总线能顺利进行切换,并保障通讯正常;在对两条总线或两路CAN通道同时注入故障时,数据采集器自动脱离总线,系统其他单元间的通讯不受影响。实验结果表明,上述设计思想完全可行,能够满足大型现场采集和控制需求。
采用嵌入式模式开发设计,具有精度高、运行稳定、实时性好、抗干扰能力强和性价比高的特点,可以在各种远程监测领域广泛应用。