一种基于dma的变长数据采集方法

文档序号:6676019阅读:275来源:国知局
一种基于dma的变长数据采集方法
【专利摘要】本发明公开一种基于DMA的变长数据采集方法,该方法为将最大钞票数据分成两次DMA,第一次DMA长度根据最大钞票数据的1/2设置,第二次DMA长度根据第一次DMA长度的数据设置。本发明的设计方案简单,其能保证采集信息的完整性以及稳定正确性,在机械传动部分过钞不均匀导致钞票间距过小时仍能保证采集信息的完整性,并通过适当调节发送数据量的大小降低系统运算负载。
【专利说明】一种基于DMA的变长数据采集方法

【技术领域】
[0001]本发明公开一种变长数据采集方法,特别是一种应用在ATM或CRS的验钞器模块中,可根据验钞器过钞情况动态调整所需要的钞票采集数据量的基于DMA的变长数据采集方法。

【背景技术】
[0002]ATM机(又称为ATM自动取款机),即Automatic Teller Machine的缩写,意为自动柜员机。ATM的功能主要包括:现金取款、现金存款、余额查询、自助缴费、本行或异行转账、修改密码等基本功能;有些多功能ATM还提供诸如存折打印、对账单打印、支票存款、信封存款、缴费、充值等一系列便捷服务。CRS机是一款既能取款又能存款还能实现现金循环的新型自动柜员机,在一台机上便可完成存款、取款、转账、缴费、查询和修改密码等多项业务。ATM或CRS在工作时,通常会对钞票具有真假识别功能,当发送方所要发送的数据不是固定大小时,接收数据将出现数据错乱;当接收纸币的长、宽偏小时,会导致出现大量冗余数据。而且当纸币间距过小导致下张纸币的有效数据出现在上一张纸币数据中的问题。
[0003]DMA (Direct Memory Access,直接内存存取)是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于CPU的大量中断负载。否则,CPU需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU对于其他的工作来说就无法使用。DMA使用行和窗的方式描述数据,一行由若干字节组成,一窗由若干行组成,一次DMA完成接收一窗的数据。每行的大小可配置,如果接收的是图像数据则可设置为一行图像数据的大小。行中断和窗中断表示DMA写满一行或者一窗数据时会产生中断通知CPU来处理数据。


【发明内容】

[0004]针对上述提到的现有技术中的钞票真伪识别时数据量过大的缺点,本发明提出一种根据纸币状态动态调整纸币采集数据量的数据采集方法,其可以根据纸币的实际长、宽,动态调整纸币采集数据量,实现动态的配置DMA实现数据的变长采集,在满足变长采集的前提下充分考虑了减少系统负载,只用两次DMA就能完成一张钞票数据的采集,达到降低系统负载的目的。
[0005]本发明解决技术问题采用的技术方案是:一种基于DMA的变长数据采集方法,该方法为将实际钞票数据分成两次DMA,第一次DMA长度根据最大钞票数据的1/2设置,第二次DMA长度根据第一次DMA接收到的钞票数据计算得出。
[0006]本发明采用的技术方案进一步还包括:
所述的最大钞票数据由验钞器中图像传感器与红外传感器之间的间距计算得出。
[0007]所述的第二次DMA长度为实际钞票数据长度减去第一次DMA的长度。
[0008]所述的方法的步骤为:
步骤S1:首先打开行中断,配置一个定长的DMA ; 步骤S2:钞票数据发送方在发送的第一行数据中写入钞票间距信息;
步骤S3:接收方DMA将第一行数据写入后触发行中断,此时,判断是否为第一行数据,如果是则在中断处理程序中将钞票信息解析出来,计算出该张钞票数据的大小,否则直接返回;
步骤S4:当第一个DMA完成后会触发窗中断,触发窗中断时判断是否第一次DMA,如果是则在中断处理程序中根据钞票数据的大小计算出第二次DMA的大小配置第二次DMA,如果不是则说明一张钞票数据写入完成,此时配置一次定长的DMA准备接收下一张钞票数据。
[0009]所述的步骤SI中配置的DMA接收数据的长度为最大钞票数据的1/2。
[0010]所述的步骤S4中第二次DMA接收数据的长度为该张钞票数据长度减去第一次DMA的长度。
[0011]本发明达到的技术效果是:本发明的设计方案简单,其能保证采集信息的完整性以及稳定正确性,在机械传动部分过钞不均匀导致钞票间距过小时仍能保证采集信息的完整性,并通过适当调节发送数据量的大小降低系统运算负载。
[0012]下面将结合附图和【具体实施方式】对本发明做进一步说明。

【专利附图】

