模拟读卡接口的方法及应用其的控制装置与流程

文档序号:11234704阅读:400来源:国知局
模拟读卡接口的方法及应用其的控制装置与流程

本发明是有关于一种模拟读卡接口的方法以及应用其的控制装置,特别是关于用于移动销售点装置的控制装置。



背景技术:

随着移动装置(例如手机或平板电脑)的普及,移动装置可藉由实体线路或无线的方式连接移动销售点装置(mobilepointofsale,mpos),并透过移动装置本身安装的应用程序以及周围环境的无线网络,移动装置可以成为移动刷卡机,让使用者可以随处进行签单交易,使得刷卡机不必局限于设置在柜台。而如何设计mpos装置,乃目前业界所致力的课题之一。



技术实现要素:

本发明的目的在于提供一种模拟读卡接口的方法及应用其的控制装置,以实现一种mpos装置,此方法及控制装置具有降低生产成本的优点。

根据本发明的第一方面,提出一种模拟读卡接口的方法,应用于控制装置,控制装置包括处理单元、通用输入输出单元、计时单元,此方法用以将通用输入输出单元模拟成读卡接口。此方法包括下列步骤:将来自计时单元的中断请求设定为处理单元中具有最高优先权的中断请求;处理单元通知计时单元发出中断请求的间隔时间;以及当处理单元收到来自计时单元的中断请求时,进入中断处理程序,其中于中断处理程序中,处理单元从通用输入输出单元读取输入数值。

根据本发明的第二方面,提出一种控制装置,包括无线收发单元、通用输入输出单元、计时单元、记忆单元、处理单元、以及总线。无线收发单元用以无线收发数据。记忆单元用以储存一程序。处理单元用以于载入该程序时执行一方法,该方法用以将通用输入输出单元模拟成一读卡接口,该方法包括下列步骤:将来自计时单元的中断请求设定为处理单元中具有最高优先权的中断请 求;通知计时单元发出中断请求的间隔时间;以及当收到来自计时单元的中断请求时,进入中断处理程序,其中于中断处理程序中,处理单元从通用输入输出单元读取输入数值。总线耦接无线收发单元、通用输入输出单元、计时单元、记忆单元、以及处理单元。

为了对本发明的上述及其他方面有更佳的了解,下文特举较佳实施例,并配合附图,作详细说明如下:

附图说明

图1绘示一种范例移动收单服务系统的示意图。

图2绘示一种范例mpos装置的示意图。

图3绘示依据本发明一实施例的控制装置的示意图。

图4绘示依据本发明一实施例的模拟读卡接口的方法流程图。

图5绘示依据本发明一实施例的写入输出数值至通用输入输出单元的信号时序图。

图6绘示依据本发明一实施例的从通用输入输出单元读取输入数值的信号时序图。

其中,附图标记:

1:移动销售点装置

2:移动装置

3:服务器

10:控制装置

101:处理单元

102:记忆单元

103:通用输入输出单元

104:计时单元

105:无线收发单元

110:总线

191:处理器ic

192:无线模块ic

193:芯片卡读卡ic

194:磁条卡读卡ic

s202:将来自计时单元的中断请求设定为处理单元中具有最高优先权的中断请求

s204:处理单元通知计时单元发出中断请求的间隔时间

s206:当处理单元收到来自计时单元的中断请求时,进入中断处理程序。于中断处理程序中,处理单元从通用输入输出单元读取输入数值

clk:时脉

gpio:通用输入输出

isr:中断处理程序

具体实施方式

图1绘示一种范例移动收单服务系统的示意图。此系统中包括mpos装置1、移动装置2、以及服务器3。移动装置2例如是手机或是平板电脑,在图示中以手机表示,移动装置2可以透过本身的无线网络(例如wifi或是lte)连接到远端的服务器3,另外移动装置2可以透过蓝牙(bluetooth)或是近场通讯(nearfieldcommunication,nfc)等等无线通讯技术连接到mpos装置1。mpos装置1例如可以读取芯片卡(例如智能卡的芯片)以及磁条卡(例如信用卡的磁条),当使用者刷卡时,mpos装置1可将读取到的数据传送给移动装置2,移动装置2可安装有对应于移动刷卡的应用程序,以处理相关于交易的动作,移动装置2并可进一步透过无线网络将交易数据传送至远端的服务器3,以完成此笔交易。

