一种终端调制深度自适应的方法与流程

文档序号:15236485发布日期:2018-08-24 05:31阅读:326来源:国知局

本发明涉及电子通信领域,尤其涉及一种非接触卡与终端之间的通信方法,非接触卡包括typeb卡和felica卡。



背景技术:

日常生活中,具有非接功能的智能卡、金融卡越来越常见,应用的范围也越来越广泛。在终端生产过程中,焊接的器件都存在一定的误差,这些误差导致终端的性能产生差异。同时,外部卡片负载的不同也会对终端的调制信号产生影响。上述因素使得终端对某些卡的识别率低。终端设计时,虽然能保证终端上的非接触读卡芯片支持调制深度的调整命令,但非接触读卡芯片在自动调整过程中会产生杂波,会影响和非接触卡的正常通讯过程。



技术实现要素:

本发明的目的在于提供一种终端调制深度自适应的方法,从而解决现有技术中,因终端器件参数差异和外部非接触卡的负载不同造成信号调制深度不合适,最终影响非接触卡与终端之间正常通讯的问题。

为了实现上述目的,本发明所述终端调制深度自适应的方法,所述方法包括:

建表过程:在终端生产过程中,使用标准非接触卡对终端进行校正建立调制深度表,并存储于终端中;

自适应过程:在任意一张非接触卡k与所述终端进行数据交互前,所述终端上主控芯片根据终端存储的调制深度表得到调制寄存器控制值,并将调制寄存器控制值写入所述终端的非接触读卡芯片的调制寄存器中,所述终端完成自适应调节,所述终端开始与非接触卡进行数据交互。

优选地,建表过程具体为:

s1,初始化操作

初始化终端上主控芯片的变量值,变量值包括index、数组tabx[]、数组taby[]和lenth;

tabx[index]表示负载在index高度时测量到场强的寄存器值;taby[index]表示在场强寄存器为tabx[index]时,达到目标调制深度时,需要配置给非接触读卡芯片的调制寄存器值;index表示调制深度表的位置,与负载高度值对应,index的初始化值为0;lenth用于记录数组长度,所述数组长度即为调制深度表的长度值;

初始化非接触读卡芯片:非接触读卡芯片输出的场强值为默认的工作值;

s2,主控芯片配置非接触读卡芯片的调制寄存器,开启非接触读卡芯片电磁场;

s3,操作者将标准非接触卡置于终端感应区,且标准非接触卡与终端感应区的间距为0cm;

s4,主控芯片判断从操作者处接收到的指令是确认指令还是取消指令,如果是确认指令,则进入s5;如果是取消指令,则清除主控芯片在当前时刻前存储的数组tabx[]的值和数组taby[]的值,继续等待操作者发出的指令;如果主控芯片接收到的指令既不是确认指令也不是取消指令,则继续判断;

s5,主控芯片发送测量场强指令到非接触读卡芯片;

非接触读卡芯片接收到测量场强指令后测量当前场强值并存储至调制寄存器;

s6,主控芯片发送读取调制寄存器指令到非接触读卡芯片,得到非接触芯片的调制寄存器中

s7,主控芯片将目标调制深度写入非接触读卡芯片的调制寄存存储的当前场强值,并将得到的当前场强值保存到tabx[]数组中的index位置;

s8,主控芯片发送自动深度调节指令到非接触读卡芯片;

非接触读卡芯片接收到自动深度调节指令后,在所述当前场强值的条件下调取得到所述当前场强值对应的调制寄存器值,将得到的调制寄存器值存储于自身调制寄存器;

s9,主控芯片发送读取调制寄存器指令到非接触读卡芯片,得到调制寄存器中存储的值,主控芯片将读取到的值保存到数组taby[]中的index位置;

s10,主控芯片更新index,将index值加1;

s11,主控芯片判断index值是否小于当前lenth值;如果是,则执行s12;如果否,则执行s13;

s12,操作者将标准非接触卡与终端感应区的间距增加1cm,然后返回执行s4;

s13,主控芯片将得到的数组tabx[]和数组taby[]均写入到flash存储芯片中存储,完成调制深度表的建立。

优选地,终端自适应调节过程,具体为:

a1,终端的主控芯片初始化变量值index为0,ucantennadriverstrength为0;

index用于记录存储数组位置;ucantennadriverstrength表示自适应调节后需要写入调制寄存器的值;

a2,主控芯片获取存储在flash存储芯片中的调制深度表;所述调制深度表包括数组tabx[]和数组taby[]以及调制深度表的长度lenth;

tabx[index]表示负载在index高度时测量到场强的寄存器值;taby[index]表示在场强寄存器为tabx[index]时,达到目标调制深度时,需要配置给非接触读卡芯片的调制寄存器值;index表示调制深度表的位置,index与负载高度值对应;lenth为调制深度表的长度,为最大的index值加1;