【附图说明】
[0013]图1为本发明原理示意图。
[0014]图2为本发明系统流程示意图。
[0015]图3为本发明行中断流程示意图。
[0016]图4为本发明窗中断流程示意图。

【具体实施方式】
[0017]本实施例为本发明优选实施方式,其他凡其原理与基本结构与本实施例相同或近似者,均属于本发明保护范围。
[0018]请结合参看附图1至附图4,本发明主要应用于ATM或CRS中的FPGA向DSP发送数据中,其处理过程主要在DSP中实现,本发明包括下述步骤:
步骤S1:首先在数据接收外设(本实施例中用于数据接收的外设为UPP及SPI)中打开行中断,配置一个定长的DMA,配置的DMA接收数据的长度为最大钞票数据的1/2,本实施例中,最大钞票数据是指由验钞器中图像传感器与红外传感器之间的间距计算得出,其中图像传感器用于采集钞票的图像,红外传感器用于判断钞票是否进入数据采集区域。
[0019]步骤S2:与处理器(本实施例中为FPGA)约定在向DSP发送钞票图像及磁性厚度数据(磁性检测的工作原理是利用大面额真钞的某些部位是用磁性油墨印刷,通过一组磁头对运动钞票的磁性进行检测,通过电路对磁性进行分析,可辨别钞票的真假。在磁性检测中,要求磁头与钞票摩擦良好。磁头过高则冲击信号大,造成误报;磁头过低则信号弱,造成漏报。通过控制磁头的高度和在磁头上方装压钞胶轮可满足检测需要。)的第一行数据中写入钞票采集数据量信息。
[0020]步骤S3:DMA将第一行数据写入后触发行中断,此时,判断是否为第一行数据,如果是则在中断处理程序中将钞票信息解析出来,此时包含有首行数据的部分钞票数据已存在DSP的DDR中,中断处理程序会读取DDR获取钞票采集数据量信息,通过简单运算计算出该张钞票数据的大小;否则直接返回。
[0021]步骤S4:当第一个DMA完成后会触发窗中断,触发窗中断时判断是否第一次DMA,如果是第一次DMA,则在中断处理程序中根据钞票数据的大小计算出第二次DMA的大小配置第二次DMA,接收数据的长度为该张钞票数据长度(第一行中已写入)减去第一次DMA的长度,如果不是则说明一张钞票数据写入完成,此时配置一次定长的DMA准备接收下一张钞票数据。
[0022]本发明的设计方案简单,其能保证采集信息的完整性以及稳定正确性,在机械传动部分过钞不均匀导致钞票间距过小时仍能保证采集信息的完整性,并通过适当调节发送数据量的大小降低系统运算负载。
【权利要求】
1.一种基于DMA的变长数据采集方法,其特征是:所述的方法为将最大钞票数据分成两次DMA,第一次DMA长度根据最大钞票数据的1/2设置,第二次DMA长度根据第一次DMA接收到的钞票数据计算得出。
2.根据权利要求1所述的基于DMA的变长数据采集方法,其特征是:所述的最大钞票数据由验钞器中图像传感器与红外传感器之间的间距计算得出。
3.根据权利要求1所述的基于DMA的变长数据采集方法,其特征是:所述的第二次DMA长度为实际钞票数据长度减去第一次DMA的长度。
4.根据权利要求1所述的基于DMA的变长数据采集方法,其特征是:所述的方法的步骤为: 步骤S1:首先打开行中断,配置一个定长的DMA ; 步骤S2:钞票数据发送方在发送的第一行数据中写入钞票间距信息; 步骤S3:接收方DMA将第一行数据写入后触发行中断,此时,判断是否为第一行数据,如果是则在中断处理程序中将钞票信息解析出来,计算出该张钞票数据的大小,否则直接返回; 步骤S4:当第一个DMA完成后会触发窗中断,触发窗中断时判断是否第一次DMA,如果是则在中断处理程序中根据钞票数据的大小计算出第二次DMA的大小配置第二次DMA,如果不是则说明一张钞票数据写入完成,此时配置一次定长的DMA准备接收下一张钞票数据。
5.根据权利要求4所述的基于DMA的变长数据采集方法,其特征是:所述的步骤SI中配置的DMA接收数据的长度为最大钞票数据的1/2。
6.根据权利要求4所述的基于DMA的变长数据采集方法,其特征是:所述的步骤S4中第二次DMA接收数据的长度为该张钞票数据长度减去第一次DMA的长度。
【文档编号】G07D7/04GK104408813SQ201410686520
【公开日】2015年3月11日 申请日期:2014年11月26日 优先权日:2014年11月26日
【发明者】黎波里, 沈瑞 申请人:深圳怡化电脑股份有限公司, 深圳市怡化时代科技有限公司, 深圳市怡化金融智能研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1