图2绘示一种范例mpos装置的示意图。如图1所绘示范例中的mpos装置1,可以读取芯片卡以及磁条卡,同时亦具有无线数据传输能力,因此一种范例mpos装置的实现方法如图2所示,mpos装置包括处理器集成电路(integratedcircuit,ic)191、无线模块ic192、芯片卡读卡ic193、磁条卡读卡ic194。处理器ic191耦接至其他集成电路,包括无线模块ic192、芯片卡读卡ic193、磁条卡读卡ic194,处理器ic191可以是中央处理器或微控制器,用以执行关于数据运算以及周边单元的操作控制。无线模块ic192例如是蓝牙通讯模块。芯片卡读卡ic193可将从芯片卡读取的数据,转换为处理器ic可以处理的信号型态。类似地,磁条卡读卡ic194可将从磁条卡读 取的数据,转换为处理器ic191可以处理的信号型态。然而,在图2所示的范例mpos装置中,总共需要四个独立的集成电路芯片,所占用的实体电路面积大,且所需的生产成本高。以下提出一种以单一集成电路实现的方法及应用其的装置。

图3绘示依据本发明一实施例的控制装置的示意图。控制装置10包括无线收发单元105、通用输入输出单元103、计时单元104、记忆单元102、处理单元101、以及总线110。无线收发单元105用以无线收发数据。记忆单元102用以储存一程序。处理单元101用以于载入该程序时执行一方法,该方法用以将通用输入输出单元103模拟成一读卡接口,该方法包括下列步骤:将来自计时单元104的中断请求设定为处理单元101中具有最高优先权的中断请求;通知计时单元104发出中断请求的间隔时间;以及当收到来自计时单元104的中断请求时,进入中断处理程序,其中于中断处理程序中,处理单元101从通用输入输出单元103读取输入数值。总线110耦接无线收发单元105、通用输入输出单元103、计时单元104、记忆单元102、以及处理单元101。各元件详细说明如下。

控制装置10可设置于移动销售点装置1当中,控制装置10可以是微控制器(microcontroller),可以由单一集成电路实现,且控制装置10可整合图2所示的处理器ic191、无线模块ic192、芯片卡读卡ic193、以及磁条卡读卡ic194的功能。控制装置10中以总线(bus)110连接各个单元,处理单元101例如是微处理器(microprocessor),可以经由设计程序,使得处理单元101藉由载入程序而执行相对应的功能。程序可储存于记忆单元102,记忆单元102例如是记忆体。举例而言,记忆单元102可以是随机存取记忆体(randomaccessmemory,ram),程序可以软件方式储存于ram当中,或者记忆单元102可以是快闪记忆体(flash),程序可以固件形式嵌入在快闪记忆体。

在此实施例中,记忆单元102所储存的程序,经由处理单元101载入后,处理单元101可执行一方法以将通用输入输出单元103模拟成一读卡接口。通用输入输出(generalpurposeinput/output,gpio)单元103例如可包括多个通用输入输出接脚(gpiopins)、输入数据暂存器、输出数据暂存器、方向暂存器。gpio接脚为双向接脚,可作为输入或输出接脚,其数据传输方向可以由方向暂存器的值所决定。当方向暂存器决定作为输入接脚时,可将接收的数 值储存于输入数据暂存器;当方向暂存器决定作为输出接脚时,内部电路可将要传送的数值写入到输出数据暂存器,输出数据暂存器储存的数值由gpio接脚输出。于以下说明中,为简化文字说明起见,当gpio接脚作为输入接脚时,内部电路从输入数据暂存器读取数据的操作,表示为从通用输入输出单元103读取输入数值;当gpio接脚作为输出接脚时,内部电路写入数据到输出数据暂存器,表示为写入输出数值至通用输入输出单元103。

