CN112133015B - 一种基于CCTalk协议实现驱动层硬币识别功能的方法 - Google Patents
一种基于CCTalk协议实现驱动层硬币识别功能的方法 Download PDFInfo
- Publication number
- CN112133015B CN112133015B CN202010891285.8A CN202010891285A CN112133015B CN 112133015 B CN112133015 B CN 112133015B CN 202010891285 A CN202010891285 A CN 202010891285A CN 112133015 B CN112133015 B CN 112133015B
- Authority
- CN
- China
- Prior art keywords
- currency
- denomination
- coin
- protocol
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07D—HANDLING OF COINS OR VALUABLE PAPERS, e.g. TESTING, SORTING BY DENOMINATIONS, COUNTING, DISPENSING, CHANGING OR DEPOSITING
- G07D11/00—Devices accepting coins; Devices accepting, dispensing, sorting or counting valuable papers
- G07D11/50—Sorting or counting valuable papers
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07D—HANDLING OF COINS OR VALUABLE PAPERS, e.g. TESTING, SORTING BY DENOMINATIONS, COUNTING, DISPENSING, CHANGING OR DEPOSITING
- G07D11/00—Devices accepting coins; Devices accepting, dispensing, sorting or counting valuable papers
- G07D11/10—Mechanical details
- G07D11/16—Handling of valuable papers
- G07D11/18—Diverting into different paths or containers
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07D—HANDLING OF COINS OR VALUABLE PAPERS, e.g. TESTING, SORTING BY DENOMINATIONS, COUNTING, DISPENSING, CHANGING OR DEPOSITING
- G07D11/00—Devices accepting coins; Devices accepting, dispensing, sorting or counting valuable papers
- G07D11/20—Controlling or monitoring the operation of devices; Data handling
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07D—HANDLING OF COINS OR VALUABLE PAPERS, e.g. TESTING, SORTING BY DENOMINATIONS, COUNTING, DISPENSING, CHANGING OR DEPOSITING
- G07D11/00—Devices accepting coins; Devices accepting, dispensing, sorting or counting valuable papers
- G07D11/40—Device architecture, e.g. modular construction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
Abstract
本发明公开了一种基于CCTalk协议实现驱动层硬币识别功能的方法,通过不同的命令和参数,实现对硬币各币种面额ID设置、获取,币种Sort通道设置、获取,各币种面额的使能、禁止的设置、获取,硬币的识别、计数,硬件整体状态的获取等功能;各命令设置的参数,各币值分别位于各字节不同的位,通过对各位进行“与”“或”“移位”等操作,完成对硬件各命令功能的参数设置;在单独线程中查询当前已接收的硬币种类、数量和当前模块自身状态;不同信息或状态的获取在资源使用最优化的条件下,通过不同的时间间隔轮询检测;对接收到的硬币面额和数量进行解析并准确计数。
Description
技术领域
本发明涉及一种基于CCTalk协议实现驱动层硬币识别功能的方法,属于自助终端技术领域。
背景技术
CCTalk是一种广泛使用的串行协议,硬币模块当前使用在各个行业自助终端设备中,该模块与上位机通过CCTalk协议进行通信。为确保各功能的设置、获取有效,识别的硬币币种及计数准确,基于此协议与硬件交互,提出了一种基于CCTalk协议实现驱动层硬币识别功能的方法。
发明内容
针对上述存在的技术问题,本发明的目的是:提出了一种基于CCTalk协议实现驱动层硬币识别功能的方法。
本发明的技术解决方案是这样实现的:一种基于CCTalk协议实现驱动层硬币识别功能的方法,包括如下步骤,
步骤一,根据硬件需求,设置币种面额最大支持,先通过命令协议获取当前硬件所支持的币种面额,并设置相应的参数ID,获取币种面额,通过获取参数ID与币种面额的映射关系,存储在数组中。
步骤二,通过命令协议获取当前ID对应的币种面额出币后所对应的Sort通道,获取币种面额ID与Sort(ID)的映射关系,存储在数组中。
步骤三,根据项目需求更改默认的币种面额的ID号,设置完成后需要确认当前获取的币种面额ID是否为之前设置的,来确认之前的更改是否已生效,确认完成后,重新创建ID号与币种面额的映射关系并存储。
步骤四,根据项目需求,对允许接收的币种面额设置可识别,不允许接收的币种面额禁用。
步骤五,如果在业务过程中增加或减少币种面额使能状态,在获取当前状态信息数据状态下,指定位进行操作实现各币种面额的接收和禁止。
优选的,步骤一中,币种面额最大支持为16种,参数ID,1≤ID≤16。
优选的,步骤四中,具体步骤为:通过向硬币模块发送相应的命令,获取到硬币模块对当前各个币种面额的状态是使能或禁止,获取的状态信息为2个字节共16个bit位,数据为0代表禁止,1代表使能,从bit(0)到bit(15)所对应使能或禁止的币种面额顺序与参数ID一一对应。
优选的,在步骤五中,获取当前状态信息数据状态下,获取当前两个字节16位数据状态下,对指定位进行“|1”操作,使该位对应的面额使能,对指定位“&0”操作,使该位对应的面额禁止。
由于上述技术方案的运用,本发明与现有技术相比具有下列优点:
本发明的一种基于CCTalk协议实现驱动层硬币识别功能的方法,通过不同的命令和参数,实现对硬币各币种面额ID设置、获取,币种Sort通道设置、获取,各币种面额的使能、禁止的设置、获取,硬币的识别、计数,硬件整体状态的获取等功能;各命令设置的参数,各币值分别位于各字节不同的位,通过对各位进行“与”“或”“移位”等操作,完成对硬件各命令功能的参数设置;在单独线程中查询当前已接收的硬币种类、数量和当前模块自身状态;不同信息或状态的获取在资源使用最优化的条件下,通过不同的时间间隔轮询检测;对接收到的硬币面额和数量进行解析并准确计数。
附图说明
下面结合附图对本发明技术方案作进一步说明:
附图1为本发明的一种基于CCTalk协议实现驱动层硬币识别功能的方法流程示意图。
具体实施方式
下面结合附图来说明本发明。
如附图1所示为本发明所述的一种基于CCTalk协议实现驱动层硬币识别功能的方法,包括如下步骤:
步骤一,根据硬件需求,币种面额最大支持16种,先通过命令协议获取当前硬件所支持的币种面额,参数ID,1<=ID<=16, 获取到的币种面额为(以人民币一元硬币为例):Coin(ID)=“CN100B”,通过获取这个信息得出ID号与币种面额Coin(ID)的映射关系,存储在数组中。
步骤二,通过命令协议获取当前ID(1<=ID<=16)对应的币种面额出币后所对应的Sort通道,可获取币种面额ID与Sort(ID)的映射关系,存储在数组中。
步骤三,可根据项目需求更改默认的币种面额的ID号,设置完成后需要确认当前获取的币种面额ID是否为之前自己设置的,来确认之前的更改是否已生效,确认完成后,需重新创建ID号与币种面额Coin(ID)的映射关系并存储。
步骤四,根据项目需求,如果只允许接收一部分币种,需要对允许接收的币种面额设置可识别,不允许接收的币种面额禁用。具体步骤为:通过向硬币模块发送相应的命令,获取到硬币模块对当前各个币种面额的状态是使能或禁止,获取的状态信息为2个字节共16个bit位,数据为0代表禁止,1代表使能,从bit(0)到bit(15)所对应使能或禁止的币种面额顺序与Coin(ID)一一对应,即:bit(ID-1)的值代表Coin(ID)对应的币种面额使能状态,举例:bit0=0表示Coin(1)对应的币种面额为禁用。
步骤五,如果在业务过程中增加或减少币种面额使能状态,可在获取当前两个字节16位数据状态下,对指定位进行“|1”操作,使该位对应的面额使能,对指定位“&0”操作,使该位对应的面额禁止,实现各币种面额的接收和禁止。
根据所使用硬币模块的属性,在主线程A在开启硬件成功、相应设置和状态生效后,即时开启硬币状态检测和识别线程B,在主线程A退出前通过主线程退出标志位控制检测线程B的退出,线程B生命周期与主线程A同步。为有效使用系统资源,确保资源处于最优化状态,线程B通过标志位bFlag控制硬件在执行不同的功能时,通过不同的时间间隔轮询检测。在识别硬币过程中为确保获取到的硬币信息及时准确,轮询时间间隔需要<=400ms;但在检测硬件自身状态时,只需在客户可接受时限内实时反馈硬件状态即可,时间间隔可设置1s。
对获取到的状态及硬币信息,详细的实现方式和解析过程如下:
一、获取到的硬币信息有11个字节保存在数组szCreditError中,第一个字节szCreditError[0]表示硬件上电或复位后所接收到的所有累计硬币事件数量,累加计数到255后,从1开始继续循环计数;其他10个字节表示接收到的最近5个事件,每两个字节(ResultA和ResultB)表示一个事件,ResultA表示硬币事件是否有Error,ResultB表示硬币币种面额类型。
二、通过与上次接收到的硬币信息szCreditErrorLast比较,判断本次是否有硬币事件的变化,如果szCreditError[0]=0,且szCreditErrorLast[0]!=0,则表示硬件断电或重启状态,故障状态要上报给上层;若szCreditErrorLast[0]== szCreditError[0],硬币事件数量无变化,不需要处理;如果szCreditError[0]>szCreditErrorLast [0],有新的硬币事件,差值数Num= szCreditError[0]-szCreditErrorLast [0];若szCreditError[0]<szCreditErrorLast [0],Num=255+ szCreditError[0]-szCreditErrorLast [0]。通过Num数值,判断ResultA[i]和ResultB[i]所接收到的所有硬币信息,i取值范围为:1<=i<=Num。
三、若ResultA[i]==0,为无效的硬币信息,ResultB[i]为1或2时,为拒币或为禁币,如果最新事件ResultB[1]不为1或2,且ResultB[1]!=ResultBLast[1],为硬件状态异常,上报异常状态给上层。
四、若ResultA[i]非0, ID=ResultA[i]-1,Coin(ID)所对应的币种面额的硬币数量累加1;
本发明的一种基于CCTalk协议实现驱动层硬币识别功能的方法,通过不同的命令和参数,实现对硬币各币种面额ID设置、获取,币种Sort通道设置、获取,各币种面额的使能、禁止的设置、获取,硬币的识别、计数,硬件整体状态的获取等功能;各命令设置的参数,各币值分别位于各字节不同的位,通过对各位进行“与”“或”“移位”等操作,完成对硬件各命令功能的参数设置;在单独线程中查询当前已接收的硬币种类、数量和当前模块自身状态;不同信息或状态的获取在资源使用最优化的条件下,通过不同的时间间隔轮询检测;对接收到的硬币面额和数量进行解析并准确计数;
该设计通过CCTalk协议与硬件相互,设置参数对位的操作实现对硬件的属性设置;通过状态线程实时检测硬件状态上报给上层,对获取到的币种面额数据进行解析,完成硬币各面额的实时计数。在硬币识别功能中,各币种面额计数准确,不会出现硬币识别功能无效或识别到的硬币币种面额不准确等问题;在检测硬件状态功能中,实时反馈硬件状态,有效节省了系统资源;在项目与上层应用对接时,响应时间短,交互快,用户体验好。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并加以实施,并不能以此限制本发明的保护范围,凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围内。
Claims (4)
1.一种基于CCTalk协议实现驱动层硬币识别功能的方法,其特征在于:包括如下步骤,
步骤一,根据硬件需求,设置币种面额最大支持,先通过命令协议获取当前硬件所支持的币种面额,并设置相应的参数ID,获取币种面额,通过获取参数ID与币种面额的映射关系,存储在数组中;
步骤二,通过命令协议获取当前ID对应的币种面额出币后所对应的Sort通道,获取币种面额ID与Sort(ID)的映射关系,存储在数组中;
步骤三,根据项目需求更改默认的币种面额的ID号,设置完成后需要确认当前获取的币种面额ID是否为之前设置的,来确认之前的更改是否已生效,确认完成后,重新创建ID号与币种面额的映射关系并存储;
步骤四,根据项目需求,对允许接收的币种面额设置可识别,不允许接收的币种面额禁用;
步骤五,如果在业务过程中增加或减少币种面额使能状态,在获取当前状态信息数据状态下,指定位进行操作实现各币种面额的接收和禁止。
2.如权利要求1所述的一种基于CCTalk协议实现驱动层硬币识别功能的方法,其特征在于:步骤一中,币种面额最大支持为16种,参数ID,1≤ID≤16。
3.如权利要求1所述的一种基于CCTalk协议实现驱动层硬币识别功能的方法,其特征在于:步骤四中,具体步骤为:通过向硬币模块发送相应的命令,获取到硬币模块对当前各个币种面额的状态是使能或禁止,获取的状态信息为2个字节共16个bit位,数据为0代表禁止,1代表使能,从bit(0)到bit(15)所对应使能或禁止的币种面额顺序与参数ID一一对应。
4.如权利要求1所述的一种基于CCTalk协议实现驱动层硬币识别功能的方法,其特征在于:在步骤五中,获取当前状态信息数据状态下,获取当前两个字节16位数据状态下,对指定位进行“|1”操作,使该指定位对应的面额使能,对指定位“&0”操作,使该指定位对应的面额禁止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010891285.8A CN112133015B (zh) | 2020-08-30 | 2020-08-30 | 一种基于CCTalk协议实现驱动层硬币识别功能的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010891285.8A CN112133015B (zh) | 2020-08-30 | 2020-08-30 | 一种基于CCTalk协议实现驱动层硬币识别功能的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112133015A CN112133015A (zh) | 2020-12-25 |
CN112133015B true CN112133015B (zh) | 2023-01-31 |
Family
ID=73847594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010891285.8A Active CN112133015B (zh) | 2020-08-30 | 2020-08-30 | 一种基于CCTalk协议实现驱动层硬币识别功能的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112133015B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113538767B (zh) * | 2021-06-01 | 2023-10-27 | 浪潮金融信息技术有限公司 | 一种半双工的驱动层找零方法、系统及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10201532A1 (de) * | 2002-01-17 | 2003-07-31 | Nat Rejectors Gmbh | Münzprüfer mit Fadenerkennung |
CN105068947A (zh) * | 2015-08-20 | 2015-11-18 | 浪潮软件集团有限公司 | 一种基于驱动层处理串口通信的方法 |
CN106056758A (zh) * | 2016-06-08 | 2016-10-26 | 广州广电运通金融电子股份有限公司 | 有价文件信息编解码方法、装置、处理系统及金融自助设备 |
CN107633590A (zh) * | 2017-11-03 | 2018-01-26 | 深圳市谷乐电子有限公司 | 纸币面额和币种识别方法及点钞机 |
CN109801431A (zh) * | 2019-04-03 | 2019-05-24 | 首都师范大学 | 一种可支持多币种的外币自助兑换装置和方法 |
-
2020
- 2020-08-30 CN CN202010891285.8A patent/CN112133015B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10201532A1 (de) * | 2002-01-17 | 2003-07-31 | Nat Rejectors Gmbh | Münzprüfer mit Fadenerkennung |
CN105068947A (zh) * | 2015-08-20 | 2015-11-18 | 浪潮软件集团有限公司 | 一种基于驱动层处理串口通信的方法 |
CN106056758A (zh) * | 2016-06-08 | 2016-10-26 | 广州广电运通金融电子股份有限公司 | 有价文件信息编解码方法、装置、处理系统及金融自助设备 |
CN107633590A (zh) * | 2017-11-03 | 2018-01-26 | 深圳市谷乐电子有限公司 | 纸币面额和币种识别方法及点钞机 |
CN109801431A (zh) * | 2019-04-03 | 2019-05-24 | 首都师范大学 | 一种可支持多币种的外币自助兑换装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112133015A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112133015B (zh) | 一种基于CCTalk协议实现驱动层硬币识别功能的方法 | |
CN106209496A (zh) | 一种通信异常检测装置及方法 | |
AU2013375583B2 (en) | Method and device for detecting and controlling self-service terminal cash dispensing quality | |
CN111768607A (zh) | 一种多表计数据采集方法、装置、设备及介质 | |
US8521869B2 (en) | Method and system for reporting defects within a network | |
CN115314421B (zh) | 基于网络智慧平台的量化管理系统 | |
CN116436833A (zh) | 交换机端口测试中的故障诊断方法、装置及设备 | |
CN101834749B (zh) | 获取数据的方法及装置、业务服务质量监控方法及装置 | |
CN110502346A (zh) | 一种集群环境下资源信息管理系统及方法 | |
CN115118357A (zh) | 一种收发组件故障检测方法、装置及存储介质 | |
US8566634B2 (en) | Method and system for masking defects within a network | |
CN115022934A (zh) | 一种WiFi信号自动切换连接方法 | |
CN115061907A (zh) | 测试方法和测试系统、电子设备、存储介质 | |
CN209746664U (zh) | 一种蓝牙投币器 | |
CN113596620B (zh) | 一种智能用电终端抄表失败的快速判断方法 | |
CN110995505A (zh) | 一种指示灯实现报文差错效验预警装置及效验方法 | |
CN211698949U (zh) | 一种手机卡管理系统 | |
CN113064845A (zh) | 一种用于与防伪安全芯片单线通信的实现方法 | |
CN117591449B (zh) | 一种基板的可编程逻辑器件系统及其应用设备 | |
CN116581043B (zh) | 芯片分类方法、装置、电子设备及计算机可读存储介质 | |
CN109521312B (zh) | 一种非技术线损检测方法、装置及系统 | |
EP1279259B1 (en) | Device and method for measuring and processing of information in a packet orientated communication system | |
CN100433767C (zh) | 一种交叉话单的检测方法 | |
CN110381091A (zh) | 工控网络设备异常通信行为的识别方法和装置 | |
CN115945412A (zh) | 方形铝壳电芯手工拣选系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |