kaiyun官方注册
您所在的位置: 首页> 嵌入式技术> 设计应用> 基于DSP和ARM的车牌识别系统设计
基于DSP和ARM的车牌识别系统设计
来源:微型机与应用2012年第22期
刘永春
(四川理工学院 自动化与电子信息学院,四川 自贡643000)
摘要:研究了一种基于DSP和ARM的嵌入式车牌识别系统,通过DSP实现视频图像数据采集、车牌识别算法处理、网络传输等任务;ARM处理器使用Linux系统调度和管理视频接收、视频显示、识别结果显示等控制任务。整个系统通过网络实现通信与同步。
Abstract:
Key words :

摘 要:研究了一种基于DSPARM的嵌入式车牌识别系统,通过DSP实现视频图像数据采集、车牌识别算法处理、网络传输等任务;ARM处理器使用Linux系统调度和管理视频接收、视频显示、识别结果显示等控制任务。整个系统通过网络实现通信与同步。
关键词:车牌识别;嵌入式系统;DSP;ARM

车牌识别系统采用数字图像处理技术,通过车牌图像采集、图像预处理、车牌定位、字符分割和字符识别5个模块来实现车牌自动识别。传统的车牌识别系统主要由摄像头、视频采集卡、PC机等主要模块组建而成,其特点是系统容易实现,但是成本较高、实时性较差、体积庞大、安装和维护不方便。本文讨论了一种基于DSP和ARM的嵌入式车牌识别系统的硬件平台设计及其典型模块的驱动程序设计。与传统的车牌识别系统不同,该系统无需计算机即可实现车牌图像的采集、处理和识别、结果输出,具有识别率高、实时性好、环境适应性强、安装维护简单、成本低等特点。
1 系统硬件平台设计
硬件平台包括DSP和ARM两个独立的硬件平台, 利用DSP强大的信号处理能力完成车牌识别算法运算,使用ARM处理器实现人机交互控制功能。由于车牌识别系统需要很高的识别率和识别速度,且车牌识别算法的运算量又比较大,为了满足系统的实时性和精度要求,DSP平台采用TI公司C6000系列的TMS320DM642作为核心控制模块,利用其丰富的片上资源以及快速的图像处理能力来实现车牌图像采集和算法处理。ARM平台运行于Linux系统上,选用三星公司的ARM9处理器S3C2410作为控制中心,由于其功耗低并具有丰富的片内资源,能够满足本系统的设计要求。系统硬件平台将电源管理、图像采集、SDRAM、Flash、网络通信、触摸屏显示控制等功能模块集于一体,如图1所示。

本系统的结构设计可实现多种用途,具有很好的灵活性和扩展性。其中,可以根据需要选择DSP平台来实现车牌识别算法处理,并通过网络将识别处理结果发送到上位机,组成一个分布式的车牌识别局域网,从而实现分布式智能交通管理。也可以选择DSP和ARM平台共同实现便携手持式车牌识别系统,并通过在ARM平台上开发人机交互界面,为用户提供相应的交互控制功能,以完成系统的控制和设置。
其中,触摸屏显示模块采用2.4寸TFT彩色触摸屏,其分辨率为320×240,可在Linux环境中开发GUI接口实现系统的人机交互功能,包括接收DSP网络接口传输来的视频信号,并在显示屏上实时显示,同时用户可通过触摸屏控制车牌图像的抓图等操作。本文将重点讨论车牌图像采集和网络通信模块的设计。
1.1 车牌图像采集
车牌识别系统所采集到的车牌图像质量对整个系统的识别效果起着关键作用。系统中DM642的3个视频接口支持视频捕获模式和视频显示模式,可以与视频解码芯片直接连接,系统采用TI公司的TVP5150高性能视频解码芯片,其可以将 PAL、NTSC 信号转换成 BT.656-YUV4:2:2信号。通过DSP的I2C总线可以实现对 TVP5150工作模式的配置,电路连接情况如图2所示。

DM642的视频模块支持多种视频捕获模式,本系统采用10 bit BT.656模式,利用DSP的VP0通道对视频解码芯片输出的BT.656信号进行采集。DSP 视频采集模块利用BT.656数据流中嵌入的行、场同步信号,以及视频解码芯片TVP5150提供的GPCL使能信号完成对车牌图像的采集。
1.2 网络通信模块设计
网络通信模块包括DSP和ARM两个网络模块。其中,DSP网络模块主要功能是把采集到的车牌图像的处理结果发送到ARM模块,并接收来自ARM模块的控制信号;ARM网络模块主要功能是接收DSP网络模块发送来的数据以及向DSP网络模块发送控制信号。
1.2.1 DSP网络模块
利用Intel公司的以太网控制器LXT971将DSP传输来的数据转换为以太网物理层接收到数据,并通过双绞线连接到隔离变压器PE65745和RJ45接口然后再连接到网络,如图3所示。使用隔离变压器的原因是增强信号耦合,使信号的传输距离更远;同时起到隔离保护作用,防止外界对芯片的干扰。

