摘要:本文提出了一种以ARM9为主处理器的专用测量电气化铁路几何参数的系统设计方法,以Linux操作系统为系统程序运行环境,实现了CCD摄像机图像的采集、处理、存储与显示等功能,该系统具有结构简单、体积小、可靠性高、实用性强、易于维护等优点。
关键字:机器视觉 ARM9处理器 FPGA Linux
Key Words: Machine Vision ARM9 Processor FPGA Linux
中图分类号: TM 文献标识码:A
引言
近年来我国大规模高速铁路的建设,不仅对路面质量的要求有所提高,对其周围的电气设备也提出了更高的要求。受电弓与接触网的受流质量历来是制约机车提速的一个重要因素。在高速铁路运营中,为保持接触网良好的动态性能,必须在设计时把接触网动态抬升量限制在合理的范围之内,并一定周期内对接触网的一些参数进行动态检测。
图1为铁轨的半剖面示意图,其中S为轨距,α为水平向的角度值,β为垂直向的角度值,L为激光测距值。以上数据本装置可以直接测量到。根据测量地点不同,共有8类测量项目,分别是:接触线、锚段关节、绝缘器、线岔、侧面限界、吊弦、支撑装置和定位器。每种测量项目需要测出轨面高差,轨距,倾斜率,坡度,偏移角等参数。
图1 接触线位置及测量示意图
Fig.1 location and measurement schematic diagram of the contact line
1 系统硬件方案
本文介绍了一种新型的非接触式检测铁路接触网的方法,并开发了一套基于机器视觉和嵌入式系统的用于电气化铁路接触网几何参数测量的专用装置。系统主要由嵌入式主控器,视频采集与处理模块,LCD显示控制模块、位移传感器、倾角传感器数据采集模块等硬件模块组成。如图2所示。
图2 系统主要组成架构
Fig.2 main components of the system
系统上电复位后,将启动LINUX操作系统,并进入控制操作界面。当需要采集图像数据时,可以通过功能按钮调用相应的功能,主控制器AT91RM9200按顺序分别采集全站仪、倾角传感器和位移传感器的输出信号,最后依据数学模型对数据进行计算,并将结果同步显示在屏幕上和存入数据库中。
1.1 嵌入式主控模块
嵌入式主控板是系统软件的运行平台,控制整个系统的运作。考虑到工程需求与市场的实际情况,主控模块的控制器选用ATMEL公司的AT91RM9200高性能ARM9芯片,配置32M内存、16M FLASH。两个外部存储器接口,使微控制器可以从存储器空间读取视频数据。系统配置一片MT48LC816M 16MByte字节Nor Flash用于固化代码,使用2片HY57V281620组成32位SDRAM接口用于系统的代码执行和数据的存储。
1.2 视频采集与处理模块
视频采集与处理模块的工作原理为:CCD摄像头拍摄到激光束覆盖的区域后,输出的视频信号通过图像A/D转换芯片完成模拟视频信号到数字视频信号的转换,并被解码为标准的数字视频信号;FPGA控制检测图像A/D转换芯片输出的各种时序信号对两片SRAM进行乒乓操作,产生相应地址总线与控制总线逻辑输出,将数字视频信号存放在当前空闲的SRAM中;ARM微控制器通过FPGA将缓存SRAM中的视频信号以SRAM总线时序直接读取到自身的内存区域中完成显示、处理等功能。
本模块选用飞利浦公司性价比较高的SAA7114视频解码芯片来捕捉和缩放视频图像,以提供标准的数字视频流。其视频输出频带为27MHZ。在PAL制式下能以每秒25帧速率输出实际有效像素为720×576的数字图象。输出格式遵循ITU-656标准,使用时只需外接24.576MHz晶体,通过IIC总线对内部寄存器进行读写配置参数。
在系统应用中,由于SAA7114输出的视频信号不能够直接在液晶屏上显示,并且嵌入Linux的微控制器不可能实时响应频率高的中断,这就需要视频解码芯片将输出的视频信号进行缓冲和预处理。目前,已有专用的视频格式转换芯片价格昂贵,国内货源不稳定,并且在实际使用过程中点屏的成功率极低。因此设计方案时,采用FPGA完成视频信号预处理和数据缓冲功能。视频采集流程如图3所示。
图3 图像的获取与处理流程
Fig.3 image acquisition and treatment procedure
FPGA芯片的引脚分为很多类,而图像采集系统工作的参考时钟SAA7111 LLC输出的像素参考时钟信号,因此需要将LLC引脚连接至1C6Q240的专用时钟引脚。其连接电路如图4所示。
图4 SAA7111时钟输出与1C6Q240连接电路图
Fig.4 SAA7111 output clock and 1C6Q240 connection circuit
1.3 LCD控制显示模块
显示屏安装在测量主机上,主要用来显示CCD观察的图象和测量的项目内容。系统选用Epson公司的SLD13506芯片控制LCD图像数据显示。SLD13506连接在9200的BANK 2,数据总线宽度为16位,地址线A21与SLD13506M/R引脚相连,用于选择访问寄存器与显存,9200访问SLD13506显存起始地址为0x30200000,寄存器起始地址为0x30000000。使用GM71V18163 2MB DRAM作为显示存储,9200通过访问SLD13506数据地址空间可以实现对DRAM的数据存储操作,使用50M时钟频率作为SLD13506内部的总线时钟,25M时钟频率作为LCD的像素时钟信号,支持640*480 60HZ TFT LCD显示,LCD行、场同步信号由SLD13506内部通过对25M像素时钟分频得出。LCD显示控制硬件接口如图5所示。
图5 LCD显示控制硬件接口示意图
Fig.5 hardware interface diagram of LCD display control unit
在显示过程中,系统需要依靠外部同步信号发生器使SLD13506的外部时钟信号达到频率要求,并且使输入的各个时钟信号之间保持相位同步。系统采用高性能、低功耗的同步信号发生器ICS1523作为SLD13506的同步信号源,能够提供差分(高达250MHz)或者单路格式(高达125MHz)的像素时钟。使用行业标准的I2C串行总线接口进行编程。可以通过该接口访问内部的12个寄存器。如图6所示为时钟发生电路。
图6 LCD时钟发生电路
Fig.6 LCD clock generation circuit
1.4 接口电路
主控板外接有三路数据传输接口:全站仪接口(RS-232)、位移传感器接口、倾角传感器接口。
1、全站仪接口
系统使用9200自身异步串行接口与全站仪连接。其性能指标为:波特率9600bit/s;字节长7bit;奇校验;停止位1位。