a3,主控芯片发送测量当前场强的指令到非接触读卡芯片,非接触读卡芯片测量得到当前场强值;

a4,主控芯片发送读取当前场强值的指令到非接触读卡芯片,得到当前场强值,并将得到当前场强值记为ucamplitudephase;

ucamplitudephase表示载波幅度pmax;

a5,主控芯片判断ucamplitudephase是否小于tabx[index],即:判断ucamplitudephase是否小于数组tabx[]中index位置的数值,若是,则直接执行a8;若否,则执行a6;

a6,主控芯片将index加1;

a7,主控芯片判断此时的index是否小于调制深度表的lenth若是,则执行a5;若否,则当前index不在调制深度表内,执行a8;

lenth表示调制深度表的长度值;

a8,主控芯片判断当前index是否等于0,若是,则执行a9;若否,则执行a10;

a9,主控芯片设置ucantennadriverstrength为数组taby[]的0位置,记为taby[0],进入a15;

a10,主控芯片判断index是否等于lenth,若是,则执行a11;若否,则执行a13;

a11,主控芯片将index减1,进入a12;

a12,主控芯片设置ucantennadriverstrength为数组taby[]的index位置,记为taby[index],然后执行a15;

a13,主控芯片获取x1、y1、x2、y2、xi,x1=tabx[index-1]、y1=taby[index-1]、x2=tabx[index]、y2=taby[index]、xi=ucamplitudephase;将变量x1、y1、x2、y2记为两个点,分别表示为(x1,y1)和(x2,y2),然后进入a14;

a14,终端的主控芯片将变量代入公式(1)进行计算,得到ucantennadriverstrength值:

ucantennadriverstrength=(xi-x1)×(y2-y1)/(x2-x1)+y1(1)

a15,主控芯片将获得的调制场强值ucantennadriverstrength写入终端非接触读卡芯片的调制寄存器,完成自适应调节过程。

本发明的有益效果是:

本发明所述方法在终端的生产阶段,使用标准负载非接触卡对终端进行软件校正建立一个调制深度表。用户使用终端与非接触卡通讯的过程中,使用调制深度表对外部不同负载的非接触卡进行自适应。即:通过查询正在通讯的非接触卡的负载情况,进行自适应调节输出调制深度,同时,避免影响调节过程中非接触卡与终端之间的正常通讯。

附图说明

图1是获取调制深度表的流程示意图;

图2是终端使用调制深度表进行自适应的流程示意图。

图3是终端的部件示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。

调制深度,也叫调制度指的是调制波的幅度与载波幅度的比值,常用百分数表示,即:

md=(pmax-pmin)/(pmax+pmin);

其中pmax为载波幅度,pmin为调制波幅度。

利用非接触卡的ad采样功能,采集pmax值。同时,非接触卡通过调制寄存器控制pmin值。利用标准非接触读卡芯片支持进行目标调制深度调整命令的特性,在终端生产阶段建立调制深度表。非接触读卡芯片在自动调整过程中会产生杂波,杂波影响非接触卡与终端间的正常通讯,而本申请所述方法只需查调制深度表计算出调制寄存器控制pmin值即可避免非接触卡在自动调整过程中会产生杂波,保证非接触卡与终端间的正常通讯。故,关于本申请更详细的解释说明为:

标准负载:是一张满足pboc标准的非接触卡。如果终端的用途不仅限于银行卡,可以针对特定的卡进行校准操作。

本实施例所述终端调制深度自适应的方法,所述方法包括:

建表过程:在终端生产过程中,使用标准非接触卡对终端进行校正建立调制深度表,并存储于终端中;

自适应过程:在任意一张非接触卡k与所述终端进行数据交互前,所述终端上主控芯片根据终端存储的调制深度表得到调制寄存器控制值,并将调制寄存器控制值写入所述终端的非接触读卡芯片的调制寄存器中,所述终端完成自适应调节,所述终端开始与非接触卡进行数据交互。

更详细的解释说明:

(一)建表过程具体为:

s1,初始化操作

初始化终端上主控芯片的变量值,变量值包括index、数组tabx[]、数组taby[]和lenth;

数组tabx[index]的值表示负载在index高度时测量到场强的寄存器值;数组taby[index]的值表示在场强寄存器为tabx[index]时,达到目标调制深度时,需要配置给非接触读卡芯片的调制寄存器值;index表示调制深度表的位置,与负载高度值对应,index的初始化值为0;lenth用于记录数组长度,所述数组长度即为调制深度表的长度值;

初始化非接触读卡芯片:非接触读卡芯片输出的场强值为默认的工作值;

s2,主控芯片配置非接触读卡芯片的调制寄存器,开启非接触读卡芯片电磁场;

s3,操作者将标准非接触卡置于终端感应区,且标准非接触卡与终端感应区的间距为0cm;

