1 引言
近年来,钱币、特别是纸币被抢劫事件不断发生,严重影响了社会治安,也使银行在经济上受到了严重的损失。如果被抢劫的钱币不能在市场上流通,将从一个方面抑制银行抢劫事件的发生。其中一种解决方案是记录每一捆纸币的号码,将被抢劫的纸币号码建立一个数据库。在货币流通市场提供一种纸币号码自动识别装置,比如说与点钞机结合,将货币号码识别数据与被抢劫号码数据库比较,一旦有相同号码出现,便可确认目前流通的钱币为被抢劫的钱币,从而限制其流通,同时也有利于抢劫案件的侦破。另外,由于纸币号码的唯一性,通过识别纸币上的号码,可以帮助识别假币。国外有一种验钞打号机,可以对典型的纸币,比如美元、英镑等进行自动识别和号码打印,这种装置的典型识别速度为1张/秒。不过还没有点钞机附带号码自动识别装置的文献报道。
近些年,国内也有一些单位研制开发纸币号码自动识别装置,例如南京航空航天大学开发了一种基于单片机的纸币号码识别系统[3],利用线阵CCD实现纸币图象的采集,利用单片机实现号码的定位与识别。其主要问题是难以提高号码 的识别速度。哈尔滨工业大学开发了一种基于DSP的纸币号码
针对以上情况,本文给出一种基于DSP的纸币号码识别系统,利用面阵CCD摄象机采集纸币号码图象,即每秒采集25幅图象,而目前的点钞机点钞速度为每秒十几张左右,从而可以实现与点钞机的配合使用。该系统由以下几个部分组成:(1)利用Philip公司专业视频解码器SAA7113实现纸币号码图像的数字化;(2)利用TI公司的数字信号处理器TMS320VC5410实现数字纸币号码图像的采集和处理;(3)利用TI公司的异步串行接口芯片TL16C550完成整个系统与PC机之间的通信。
2 硬件设计原理
基于DSP的纸币号码识别系统的工作原理:从面阵CCD摄像头摄取的纸币模拟视频图像,经专业视频解码器转换为数字图像。数字视频信号经图像缓存FIFO存入DSP的数据空间CONTROL ENGINEERING China版权所有,作为后续图像识别的数据来源。视频解码器同时分离出行场同步信号和象素时钟参考信号,作为图像缓存模块的控制信号。为了保存和记录号码,经识别后的纸币号码数据存储在快速闪烁存储器FLASH中,或根据需要通过异步串口传送给PC机。复杂可编程逻辑器件CPLD在整个系统中起到全局逻辑控制和对采集的纸币图像实现开窗处理的作用。系统的总体结构框图如图1所示。
3 图像采集模块
3.1视频解码芯片SAA7113在系统中的应用
SAA7113是一种高集成度并且支持隔行扫描、多种数据输出格式的视频解码器,内置的I2C界面提供了简单的对芯片内部电路的控制功能。对SAA7113的控制主要包括对输入模拟信号的预处理、色度和亮度的控制,输出数据格式及输出图象同步信号的选择控制等。
在整个系统中对图象的识别处理主要是针对灰度图像进行的,在SAA7113所提供的多种数据输出格式中,RAW格式在8位输出管脚上直接输出与象素时钟相对应的象素灰度值CONTROL ENGINEERING China版权所有,此种数据格式与其它格式相比对灰度图像的采集将更直接。
SAA7113的输出RTS0和RTS1是多功能复用管脚,通过对子地址寄存器SA12写入不同的控制字,可将两输出管脚配置为行同步、帧同步、奇偶场同步等不同的信号。在本系统中将RTS0设置为行同步信号,RTS1设置为场同步信号,同时SAA7113还输出象素时钟的同步参考信号LLC。
通过I2C总线协议对SAA7113的各个控制寄存器进行设置,使其满足系统要求。由于DSP芯片是处理型的器件,它的控制能力比较弱,通用I/O口比较少,而单片机具有很好的控制功能控制工程网版权所有,因此对SAA7113的初始化工作使用AT89C51单片机来完成。AT89C51单片机内部无硬件I2C总线接口,在此将单片机的P1.0口设置为串行数据线SDA,P1.1设置为串行时钟线SCLwww.cechina.cn,通过软件模拟I2C总线,对视频解码器SAA7113进行初始化,其硬件原理如图2所示。
3.2使用CPLD实现对图像的开窗处理
利用象素时钟LLC2和行同步信号HS实现行截取的VHDL程序:
process(LLC2,HS)
variable temp: std_logic_vector(10 downto 0);
begin
if(LLC2'event and LLC2='1') then
if(HS='1' )? then? temp:=temp+'1';
if(temp>80 and temp<241)
then Href<='1';
else