基于SOPC的列车环境异物入侵监测系统研究
扫描二维码
随时随地手机看文章
摘要:研究一种基于SOPC技术的列车分布式环境异物入侵监测系统,系统将视频数据的采集、处理与传输集成到单片FPGA上,采集和处理部分用硬件描述语言编写成硬件模块,作为外设挂到NiosⅡ系统中,传输部分采用以太网接口IP核,构建成SOPC系统去实现异物入侵监测系统。同时,用户可以方便地添加IP核来扩展系统功能。最后,在Altera公司的DE2开发平台上进行验证,达到了设计的要求。
关键词:可编程片上系统(SOPC);异物侵限;视频采集;NiosⅡ
随着我国经济社会的快速发展,铁路客货运输量不断增加,列车运行速度不断提高,给铁路安全监控带来巨大的压力,其中铁路异物侵限严重影响到列车的运行安全。由于列车在露天高速行驶中环境因素不可预测,轨道异物侵限可能会给行车安全带来严重后果。轨道异物是指铁道上影响到正常行车安全的障碍物,如山体滑坡、泥石流塌方等造成的道上沙石、桥梁隧道掉落的悬挂物、因报警失误仍滞留在道上作业的工务人员以及相关装备。由于铁路异物侵限检测系统的高速度、低漏检率、低误报率等要求,使传统的以软件为核心的IDS面临着越来越大的压力,仅靠模式匹配算法的改进对入侵检测速度的提高是有限的,不是解决问题的根本策略。
SOPC(System On a Programmable Chip)称为可编程片上系统,它是一种灵活高效地解决方案,而且设计周期短,设计成本低。SOPC Bu-ilder是Altera公司实现SOPC概念的一款工具软件,用于组建一个在模块级和组件级定义的系统。SOPC Builder的组件库包含了从简单的固定逻辑功能块到复杂的、参数化的、可以动态生成的子系统等一系列的组件,用户还可简单地创建定制的SOPC Builder组件,方便地实现各种系统功能的配置。本文给出一种分布式列车环境异物入侵的前端监测系统,通过在FPGA上构建NiosⅡ软核处理器、各种各样的外设和自定义组件等,设计实现一个定制的SOPC实时监测系统,完成对前端视频数据的实时采集和处理,并通过网络将数据传送到列车控制中心。
1 系统整体架构
本系统采用SOPC实现分布式列车环境异物入侵前端监测功能。一个NiosⅡ处理器系统由NiosⅡCPU和一系列的外设组成,开发基于Nios-Ⅱ的嵌入式系统,关键在于如何根据功能需要定制NiosⅡ及设计自定义接口。系统采用ADV7l8lB完成模拟视频解码处理,完成CVBS等模拟视频信号到YCrCb数字信号的转换,用硬件描述语言(VHDL)设计视频数据采集模块IP核,来实现前端的视频数据采集。由于采集的视频数据是海量数据,这给存储和传输都带来了很大的不便,需要对视频数据进行预处理,以降低数据量,系统采用VHDL设计相应的视频数据处理模块IP核。最后把数据通过网络传送到列车控制中心,以太网接口模块用友晶科技提供的太网接口IP。将这些IP核以自定义组件的形成添加到Nios-Ⅱ系统中去,并添加一些必要的存储器、人机接口和定时器等,构建成所需的SOPC系统,整个系统的框图如图l所示。
2 视频图像采集处理模块设计
采集模块是整个系统非常重要的组成部分,采集质量的好坏将直接影响整个系统的识别效果。本系统视频A/D转换器选用ADV7181B,它能够自动检测和转化标准的NTSC、PAL和SECAM制的模拟电视基带复合信号,输出4:2:2的符合ITU-R656(国际电信联盟的视频标准)标准的16位/8位复合视频数据,支持6路模拟视频信号的输入。ADV7l81B通过I2C总线实现配置,同时能输出行、场同步信号。ADV718lB输出的数字视频数据通过8位总线TDDATA传输给FPGA。FPGA经视频解码模块在视频数据中识别出有效数据,再根据系统对图像精度的要求进行处理,生成三种数据图像,分别有RGB彩色图像、灰度图像和二值化图像,最后将图像传送到缓存FIFO中,输出到NiosⅡCPU。最后由处理器控制将视频数据写到SDRAM中。图2是视频采集处理模块框图,其中,彩色图、灰度图、二值化图的数据量之比是384:128:1,可根据实际视频图像的需要,选择不同数据量的图像。
系统内各模块功能简要描述如下:
1)ITU-R656解码模块接收从视频A/D转换器ADV7181B送来的数字视频流,然后对数字视频流进行解码,产生YUV3路视频信号,识别出行、场同步信号。
2)3个视频缓存模块系统各设计一个FIFO,根据视频数据的大小,缓冲深度各不相同,用于视频数据的缓存。其中FIFO是使用Altera提供的可参数化宏功能模块和LPM函数进行设计,具体是通过Mega Wizard Plug-In Manager的GUI向导实现。
3)I2C配置模块通过I2C总线对ADV7181B进行初始化配置,选择产生的数字视频格式等。
4)色彩空间转换模块完成色彩空间由YUV到RGB的转换,使视频数据适合在VGA显示。色彩空间由YUV到RGB的转换按以下转化公式编写相应的硬件描述语言。
R=1.0Y+O+1.402(Cr-128)
G=1.0Y-0.344 13(Cb-128)-0.714 14(V-128)
B=1.OY+1.772(Cb-128)
最后生成的YUV到RGB硬件电路模块如图3所示。
5)图2中Y的输出即为图像的灰度值,Y值的信息可以完整地描述一幅灰度图(灰度等级为256)。将灰度值经二值化后就可以得到一幅二值化的图像,关键是阈值的选择,在这里将灰度阈值设置成可调的输入量,就可以根据具体的应用环境设定理想的阈值。二值化的硬件模块也是用硬件描述语言描述的,生成的模块如图4所示,其工作原理是当图像值大于阈值时输出l,否则输出O。
3 视频数据图像传输模块设计
视频数据图像传输部分采用SOPC Builder工具自带的以太网接口IP核,将其添加到NiosⅡ系统中,构建成SOPC系统。其中,DM9000A是一款高速网络控制器,它具有通用处理器接口,1个10/100M PHY和4K字节的SRAM,它支持8位和16位2种数据接口。SOPC Builder提供将DM-9000A连接到Avalon总线上所需要的接口逻辑。图5是DM9000A IP核接口模块,分为输入和输出两部分,一部分是模块与Avalon总线的连接信号,另一部分是模块与FPGA外部的DM9000A连接的信号。
最后根据需要配置得到的NiosⅡ软核处理器如图6所示。NiosⅡ是一个用户可配置的通用RISC嵌入式处理器,NiosII集成开发环境(IDE)是NiosⅡ系列嵌入式处理器的基本软件开发工具,所有软件开发任务都可以在NiosⅡIDE下完成。
4 结束语
本文介绍一种基于SOPC的列车分布式环境异物入侵前端监测系统,详细介绍了SOPC硬件系统的设计配置过程,以及基于此硬件系统配置的NiosⅡ软核处理器的软件设计。最后在Altera公司的DE2开发平台上进行测试,监测得到前端灰度图像如图7所示,达到了前端检测的目的。列车环境异物入侵监测系统软件流程包括对各模块的初始化和对各模块的流程控制,主要有视频采集控制、图像处理控制、图像SDRAM存储控制、以太网接口控制流程等设计。
基于SOPC技术设计的创新点在于不但软件是可以编程的,构建的硬件系统也是可编程的,这就为系统的灵活配置和软件的灵活设计提供了很大的方便,也有利于系统的后期优化和升级。在设计时,要注意根据具体的硬件资源大小和实现速度要求,选择硬件实现还是软件模拟。同时还要注意前端采集模块的抗抖动设计。这种量体裁衣的硬件配置方式可以最大限度地提高系统的性价比,使得SOPC技术在环境异物入侵监测系统中有着广阔的应用空间。也可以利用HardCopy技术,将实现于FPGA器件上的列车分布式环境异物入侵监测系统通过特定的技术直接向ASIC转化。