纸币识别模块
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1特征采集系统
1.1 硬件简介
特殊光发光/接收电路是纸币识别系统的关键信号收集电路,具体结构如图1所示。在纸币通道上、下设有特殊光发光部件和接收部件,S3C4510B对发光部件进行强度控制。当有纸币通过时,接收部件将检测到的特殊光信号传给模数转换器TLC1543。共有三路类似的特殊光发光/接收电路,这三路信号通过TLC1543后由SPI串行总线传回S3C4510B。
发光接收电路
光有以上光发光/接收电路还是不够的,要采集多个不同点的信息还要借助其他的硬件设备,码盘光耦信号收集电路和马达电机驱动电路必不可少。
马达电机的作用是带动传动装置将放入纸币通道的纸币卷进纸币器。在纸币通道上下都有特殊的发光部件和接受部
知采集程序此时数据有效。马达转过多少角度码盘光耦产生反馈信号,是由码盘光耦的规格决定。
数据采集系统的程序部分要解决的问题,就是能够及时根据码盘光耦电路的反馈信号,实时的将特殊光传感器中的数据读出,而后保存。由于uClinux操作系统本身的限制,纸币识别系统中只有一个实时任务即采集,所以考虑采用中断的方式解决这个问题。
在本系统中,根据采样原理,每6毫秒采集一次数据,选用了适合本采集系统规格的马达和码盘光耦。为了使基于S3C4510B和uClinux的纸币识别系统充分发挥同时采集和处理数据的能力,可以从S3C4510B的内存中开辟一个独立的区域,该区域是用来提供给非实时程序和采集系统共享的内存,专门用来存储采集数据,这样非实时程序就不需要调用系统调用或者驱动程序去访问采集到的数据,从而大大提高了将采集数据送给非实时程序的速度,提高了处理速度。
3 纸币识别
3.1 纸币识别硬件设计
根据前面讨论的要求,采用S3C4510B芯片设计的纸币识别器硬件结构如图4所示,它包含的主要功能模块
有:S3C4510B中央处理器、系统时钟和复位模块、外扩存储单元、板载电源模块、串口通信模块、网络通信模块、电机驱动模块、纸币检测模块以及相关的信号采集模块。
保持与上位机的通信。当上位机允许识别器识别的标志位有效,并且纸币到的标志位有效时,程序转入识别模块,这时识别器与上位机的通信断开,当识别处理完成后,唤醒通信模块继续通信。这样整个系统分时共享,程序流程简单明了,可读性和可扩展性好。主程序流程为:
(1) 初始化部分包括通信的初始化和识别的初始化。
(2) 自检部分分为上电自检和正常自检,上电自检是开机上电时,程序检测硬件系统的状态,如有错误给出错误信息。正常自检是维持正常工作时作的必要的检测。
(3) 命令处理部分包括命令的接受和分类处理. 在命令处理过程中,售货的上位机既发送纸币命令,也发送硬币命令,两者交错发送,各通信识别器只响应上位机发给自己的命令。
(4) 识别部分将纸币信息与标准样本比较可识别纸币的真假,并置相应的标志位。
3.2.2 基于RBF神经网络的纸币识别
为了能准确快速的识别人民币,在识别纸币之前需对其进行必要的预处理。图像的倾斜往往会影响到图像的定位以及待识别信息的提取。因此需要进行图像的倾斜矫正[3]。二值化处理是把灰度图像信号变成二值(0,1)的数字信号。二值化方法通常有整体阈值法和自适应的动态阈值法。实际处理的纸币图像比较复杂,为了更好的适应质量差的纸币图像,采用动态阈值法[4]。
这里测量了以下5 种人民币: 第4 版100 元和50元及第5 版100 元、50 元和20 元的高和宽的尺寸(其它面值的图像处理方法一样) , 应用模糊逻辑推理方法对纸币面值进行分类[5]。在得到纸币面值的基础上, 接着进行纸币正反面和正反向的识别,并识别出纸币的真假。中心矩与图像的平移无关, 故提取中心矩作为特征用于纸币识别。在纸币图像的右上角和左下角均为48×96 的区域内分别提取5 个1-2 阶的中心矩合在一起作为10 个识别特征, 然后使用RBF神经网络对纸币进行识别.