其中,DSP网络通信的驱动基于DSP/BIOS和网络开发包DNK等资源开发。硬件驱动程序库的函数以及数据结构都符合DNK的标准应用程序编程接口,由DNK进行提前控制。底层硬件驱动与TCP/IP协议栈的接口包含TCP/IP协议栈与硬件驱动层之间的应用程序编程接口和驱动环境与TCP/IP协议栈直接传递状态监测信息接口。
1.2.2 ARM网络模块
由于S3C2410没有集成网络接口,需要用外扩CS8900A以太网芯片来实现网络底层的数据传输,并通过隔离变压器PE65745将数据传输到RJ45接口,电路连接如图4所示。

图4中门电路主要实现以下逻辑关系式功能:
IOW=ADDR24+new
IOR=ADDR24+nOE
MEMR=ADDR24+nOE
MEMW=ADDR24+new
在CS8900A中IOW、IOR、MEMW、MEMR 4个信号都是低电平有效。CS8900A片选信号AEN连接到nGCS3,I/O模式下的nOE和nWE通过门电路连接到A24,中断信号INTRQ0连接到EINT9。CS8900A的基地址为x19000000。在I/O模式下,CS8900A的内部寄存器默认地址为0x300h,在S3C2410的地址空间中的地址为0x19000300。通过CS8900内部寄存器的设置,实现网络底层数据的接收和发送,实现通信。
2 系统软件设计
系统软件设计包括DSP系统底层程序、ARM系统底层程序和系统应用程序开发。DSP系统程序的开发是在TI公司的CCS集成开发环境中进行的,利用CCS提供的图像显示、MEMORY窗口、寄存器查看、断点设置、DSP/BIOS分析等工具实现程序的开发。DSP系统程序流程图如图5所示。

系统上电后首先对DSP资源进行初始化,包括资源配置、EMIF口配置、中断设置、CACHE使能、I2C 配置视频解码芯片、DSP 视频采集口初始化等。然后DSP通过视频采集口VP0采集车牌视频图像信号,当每完成一行数据采集时,DSP 就会触发一次 EDMA,同时通过 EDMA 把相应的行视频数据从片内搬移到片外 YUV_SDRAM 存储空间中。完成一帧车牌视频图像采集后,系统调用YUV转RGB子程序,把YUV原始图像转换成RGB图像,然后调用图像处理算法,包括图像预处理和车牌字符分割、识别等算法,最后系统把车牌识别结果通过网络发送到ARM系统中,若此时系统接收到来自ARM系统的车牌图像采集控制信号,系统就进入到下一次图像采集和处理过程。
Linux内核是开源的实时操作系统,具有很好的任务调度及管理功能,可以通过内核配置对内核进行裁剪。ARM系统程序都是运行在Linux操作系统中,需要在ARM平台上搭建Linux系统环境,包括交叉编译器、Uboot移植、Linux内核移植和文件系统开发。程序设计的重点是各功能模块的驱动程序设计,包括触摸屏驱动、网络驱动等。
应用程序是整个系统最上层的程序,为用户提供良好的人机界面,实现系统交互功能,通过在ARM上移植Linux系统,并在此基础上设计GUI交互界面。应用程序主要由Socket网络通信和触摸屏控制程序两部分组成。网络通信主要完成接收DSP系统发送过来的实时视频图像以及牌照识别结果,同时也实现给DSP系统发送车牌图像采集触发信号。触摸屏控制程序主要完成采集触摸点的坐标,当用户点击GUI界面上的控制按钮时,触摸屏控制程序会相应地给DSP发送图像采集触发信号。
本嵌入式车牌识别系统充分利用了DSP强大的数据运算处理能力和ARM的控制处理能力,采用DSP+ARM的体系架构,将车牌图像采集、图像处理算法、网络传输、实时显示、触摸控制等功能模块集成为一体,提高了系统的稳定性、可靠性和灵活性。系统具有良好的人机交互功能,并实现了系统的触摸控制功能,人机交互界面可以实时显示系统所采集到的车牌图像信息,并可以实现对系统的控制和设置。在系统的网络传输过程中,若增加视频图像压缩和解码功能模块,还可提高图像传输的速度,改善系统的实时性。
参考文献
[1] 李亚峰.ARM嵌入式Linux设备驱动实例开发[M].北京:中国电力出版社,2008.
[2] Texas Instruments.TMS320DM642 video/imaging fixed-point digital signal processor[S].2004.
[3] 张龙,李霁野.基于DM642的视频采集与传输系统设计[J].微计算机信息,2011,27(06):61-62.
[4] 陈振学,汪国有,刘成云.一种新的车牌图像字符分割与识别算法[J].微电子学与计算机,2007,24(2):42-44.
[5] 刘忠杰,宋小波.基于MATLAB的车牌识别系统设计与实现[J].微型机与应用,2011,30(14):37-40.
[6] 何汶静,黄子强.嵌入式系统的显卡方案设计[J].电子技术应用,2010,36(02):36-39.

此内容为AET网站原创,未经授权禁止转载。
Baidu
map