由于控制装置10的通用输入输出单元103可以是由使用者藉由编写程序以控制其操作,在本案实施例中,可藉由适当编写程序,控制通用输入输出单元103的输入及输出信号操作,模拟为读卡接口的操作。可模拟的读卡接口包括芯片卡读卡接口以及磁条卡读卡接口,芯片卡读卡接口例如iso7816接口,磁条卡读卡接口例如iso7811接口。在一实施例中,通用输入输出单元103包括有多个gpio接脚,其中部分的gpio接脚(例如pin1~pin5)用以模拟iso7816接口,另外一部分的gpio接脚(例如pin6~pin8)用以模拟iso7811接口。因此,应用控制装置10的mpos装置1可兼具芯片卡以及磁条卡的读卡能力。

在图3所绘示的实施例中,由于使用软件或固件控制,使得控制装置10的通用输入输出单元103可模拟成读卡接口,因此图3所示的控制装置10,不需要如图2所示的芯片卡读卡ic193以及磁条卡读卡ic194作为桥接装置,而能够直接以gpio接脚连接到卡片。此外,在此实施例中,无线收发单元105亦可整合于同一个集成电路中,因此也不需要如图2所示的无线模块ic192。控制装置10能够以单一集成电路实现,可以节省电路面积,减少所需使用的集成电路元件,并且有效降低生产成本。图2的实施例需4颗独立的ic,图3的实施例则仅需1颗ic。

在一实施例中,无线收发单元105是双模蓝牙收发器,例如可兼容于蓝牙3.0通讯协议以及蓝牙4.0通讯协议,可用以连接具有蓝牙传输接口的移动装置。无线收发单元105透过总线110与处理单元101沟通,可受处理单元101控制而对应进行动作,以及将收到的数据传送至处理单元101。控制装置10可应用于一个蓝牙传输接口的mpos机器。

以下更进一步说明将通用输入输出单元103模拟成读卡接口的方法。图4绘示依据本发明一实施例的模拟读卡接口的方法流程图,方法包括下列步骤。 步骤s202:将来自计时单元的中断请求设定为处理单元中具有最高优先权的中断请求。步骤s204:处理单元通知计时单元发出中断请求的间隔时间。步骤s206:当处理单元收到来自计时单元的中断请求时,进入中断处理程序,其中于中断处理程序中,处理单元从通用输入输出单元读取输入数值。在一实施例中,于中断处理程序中,处理单元更用以写入输出数值至通用输入输出单元。

请同时参考图3以及图4,当使用通用输入输出单元103模拟读卡接口,表示处理单元101要在正确的时间点,去读取通用输入输出单元103的数值,或是处理单元101要在正确的时间点,写入数值到通用输入输出单元103,以使得在通用输入输出单元103的信号符合读卡接口的操作信号。而由于不同的读卡接口皆有标准协议规范信号时序,例如前述的iso7816以及iso7811,当蓝牙收发器亦整合于控制装置10时,因为蓝牙传输亦有标准协议,需遵守特定的信号时序规范,为了避免在进行读卡相关动作时,可能造成蓝牙连线断线的情况,或是因为在蓝牙传输中可能造成磁条卡读错数据的情形,对于通用输入输出单元103的信号时序控制必须够精确。举例而言,让输出数值能够在够精确的时间点写入到通用输入输出单元103,以模拟一个符合iso7816时序规范的读卡接口。

在本案实施例中,为了能够精确控制通用输入输出单元103的信号时序,所采用的方法是使用计时单元104所发送的中断请求(interruptrequest,irq)进行控制。计时单元104例如是包括电子振荡器(oscillator)的硬件计时器,能够产生特定频率的时脉信号,以精确计算时间。在控制装置10中,处理单元101可接收周边装置的多个中断请求来源,中断请求源可以来自芯片上,亦可以从芯片外部电路接收。中断请求可对应至中断处理程序(interruptserviceroutine,isr),当处理单元101接收到中断请求时,可先暂存目前正执行的程序状态,优先跳到中断请求所对应的中断处理程序在记忆单元102当中的地址,以执行中断处理程序,待处理单元101执行完中断处理程序后,再取回暂存的原程序状态,跳回原程序在记忆单元102当中的地址,继续执行原程序。

