【关键字】机器视觉 ARM9处理器 FPGA Linux
【出 处】 2018年 1期
【收 录】中文学术期刊网
【作 者】沈丽萍
【单 位】
【摘 要】 摘要:本文提出了一种以ARM9为主处理器的专用测量电气化铁路几何参数的系统设计方法,以Linux操作系统为系统程序运行环境,实现了CCD摄像机图像的采集、处理、存储与显示等功
摘要:本文提出了一种以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位。
2、位移传感器接口
系统采用三线电阻式位移传感器,它把位移转化为电阻的变化,并把电阻变化转换为电压输出。用两路高速12bit A/D采集,通过采集电压值计算出相应的位移测量结果,其流程如图7所示。
图7 位移传感器采集流程
Fig.7 displacement sensor acquisition flows
3、倾角传感器接口
倾角传感器用于系统的水平测量。由于采用“液体摆”式倾角传感器,需要较高精度的频率基准和频率采集,普通单片机精度较低,很难完成。系统采用FPGA完成高精度的频率采集。
2.软件方案
系统软件是专门为图象采集显示工业控制终端定制的,采用方便快捷且成本低的嵌入式linux操作系统做为软件运行环境。界面风格设计成类似Windows操作系统环境下的工业控制软件界面,使用户能够方便的进行操作。
2.1 软件工作流程
系统加电后自动进行初始化(包括分别初始化:串口、图形界面显示引擎、实时数据库和存储设备CF卡),随后打开视频采集模块,实时的采集与显示激光束周围的图象。操作人员通过观察屏幕,确定激光对准所需位置后按下“确认”键开始测量。此处仍以接触线的测量为例,说明系统软件工作流程。
首先系统从RS232串口中读取全站仪测到的距离(通过激光测距获得)、俯仰角和方位角,并存入数据库。然后读取位移传感器数据,得到轨距值,按照数学模型进行计算得出接触线高,并判断它是否在正常范围内(若超出范围,则报警)。其次读取倾角传感器数据,获得偏移角,通过与前面的距离参数进行三角运算,获得拉出值和接触线的横向偏移,纵向偏移等。重复上述过程测承力索高度,计算得出线缆间距。利用嵌入式数据库Berkeley DB将以上采集的数据、计算数据和测量时间、地点等信息一起记录到相应的表格中,并存储在CF卡上。最后,当测量完毕后,可以插入USB存储设备自动导出DB数据库。其具体流程如图8所示:
图8 软件设计流程图
Fig.8 software design flow chart
2.2 数据库转换
测量系统使用的是适合于ARM处理机的实时数据库Berkeley DB存储测量数据,但是在Windows操作系统下DB的数据不能像别的数据库一样以列表的形式直观的显示出来。为了方便工作人员对测量数据做进一步分析,还需编写一个配套的数据库转换软件,对DB数据库做处理,把数据导出成Access数据库下的表格形式。
数据库转换软件使用VC++6.0开发环境。首先采用ADO格式创建空的Access数据库,再把Berkeley DB的相关动态链接库添加到工程中,使得 DB 和Access 数据库建立连接。通过游标遍历Berkeley DB数据库把各个表格中存储的数值逐条读出,并写入新建Access数据库的对应表格中。实际操作时应注意DB数据库中的Key,最好定义成字符型,以提高数据库遍历的速度。
3 结论
针对以往检测设备存在检测精度低、实时性差等问题,本系统设计着眼于系统的通用性、技术的可行性,克服使用计算机所存在的种种技术问题,采用以ARM9高性能处理器为核心的全嵌入式化设计方案,提出通用的软、硬件模型。使用嵌入式linux操作系统平台,克服以往产品的功耗大、体积大的同时降低了设备的成本,在软、硬件设计方面完全具备自主的知识产权,增强了市场竞争力能从容的应对产品升级、换代。实验证明,该设备可靠性高、维护便捷、能快速准确的检测高速铁路的相关技术参数,降低事故发生率。它在路基检测、道路识别等领域将具有很广阔的应用前景。
参考文献 周立功.ARM嵌入式系统基础教程[M].北京航空航天大学出版社,2005:322-332. 周立功.ARM嵌入式系统实验教程(三)[M].北京航空航天大学出版社,2005,11. S. Brown ,and J. Rose. FPGA and CPLD Architectures. A Tutorial .IEEE Design and Test of Computers, 1996,vol. 13, vol. 13 (no. 2,) :pp. 42.57 . L. Kitchen and A. Rosenfeld. Gray-level corner detection. Technical report, Universify of Maryland, College Park, Computer Science Center 887,1980. 周如辉.实时视频处理系统的乒乓缓存控制器设计[J].单片机与嵌入式系统应用, 2006 K Lam. C Pang.SH son et al. Resolving executing Commiting confilicts in distributed real-time database systems .The Computer Journal, 1999,428, 42(8) .