s4,主控芯片判断从操作者处接收到的指令是确认指令还是取消指令,如果是确认指令,则进入s5;如果是取消指令,则清除主控芯片在当前时刻前存储的数组tabx[]的值和数组taby[]的值,继续等待操作者发出的指令;如果主控芯片接收到的指令既不是确认指令也不是取消指令,则继续判断;

s5,主控芯片发送测量场强指令到非接触读卡芯片;

非接触读卡芯片接收到测量场强指令后测量当前场强值并存储至调制寄存器;

s6,主控芯片发送读取调制寄存器指令到非接触读卡芯片,得到非接触芯片的调制寄存器中存储的当前场强值,并将得到的当前场强值保存到数组tabx[]中的index位置;

s7,主控芯片将目标调制深度写入非接触读卡芯片的调制寄存器中;

s8,主控芯片发送自动深度调节指令到非接触读卡芯片;

非接触读卡芯片接收到自动深度调节指令后,在所述当前场强值的条件下调取得到所述当前场强值对应的调制寄存器值,将得到的调制寄存器值存储于自身调制寄存器;

s9,主控芯片发送读取调制寄存器指令到非接触读卡芯片,得到调制寄存器中存储的值,主控芯片将读取到的值保存到数组taby[]中的index位置;

s10,主控芯片更新index,将index值加1;

s11,主控芯片判断index值是否小于当前lenth值;如果是,则执行s12;如果否,则执行s13;

s12,操作者将标准非接触卡与终端感应区的间距增加1cm,然后返回执行s4;

s13,主控芯片将得到的数组tabx[]和数组taby[]均写入到flash存储芯片中存储,完成调制深度表的建立。

(二)终端自适应调节过程,具体为:

a1,终端的主控芯片初始化变量值index为0,ucantennadriverstrength为0;

index用于记录存储数组位置;ucantennadriverstrength表示自适应调节后需要写入调制寄存器的值;

a2,主控芯片获取存储在flash存储芯片中的调制深度表;所述调制深度表包括数组tabx[]和数组taby[]以及调制深度表的长度lenth;

示例表示:数组tabx[index]的值表示负载在index高度时测量到场强的寄存器值;数组taby[index]的值表示在场强寄存器为tabx[index]时,达到目标调制深度时,需要配置给非接触读卡芯片的调制寄存器值;index表示调制深度表的位置,index与负载高度值对应,如:0位置存储0cm高度时的值;lenth为调制深度表的长度,为最大的index值加1;

a3,主控芯片发送测量当前场强的指令到非接触读卡芯片,非接触读卡芯片测量得到当前场强值;

a4,主控芯片发送读取当前场强值的指令到非接触读卡芯片,得到当前场强值,并将得到当前场强值记为ucamplitudephase;

ucamplitudephase表示载波幅度pmax;

a5,主控芯片判断ucamplitudephase是否小于tabx[index],即:判断ucamplitudephase是否小于数组tabx[]中index位置的数值,若是,则直接执行a8;若否,则执行a6;

a6,主控芯片将index加1;

a7,主控芯片判断此时的index是否小于调制深度表的lenth若是,则执行a5;若否,则当前index不在调制深度表内,执行a8;

lenth表示调制深度表的长度值;

a8,主控芯片判断当前index是否等于0,若是,则执行a9;若否,则执行a10;

a9,主控芯片设置ucantennadriverstrength为数组taby[]的0位置,记为taby[0],进入a15;

a10,主控芯片判断index是否等于lenth,若是,则执行a11;若否,则执行a13;

a11,主控芯片将index减1,进入a12;

a12,主控芯片设置ucantennadriverstrength为数组taby[]的index位置,记为taby[index],然后执行a15;

a13,主控芯片获取x1、y1、x2、y2、xi,x1=tabx[index-1]、y1=taby[index-1]、x2=tabx[index]、y2=taby[index]、xi=ucamplitudephase;将变量x1、y1、x2、y2记为两个点,分别表示为(x1,y1)和(x2,y2),然后进入a14;

a14,终端的主控芯片将变量代入公式(1)进行计算,得到ucantennadriverstrength值:

ucantennadriverstrength=(xi-x1)×(y2-y1)/(x2-x1)+y1(1)

a15,主控芯片将获得的调制场强值ucantennadriverstrength写入终端非接触读卡芯片的调制寄存器,完成自适应调节过程。

通过采用本发明公开的上述技术方案,得到了如下有益的效果:本发明所述方法在终端的生产阶段,使用标准负载非接触卡对终端进行软件校正建立一个调制深度表。用户使用终端与非接触卡通讯的过程中,使用调制深度表对外部不同负载的非接触卡进行自适应。即:通过查询正在通讯的非接触卡的负载情况,进行自适应调节输出调制深度,同时,避免影响调节过程中非接触卡与终端之间的正常通讯。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

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