在本案实施例中,处理单元101所执行的中断处理程序,即是处理单元101从通用输入输出单元103读取输入数值,或是处理单元101将输出数值写 入通用输入输出单元103。亦即,每当从计时单元104收到中断请求时,处理单元101即对于通用输入输出单元103进行读或写的动作。因此,处理单元101需依据读卡接口所对应的规范,通知计时单元104隔多久时间发出中断请求,以使得处理单元101在正确的时间点对通用输入输出单元103进行读或写的操作。

如前所述,处理单元101可接收多个中断请求来源,包括无线收发单元105(例如是双模蓝牙收发器)亦可发出相关于蓝牙传输的中断请求至处理单元101。为使得在通用输入输出单元103的数据读写操作的信号时序能够精确,可将来自计时单元104的中断请求设定为处理单元101中具有最高优先权的中断请求,将来自其他单元的中断请求设定为优先权较低。因此,来自无线收发单元105的中断请求,其优先权低于来自计时单元104的中断请求。藉由对于不同中断请求源的优先权设定,使得处理单元101每次收到来自计时单元104的中断请求时,立即优先处理其对应的中断处理程序,而对通用输入输出单元103进行读或写的动作,以达成在通用输入输出单元103信号时序精确的目标。

处理单元101藉由载入程序以执行上述实施例的方法,而程序可储存于记忆单元102中。于此程序中可设定各个中断请求源的优先顺序,包括将来自计时单元104的中断请求设定为处理单元101中具有最高优先权的中断请求。程序中并可以设定对应于计时单元104的中断处理程序中,处理单元101要写入什么数值到通用输入输出单元103,以及处理单元101要如何处理从通用输入输出单元103读取的数值。

首先说明从通用输入输出单元103读取数值的情形,图5绘示依据本发明一实施例的从通用输入输出单元读取输入数值的信号时序图。在此实施例中,以模拟iso7811接口读取磁条卡作为范例说明。控制装置10外部可耦接模拟电路,模拟电路例如包括运算放大器(op-amp)以及模拟数字转换器(analog-to-digitalconverter,adc)。当使用者刷磁条卡时,由于电磁感应原理产生小电流,小电流经模拟电路放大后并且转换成数字信号,由通用输入输出单元103接收数字信号,处理单元101藉由程序控制读取或是取样(sample)此数字信号的时间点。

举例而言,处理单元101可以通知计时单元104以一个固定的频率发出中断请求,此固定频率即代表处理单元101去取样通用输入输出单元103的频率。 如图5所示,clk代表时脉信号,gpio代表通用输入输出接脚上的信号,isr代表每次计时单元104发出中断请求的时间点,即处理单元101进入中断处理程序的时间点。isr可以为固定频率,使得处理单元101以一个固定频率进入中断处理程序,在此中断处理程序中处理单元101从通用输入输出单元103读取输入数值,如图5所绘示的例子中,处理单元101可依序读到{1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,…},其中1代表为对应于输入数值的高逻辑位准,0代表对应于输入数值的低逻辑位准。需说明的是,为使图示清楚,图5所绘示的信号频率关系仅为示意图,实际电路所使用的信号频率可以与图5中所示的比例不同。举例而言,在电路实作中,gpio的一个信号周期内,可以发出数十次或是数百次的isr,而每一次的isr之间可以有数十个或数百个clk周期。

依据iso7811接口标准,读卡接口上的信号以信号宽度区别逻辑1或是逻辑0,例如逻辑0对应于信号的1倍周期,而逻辑1对应于信号的2倍周期。因此,在一实施例中,当处理单元101从通用输入输出单元103读取输入数值时,处理单元101更计算对应于输入数值的高逻辑位准期间以及低逻辑位准期间,处理单元101分别从计时单元104接收到的中断请求的数目。如图5所示的例子,在一开始的高逻辑位准期间,接收到8个中断请求,紧接着的低逻辑位准期间,接收到8个中断请求,再接着的下一个高逻辑位准期间,接收到3个中断请求,而再下一个低逻辑位准期间,接收到4个中断请求。根据这些数目,处理单元101可以判断出先接收到一个2倍周期的信号,再接收到一个1倍周期的信号,因此可以得知先接收到逻辑1,再接收到逻辑0。此处的数值仅为范例说明,于电路实作中,在一个高逻辑位准期间,处理单元101可能收到数十个中断请求。

