基于CAN总线的隧道环境监控系统的研究
由于隧道的相对封闭性和其中行车环境的复杂性,要保障其安全运营存在一定的复杂性。尤其对于高速公路中的长隧道(长度介于1 km和3 km之间)和超长隧道(长度高于3 km),由于车速高、流量大以及通风等问题的存在,隧道中容易累积汽车尾气中的CO、氮氧化物等有害气体。另外,隧道中还可能因为照明故障、能见度低等问题的产生导致交通事故的发生。为保证隧道的运营安全,避免造成安全事故和重大经济损失,应对隧道配备完善的环境参数监控系统。
本文介绍的隧道环境监控系统,利用区域控制部分的实时监控技术对各监控点的照明亮度、能见度、CO浓度、烟雾浓度等参数进行采集、监测,并根据这些参数控制相关的交通灯、应急灯、LED交通指示牌、限速牌以及报警装置。然后通过现场总线将各节点的参数和报警信号发送至本地监控中心,由本地控制中心对各区域控制模块进行调度。本地控制中心还将这些参数通过以太网发送至远程监控终端处,在终端上远程监控隧道的环境参数。
1 系统总体结构
系统的总体结构如图1所示。系统主要包括区域控制部分、本地控制中心和远程监控终端。
安装在隧道中的区域控制部分采用CAN总线分布式数据采集控制方式。当系统启动后,各环境参数监测点开始采集环境参数,并在接收到发送数据命令后将数据传送至CAN总线。在区域控制模块接收处理数据后会控制报警器等相关设备。
由于CAN总线协议不对节点进行地址编码,而是采用对通信数据块进行编码的方式,这使得CAN总线上的节点数量理论上几乎不受限制[2]。然而实际上,由于存在电气特性上的限制,CAN总线上节点数量不宜超过100个。因此各个区域控制模块与本地控制中心使用另一条CAN总线进行数据通信。区域控制模块在采集到环境参数并做出控制动作后会将参数打包通过CAN总线发送至本地控制中心的工控机。本地控制中心如收到某个区域控制部分的报警信号,会根据报警信号类型对该区域控制部分前方的各区域控制部分做出控制,提前预警车辆隧道前方通行环境存在问题。
远程控制终端通过客户端的显示程序显示出由本地控制中心发送的隧道环境参数,并将参数保存在数据库,以实现历史数据的存储。
2 系统硬件设计
整个系统硬件部分包括由区域控制模块和各环境参数测量模块组成的区域控制部分、本地控制中心的工控机以及监控终端。其中关键部分为区域控制部分,本文将对这部分进行重点介绍。
区域控制模块选用意法半导体公司的STM32F105RCT6为控制核心,它是采用ARM Cortex-M3为内核的32位高性能嵌入式微处理器。它集成了两个CAN控制器,并为每个CAN控制器分配了256 B的SRAM,每个CAN控制器有三个发送邮箱和两个接收FIFO[1]。模块的其他外设包括用于CAN总线信号收发的CAN收发器,用于显示当前环境参数的点阵液晶,用于实现基本控制功能的按键等。区域控制模块的硬件框图如图2所示。
区域控制模块中CAN总线接口电路由STM32F105RCT6中内置的CAN控制器和CAN收发器SN65HVD230D组成。STM32F105RCT6的PA11/CAN1_RX和PA12/CAN1_TX为CAN1控制器接口,将其与CAN收发器连接后接入与各测量模块相连的CAN总线中;PB12/CAN2_RX和PB13/CAN2_TX为CAN2控制器接口,将其与CAN收发器连接后接入与其他区域控制部分及本地控制中心相连的CAN总线中。
[next]
能见度测量模块由能见度检测仪和控制模块组成。能见度检测仪能将检测到的能见度值通过RS232发送至控制模块。当区域控制模块向能见度测量模块中的控制模块请求数据时,控制模块会使能见度检测仪通过RS232向控制模块发送数据,并转换成CAN数据包发送至CAN总线。其他测量模块工作模式与能见度测量模块相同。
3 区域控制模块软件设计
由于区域控制部分在测量环境参数以及控制相应设施方面对实时性和稳定性要求,区域控制模块选择使用μC/OS-II管理控制任务的调度。μC/OS-II是一个专为嵌入式应用设计,基于优先级调度的抢占式实时操作系统内核,它包含了任务调度、任务管理、时间管理/任务间通信与同步等功能。各任务之间通过信号量、邮箱和消息队列实现相互间的数据交换和同步[3]。
根据区域控制模块在系统中的作用,嵌入式操作系统中应实现多个不同优先级的控制任务。这些任务按照优先级由高到低分别为:接收本地控制中心调度;接收按键控制;采集环境参数;控制相关设备;显示环境参数;发送数据到本地控制中心。对于区域控制系统来说,本地控制中心的调度命令决定着它的系统设置,因此需要把接受本地控制中心调度任务分配到相对最高的优先级。其他任务也根据相对的重要性和执行顺序
- 对TTCAN的分析(05-26)
- 嵌入式Win CE中CAN总线控制器的驱动设计与实现(05-01)
- μC/OS-II的多任务信息流与CAN总线驱动(07-11)
- 采用CAN总线实现DSP芯片程序的受控加载(11-08)
- 基于DSP的电动汽车CAN总线通讯技术设计(10-08)
- 基于DSP的CANopen通讯协议的实现(01-18)