(广东岭南通株式会社,广东 广州,510110)
:目前大多数金融POS机仅支持数字输入,而单一的数字输入并不能完备知足人们对金融POS机功能需求的提升,因此有必要改进传统金融POS机的输入机制,实现POS机的数字、字母和符号等字符的稠浊输入。研究并提出一种通过掌握开关和列举的形式,基于查表式的轻量级字符输入的方法,实现大略、快速、高效的稠浊输入字符功能。

:金融POS机;矩阵键盘;字符输入;驱动设计;掌握开关

随着信息技能的发展以及金融产品的更迭,金融POS设备已成为线下支付的主要手段。各个银行纷纭推出各自的金融POS设备,这些设备常日外不雅观新颖小巧,携带方便且利用灵巧,具备交易速率快、交易安全可靠等特点[1],因此深受商家和持卡用户的喜好。但在利用的过程中,此类产品也暴露出了一些不敷,例如由于利用了矩阵键盘,造成多键共用,不支持多种稠浊输入的突出问题[2]。
虽然传统手机采取的键盘布局与金融POS机类似,多种字符方法理论上可适用于金融POS设备,但金融POS设备大多采取大略的过程化系统构造设计模式,将传统手机的输入方法移植到金融POS装置中十分困难,并且代价高昂。因此本文根据金融POS常利用的矩阵键盘的设计方法,研究一种通过掌握开关怀换,根据用户输入字符的情形,在屏幕特定的区域显示待输入的字符列表,由用户根据须要进行选择,从而实现稠浊输入的办法。该办法利用大略、操作方便,具有较好的推广移植性,同时有效办理多种稠浊输入模式的切换问题[34]。
1.1设计流程
对金融POS矩阵键盘设计功能定义处理流程,关键步骤是在传统的数字输入根本上增加一个判断功能,嵌入数据和字符的显示和输入功能,实现稠浊输入效果。设计流程如图1所示。
1.2硬件设计
1.2.1设计思路
本设计是基于矩阵键盘的金融POS机来实现多个字符共用同一步键,常用矩阵键盘式金融POS机面板如图2所示。
图2传统POS机键盘基于矩阵键盘式金融POS机实现字符的输入,关键电路设计如下。
本设计采取一个5×5的矩阵来表示21个键值,通过对10个主CPU芯片的管脚GPIO口扫描得到用户当前的按下的键值。在初始化阶段,ROW1~ROW5设置为推勉输出,且为低电平状态,LINE1~LINE5设置为上拉输入,并将LINE设置为外部中断模式。如果矩阵键盘中的1个按键按下,则10个交叉处所对应的LINE引脚发生中断,在中断处理程序中关闭中断,并将ROW1~ROW5依次修正为输入状态,再将LINE1~LINE5设置推勉输出,且为高电平状态,这时再遍历查询ROW1~ROW5的电平状态,查询所得高电平状态即可得到ROW线,通过LINE线和ROW即可确定十字位置,即键值。干系事理图如图3所示。
1.2.2防抖动设计
键盘驱动必须办理的一个问题是按键的抖动。在按键按下和抬起的过程中,电压旗子暗记会涌现很多毛刺,这紧张是由于机器按键的弹性浸染引起的。只管触点看起来非常稳定,而且快速地闭合,但相对付嵌入式处理器的运行速率来说,这种动作还是相对很慢的。这种脉冲在某些按键功能设计时,如果处理不当可能会带来灾害性的后果,以是必须对按键旗子暗记进行防抖检测。按键防抖检测的核心思想是在嵌入式处理器的几个时钟周期内,通过对按键旗子暗记进行多次访问,查看电平状态是否保存同等。如果保持同等,则解释按键状态已经稳定;否则,解释之前检测到的按键旗子暗记是抖动旗子暗记或外界旗子暗记滋扰[5],系统将不会对其进行任何处理。
1.3软件设计
1.3.1设计思路
矩阵键盘驱动的设计紧张分为:GPIO初始化及配置、外部中断的配置、中断驱动程序的设计、键值的查询和键值的确认。
(1)GPIO初始化及配置
根据CPU的芯片手册的配置方法,查询当前矩阵键盘所接的CPU管脚,将所有连接的管脚进行初始化,并对掌握该管脚的时钟进行初始配置。
(2)外部中断配置
为了吸收到按键的中断旗子暗记,须要对列上的管脚进行中断配置,以便CPU中断程序相应按键对应的中断要求。
(3)中断驱动程序的设计
通过打开中断,对应按键按下后,CPU将会进入相应的中断处理程序,此时须要打消相应中断信息,防止处理完成后再次快速中断相应。
(4)键值的查询和键值的确认
通过中断相应程序,可以定位到详细的LINE线的数值,此时再将ROW线设置为输入状态,修正LINE1~LINE5为推勉输出,由于通过上位电阻连接到3.3 V,因此为高电平状态,此时再次对ROW1~ROW5进行识别,当为高电平的ROW线时即为按键按下的键值,通过对LINE和ROW进行十字定位,即可确定按下的详细按健。
1.3.2驱动程序设计
当确定按键位置后,须要根据实际情形来选择显示的不同字符,如数字“7”与“PQRS”共用。根据金融POS的利用习气,用户大多情形下以数字键为主。根据这一习气,本设计装置在驱动中通过设置开关S实现输入模式的切换,当S=0时为数字模式,如图4所示,直接显示数字;当S=1时为字符模式,如图5所示,在一公用位置显示出待选择的所有字符,用户可根据序号选择期望的字符。
通过这种模式,当用户须要输入多种稠浊字母的时候,通过切换开关即可完成多种字符的繁芜输入。用户确定按健数字的键值后,通过输入模
图4数字模式图5字符模式式开关(将21个键值中某一个特定键如F2作为输入模式开关键,通过此开关来掌握数字和非数字的输入),向显示界面发送当前预定义的显示内容,根据提示即可完成字符或数字的输入。
在驱动程序设计中,定义了一个构造用于存储干系的参数来实现开关S,详细如下:
typedef struct _KEYCONFIG
// 矩阵键盘构造
{
BYTE bSwtich;//输入模式
BYTEbKeyValue;//当前键值
BYTEbLastKey;//上次键值
LONG lTimeout;//超时时间
BYTE bNum;//按键次数
} KEYCONFIG, PKEYCONFIG;
该构造紧张用来存储用户每次按键的动作,bSwtich的值由界面上特定功能键F1掌握,设备启动时默认为数字开启状态。当输入模式为bSwtich=0时,当前得到的数字即为键值bKeyValue;当输入模式为bSwtich=1时,且bNum=0时,将当前得到的键值赋值给bLastKey,并根据该键值显示对运用的非数字大写字符,大小写的掌握功能由分外字符健F2掌握,利用办法与F1类似。
2终端测试
本文以一款普通的金融POS机为测试样机,通过上述方法进行设计,在意法半导体的F103系列的CPU上完成了干系设计和代码编写整合。
在测试过程中,本文采取了功能性测试与性能性测试相结合的方法,对各个部分分别进行了白盒测试和黑盒测试。测试结果显示本文所采取的方法具备验证可靠、大略、效率高且占用系统开销较小等优点,适用于普通金融POS输入方法的一样平常设计需求,具有较好的运用前景。
3结论
本文先容了一种通过矩阵键盘,以开关掌握的查表方法来实现多字符和数字稠浊输入的金融POS机字符输入事情事理和开拓方案。通过真实案例测试证明该金融POS装置输入稳定、切换方便,能够较好地实现字符和数字的稠浊输入。目前,该方法已运用于岭南通P20(岭南通是指广东省公交一卡通互联互通系统)设备开拓中,在岭南通电子票证项目的系统配置中,可以利用稠浊输入方法配置运行时的多项参数,取得了良好的运用效果。
参考文献
[1] 杨斌斌,张雪英,王玉宏.基于嵌入式Linux的矩阵键盘驱动程序研究与开拓[J]. 当代电子技能,2009,32(2):3941.
[2] 习勇.POS终端支付发展趋势[A]. 第四届国家信息化发展论坛(中国.天津),2007.
[3] 蒋子刚,蒋弘山.数码键盘中文输入方法及其键位例[P].中国:02106335.4,20020223.
[4] 尹淇燮.移动通信终真个字母输入装置及其输入方法[P].中国:201080032267.9.4, 20100716.
[5] 叶童,林琪瑜,熊继平.软件无线电仿真及安全性研究[J]. 微型机与运用, 2015, 34(22):58.