接着说明写入数值到通用输入输出单元103的情形,图6绘示依据本发明一实施例的写入输出数值至通用输入输出单元的信号时序图。在此实施例中,以模拟iso7816接口传送数据至芯片卡作为范例说明。当使用者插入芯片卡,控制装置10需传送指令至芯片卡时,处理单元101写入数值到通用输入输出单元103。类似于读取数值的操作,每当处理单元101接收到来自计时单元104的中断请求时,处理单元101执行中断处理程序,于中断处理程序中,程序指定要写入通用输入输出单元103的数值,因此处理单元101可以在正确的时间 点(藉由程序通知计时单元104发出中断请求的间隔时间)写入依据程序设定的数值到通用输入输出单元103。

以iso7816规范为例,一个位元组(byte)的数据由1个起始位元(startbit)、8个数据位元(databit)、1个校验位元(paritybit)、以及2个结束位元(stopbit)所组成。其中每一个位元所占用的时间为一个基本时间单元(elementarytimeunit,etu),一个etu为372个时脉周期。以使用频率3mhz的clk信号为例,1个etu长度为372*(1/3mhz)=124μs。因此,处理单元101可以通知计时单元104发出中断请求的间隔时间为124μs,每当进入中断处理程序时,即写入1个位元的数值到通用输入输出单元103。以图6为例,首先写入起始位元为0,接着可依序从数据的最低有效位元(leastsignificantbit,lsb)d0写到数据的最高有效位元(mostsignificantbit,msb)d7,再写入校验码,最后写入2个位元的结束位元为1,即完成1个位元组的传输。控制装置10可以一次传送多个位元组的指令到芯片卡,其中每一个位元组皆可如同图6所示,藉由多个中断请求以达成于正确的时间点写入输出数值到通用输入输出单元103。

如以上图5以及图6实施例所述,不论是在读取数值或是写入数值的情形,中断处理程序皆仅需要读取1个位元或是写入1个位元的数值,因此所需的时间非常短,处理单元101在执行完短暂的中断处理程序之后,能够立刻跳回原程序执行。因此,使用本案实施例所公开的模拟读卡接口的方法,藉由中断请求控制读取与写入信号的时序,不仅能够达到时序精确控制的优点,更由于中断处理程序简单可以快速结束,而不致影响处理单元原先处理的程序。

在图3所绘示的实施例中,绘示一个计时单元104。当控制装置10同时模拟两种读卡接口时,例如包括iso7816接口以及iso7811接口,于一实施例中,两种接口可以分别对应到不同的gpio接脚,且两种接口可以分别对应到各自独立的计时单元,例如分别使用不同振荡频率的两个计时器,以适用于不同的读卡接口。于一实施例中,两种接口亦可以对应到同一个计时单元,藉由程序控制计时单元在模拟这两种读卡接口时,分别要以多长的间隔时间发送中断请求。由于在实际操作中,mpos装置不会同时读取芯片卡以及磁条卡,因此mpos装置内模拟两种读卡接口可以使用同一个计时单元,藉由软件进行对应的时序控制。

使用本发明上述实施例所公开的模拟读卡接口的方法及应用其的控制装置,可以使用单一集成电路实现具有无线传输能力的读卡接口。由于直接以控制装置的通用输入输出单元模拟读卡接口,因此无须额外的转接电路,具有节省电路面积以及降低生产成本的优点。此外,藉由将计时单元发出的中断请求优先权设定为最高,可以使得读卡接口的信号时序精确,有效避免于读取卡片上重要数据时发生数据读取错误的问题,并且可以于读卡操作的同时,维持无线传输(例如蓝牙传输)不断线。

综上所述,虽然本发明已以较佳实施例公开如上,但其并非用以限定本发明。本发明所属技术领域中的技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与修改。因此,本发明的保护范围当视后附的权利要求保护范围所界定者为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1