TMS320VC5416在点钞机人民币号码识别记录系统中的应用
2008-05-06
作者:苑玮琦,汤永华
摘 要:本文给出一种基于TMS320VC5416 DSP的点钞机人民币号码识别记录系统。在使用相对低档、廉价的DSP芯片作为处理器的情况下,实现了每秒15张人民币号码的在线识别记录功能,并具有长期保存且系统掉电不丢失号码数据功能以及接口传输数据功能。
关键词:DSP TMS320VC5416 点钞机 号码识别
人民币、特别是大面额纸币抢劫事件通常涉及金额巨大,不仅使国家、个人以及金融机构遭受严重经济损失,而且也一直是影响社会治安,危害社会稳定的重要因素。如果根据人民币号码的惟一性,在纸币出入库时记录人民币号码,当发现目前流通的币码与被抢币码相一致时,则限制其流通,并为抢劫案件的侦破提供线索,同时也对抢劫案犯产生震慑作用。因此有必要在货币流通市场提供一种便携式人民币号码自动识别记录装置。
该装置要求在点钞机上实现对人民币号码的在线采集和识别,显而易见系统实现的前提是准确无误的采集到清晰的人民币号码数字图像数据。根据当前点钞机每秒10张~15张的运行速度,要求图像采集的速度也应该在此范围内。另外由于系统应用于金融等机构,并为警方提供重大案件的线索,因此要求所记录的币码须准确无误,要求性能必须可靠,识别率应尽可能高。还由于点钞机机身体积的限制,要求图像采集电路必须尽可能的小。此外由于存储空间有限,也为了提高识别速度以便与点钞机同步,因此还必须对获取的图像进行开窗处理,控制所采集有效数字图像的大小。
目前已经有用100MHz单片机完成的纸币号码在线识别记录系统,速度最大可以达到15张/秒,但单片机存储空间非常有限,而且不易扩展,工作频率也很难提高,因此难以对系统进行进一步的升级。目前数字信号处理器DSP不仅具有更高的工作频率,较大的在片存储空间,而且价格已与单片机无异,甚至更低。TI公司的54X系列中的TMS320VC5416不仅工作频率已经达到160MHz,还具有128K×16bit" title="16bit">16bit的片上" title="片上">片上RAM[1],完全能够满足系统需要,避免了外扩存储器,而且价格低廉,通过对比其它型号的DSP,本系统选用了VC5416(160MHz)。
1 系统基本结构和工作原理
1.1 系统结构
点钞机人民币号码识别记录系统主要有三大部分组成,即:图像采集模块、DSP处理模块、通信模块。系统框图如图1所示。
1.2 系统工作原理
摄像头将光信号感应到图像传感器OV7620的图像阵列(image array),然后图像传感器OV7620将感应到的光信号转换为模拟视频信号。该模拟视频信号在图像传感器OV7620内部经过放大、抗混叠滤波后,再经A/D转换为数字信号,同时产生行场同步信号" title="同步信号">同步信号和像素时钟。最后数字图像数据从图像传感器OV7620的视频输出口输出,同时输出与每个像素数据相对应的行场同步信号和像素时钟。
然后,TMS320VC5416查询并根据图像传感器OV7620行、场同步信号和像素时钟的状态将图像传感器提供的数字图像数据准确的保存到系统数据存储器中。采集并保存完一幅人民币号码图像后,在点钞机系统同步信号的协调下对采集完的号码图像进行二值化、细化等预处理操作,然后根据英文字符和数字字符的结构对号码图像进行识别处理,并将识别结果保存到指定的存储位置,同时通过LED显示识别结果。采集并识别完一幅号码图像后,马上就对下一张人民币号码进行采集、识别、传输和保存。当放到点钞机的人民币依次通过点钞机后,所有人民币号码便全部被识别并记录下来,然后通过串口传输给PC机保存。
1.3 系统电路图
系统电路图如图2所示。
2 VC5416所解决的关键问题
2.1 系统有限存储空间同数字图像处理大数据量问题的解决
在模拟图像转换为数字图像以后,一方面为了保证有效数字图像质量及保证系统识别的精度,另一方面还必须严格控制数字图像的大小,即只存储有效数字图像,剔除冗余图像数据。根据这样的原则,同时根据当前人民币号码10个字符长宽等方面的特点,VC5416在存储前端采集电路传输过来的数字号码图像数据时只保存包括人民币号码在内的200×40大小的数字图像数据。这样每幅图像只占据不到8KW的存储空间。
所采集的200×40人民币号码图像如图3所示。
另外,还对人民币号码识别算法" title="识别算法">识别算法进行了简化和优化处理,一方面保证对号码识别的准确,另一方面尽可能的节省存储空间。目前所采用的识别程序只有16K×16bit大小。
此外,系统所采用的识别算法是基于结构法,不需要类似模板等占据的存储空间,相对于模板匹配法识别算法可以节省很多空间。
最后,所采用的识别算法是对所采集的每幅号码图像进行实时识别处理,因此同一时间内在系统的有效存储空间中只存在一幅8K×16bit的数字号码图像。
综上所述,VC5416的片上128K×16bit的RAM完全能够满足系统对存储空间的需要,此外片上RAM运行速度相对外RAM更加快速可靠。
具体空间分配设计如下[1]:
将处理器模式状态寄存器PMST设置为0xAC,使中断向量表重定位到0x0080,并且允许访问片上ROM,同时将片上双寻址RAM0-3(DARAM0-3)映射到程序空间的0x0080-0x7FFF,将双寻址RAM4-7(DARAM4-7)映射到数据空间的0x8000-0xFFFF。
程序为:*(volatile int*)PMST=0x00AC;
2.2 图像处理速度问题
目前,点钞机的运行速度为10张/秒~15张/秒。因此在点钞机运行过程中,每两张人民币运动的时间间隔为100ms~66ms。
系统所采用的160MHz的VC5416的指令周期为6.25ns。由于人民币号码图像采集电路映射在VC5416的I/O" title="I/O">I/O空间,因此将对I/O空间的访问设置在零等待状态,那么采集一幅200×40的号码图像的时间为10ms。而所采用的识别算法识别一幅号码图像耗时40ms~50ms,即每采集和识别一幅人民币号码图像需时50ms~60ms,小于两张人民币移动的时间间隔,因此在点钞机运行过程中完全能够实时实现对人民币号码的采集和识别。
具体速度设计如下[1]:
(1)时钟方式寄存器CLKMD设置为0x97F7,使程序运行在160MHz的工作频率下。
程序为:*(volatile int*)CLKMD=0x97F7;
(2)软件等待状态寄存器SWWSR设置为0x0000,使数据、程序和I/O空间的访问都工作在零等待状态,以提高访问的速度。
程序为:*(volatile int*)SWWSR=0x0000;
2.3 识别记录系统与点钞机运行的同步处理
点钞机上增加了一个用来感测连续两张人民币缝隙的光电门,当点钞机每移动一张人民币时光电门可以发出一个脉冲信号。该脉冲信号可以用来作为图像传感器捕获人民币号码图像的同步信号。该识别记录系统在点钞机光电门发出的脉冲同步信号的作用下通过图像传感器拍摄每一张人民币号码图像。
2.4 保持所采集数字号码图像数据完整性的问题
要彻底实现系统的功能,保持所采集的数字号码图像的完整性,即各像素空间相对位置的正确也是必须要解决的问题,否则识别算法根本无法工作。
由于前端号码采集电路在输出数字图像数据的同时也提供了对应图像数据的行场同步信号和像素时钟等视频定时信号,因此在这些视频定时信号的控制下可以达到保持所采集数字号码图像完整性的目的。
具体设计:本系统是将HPI口设置为GPIO(通用I/O口)来检测视频定时信号,从而保持图像的完整性。首先,设置HPIENA引脚为低,使HPI口工作在GPIO模式下。其次,通过设置MMR中的GPIOCR(通用I/O控制寄存器)相关位的状态,使HPI的数据线HD7、HD6、HD5为输入模式。最后,通过判断MMR中的GPIOSR(通用I/O状态寄存器)相关位的值来判断图像传感器行场同步信号和像素时钟的状态[1]。
程序为:
*(volatile int*)GPIOCR=0xE2;
do
{
m=*(volatile int*)GPIOSR;
m=m&0x0080;
}while(!m);//判断行同步信号
其它程序略同。
2.5 图像传感器与DSP的接口
(1)图像传感器初始化接口SCCB总线的实现
要完成对OV7620的初始化,就必须首先实现SCCB总线协议。在本系统中,通过将DSP的HPI口的HD5、HD6设置为GPIO口[1]分别模拟SIO-C和SIO-D,从而编程实现了SCCB总线协议,进而完成对OV7620的初始化。编程过程中必须满足时序要求,并严格符合协议规则[5]。
(2)数据线隔离[3]
由于图像传感器没有选通信号,因此本系统采用了(接上页)
信号隔离措施,以避免产生数据总线竞争。信号隔离采用的是74ALVCH16245,映射在DSP的I/O空间,用于连接数据采集电路和数据处理电路。
2.6 数据存储
为了防止识别结果掉电丢失,系统采用快速闪烁存储器Flash Rom用于保存识别后尚未传输和有效保存的币码数据。此外Flash Rom还用于保存系统程序,当每次上电时将系统程序在DSP的干预下下载到系统的快速ROM中。
2.7 数据显示
通过增加LED号码显示电路可以非常直观的将每张人民币的号码识别结果实时显示出来,从而可以方便的验证识别正确与否。
本系统采用TI公司的TMS320VC5416-160型DSP作为处理器,通过适当的存储空间的管理,解决了存储空间紧张的问题,避免了外扩存储器;通过处理速度的设计和识别算法的选择和优化等措施解决了号码图像采集和识别速度问题;通过在点钞机增加一个光电门,解决了识别记录系统与点钞机系统的同步运行问题;通过Flash Rom实现了识别结果的长久保存和系统的在线运行。
参考文献
1 TMS320VC5416 fixed-point digital signal processor.www.ti.com.2000
2 OV7620 Single-Chip CMOS VGA Color Digital Camera Data Manual,Version 2.1,7 10,2001.www.ovt.com
3 林成武.数字信号处理器原理与应用.沈阳:辽宁科学技术出版社,2001
4 史晓锋,李 铮,蔡志权.基于DSP的高速数据采集与处理系统.电子技术应用,2001;(6):78~80
5 OmniVision Serial Camera Control Bus (SCCB) Functional Specification,Document Version:2.1.www.ovt.com