CN103902492A - 一种读卡器的工作方法 - Google Patents

一种读卡器的工作方法 Download PDF

Info

Publication number
CN103902492A
CN103902492A CN201410160209.4A CN201410160209A CN103902492A CN 103902492 A CN103902492 A CN 103902492A CN 201410160209 A CN201410160209 A CN 201410160209A CN 103902492 A CN103902492 A CN 103902492A
Authority
CN
China
Prior art keywords
data
draw
groove
usb
card
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.)
Granted
Application number
CN201410160209.4A
Other languages
English (en)
Other versions
CN103902492B (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201410160209.4A priority Critical patent/CN103902492B/zh
Publication of CN103902492A publication Critical patent/CN103902492A/zh
Priority to PCT/CN2015/075096 priority patent/WO2015161729A1/zh
Priority to US15/122,460 priority patent/US10042803B2/en
Application granted granted Critical
Publication of CN103902492B publication Critical patent/CN103902492B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/04Methods or arrangements for sensing record carriers, e.g. for reading patterns by mechanical means, e.g. by pins operating electric contacts

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Power Sources (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开一种读卡器的工作方法,涉及通信领域。该方法为,读卡器上电,根据与其连接的设备的类型设置工作模式;判断工作模式,如果是音频模式,则等待接收音频数据,将接收到的音频数据转换成数字信号,将数字信号组成数据包,对数据包进行解析得到解析结果,根据所述解析结果判断指令类型,根据指令类型执行相应操作,将得到的操作结果转换成音频数据包,将音频数据包发给与其连接的设备;如果是USB模式,则等待接收USB数据,判断接收到的USB数据的指令类型,根据指令类型执行相应操作,并将操作结果返回与其连接的设备。

Description

一种读卡器的工作方法
技术领域
本发明涉及通信领域,特别涉及一种读卡器的工作方法。
背景技术
目前,智能手机、平板电脑等通信设备比较流行,这些通信设备中的大部分都没有USB主接口,或者具备的USB接口规格不统一,限制了读卡器与通信设备进行数据通信。
发明内容
为解决现有技术的缺陷,本发明提供一种读卡器的工作方法,包括,
步骤S1:读卡器上电,进行初始化,根据与其连接的设备的类型设置工作模式;
步骤S2:判断所述工作模式,如果是音频模式,则等待接收音频数据,当接收到音频数据时,执行步骤S3;如果是USB模式,则等待接收USB数据,当接收到USB数据时,执行步骤S5;
步骤S3:将所述音频数据转换成数字信号,将所述数字信号组成数据包,对所述数据包进行解析得到解析结果,根据所述解析结果判断指令类型,如果是操作卡片指令,则将所述操作卡片指令发送给卡片,等待接收卡片返回的操作结果,执行步骤S4;如果是其他指令,则执行相应操作得到操作结果,执行步骤S4;
步骤S4:将所述操作结果转换为音频数据包,将所述音频数据包发送给与其连接的设备,返回步骤S2;
步骤S5:判断所述接收到的USB数据的指令类型,如果是操作卡片指令,则将所述操作卡片指令发送给卡片,等待接收卡片返回的操作结果,将所述操作结果发送给与其连接的设备,返回步骤S2;如果是其他指令,则执行相应操作,并将得到的操作结果返回给与其连接的设备,返回步骤S2。
所述步骤S1中,所述根据与其连接的设备的类型设置工作模式,具体为:
判断是否存在通过USB模块与读卡器连接的设备,是则将所述工作模式设置为USB模式;否则将所述工作模式设置为音频模式;
或者,
步骤a1:判断是否存在通过音频模块与读卡器连接的设备,是则将所述工作模式设置为音频模式;否则执行步骤a2;
步骤a2:判断是否存在通过USB模块与读卡器连接的设备,是则将所述工作模式设置为USB模式;否则返回步骤a1;
或者,
步骤b1:判断是否存在通过USB模块与读卡器连接的设备,是则将所述工作模式设置为USB模式;否则执行步骤b2;
步骤b2:判断是否存在通过音频模块与读卡器连接的设备,是则将所述工作模式设置为音频模式;否则返回步骤b1。
所述步骤S5中,返回步骤S2还包括,
步骤F1:判断是否通过USB模块与电源建立连接,是则执行步骤F2;否则返回步骤S2;
步骤F2:判断电池的电量是否达到额定值,是则提示过充电,返回步骤S2;否则返回步骤S2。
所述步骤S2中,所述等待接收音频数据,具体为:判断预设时间内是否通过音频模块接收到音频数据,是则执行步骤S3;否则返回步骤S2;
所述等待接收USB数据,具体为:判断预设时间内是否通过USB模块接收到USB数据,是则执行步骤S5;否则判断预设时间内是否通过音频模块接收到音频数据。
所述步骤S1中,所述进行初始化还包括:将USB数据传输标识复位;
所述根据与其连接的设备的类型设置工作模式之后,还包括:根据所述工作模式打开相应的数据通讯中断,所述数据通讯中断包括,USB数据通讯中断和音频数据通讯中断;当发生数据通讯中断时,执行步骤S2;
所述步骤S2中,所述等待接收音频数据之前还包括,关闭USB数据通讯中断;
所述步骤S4中,所述返回步骤S2之前,还包括:打开USB数据通讯中断;
所述等待接收USB数据之前还包括,关闭音频数据通讯中断,判断所述USB数据传输标识是否置位,是则执行步骤S5;否则使能USB模块连接,进行USB数据枚举操作,判断USB枚举是否完成,是则将所述USB数据传输标识置位,执行步骤S5;否则等待数据通讯中断,返回步骤S2;
所述步骤S5中,所述返回步骤S2之前,还包括:打开音频数据通讯中断。
所述步骤S5中,所述打开音频数据通讯中断,具体为:判断是否存在通过音频模块与读卡器连接的设备,是则打开音频数据通讯中断;否则返回步骤S2。
所述步骤S5中,所述打开音频数据通讯中断之后,还包括:判断是否存在通过USB模块与读卡器连接的设备,是则返回步骤S2;否则关闭USB数据通讯中断,将所述USB数据传输标识复位,读卡器根据与其连接的设备的类型设置工作模式,执行步骤S2。
所述步骤S2中,如果所述工作模式是音频模式时,还包括:对音频模块进行初始化;
所述对音频模块进行初始化具体包括:
打开低功耗定时中断,判断是否接收到音频数据,是则接收所述音频数据,将低功耗定时标识复位,关闭低功耗定时中断,将所述音频数据发送给读卡器,打开低功耗定时中断;否则,将所述低功耗定时标识置位;
从打开低功耗定时中断开始计时,每隔预设时间,进入一次低功耗定时中断,进入低功耗定时中断操作具体包括:判断低功耗定时标识是否置位,是则进入低功耗模式;否则退出低功耗定时中断。
所述步骤S3中,所述将所述音频数据转换成数字信号,具体为:
所述读卡器对所述音频数据进行滤波处理,得到第一处理数据,对所述第一处理数据进行隔直处理,得到所述第一处理数据中的交流成分;从所述交流成分中获取第二处理数据,将所述第二处理数据进行转换,得到转换后的数据,并对所述转换后的数据进行滤波处理,得到数字信号。
所述步骤S3中,所述将所述数字信号组成数据包之后,所述对所述数据包进行解析之前还包括:判断所述数据包是否合法,是则对所述数据包进行解析;否则等待接收音频数据,当接收到音频数据时,返回步骤S3。
所述判断所述数据包是否合法,具体为,
c1:从所述数据包的第一字节开始获取四个字节长度的数据,将其作为帧头,判断所述帧头是否为第一预设值,是则执行c2;否则所述数据包不合法;
c2:获取所述数据包中第七字节数据,将其作为参数标识,判断所述参数标识是否合法,是则执行c3;否则所述数据包不合法;
c3:从所述数据包的第八字节开始获取两个字节长度的数据,将其作为数据长度值,执行c4;
c4:从第十字节开始获取长度等于所述数据长度值的数据,将其作为数据域,获取所述数据域之后的一个字节数据,将其作为校验字,执行c5;
c5:采用预设算法对所述数据域进行计算,将得到的计算结果与所述校验字进行比较,如果相同,则表示所述数据包合法;如果不相同,则所述数据包不合法。
所述C2中所述判断参数标识是否合法,具体为:判断所述参数标识是否为第二预设值或第三预设值,是则所述参数标识合法,否则所述参数标识不合法。
所述数据包合法时还包括,判断所述参数标识,如果是第二预设值,则对所述数据包进行解析;如果是第三预设值,则等待接收预设长度的数据,将其添加到所述数据包中,对当前数据包进行解析。
所述步骤S4中,所述将所述操作结果转换为音频数据包,具体为,
将所述操作结果的数字信号的幅值电压进行压缩,再通过缓慢充放电过程,将所述操作结果的数字信号转换为类似正弦波的模拟信号,再将所述模拟信号转为音频数据包。
所述步骤S1中,初始化还包括,将卡槽状态标识置为无卡标识;当卡到位引脚为高电平时,将卡槽状态标识置为有卡标识,当卡到位引脚为低电平时,将卡槽状态标识置为无卡标识。
所述步骤S3中,所述其他指令包括:查询卡槽状态指令,上电指令,下电指令;
所述步骤S3中,所述根据所述解析结果判断指令类型,如果是查询卡槽状态指令时,则根据卡槽状态标识查询卡槽状态,并设置卡槽状态数据,将卡槽状态数据作为操作结果,执行步骤S4;
如果是上电指令时,则根据卡槽状态标识判断卡槽中是否有卡片,是则对卡槽上电,并读取卡槽上电响应,将卡槽上电响应作为操作结果,执行步骤S4;否则生成卡槽中无卡响应,将卡槽中无卡响应作为操作结果,执行步骤S4;
如果是下电指令时,则对卡槽下电,并读取卡槽下电响应,将卡槽下电响应作为操作结果,执行步骤S4。
所述步骤S5中,所述其他指令包括:查询卡槽状态指令,上电指令,下电指令;
所述步骤S5中,所述根据所述解析结果判断指令类型,如果是查询卡槽状态指令,则根据卡槽状态标识查询卡槽状态,并设置卡槽状态数据,并将所述卡槽状态数据发送给与其连接的设备,返回步骤S2;
如果是上电指令,则根据卡槽状态标识判断卡槽中是否有卡片,是则对卡槽上电,并读取卡槽上电响应,将所述卡槽上电响应发送给与其连接的设备,返回步骤S2;否则生成卡槽中无卡响应,并将所述卡槽中无卡响应发送给与其连接的设备,返回步骤S2;
如果是下电指令,则对卡槽下电,并读取卡槽下电响应,并将所述卡槽下电响应发送给与其连接的设备,返回步骤S2。
一种读卡器的工作方法,包括,
步骤W1:读卡器上电,进行初始化;
步骤W2:等待接收数据;
步骤W3:当通过USB通道接收到USB数据时,将工作模式置为USB模式,执行步骤W4;当通过音频通道接收到音频数据时,将工作模式置为音频模式,执行步骤W5;
步骤W4:判断所述接收到的USB数据的指令类型,如果是操作卡片指令,则将所述操作卡片指令发送给卡片,等待接收卡片返回的操作结果,执行步骤W6;如果是其他指令,则执行相应操作得到操作结果,执行步骤W6;
步骤W5:将所述音频数据转换成数字信号,将所述数字信号组成数据包,对所述数据包进行解析得到解析结果,根据所述解析结果判断指令类型,如果是操作卡片指令,则将所述操作卡片指令发送给卡片,等待接收卡片返回的操作结果,执行步骤W6;如果是其他指令,则执行相应操作得到操作结果,执行步骤W6;
步骤W6:判断所述工作模式,如果是USB模式,则将所述操作结果发送给与其连接的设备,返回步骤W2;如果是音频模式,则将所述操作结果转换为音频数据包,将所述音频数据包发送给与其连接的设备,返回步骤W2。
所述步骤W6中,返回步骤W2之前还包括:
步骤G1:判断USB模块是否与电源建立连接,是则执行步骤G2;否则返回步骤W2;
步骤G2:判断电池的电量是否达到额定值,是则执行步骤G3;否则返回步骤W2;
步骤G3:提示过充电,返回步骤W2。
所述步骤W3中,当通过USB通道接收到USB数据之后,所述将工作模式置为USB模式之前还包括:关闭音频数据通讯中断;
所述步骤W6中,所述工作模式为USB模式时,所述将所述操作结果通过USB通道发送给与其连接的设备之后,返回步骤W2之前,还包括,打开音频数据通讯中断。
所述步骤W3中,所述当通过音频通道接收到音频数据之后,所述将工作模式置为音频模式之前,还包括:关闭USB数据通讯中断;
所述步骤W6中,所述工作模式为音频模式时,将所述操作结果通过音频通道发送给与其连接的设备之后,返回步骤W2之前,还包括,打开USB数据通讯中断。
所述步骤W2具体为:判断是否存在通过USB模块与其连接的设备建立连接,是则等待接收USB数据,执行步骤W3;否则判断预设时间内是否收到音频数据,若预设时间内接收到音频数据,则执行步骤W3;若预设时间内未接收到音频数据,则进入低功耗模式;
所述步骤W3中,所述当通过音频通道接收到音频数据时,将工作模式置为音频模式,执行步骤W5,具体为:当通过音频通道接收到音频数据时,判断是否为低功耗模式,是则退出低功耗模式,执行步骤W5;否则执行步骤W5。
所述步骤W5中,所述将所述音频数据转换成数字信号,具体为,
所述读卡器对所述音频数据进行滤波处理,得到第一处理数据,对所述第一处理数据进行隔直处理,得到所述第一处理数据中的交流成分;从所述交流成分中获取第二处理数据,将所述第二处理数据进行转换,得到转换后的数据,并对所述转换后的数据进行滤波处理,得到数字信号。
所述步骤W5中,所述将所述数字信号组成数据包之后,所述对所述数据包进行解析之前还包括,判断所述数据包是否合法;
所述判断所述数据包是否合法,具体为,
L1:从所述数据包的第一字节开始获取四个字节长度的数据,将其作为帧头,判断所述帧头是否为第一预设值,是则执行L2;否则所述数据包不合法;
L2:获取所述数据包中第七字节数据,将其作为参数标识,判断所述参数标识是否合法,是则执行L3;否则所述数据包不合法;
L3:从所述数据包的第八字节开始获取两个字节长度的数据,将其作为数据长度值,执行L4;
L4:从第十字节开始获取长度等于所述数据长度值的数据,将其作为数据域,获取所述数据域之后的一个字节数据,将其作为校验字,执行L5;
L5:采用预设算法对所述数据域进行计算,将得到的计算结果与所述校验字进行比较,如果相同,则表示所述数据包合法;如果不相同,则所述数据包不合法。
所述判断参数标识是否合法,具体为,如果所述参数标识为第二预设值或第三预设值,则表示所述参数标识合法,否则所述参数标识不合法。
所述数据包合法时还包括,判断所述参数标识,如果是第二预设值,则对所述数据包进行解析;如果是第三预设值,则等待接收预设长度的数据,将其追加到所述数据包中,对所述数据包进行解析。
所述步骤W6中,所述将所述操作结果转换为音频数据包,具体为,
将所述操作结果的数字信号的幅值电压进行压缩,再通过缓慢充放电过程,将所述操作结果的数字信号转换为类似正弦波的模拟信号,再将所述模拟信号转为音频数据包。
所述步骤W1中,所述初始化包括,将卡槽状态标识置为无卡标识;当卡到位引脚为高电平时,将卡槽状态标识置为有卡标识,当卡到位引脚为低电平时,将卡槽状态标识置为无卡标识。
所述步骤W4中,所述其他指令包括:查询卡槽状态指令,上电指令,下电指令;
所述步骤W4中,所述判断所述接收到的USB数据的指令类型,如果是查询卡槽状态指令时,则根据卡槽状态标识查询卡槽状态,并设置卡槽状态数据,并将所述卡槽状态数据作为操作结果,执行步骤W6;
如果是上电指令时,则根据卡槽状态标识判断卡槽中是否有卡片,是则对卡槽上电,并读取卡槽上电响应,将所述卡槽上电响应作为操作结果,执行步骤W6;否则生成卡槽中无卡响应,并将所述卡槽中无卡响应作为操作结果,执行步骤W6;
如果是下电指令时,则对卡槽下电,并读取卡槽下电响应,并将所述卡槽下电响应作为操作结果,执行步骤W6。
所述步骤W5中,所述其他指令包括:查询卡槽状态指令,上电指令,下电指令;
所述根据所述解析结果判断指令类型,如果是查询卡槽状态指令时,则根据卡槽状态标识查询卡槽状态,并设置卡槽状态数据,将所述卡槽状态数据作为操作结果,执行步骤W6;
如果是上电指令时,则根据卡槽状态标识判断卡槽中是否有卡片,是则对卡槽上电,并读取卡槽上电响应,将卡槽上电响应作为操作结果,执行步骤W6;否则生成卡槽中无卡响应,将卡槽中无卡响应作为操作结果,执行步骤W6;
如果是下电指令时,则对卡槽下电,并读取卡槽下电响应,将卡槽下电响应作为操作结果,执行步骤W6。
本发明的有益效果为,读卡器通过音频模块或USB模块与设备进行数据通信,从而不再依赖现有读卡器中的USB模块进行数据通信,兼容性比较好,提高了用户体验。
附图说明
图1为实施例1提供的一种读卡器的工作方法流程图;
图2为实施例1提供的一种插卡中断处理的方法流程图;
图3为实施例1提供的一种拔卡中断处理的方法流程图;
图4为实施例1提供的一种音频模块初始化的工作方法流程图;
图5为实施例1提供的一种低功耗定时中断的工作方法流程图;
图6为实施例2提供的一种读卡器的工作方法流程图;
图7为实施例3提供的一种读卡器的工作方法流程图;
图8为实施例4提供的一种处理音频数据的方法流程图;
图9为实施例4中步骤407提供的一种判断数据包是否合法的方法流程图;
图10为实施例5提供的一种处理USB数据的方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例1提供了一种读卡器的工作方法,如图1所示,具体操作包括:
步骤101:读卡器上电,进行系统初始化;
本实施例中,读卡器进行系统初始化具体为,将USB通道连接标识复位,将卡到位引脚初始化为低电平,将卡槽状态标识初始化为无卡标识。读卡器进行系统初始化之后还包括,打开中断,中断包括插卡中断,拔卡中断。
当读卡器的卡到位引脚为高电平时,则进入插卡中断操作,如图2所示,具体包括,
步骤a1:关闭中断,清除插卡中断标识,设置卡槽状态标识为有卡标识;
优选的,有卡标识为0X00;
步骤a2:判断USB通道连接标识是否置位,是则执行步骤a3;否则执行步骤a4;
本实施例中,USB通道连接标识用于标记读卡器是否通过USB模块与USB设备连接;当读卡器通过USB模块与USB设备连接时,读卡器将USB通道连接标识置位,USB模块给读卡器供电,同时对电池充电;
当读卡器的USB模块与USB设备断开连接时,读卡器将USB通道连接标识复位,USB模块停止给读卡器供电;
步骤a3:向INT端点写入插卡响应,执行步骤a4;
本实施例中,插卡响应为5003;
步骤a4:判断休眠标识是否置位,是则执行步骤a5;否则执行步骤a6;
步骤a5:将休眠标识复位,MCU被唤醒,执行步骤a6;
步骤a6:打开中断,退出插卡中断操作;
当读卡器的卡到位引脚为低电平时,进入拔卡中断操作,如图3所示,具体包括,
步骤b1:关闭中断,清除拔卡中断标识,设置卡槽状态标识为无卡标识;
优选的,无卡标识为0X02;
步骤b2:判断USB通道连接标识是否置位,是则执行步骤b3;否则执行步骤b4;
步骤b3:向INT端点写入拔卡响应,执行步骤b4;
本实施例中,拔卡响应为5002;
步骤b4:将休眠标识置位,MCU休眠,打开中断,退出拔卡中断;
步骤102:根据IO管脚电平状态设置工作模式;
本实施例中,根据IO管脚的电平状态设置工作模式,如果IO管脚为低电平,则将工作模式设置为音频模式;如果IO管脚为高电平,则将工作模式设置为USB模式;
其中,当读卡器通过USB模块与USB设备建立连接时,IO管脚为高电平;当读卡器未通过USB模块与USB设备建立连接时,IO管脚为低电平。
当IO管脚为低电平时,电池对音频模块供电;当IO管脚为高电平时,电池停止对音频模块供电。
步骤103:判断工作模式,如果是音频模式,则执行步骤104;如果是USB模式,则执行步骤108;
步骤104:对音频模块初始化,打开音频定时器,执行步骤105;
本实施例中,音频模块初始化时,清除音频定时标志位;
音频模块初始化时还包括以下操作,如图4所示,具体为:
步骤K1:打开低功耗定时中断,等待接收音频数据;
优选的,每10s进入一次低功耗定时中断。
步骤K2:判断是否接收到音频数据,是则执行步骤K3;否则执行步骤K4;
步骤K3:通过音频模块接收音频数据,将低功耗定时标识复位,关闭低功耗定时中断,将音频数据发送给读卡器,打开低功耗定时中断,结束本流程;
步骤K4:将低功耗定时标识置位,结束本流程;
本实施例中,达到10s时进入一次低功耗定时中断,将低功耗定时标识置位。
当进入低功耗定时中断时,如图5所示,执行以下操作,
步骤M1:进入低功耗定时中断;
步骤M2:判断低功耗定时标识是否置位,是则执行步骤M3;否则退出低功耗定时中断;
步骤M3:进入低功耗模式。
本实施例中,当音频模块接收到音频数据时,退出低功耗模式。
步骤104还包括:判断工作电压是否低于预设值,是则提示工作电压低,预设时间后停止给读卡器供电;否则执行步骤105;
其中,可以通过屏幕显示和/或变换指示灯颜色和/或蜂鸣和/或语音播报的方式提示工作电压低;优选的预设时间为30s。
步骤105:判断音频定时标志位是否置位,是则返回步骤103;否则执行步骤106;
本实施例中,音频定时标志位用于标记读卡器是否在预设时间内通过音频模块接收到数据。当音频定时器计时达到预设时间仍未接收到数据时,读卡器将音频定时标志位置位。
步骤106:判断是否通过音频模块接收到音频数据,是则执行步骤107;否则返回步骤105;
步骤107:清除音频定时标志位,关闭音频定时器,对接收到的音频数据进行相应处理,并将处理结果返回给音频设备。
本实施例中,读卡器对接收到的音频数据的处理过程详见实施例4,此处不再详细说明。
步骤108:对USB模块初始化,打开USB定时器;
本实施例中,USB模块初始化还包括,清除USB定时标志位;
步骤109:判断USB定时标志位是否置位,是则执行步骤104;否则执行步骤110;
本实施例中,USB定时标志位用于标记读卡器是否在预设时间内通过USB模块接收到USB数据。当USB定时器计时达到预设时间仍未接收到USB数据时,读卡器将USB定时标志位置位。
步骤110:判断是否通过USB模块接收到USB数据,是则执行步骤111;否则返回步骤109;
步骤111:清除USB定时标志位,关闭USB定时器,对接收到的USB数据进行相应处理,并将处理结果返回给USB设备。
本实施例中,读卡器对USB数据进行处理的过程详见实施例5,此处不再详细说明。
实施例2
本发明实施例2提供一种读卡器的工作方法,如图6所示,包括,
步骤201:读卡器上电,进行初始化;
本步骤的操作方法与步骤101相同,还包括,将USB数据传输标识复位。
当读卡器的卡到位引脚为高电平时,则进入插卡中断操作,具体操作方法与实施例1中步骤a1至步骤a6相同,不再赘述。
当读卡器的卡到位引脚为低电平时,则进入拔卡中断操作,具体操作方法与实施例1中步骤b1至步骤b4相同,不再赘述。
步骤202:判断是否存在通过音频模块与读卡器连接的音频设备,是则执行步骤203;否则执行步骤204;
步骤203:将工作模式设置为音频模式,打开音频数据通讯中断,执行步骤206;
步骤204:判断是否存在通过USB模块与读卡器连接的USB设备,是则执行步骤205;否则返回步骤202;
步骤205:将工作模式设置为USB模式,打开USB数据通讯中断,执行步骤206;
本实施例中,步骤202至步骤205还可以为,
步骤202’:判断是否存在通过USB模块与读卡器连接的USB设备,是则执行步骤203’;否则执行步骤204’;
步骤203’:将工作模式设置为USB模式,打开USB数据通讯中断,执行步骤206;
步骤204’:判断是否存在通过音频模块与读卡器连接的音频设备,是则执行步骤205’;否则返回步骤202’;
步骤205’:将工作模式设置为音频模式,打开音频数据通讯中断,执行步骤206;
步骤206:等待中断,当发生中断时,判断工作模式,如果是音频模式,则执行步骤207;如果是USB模式,则执行步骤211;
步骤207:关闭USB数据通讯中断,等待接收音频数据,执行步骤208;
步骤208:当接收到音频数据时,对接收到的音频数据进行相应处理,并将处理结果返回给音频设备,打开USB数据通讯中断;
本实施例中,读卡器对接收到的音频数据的处理过程详见实施例4,此处不再详细说明。
步骤209:判断是否存在通过音频模块与读卡器连接的音频设备,是则返回步骤206;否则执行步骤210;
步骤210:关闭音频数据通讯中断,返回步骤202;
步骤211:关闭音频数据通讯中断,判断USB数据传输标识是否置位,是则执行步骤216;否则执行步骤212;
本实施例中,当USB设备被拔出时,将USB数据传输标识复位。
步骤212:使能USB模块连接,执行步骤213;
步骤213:进行USB枚举操作;
步骤214:判断USB枚举是否完成,是则执行步骤215;否则返回步骤206;
步骤215:将USB数据传输标识置位,执行步骤216;
步骤216:等待接收USB设备发送的USB数据,当通过USB模块接收到USB数据时,对USB数据进行相应处理,并将处理结果返回给USB设备,执行步骤217;
本实施例中,读卡器对USB数据进行处理的过程详见实施例5,此处不再详细说明。
步骤217:判断是否存在通过音频模块与读卡器连接的音频设备,是则执行步骤218;否则返回步骤206;
步骤218:打开音频数据通讯中断,返回步骤206。
实施例3
本实施例3提供一种读卡器的工作方法,如图7所示包括,
步骤301:读卡器上电,进行系统初始化;
本实施例中,读卡器进行系统初始化具体为,将USB通道连接标识复位,将卡到位引脚初始化为低电平,将卡槽状态标识初始化为无卡标识。读卡器进行系统初始化之后还包括,打开中断,中断包括插卡中断,拔卡中断。
当读卡器的卡到位引脚为高电平时,则进入插卡中断操作,具体操作方法与实施例1中步骤a1至步骤a6相同,不再赘述。
当读卡器的卡到位引脚为低电平时,则进入拔卡中断操作,具体操作方法与实施例1中步骤b1至步骤b4相同,不再赘述。
步骤302:判断是否存在通过音频模块与读卡器连接的音频设备,是则执行步骤303;否则执行步骤304;
步骤303:将工作模式设置为音频模式,打开音频数据通讯中断,执行步骤306;
步骤304:判断是否存在通过USB模块与读卡器连接的USB设备,是则执行步骤305;否则返回步骤302;
步骤305:将工作模式设置为USB模式,打开USB数据通讯中断,执行步骤306;
本实施例中,步骤302至步骤305还可以为,
步骤302’:判断是否存在通过USB模块与读卡器连接的USB设备,是则执行步骤303’;否则执行步骤304’;
步骤303’:将工作模式设置为USB模式,打开USB数据通讯中断,执行步骤306;
步骤304’:判断是否存在通过音频模块与读卡器连接的音频设备,是则执行步骤305’;否则返回步骤302’;
步骤305’:将工作模式设置为音频模式,打开音频数据通讯中断,执行步骤306;
步骤306:等待中断,当发生中断时,判断工作模式,如果是音频模式,则执行步骤307;如果是USB模式,则执行步骤312;
步骤307:关闭USB数据通讯中断,等待接收音频数据,执行步骤308;
步骤308:当接收到音频数据时,对接收到的音频数据进行相应处理,并将处理结果返回给音频设备,打开USB数据通讯中断;
本实施例中,读卡器对接收到的音频数据的处理过程详见实施例4,此处不再详细说明。
步骤309:判断是否通过USB模块与电源建立连接,是则执行步骤310;否则返回步骤306;
本实施例中,判断是否通过USB模块与电源连接具体为,读卡器判断IO管脚是否为高电平,并且没有通信信号,如果是,则表示通过USB模块与电源连接;否则表示未通过USB模块与电源连接。
步骤310:判断电池的电量是否达到额定值,是则执行步骤311;否则返回步骤306;
步骤311:提示过充电,返回步骤306;
步骤312:关闭音频数据通讯中断,判断USB数据传输标识是否置位,是则执行步骤317;否则执行步骤313;
步骤313:使能USB模块连接;
步骤314:进行USB枚举操作;
步骤315:判断USB枚举是否完成,是则执行步骤316;否则返回步骤306;
步骤316:将USB数据传输标识置位,执行步骤317;
步骤317:等待接收USB设备发送的USB数据,当通过USB模块接收到USB数据时,对USB数据进行相应处理,并将处理结果返回给USB设备,打开音频数据通讯中断;
本实施例中,读卡器对USB数据进行处理的过程详见实施例5,此处不再详细说明。
步骤318:判断是否存在通过USB模块与读卡器连接的USB设备,是则返回步骤306;否则执行步骤319;
步骤319:关闭USB数据通讯中断,将USB数据传输标识复位,返回步骤302。
实施例4
本实施例4提供一种处理音频数据的方法,如图8所示,具体包括,
步骤401:读卡器等待接收音频数据;
步骤402:当接收到音频数据时对音频数据进行滤波处理,得到第一处理数据;
具体地,读卡器将音频数据中的噪音滤除,将得到的干净的音频数据作为第一处理数据;
步骤403:对第一处理数据进行隔直处理,得到第一处理数据中的交流成分;
步骤404:从交流成分中获取第二处理数据;
具体地,读卡器从交流成分中获取高于截止频率的数据,将其作为第二处理数据。
步骤405:将第二处理数据转换成数字信号;
步骤406:对数字信号进行滤波处理,得到处理后的数字信号;
步骤407:将处理后的数字信号组成数据包,判断数据包是否合法,是则执行步骤408;否则返回步骤401;
本实施例中,如图9所示,判断数据包是否合法的方法包括,
c1:从数据包的第一字节开始获取四个字节长度的数据,将其作为帧头,判断帧头是否为第一预设值,是则执行c2;否则返回步骤401;
优选的,第一预设值为0X0ff055aa;
c2:获取数据包中第七字节数据将其作为参数标识,判断参数标识是否合法,是则执行c3;否则返回步骤401;
判断参数标识是否合法具体为,如果参数标识为第二预设值或第三预设值,则表示参数标识合法,否则参数标识不合法;优选的,第二预设值为0X01,第三预设值为0X02;
c3:从数据包的第八字节开始获取两个字节长度的数据,将其作为数据长度值,执行c4;
c4:从第十字节开始获取长度等于数据长度值的数据,将其作为数据域,获取数据域之后的一个字节数据,将其作为校验字,执行c5;
c5:采用预设算法对数据域进行计算,将得到的计算结果与校验字进行比较,如果相同,则执行c6;如果不相同,则返回步骤401;
c6:判断参数标识,如果是第二预设值,则执行步骤408;如果是第三预设值,则等待接收预设长度的数据,将其追加到数据包中,执行步骤408。
优选的,预设长度为十个字节。
步骤408:对数据包进行解析,根据解析结果判断指令的类型,如果是查询卡槽状态指令,则执行步骤409;如果是上电指令,则执行步骤413;如果是下电指令,则执行步骤421;如果是操作卡片指令,则执行步骤425;如果是其他指令,则执行相应操作,然后返回步骤401;
本实施例中,根据解析结果的第一字节判断指令类型;
如果第一字节为0X65,则表示是查询卡槽状态指令;
如果第一字节为0X62,则表示是上电指令;
如果第一字节为0X63,则表示是下电指令;
如果第一字节为0X6f,则表示是操作卡片指令;
步骤409:根据卡槽状态标识查询卡槽状态,并设置卡槽状态数据;
本实施例中,如果卡槽状态标识为有卡标识,则表示卡槽中有卡片,将卡槽状态数据的预设字节设置为0X00;
如果卡槽状态标识为无卡标识,则表示卡槽中没有卡片,将卡槽状态数据的预设字节设置为0X02;
优选的,卡槽状态数据的预设字节为卡槽状态数据的第八字节。
步骤410:处理卡槽状态数据的数字信号的幅值电压,得到处理后的卡槽状态数据;
步骤411:将处理后的卡槽状态数据转换成卡槽状态音频数据包;
具体地,通过缓慢充放电过程,将所述处理后的卡槽状态数据转换为类似正弦波的模拟信号,再将所述模拟信号转为卡槽状态音频数据包。
步骤412:通过音频模块将卡槽状态音频数据包发送给音频设备,返回步骤401;
步骤413:根据卡槽状态标识判断卡槽中是否有卡片,是则执行步骤414;否则执行步骤418;
本实施例中,如果卡槽状态标识为有卡标识,则表示卡槽中有卡片;如果卡槽状态标识为无卡标识,则表示卡槽中没有卡片;
步骤414:卡槽上电,并读取卡槽上电响应;
例如,读取到的卡槽上电响应为,
800c00000000120000003bf095000081b1fe9a1f0729;
步骤415:处理卡槽上电响应的数字信号的幅值电压,得到处理后的卡槽上电响应;
步骤416:将处理后的卡槽上电响应转换成卡槽上电响应音频数据包;
具体地,通过缓慢充放电过程,将所述处理后的卡槽上电响应转换为类似正弦波的模拟信号,再将所述模拟信号转为卡槽上电响应音频数据包。
步骤417:通过音频模块将卡槽上电响应音频数据包发送给音频设备,返回步骤401;
步骤418:生成卡槽中无卡响应,处理卡槽中无卡响应的数字信号的幅值电压,得到处理后的卡槽中无卡响应;
步骤419:将处理后的卡槽中无卡响应转换成卡槽中无卡响应音频数据包;
具体地,通过缓慢充放电过程,将所述处理后的卡槽中无卡响应转换为类似正弦波的模拟信号,再将所述模拟信号转为卡槽中无卡响应音频数据包。
步骤420:通过音频模块将卡槽中无卡响应音频数据包发送给音频设备,返回步骤401;
步骤421:卡槽下电,并读取卡槽下电响应;
本实施例中,读卡器对卡槽下电,读取卡槽下电响应,卡槽下电响应的第一个字节为0X81,例如,81000000000004010000;
步骤422:处理卡槽下电响应的数字信号的幅值电压,得到处理后的卡槽下电响应;
步骤423:将处理后的卡槽下电响应转换成卡槽下电响应音频数据包;
具体地,通过缓慢充放电过程,将所述处理后的卡槽下电响应转换为类似正弦波的模拟信号,再将所述模拟信号转为卡槽下电响应音频数据包。
步骤424:通过音频模块将卡槽下电响应音频数据包发送给音频设备,返回步骤401;
步骤425:将操作卡片指令发送给卡片,等待接收卡片返回的操作卡片响应;
本实施例中,卡片接收到操作卡片指令后,根据操作卡片指令执行相应操作,并向读卡器返回相应的操作卡片响应。例如:8005000000001800000000e101f010;
步骤426:当接收到卡片返回的操作卡片响应时,处理操作卡片响应的数字信号的幅值电压,得到处理后的操作卡片响应;
步骤427:将处理后的操作卡片响应转换成操作卡片响应音频数据包;
具体地,通过缓慢充放电过程,将所述处理后的操作卡片响应转换为类似正弦波的模拟信号,再将所述模拟信号转为操作卡片响应音频数据包。
步骤428:通过音频模块将操作卡片响应音频数据包发送给音频设备,返回步骤401。
实施例5
本实施例提供一种处理USB数据的方法,如图10所示,具体包括,
步骤501:读卡器等待接收USB数据;
步骤502:判断接收到的USB数据的指令类型,如果是查询卡槽状态指令,则执行步骤503;如果是上电指令,则执行步骤505;如果是下电指令,则执行步骤509;如果是操作卡片指令,则执行步骤511;如果是其他指令,则执行相应操作,然后返回步骤501;
本实施例中,读卡器根据USB数据的第一字节判断指令类型;
具体地,如果第一字节为0X65,则表示是查询卡槽状态指令;
如果第一字节为0X62,则表示是上电指令;
如果第一字节为0X63,则表示是下电指令;
如果第一字节为0X6f,则表示是操作卡片指令;
步骤503:根据卡槽状态标识查询卡槽状态,并设置卡槽状态数据;
本实施例中,如果卡槽状态标识为有卡标识,则表示卡槽中有卡片,读卡器将卡槽状态数据的预设字节设置为0X00;
如果卡槽状态标识为无卡标识,则表示卡槽中没有卡片,读卡器将卡槽状态数据的预设字节设置为0X02;
优选的,卡槽状态数据的预设字节为卡槽状态数据的第八字节。
步骤504:通过USB模块将卡槽状态数据发送给USB设备,返回步骤501;
步骤505:根据卡槽状态标识判断卡槽中是否有卡片,是则执行步骤507;否则执行步骤506;
本实施例中,如果卡槽状态标识为有卡标识,则表示卡槽中有卡片;如果卡槽状态标识为无卡标识,则表示卡槽中没有卡片;
步骤506:通过USB模块将卡槽中无卡响应发送给USB设备,返回步骤501;
步骤507:卡槽上电,读取卡槽上电响应;
例如,读取到的卡槽上电响应为,
800c00000000215000003bf095000081b1fe9a1f0729;
步骤508:通过USB模块将卡槽上电响应发送给USB设备,返回步骤501;
步骤509:卡槽下电,读取卡槽下电响应;
本实施例中,读卡器对卡槽下电,读取卡槽下电响应,卡槽下电响应的第一字节为0X81,例如,81000000000004010000;
步骤510:通过USB模块将卡槽下电响应发送给USB设备,返回步骤501;
步骤511:将操作卡片指令发送给卡片;
步骤512:等待接收卡片返回的操作卡片响应;
本实施例中,卡片接收到操作卡片指令后,根据操作卡片指令执行相应操作,并向读卡器返回相应的操作卡片响应。例如:8005000000001800000000eA1f010;
步骤513:当接收到操作卡片响应时,通过USB模块将操作卡片响应发送给USB设备,返回步骤501。
实施例6
本实施例提供一种读卡器的工作方法,包括:
步骤601:读卡器上电,进行初始化;
本步骤操作方法与步骤101相同。
步骤602:等待接收数据;
具体地,判断是否存在通过USB模块与其连接的设备建立连接,是则等待接收USB数据,执行步骤603;否则判断预设时间内是否收到音频数据,若预设时间内接收到音频数据,则执行步骤603;若预设时间内未接收到音频数据,则进入低功耗模式;
步骤603:当通过USB通道接收到USB数据时,关闭音频数据通讯中断,将工作模式置为USB模式,执行步骤604;当通过音频通道接收到音频数据时,关闭USB数据通讯中断,将工作模式置为音频模式,执行步骤605;
具体地,当通过音频通道接收到音频数据时,判断是否为低功耗模式,是则退出低功耗模式,执行步骤605;否则执行步骤605。
步骤604:判断所述接收到的USB数据的指令类型,如果是操作卡片指令,则将所述操作卡片指令发送给卡片,等待接收卡片返回的操作结果,执行步骤606;如果是其他指令,则执行相应操作得到操作结果,执行步骤606;
步骤605:将所述音频数据转换成数字信号,将所述数字信号组成数据包,对所述数据包进行解析得到解析结果,根据所述解析结果判断指令类型,如果是操作卡片指令,则将所述操作卡片指令发送给卡片,等待接收卡片返回的操作结果,执行步骤606;如果是其他指令,则执行相应操作得到操作结果,执行步骤606;
本步骤的操作方法具体与实施例4相同,此处不再赘述。
步骤606:判断所述工作模式,如果是USB模式,则将所述操作结果发送给与其连接的设备,打开音频数据通讯中断,执行步骤607;如果是音频模式,则将所述操作结果转换为音频数据包,将所述音频数据包发送给与其连接的设备,打开USB数据通讯中断,执行步骤607;
本步骤的操作方法与实施例5相同,此处不再赘述。
步骤607:判断USB模块是否与电源建立连接,是则执行步骤608;否则返回步骤602;
步骤608:判断电池的电量是否达到额定值,是则执行步骤609;否则返回步骤602;
步骤609:提示过充电,返回步骤602。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (30)

1.一种读卡器的工作方法,其特征在于,包括,
步骤S1:读卡器上电,进行初始化,根据与其连接的设备的类型设置工作模式;
步骤S2:判断所述工作模式,如果是音频模式,则等待接收音频数据,当接收到音频数据时,执行步骤S3;如果是USB模式,则等待接收USB数据,当接收到USB数据时,执行步骤S5;
步骤S3:将所述音频数据转换成数字信号,将所述数字信号组成数据包,对所述数据包进行解析得到解析结果,根据所述解析结果判断指令类型,如果是操作卡片指令,则将所述操作卡片指令发送给卡片,等待接收卡片返回的操作结果,执行步骤S4;如果是其他指令,则执行相应操作得到操作结果,执行步骤S4;
步骤S4:将所述操作结果转换为音频数据包,将所述音频数据包发送给与其连接的设备,返回步骤S2;
步骤S5:判断所述接收到的USB数据的指令类型,如果是操作卡片指令,则将所述操作卡片指令发送给卡片,等待接收卡片返回的操作结果,将所述操作结果发送给与其连接的设备,返回步骤S2;如果是其他指令,则执行相应操作,并将得到的操作结果返回给与其连接的设备,返回步骤S2。
2.如权利要求1所述的方法,其特征在于,所述步骤S1中,所述根据与其连接的设备的类型设置工作模式,具体为:
判断是否存在通过USB模块与读卡器连接的设备,是则将所述工作模式设置为USB模式;否则将所述工作模式设置为音频模式;
或者,
步骤a1:判断是否存在通过音频模块与读卡器连接的设备,是则将所述工作模式设置为音频模式;否则执行步骤a2;
步骤a2:判断是否存在通过USB模块与读卡器连接的设备,是则将所述工作模式设置为USB模式;否则返回步骤a1;
或者,
步骤b1:判断是否存在通过USB模块与读卡器连接的设备,是则将所述工作模式设置为USB模式;否则执行步骤b2;
步骤b2:判断是否存在通过音频模块与读卡器连接的设备,是则将所述工作模式设置为音频模式;否则返回步骤b1。
3.如权利要求1所述的方法,其特征在于,所述步骤S5中,返回步骤S2还包括,
步骤F1:判断是否通过USB模块与电源建立连接,是则执行步骤F2;否则返回步骤S2;
步骤F2:判断电池的电量是否达到额定值,是则提示过充电,返回步骤S2;否则返回步骤S2。
4.如权利要求1所述的方法,其特征在于,所述步骤S2中,所述等待接收音频数据,具体为:判断预设时间内是否通过音频模块接收到音频数据,是则执行步骤S3;否则返回步骤S2;
所述等待接收USB数据,具体为:判断预设时间内是否通过USB模块接收到USB数据,是则执行步骤S5;否则判断预设时间内是否通过音频模块接收到音频数据。
5.如权利要求1所述的方法,其特征在于,所述步骤S1中,所述进行初始化还包括:将USB数据传输标识复位;
所述根据与其连接的设备的类型设置工作模式之后,还包括:根据所述工作模式打开相应的数据通讯中断,所述数据通讯中断包括,USB数据通讯中断和音频数据通讯中断;当发生数据通讯中断时,执行步骤S2;
所述步骤S2中,所述等待接收音频数据之前还包括,关闭USB数据通讯中断;
所述步骤S4中,所述返回步骤S2之前,还包括:打开USB数据通讯中断;
所述等待接收USB数据之前还包括,关闭音频数据通讯中断,判断所述USB数据传输标识是否置位,是则执行步骤S5;否则使能USB模块连接,进行USB数据枚举操作,判断USB枚举是否完成,是则将所述USB数据传输标识置位,执行步骤S5;否则等待数据通讯中断,返回步骤S2;
所述步骤S5中,所述返回步骤S2之前,还包括:打开音频数据通讯中断。
6.如权利要求5所述的方法,其特征在于,所述步骤S5中,所述打开音频数据通讯中断,具体为:判断是否存在通过音频模块与读卡器连接的设备,是则打开音频数据通讯中断;否则返回步骤S2。
7.如权利要求5所述的方法,其特征在于,所述步骤S5中,所述打开音频数据通讯中断之后,还包括:判断是否存在通过USB模块与读卡器连接的设备,是则返回步骤S2;否则关闭USB数据通讯中断,将所述USB数据传输标识复位,读卡器根据与其连接的设备的类型设置工作模式,执行步骤S2。
8.如权利要求1所述的方法,其特征在于,所述步骤S2中,如果所述工作模式是音频模式时,还包括:对音频模块进行初始化;
所述对音频模块进行初始化具体包括:
打开低功耗定时中断,判断是否接收到音频数据,是则接收所述音频数据,将低功耗定时标识复位,关闭低功耗定时中断,将所述音频数据发送给读卡器,打开低功耗定时中断;否则,将所述低功耗定时标识置位;
从打开低功耗定时中断开始计时,每隔预设时间,进入一次低功耗定时中断,进入低功耗定时中断操作具体包括:判断低功耗定时标识是否置位,是则进入低功耗模式;否则退出低功耗定时中断。
9.如权利要求1所述的方法,其特征在于,所述步骤S3中,所述将所述音频数据转换成数字信号,具体为:
所述读卡器对所述音频数据进行滤波处理,得到第一处理数据,对所述第一处理数据进行隔直处理,得到所述第一处理数据中的交流成分;从所述交流成分中获取第二处理数据,将所述第二处理数据进行转换,得到转换后的数据,并对所述转换后的数据进行滤波处理,得到数字信号。
10.如权利要求1所述的方法,其特征在于,所述步骤S3中,所述将所述数字信号组成数据包之后,所述对所述数据包进行解析之前还包括:判断所述数据包是否合法,是则对所述数据包进行解析;否则等待接收音频数据,当接收到音频数据时,返回步骤S3。
11.如权利要求10所述的方法,其特征在于,所述判断所述数据包是否合法,具体为,
c1:从所述数据包的第一字节开始获取四个字节长度的数据,将其作为帧头,判断所述帧头是否为第一预设值,是则执行c2;否则所述数据包不合法;
c2:获取所述数据包中第七字节数据,将其作为参数标识,判断所述参数标识是否合法,是则执行c3;否则所述数据包不合法;
c3:从所述数据包的第八字节开始获取两个字节长度的数据,将其作为数据长度值,执行c4;
c4:从第十字节开始获取长度等于所述数据长度值的数据,将其作为数据域,获取所述数据域之后的一个字节数据,将其作为校验字,执行c5;
c5:采用预设算法对所述数据域进行计算,将得到的计算结果与所述校验字进行比较,如果相同,则表示所述数据包合法;如果不相同,则所述数据包不合法。
12.如权利要求11所述的方法,其特征在于,所述C2中所述判断参数标识是否合法,具体为:判断所述参数标识是否为第二预设值或第三预设值,是则所述参数标识合法,否则所述参数标识不合法。
13.如权利要求12所述的方法,其特征在于,所述数据包合法时还包括,判断所述参数标识,如果是第二预设值,则对所述数据包进行解析;如果是第三预设值,则等待接收预设长度的数据,将其添加到所述数据包中,对当前数据包进行解析。
14.如权利要求1所述的方法,其特征在于,所述步骤S4中,所述将所述操作结果转换为音频数据包,具体为,
将所述操作结果的数字信号的幅值电压进行压缩,再通过缓慢充放电过程,将所述操作结果的数字信号转换为类似正弦波的模拟信号,再将所述模拟信号转为音频数据包。
15.如权利要求1所述的方法,其特征在于,所述步骤S1中,初始化还包括,将卡槽状态标识置为无卡标识;当卡到位引脚为高电平时,将卡槽状态标识置为有卡标识,当卡到位引脚为低电平时,将卡槽状态标识置为无卡标识。
16.如权利要求15所述的方法,其特征在于,所述步骤S3中,所述其他指令包括:查询卡槽状态指令,上电指令,下电指令;
所述步骤S3中,所述根据所述解析结果判断指令类型,如果是查询卡槽状态指令时,则根据卡槽状态标识查询卡槽状态,并设置卡槽状态数据,将卡槽状态数据作为操作结果,执行步骤S4;
如果是上电指令时,则根据卡槽状态标识判断卡槽中是否有卡片,是则对卡槽上电,并读取卡槽上电响应,将卡槽上电响应作为操作结果,执行步骤S4;否则生成卡槽中无卡响应,将卡槽中无卡响应作为操作结果,执行步骤S4;
如果是下电指令时,则对卡槽下电,并读取卡槽下电响应,将卡槽下电响应作为操作结果,执行步骤S4。
17.如权利要求15所述的方法,其特征在于,所述步骤S5中,所述其他指令包括:查询卡槽状态指令,上电指令,下电指令;
所述步骤S5中,所述根据所述解析结果判断指令类型,如果是查询卡槽状态指令,则根据卡槽状态标识查询卡槽状态,并设置卡槽状态数据,并将所述卡槽状态数据发送给与其连接的设备,返回步骤S2;
如果是上电指令,则根据卡槽状态标识判断卡槽中是否有卡片,是则对卡槽上电,并读取卡槽上电响应,将所述卡槽上电响应发送给与其连接的设备,返回步骤S2;否则生成卡槽中无卡响应,并将所述卡槽中无卡响应发送给与其连接的设备,返回步骤S2;
如果是下电指令,则对卡槽下电,并读取卡槽下电响应,并将所述卡槽下电响应发送给与其连接的设备,返回步骤S2。
18.一种读卡器的工作方法,其特征在于,包括,
步骤W1:读卡器上电,进行初始化;
步骤W2:等待接收数据;
步骤W3:当通过USB通道接收到USB数据时,将工作模式置为USB模式,执行步骤W4;当通过音频通道接收到音频数据时,将工作模式置为音频模式,执行步骤W5;
步骤W4:判断所述接收到的USB数据的指令类型,如果是操作卡片指令,则将所述操作卡片指令发送给卡片,等待接收卡片返回的操作结果,执行步骤W6;如果是其他指令,则执行相应操作得到操作结果,执行步骤W6;
步骤W5:将所述音频数据转换成数字信号,将所述数字信号组成数据包,对所述数据包进行解析得到解析结果,根据所述解析结果判断指令类型,如果是操作卡片指令,则将所述操作卡片指令发送给卡片,等待接收卡片返回的操作结果,执行步骤W6;如果是其他指令,则执行相应操作得到操作结果,执行步骤W6;
步骤W6:判断所述工作模式,如果是USB模式,则将所述操作结果发送给与其连接的设备,返回步骤W2;如果是音频模式,则将所述操作结果转换为音频数据包,将所述音频数据包发送给与其连接的设备,返回步骤W2。
19.如权利要求18所述的方法,其特征在于,所述步骤W6中,返回步骤W2之前还包括:
步骤G1:判断USB模块是否与电源建立连接,是则执行步骤G2;否则返回步骤W2;
步骤G2:判断电池的电量是否达到额定值,是则执行步骤G3;否则返回步骤W2;
步骤G3:提示过充电,返回步骤W2。
20.如权利要求18所述的方法,其特征在于,所述步骤W3中,当通过USB通道接收到USB数据之后,所述将工作模式置为USB模式之前还包括:关闭音频数据通讯中断;
所述步骤W6中,所述工作模式为USB模式时,所述将所述操作结果通过USB通道发送给与其连接的设备之后,返回步骤W2之前,还包括,打开音频数据通讯中断。
21.如权利要求18所述的方法,其特征在于,所述步骤W3中,所述当通过音频通道接收到音频数据之后,所述将工作模式置为音频模式之前,还包括:关闭USB数据通讯中断;
所述步骤W6中,所述工作模式为音频模式时,将所述操作结果通过音频通道发送给与其连接的设备之后,返回步骤W2之前,还包括,打开USB数据通讯中断。
22.如权利要求18所述的方法,其特征在于,所述步骤W2具体为:判断是否存在通过USB模块与其连接的设备建立连接,是则等待接收USB数据,执行步骤W3;否则判断预设时间内是否收到音频数据,若预设时间内接收到音频数据,则执行步骤W3;若预设时间内未接收到音频数据,则进入低功耗模式;
所述步骤W3中,所述当通过音频通道接收到音频数据时,将工作模式置为音频模式,执行步骤W5,具体为:当通过音频通道接收到音频数据时,判断是否为低功耗模式,是则退出低功耗模式,执行步骤W5;否则执行步骤W5。
23.如权利要求18所述的方法,其特征在于,所述步骤W5中,所述将所述音频数据转换成数字信号,具体为,
所述读卡器对所述音频数据进行滤波处理,得到第一处理数据,对所述第一处理数据进行隔直处理,得到所述第一处理数据中的交流成分;从所述交流成分中获取第二处理数据,将所述第二处理数据进行转换,得到转换后的数据,并对所述转换后的数据进行滤波处理,得到数字信号。
24.如权利要求18所述的方法,其特征在于,所述步骤W5中,所述将所述数字信号组成数据包之后,所述对所述数据包进行解析之前还包括,判断所述数据包是否合法;
所述判断所述数据包是否合法,具体为,
L1:从所述数据包的第一字节开始获取四个字节长度的数据,将其作为帧头,判断所述帧头是否为第一预设值,是则执行L2;否则所述数据包不合法;
L2:获取所述数据包中第七字节数据,将其作为参数标识,判断所述参数标识是否合法,是则执行L3;否则所述数据包不合法;
L3:从所述数据包的第八字节开始获取两个字节长度的数据,将其作为数据长度值,执行L4;
L4:从第十字节开始获取长度等于所述数据长度值的数据,将其作为数据域,获取所述数据域之后的一个字节数据,将其作为校验字,执行L5;
L5:采用预设算法对所述数据域进行计算,将得到的计算结果与所述校验字进行比较,如果相同,则表示所述数据包合法;如果不相同,则所述数据包不合法。
25.如权利要求24所述的方法,其特征在于,所述判断参数标识是否合法,具体为,如果所述参数标识为第二预设值或第三预设值,则表示所述参数标识合法,否则所述参数标识不合法。
26.如权利要求25所述的方法,其特征在于,所述数据包合法时还包括,判断所述参数标识,如果是第二预设值,则对所述数据包进行解析;如果是第三预设值,则等待接收预设长度的数据,将其追加到所述数据包中,对所述数据包进行解析。
27.如权利要求18所述的方法,其特征在于,所述步骤W6中,所述将所述操作结果转换为音频数据包,具体为,
将所述操作结果的数字信号的幅值电压进行压缩,再通过缓慢充放电过程,将所述操作结果的数字信号转换为类似正弦波的模拟信号,再将所述模拟信号转为音频数据包。
28.如权利要求18所述的方法,其特征在于,所述步骤W1中,所述初始化包括,将卡槽状态标识置为无卡标识;当卡到位引脚为高电平时,将卡槽状态标识置为有卡标识,当卡到位引脚为低电平时,将卡槽状态标识置为无卡标识。
29.如权利要求28所述的方法,其特征在于,所述步骤W4中,所述其他指令包括:查询卡槽状态指令,上电指令,下电指令;
所述步骤W4中,所述判断所述接收到的USB数据的指令类型,如果是查询卡槽状态指令时,则根据卡槽状态标识查询卡槽状态,并设置卡槽状态数据,并将所述卡槽状态数据作为操作结果,执行步骤W6;
如果是上电指令时,则根据卡槽状态标识判断卡槽中是否有卡片,是则对卡槽上电,并读取卡槽上电响应,将所述卡槽上电响应作为操作结果,执行步骤W6;否则生成卡槽中无卡响应,并将所述卡槽中无卡响应作为操作结果,执行步骤W6;
如果是下电指令时,则对卡槽下电,并读取卡槽下电响应,并将所述卡槽下电响应作为操作结果,执行步骤W6。
30.如权利要求28所述的方法,其特征在于,所述步骤W5中,所述其他指令包括:查询卡槽状态指令,上电指令,下电指令;
所述根据所述解析结果判断指令类型,如果是查询卡槽状态指令时,则根据卡槽状态标识查询卡槽状态,并设置卡槽状态数据,将所述卡槽状态数据作为操作结果,执行步骤W6;
如果是上电指令时,则根据卡槽状态标识判断卡槽中是否有卡片,是则对卡槽上电,并读取卡槽上电响应,将卡槽上电响应作为操作结果,执行步骤W6;否则生成卡槽中无卡响应,将卡槽中无卡响应作为操作结果,执行步骤W6;
如果是下电指令时,则对卡槽下电,并读取卡槽下电响应,将卡槽下电响应作为操作结果,执行步骤W6。
CN201410160209.4A 2014-04-21 2014-04-21 一种读卡器的工作方法 Expired - Fee Related CN103902492B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201410160209.4A CN103902492B (zh) 2014-04-21 2014-04-21 一种读卡器的工作方法
PCT/CN2015/075096 WO2015161729A1 (zh) 2014-04-21 2015-03-26 一种读卡器的工作方法
US15/122,460 US10042803B2 (en) 2014-04-21 2015-03-26 Operating method for card reader

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410160209.4A CN103902492B (zh) 2014-04-21 2014-04-21 一种读卡器的工作方法

Publications (2)

Publication Number Publication Date
CN103902492A true CN103902492A (zh) 2014-07-02
CN103902492B CN103902492B (zh) 2017-06-06

Family

ID=50993823

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410160209.4A Expired - Fee Related CN103902492B (zh) 2014-04-21 2014-04-21 一种读卡器的工作方法

Country Status (3)

Country Link
US (1) US10042803B2 (zh)
CN (1) CN103902492B (zh)
WO (1) WO2015161729A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104573591A (zh) * 2015-01-05 2015-04-29 飞天诚信科技股份有限公司 一种安全读卡器及其工作方法
CN104765710A (zh) * 2015-03-20 2015-07-08 飞天诚信科技股份有限公司 一种包含双处理器的读卡器的工作方法
CN106295767A (zh) * 2016-07-31 2017-01-04 飞天诚信科技股份有限公司 一种智能卡及其工作方法
CN109976694A (zh) * 2017-12-27 2019-07-05 华为技术有限公司 数据传输的设备、终端、方法和处理器系统

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI601015B (zh) * 2016-05-25 2017-10-01 瑞昱半導體股份有限公司 資料處理電路與資料處理方法
US10430366B2 (en) * 2016-12-20 2019-10-01 Dell Products L.P. Systems and methods for configuration of hot-inserted device prior to operating system control of device
US11250213B2 (en) * 2019-04-16 2022-02-15 International Business Machines Corporation Form-based transactional conversation system design
CN112463465B (zh) * 2019-09-06 2022-06-24 英业达科技有限公司 资料记录系统的操作方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999045460A2 (en) * 1998-03-02 1999-09-10 Lexar Media, Inc. Flash memory card with enhanced operating mode detection and user-friendly interfacing system
JP4665008B2 (ja) * 2008-03-31 2011-04-06 株式会社東芝 半導体記憶装置
US8886849B2 (en) * 2012-05-11 2014-11-11 Apple Inc. Multi-mode adapter
CN103329178B (zh) * 2010-12-09 2016-08-10 Utc消防及保安公司 用于安全设备的唤醒电路
TWM416151U (en) * 2011-06-17 2011-11-11 Su-Wei Lin Card reader
JP5648024B2 (ja) 2012-07-10 2015-01-07 日本電産サンキョー株式会社 カードリーダ
CN103634944B (zh) * 2012-08-20 2018-10-26 南京中兴新软件有限责任公司 数据卡类终端的工作模式确定方法、装置及系统
CN103092802B (zh) * 2013-02-07 2015-07-22 飞天诚信科技股份有限公司 一种读卡器与上位机通信的方法
CN103368614A (zh) * 2013-06-21 2013-10-23 深圳市力同亚太科技有限公司 一种音频发送、接收方法、发送装置及接收装置
CN103310175B (zh) * 2013-06-24 2016-01-20 飞天诚信科技股份有限公司 一种基于标准ccid协议的多卡槽读卡器的工作方法
CN103678215B (zh) * 2013-12-09 2016-04-06 飞天诚信科技股份有限公司 一种智能读卡器的工作方法
CN103647648B (zh) * 2013-12-10 2017-01-18 飞天诚信科技股份有限公司 一种安全通讯的方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104573591A (zh) * 2015-01-05 2015-04-29 飞天诚信科技股份有限公司 一种安全读卡器及其工作方法
CN104573591B (zh) * 2015-01-05 2017-11-28 飞天诚信科技股份有限公司 一种安全读卡器及其工作方法
CN104765710A (zh) * 2015-03-20 2015-07-08 飞天诚信科技股份有限公司 一种包含双处理器的读卡器的工作方法
CN104765710B (zh) * 2015-03-20 2018-02-23 飞天诚信科技股份有限公司 一种包含双处理器的读卡器的工作方法
CN106295767A (zh) * 2016-07-31 2017-01-04 飞天诚信科技股份有限公司 一种智能卡及其工作方法
CN106295767B (zh) * 2016-07-31 2019-03-15 飞天诚信科技股份有限公司 一种智能卡及其工作方法
CN109976694A (zh) * 2017-12-27 2019-07-05 华为技术有限公司 数据传输的设备、终端、方法和处理器系统
CN109976694B (zh) * 2017-12-27 2020-11-06 华为技术有限公司 数据传输的设备、终端、方法和处理器系统

Also Published As

Publication number Publication date
CN103902492B (zh) 2017-06-06
US20170075839A1 (en) 2017-03-16
WO2015161729A1 (zh) 2015-10-29
US10042803B2 (en) 2018-08-07

Similar Documents

Publication Publication Date Title
CN103902492A (zh) 一种读卡器的工作方法
CN101583935B (zh) 经由串行接口的增强通信的方法和装置
CN102737497B (zh) 语音控制终端设备待机、开机转换的遥控器、系统及方法
CN104540175A (zh) 一种不间断蓝牙连接的切换方法、蓝牙设备和系统
CN103473193A (zh) 手持式电子装置与外围扩充装置
CN105182276A (zh) 一种基于蓝牙通讯及485通讯的智能电能表检测模块和检测方法
CN104767180A (zh) Usb接口大电流充电保护方法和系统
CN106025727B (zh) 一种具有语音识别功能的智能插座
CN205544409U (zh) 一种智能识别兼容型快速充电线
CN103107880A (zh) 安全认证装置
CN104505922A (zh) 一种具有wifi功能的无线充电器
CN103138321B (zh) 集成网络接口转换装置的充电器
CN204012089U (zh) 一种带有智能插头的电源线装置
CN103702249B (zh) 一种耳机接口装置及基于所述耳机接口装置的控制方法
CN203279031U (zh) Mhl-hdmi转接单元以及包括该单元的电视机
CN106200442B (zh) 一种实现连接控制的方法及装置
EP2933727B1 (en) Data terminal, data transmission system and hot plug control method
CN203102583U (zh) 一种智能电能信息监控终端和一种智能电能信息监控系统
CN204068964U (zh) 一种兼容有线音频和无线音频数据通道的设备
CN204046626U (zh) 多功能usb以太网适配器
CN101207494A (zh) 用于电脑系统的网路切换装置及其网路切换方法
CN209103247U (zh) 一种Type-C电源视频数据延长器
CN203608214U (zh) 以太网适配器以及以太网适配线
CN106357005A (zh) 一种远程上电系统及受控端
CN201975838U (zh) 无线充电器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170606

CF01 Termination of patent right due to non-payment of annual fee