CN105005540A - 一种具有蓝牙接口的ccid设备及其工作方法 - Google Patents
一种具有蓝牙接口的ccid设备及其工作方法 Download PDFInfo
- Publication number
- CN105005540A CN105005540A CN201510266813.XA CN201510266813A CN105005540A CN 105005540 A CN105005540 A CN 105005540A CN 201510266813 A CN201510266813 A CN 201510266813A CN 105005540 A CN105005540 A CN 105005540A
- Authority
- CN
- China
- Prior art keywords
- ccid
- data
- type
- module
- instruction
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000004891 communication Methods 0.000 claims abstract description 442
- 230000005540 biological transmission Effects 0.000 claims description 285
- 238000001514 detection method Methods 0.000 claims description 32
- 238000006243 chemical reaction Methods 0.000 claims description 28
- 238000011017 operating method Methods 0.000 claims description 5
- 230000003139 buffering effect Effects 0.000 abstract 3
- 230000003993 interaction Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3814—Wireless link with a computer system port
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3852—Converter between protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明提供了一种具有蓝牙接口的CCID设备及其工作方法,其工作方法包括:检测通讯模式类型是否发生改变,如果否,则根据通讯模式类型和第二缓冲区中的数据,将CCID指令应答数据返回给上位机;如果是,则复位蓝牙模块,将CCID指令应答数据返回给上位机。当通过USB模块获取到CCID指令数据后,判断CCID指令数据的类型是否和通讯模式类型相匹配,是则根据CCID指令数据的类型,将串口指令数据发送给蓝牙模块;否则根据CCID指令数据的类型,设置匹配的通讯模式类型,将串口指令数据其存储到第一缓冲区;当通过蓝牙模块获取到串口指令应答数据后,将串口指令应答数据存储到第二缓冲区。
Description
技术领域
本发明涉及通讯领域,特别涉及一种具有蓝牙接口的CCID设备及其工作方法。
背景技术
CCID设备是一种芯片/智能卡接口设备,CCID设备通过USB接口与主机或其它嵌入式主机连接,进行符合CCID协议标准的数据通讯,同时设备通过符合7816标准协议的接口与智能卡进行通讯。“蓝牙”(Bluetooth),是一种采用了全球通用的短距离无线连接技术。
现有技术中,CCID设备只能通过USB接口与主机或其它嵌入式主机连接,限制了CCID设备的发展和应用。
发明内容
本发明解决了现有技术中CCID设备的发展和应用受限的缺陷。
本发明的技术方案是:
本发明提供了一种具有蓝牙接口的CCID设备的工作方法,包括:
步骤S1:检测通讯模式类型是否发生改变,如果是,则复位蓝牙模块,将第一缓冲区中的数据发送给所述蓝牙模块,执行步骤S2;否则,执行步骤S2;
步骤S2:获取所述通讯模式类型,根据所述通讯模式类型和第二缓冲区中的数据,将CCID指令应答数据通过USB模块返回给上位机;
所述方法还包括:
当通过所述蓝牙模块获取到串口指令应答数据后,将所述串口指令应答数据存储到第二缓冲区;
当通过所述USB模块接收到来自所述上位机的CCID指令数据后,执行步骤B1;
步骤B1:获取所述CCID指令数据的类型和所述通讯模式类型,判断所述CCID指令数据的类型是否和所述通讯模式类型相匹配,如果是,则执行步骤B2;否则,执行步骤B3;
步骤B2:根据所述CCID指令数据的类型,向所述蓝牙模块发送串口指令数据;
步骤B3:根据所述CCID指令数据的类型,设置与所述CCID指令数据的类型相匹配的通讯模式类型;根据所述CCID指令数据的类型,将串口指令数据存储到第一缓冲区。
本发明提供了一种具有蓝牙接口的CCID设备,包括:
检测模块,用于检测通讯模式类型是否发生改变;
复位模块,用于当所述检测模块检测到所述通讯模式类型发生变化后,复位蓝牙模块;
第一发送模块,用于当所述复位模块复位所述蓝牙模块后,将第一缓冲区中的数据发送给所述蓝牙模块;
第一获取模块,用于当所述检测模块检测到所述通讯模式类型没有发生变化后,获取所述通讯模式类型;
当所述第一发送模块将第一缓冲区中的数据发送给所述蓝牙模块后,获取所述通讯模式类型;
第二发送模块,用于根据所述第一获取模块获取到的通讯模式类型和第二缓冲区中的数据,将CCID指令应答数据发送给USB模块;
USB模块,用于接收来自上位机的CCID指令数据;
以及,将来自所述第二发送模块的所述CCID指令应答数据返回给所述上位机;
第二获取模块,用于当通过所述USB模块接收到来自上位机的CCID指令数据后,获取所述CCID指令数据的类型和所述通讯模式类型;
第一判断模块,用于判断第二获取模块获取到的所述CCID指令数据的类型是否和所述通讯模式类型相匹配;
第三发送模块,用于当所述第一判断模块判断出所述CCID指令数据的类型和所述通讯模式类型相匹配后,根据所述CCID指令数据的类型,将串口指令数据发送给所述蓝牙模块;
第三获取模块,用于当所述第一判断模块判断出所述CCID指令数据的类型和所述通讯模式类型不匹配后,根据所述CCID指令数据的类型,设置与所述CCID指令数据的类型相匹配的通讯模式类型;
第一存储模块,用于当所述第一判断模块判断出所述CCID指令数据的类型和所述通讯模式类型不匹配后,根据所述CCID指令数据的类型,将串口指令数据存储到第一缓冲区;
所述蓝牙模块,用于接收来自所述第一发送模块的第一缓冲区中的数据;
接收来自所述第三发送模块的串口指令数据;
以及,获取串口指令应答数据;
第二存储模块,用于将所述蓝牙模块获取到的串口指令应答数据存储到第二缓冲区。
本发明的有益效果是:通过设置与CCID指令类型匹配的通讯模式类型,在CCID设备中实现蓝牙模块与USB模块之间的数据交互,使得CCID设备能够兼容蓝牙接口,扩展了CCID设备的应用场景,实现了CCID设备的多接口通讯,促进了CCID设备的发展和应用。
附图说明
图1为本发明实施例1提供的一种具有蓝牙接口的CCID设备的工作方法的流程图;
图2为本发明实施例1提供的一种具有蓝牙接口的CCID设备的工作方法中的USB通讯中断流程图;
图3为本发明实施例2提供的一种具有蓝牙接口的CCID设备的工作方法的流程图;
图4为本发明实施例2提供的一种具有蓝牙接口的CCID设备的工作方法中的USB通讯中断流程图;
图5为本发明实施例3提供的一种具有蓝牙接口的CCID设备的结构图。
具体实施方式
下面将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例提供了一种具有蓝牙接口的CCID设备的工作方法,如图1所示,包括:
本实施例中,远端蓝牙设备以蓝牙读卡器为例。
步骤101:设备上电,初始化;
本实施例中,初始化,包括:初始化串口,设置通讯模式类型,打开USB通讯中断和串口通讯中断,进行USB枚举,向上位机返回CCID设备信息等;
本实施例中,初始化还可以包括:初始化工作时钟,初始化USB接口,初复位模式转换标识等。
本实施例中,设置通讯模式类型,包括:
设置通讯模式为透传模式,设置通讯模式标识为透传模式标识;
或者设置通讯模式为设置模式,设置通讯模式标识为设置模式标识。
本实施例中,通讯模式为设置模式或透传模式,通讯模式标识为透传模式标识或设置模式标识。
本实施例中,设备根据检测模式转换标识来判断通讯模式是否发生变化,当通讯模式由透传模式转换为设置模式时,或者当通讯模式由设置模式转换为透传模式时,置位模式转换标识。
初始化串口具体包括:设置串口参数信息等,
本实施例中,设置串口参数信息,具体包括:根据透传参数信息或者设置参数信息设置波特率、数据位、校验位和停止位等串口参数信息。
本实施例中,透传模式和透传参数信息以及透传模式标识相匹配;设置模式和和设置参数信息以及设置模式标识相匹配。
本步骤中,优选的,以设置通讯模式类型为透传模式为例:
具体地,设备上电,初始化串口,复位模式转换标识,设置通讯模式类型为透传模式,打开USB通讯中断和串口通讯中断,进行USB枚举,向上位机返回CCID设备信息;
其中,初始化串口包括:将串口通讯参数信息设置为透传参数信息等;
设置通讯模式类型为透传模式,具体包括:
拉低第一引脚,设置通讯模式标识为透传模式标识。
本实施例中,设备通过设置第一引脚电平高低来设置通讯模式类型,可以但不限于:拉低第一引脚,设置通讯模式类型为透传模式;拉高第一引脚,设置通讯模式类型为设置模式。
还需说明的是,本步骤中,设备上电时,设备中的蓝牙模块上电。
本实施例中,设备上电时,还可以对蓝牙模块上电。
步骤102:检测通讯模式类型是否发生改变,如果是,则复位蓝牙模块,将第一缓冲区中的数据发送给蓝牙模块,执行步骤103;否则,执行步骤103;
具体地,检测模式转换标识是否被置位,如果是,则复位模式转换标识,复位蓝牙模块,将第一缓冲区中的串口指令数据通过串口发送给蓝牙模块,执行步骤103;否则,执行步骤103;
本实施例中,复位蓝牙模块可以具体包括:拉低蓝牙模块的reset引脚之后,拉高蓝牙模块的reset引脚,复位蓝牙模块。
需要说明的是,本实施例中,步骤102中,将第一缓冲区中的数据发送给蓝牙模块之后,还可以包括:清空第一缓冲区。
步骤103:获取通讯模式类型,根据通讯模式类型和第二缓冲区中的数据,将CCID指令应答数据通过USB模块返回给上位机,返回步骤102。
具体地,检测通讯模式标识,如果通讯模式标识是透传模式标识,则判断通讯模式类型是透传模式;如果通讯模式标识是设置模式标识,则判断通讯模式类型是设置模式,
当通讯模式类型是设置模式时,根据CCID协议组装第二缓冲区中的数据,将第二缓冲区中的数据转换为CCID指令应答数据,将CCID指令应答数据通过USB模块返回给上位机,返回步骤102;
具体地,当通讯模式类型是设置模式时,根据第二预设指令头组装第二缓冲区中的串口设置指令应答数据,将串口设置指令应答数据转换为CCID设置指令应答数据,将CCID设置指令应答数据作为CCID指令应答数据,通过USB批量传输通道将CCID指令应答数据返回给上位机。
其中,第二预设指令头可以是0x83。
当通讯模式类型是透传模式时,将第二缓冲区中的数据作为CCID指令应答数据,将CCID指令应答数据通过USB模块返回给上位机,返回步骤102。
具体地,当通讯模式类型是透传模式时,根据CCID协议解析第二缓冲区中的串口透传指令应答数据,获取第二缓冲区中的串口透传指令应答数据的应答码信息,判断串口透传指令应答数据是否是卡槽状态信息,如果是,则串口透传指令应答数据作为CCID透传指令应答数据,将CCID透传指令应答数据作为CCID指令应答数据通过USB中断传输通道向上位机返回,返回步骤102;否则,将串口透传指令应答数据作为CCID透传指令应答数据,将CCID透传指令应答数据作为CCID指令应答数据通过USB批量传输通道向上位机返回,返回步骤102;
本实施例中,卡槽状态信息包括:无卡信息和有卡信息,无卡信息可以是0x5002,有卡信息可以是0x5003。
需要说明的是,本实施例中步骤102之后,步骤103之前,
或者步骤103中获取通讯模式类型之后,根据通讯模式类型和第二缓冲区中的数据,将CCID指令应答数据通过USB模块返回给上位机之前,
还可以包括:
判断预设时间内第二缓冲区中是否存在数据,如果是,则执行步骤103;否则,返回步骤102;
具体地,判断预设时间内第二缓冲区中是否存在串口指令应答,如果是,则执行步骤103;否则,返回步骤102;
优选的,预设时间可以是15ms。
需要说明的是,本实施例中,获取通讯模式类型之后,当通讯模式类型是透传模式后,将第二缓冲区中的数据作为CCID指令应答数据,将CCID指令应答数据通过USB模块返回给上位机之前,还可以包括:
判断第二缓冲区中的数据是否完整,如果是,则将第二缓冲区中的数据作为CCID指令应答数据,继续;否则,返回判断预设时间内第二缓冲区中是否存在数据,继续。
具体地,根据CCID协议判断第二缓冲区中的串口透传指令应答数据是否完整,如果是,则将第二缓冲区中的串口透传指令应答数据作为CCID透传指令应答数据,将CCID透传指令应答数据作为CCID指令应答数据,继续;否则,返回判断预设时间内第二缓冲区中是否存在数据,继续。
需要说明的是,本实施例中,透传参数信息和设置参数信息可以相同,也可以不同,当透传参数信息和设置参数信息不同时,步骤102中判断通讯模式改变之后,复位蓝牙模块之前,还包括:获取通讯模式类型,根据通讯模式类型设置串口。
具体地,检测通讯模式标识,如果通讯模式标识是透传模式标识,则判断通讯模式类型是透传模式,则根据透传参数信息设置串口;如果通讯模式标识是设置模式标识,则判断通讯模式类型是设置模式,则根据设置参数信息设置串口。
本实施例中,第二缓冲区可以但不限于通过队列的方式实现。
本发明实施例提供了一种具有蓝牙接口的CCID设备的工作方法中的USB通讯中断流程图,如图2所示,具体包括:
当通过USB模块接收到CCID指令数据后,执行步骤a1;
具体地,当通过USB模块接收到CCID指令数据后,检测到USB通讯中断标识被置位,执行步骤a1;
步骤a1:进入USB通讯中断;
步骤a2:获取CCID指令数据的类型和通讯模式类型,判断CCID指令数据的类型是否和通讯模式类型相匹配,如果是,则执行步骤a3;否则,执行步骤a4;
具体地:
获取CCID指令数据的类型并根据通讯模式标识获取通讯模式的类型,如果CCID指令数据的类型是CCID设置指令数据且通讯模式标识为设置模式标识,则判断CCID指令数据的类型是和通讯模式类型相匹配,则执行步骤a3;如果CCID指令数据的类型是CCID设置指令数据且通讯模式标识为透传模式标识,则判断CCID指令数据的类型是和通讯模式类型不相匹配,则执行步骤a4;
如果CCID指令数据的类型是CCID透传指令数据且通讯模式标识为透传模式标识,则判断CCID指令数据的类型是和通讯模式类型相匹配,则执行步骤a3;如果CCID指令数据的类型是CCID透传指令数据且通讯模式标识为设置模式标识,则判断CCID指令数据的类型是和通讯模式类型不相匹配,则执行步骤a4;
本实施例中,获取CCID指令数据的类型,具体包括:
根据CCID协议解析CCID指令数据,获取CCID指令数据中的第一个字节,根据第一个字节判断CCID指令数据的类型,如果第一个字节是第一预设指令头,则判断CCID指令数据的类型是CCID设置指令数据;如果第一个字节不是第一预设指令头,则判断CCID指令数据的类型是CCID透传指令数据。
本实施例中,第一预设指令头可以是0x6B。
本实施例中,根据通讯模式标识获取通讯模式类型,具体包括:
检测通讯模式标识,当通讯模式标识为设置模式标识时,则通讯模式类型为设置模式;当通讯模式标识为透传模式标识时,则通讯模式类型为透传模式。
本实施例中,步骤a2中当获取到CCID指令数据的类型是CCID透传指令数据之后,判断CCID指令数据的类型是否和通讯模式类型相匹配之前,还包括:
步骤a2’:判断自身是否和远端蓝牙设备连接,如果是,则继续;否则,通过USB模块向上位机返回错误信息,退出USB通讯中断。
具体地,检测第二引脚电平标识是否是连接电平标识,如果是,则判断是否和远端蓝牙设备连接;否则,判断没有和远端蓝牙设备连接。
本实施例中,连接电平标识是指检测到远端蓝牙设备连接时第二引脚的电平标识,可以是低电平标识。
步骤a3:根据CCID指令数据的类型,将串口指令数据发送给蓝牙模块,退出USB通讯中断;
本步骤具体包括:
当CCID指令数据的类型是CCID透传指令数据时,将CCID透传指令数据作为串口透传指令数据,将串口透传指令数据作为串口指令数据发送给蓝牙模块,退出USB通讯中断。
当CCID指令数据的类型是CCID设置指令数据时,将CCID设置指令数据转换为串口设置指令数据,将串口设置指令数据作为串口指令数据发送给蓝牙模块,退出USB通讯中断;
具体地,当CCID指令数据的类型是CCID设置指令数据时,获取CCID设置指令数据的数据域信息,根据数据域信息判断CCID设置指令数据类型,当CCID设置指令数据类型是CCID设置绑定指令类型时,执行步骤a3-1;当CCID设置指令数据类型是CCID设置主从指令类型时,执行步骤a3-2;当CCID设置指令数据类型是CCID设置匹配指令类型时,执行步骤a3-3;当CCID设置指令数据的类型是CCID设置配对码指令类型时,执行步骤a3-4;当CCID设置指令数据类型是CCID获取远端蓝牙设备信息指令类型时,执行步骤a3-5;
步骤a3-1:根据串口协议组装CCID设置指令数据,将CCID设置指令数据转换为串口设置绑定指令,将串口设置绑定指令作为串口设置指令数据发送给蓝牙模块,退出USB通讯中断;
步骤a3-2:根据串口协议组装CCID设置指令数据,将CCID设置指令数据转换为串口设置主从指令,将串口设置主从指令作为串口设置指令数据发送给蓝牙模块,退出USB通讯中断;
步骤a3-3:根据串口协议组装CCID设置指令数据,将CCID设置指令数据转换为串口设置匹配指令,将串口设置匹配指令作为串口设置指令数据发送给蓝牙模块,退出USB通讯中断;
步骤a3-4:根据串口协议组装CCID设置指令数据,将CCID设置指令数据转换为串口设置配对码指令,将串口设置配对码指令作为串口设置指令数据发送给蓝牙模块,退出USB通讯中断;
步骤a3-5:根据串口协议组装CCID设置指令数据,将CCID设置指令数据转换为串口获取远端蓝牙设备信息指令,将串口获取远端蓝牙设备信息指令作为串口设置指令数据发送给蓝牙模块,退出USB通讯中断;
本实施例,根据数据域信息判断CCID设置指令数据类型,具体包括:当CCID设置指令数据的数据域信息是设置绑定远端蓝牙设备的MAC信息时,判断CCID设置指令数据类型为CCID设置绑定指令类型;当CCID设置指令数据的数据域信息是设置自身和远端蓝牙设备的主从模式信息时,判断CCID设置指令数据的类型是CCID设置主从指令类型;当CCID设置指令数据的数据域信息是设置和远端蓝牙设备之间的波特率、数据位、校验位和停止位等匹配参数信息时,判断CCID设置指令数据类型为CCID设置远程匹配指令类型;当CCID设置指令数据的数据域信息是设置自身和远端蓝牙设备的配对码指令信息时,则判断CCID设置指令数据的类型是CCID设置配对码指令类型;当CCID设置指令数据的数据域信息是查找远端蓝牙设备信息时,判断CCID设置指令数据的类型是CCID获取远端蓝牙设备指令类型。
例如,根据CCID协议解析CCID设置指令数据,获取CCID设置指令数据中的数据域信息为0x00 0x33 0x00 0x00 0x06 0x8c 0xde 0x52 0x1a 0x6a 0x6e,根据数据域信息判断CCID设置指令数据类型是CCID设置绑定指令类型,根据串口协议组装CCID设置指令数据获取串口设置绑定指令,将串口设置绑定指令发送给蓝牙模块。
步骤a4:根据CCID指令数据的类型,设置与CCID指令数据的类型相匹配的通讯模式类型;根据CCID指令数据的类型,将串口指令数据存储到第一缓冲区,退出USB通讯中断;
具体地,根据CCID指令数据的类型设置与CCID指令数据的类型相匹配的通讯模式,设置匹配的通讯模式标识,置位模式转换标识,根据CCID指令数据的类型,将串口指令数据存储到第一缓冲区,退出USB通讯中断。
当CCID指令数据的类型是CCID透传指令数据时,设置通讯模式类型为透传模式,置位模式转换标识,将CCID透传指令数据作为串口透传指令数据,将串口透传指令数据作为串口指令数据,将串口指令数据存储到第一缓冲区,退出USB通讯中断。
具体地,当CCID指令数据的类型是CCID透传指令数据时,拉低第一引脚,设置通讯模式标识为透传模式标识,置位模式转换标识,将CCID透传指令数据作为串口透传指令数据,将串口透传指令数据作为串口指令数据,将串口指令数据存储到第一缓冲区,退出USB通讯中断。
当CCID指令数据的类型是CCID设置指令数据时,设置通讯模式类型为设置模式,设置通讯模式标识为设置模式标识,置位模式转换标识,将CCID设置指令数据转换为串口设置指令数据,将串口设置指令数据作为串口指令数据,将串口指令数据存储到第一缓冲区,退出USB通讯中断;
具体地,当CCID指令数据的类型是CCID设置指令数据时,拉高第一引脚,设置通讯模式标识为设置模式标识,置位模式转换标识,获取CCID设置指令数据的数据域信息,根据数据域信息判断CCID设置指令数据类型,当CCID设置指令数据类型是CCID设置绑定指令类型时,执行步骤a4-1;当CCID设置指令数据类型是CCID设置主从指令类型时,执行步骤a4-2;当CCID设置指令数据类型是CCID设置匹配指令类型时,执行步骤a4-3;当CCID设置指令数据的类型是CCID设置配对码指令类型时,执行步骤a4-4;当CCID设置指令数据类型是CCID获取远端蓝牙设备信息指令类型时,执行步骤a4-5;
步骤a4-1:根据串口协议组装CCID设置指令数据,将CCID设置指令数据转换为串口设置绑定指令,将串口设置绑定指令作为串口设置指令数据存储到第一缓冲区,退出USB通讯中断;
步骤a4-2:根据串口协议组装CCID设置指令数据,将CCID设置指令数据转换为串口设置主从指令,将串口设置主从指令作为串口设置指令数据存储到第一缓冲区,退出USB通讯中断;
步骤a4-3:根据串口协议组装CCID设置指令数据,将CCID设置指令数据转换为串口设置匹配指令,将串口设置匹配指令作为串口设置指令数据存储到第一缓冲区,退出USB通讯中断;
步骤a4-4:根据串口协议组装CCID设置指令数据,将CCID设置指令数据转换为串口设置配对码指令,将串口设置配对码指令作为串口设置指令数据存储到第一缓冲区,退出USB通讯中断;
步骤a4-5:根据串口协议组装CCID设置指令数据,将CCID设置指令数据转换为串口获取远端蓝牙设备信息指令,将串口获取远端蓝牙设备信息指令作为串口设置指令数据存储到第一缓冲区,退出USB通讯中断。
需要说明的是,本实施例中,将串口指令数据存储到第一缓冲区之前,还可以包括:清空第一缓冲区。
需要说明的是,进入USB通讯中断之后,退出USB通讯中断之前,还包括:复位USB通讯中断标识。
需要说明的是,本实施例中,将串口设置指令数据发送给蓝牙模块之后,还可以包括:
接收蓝牙模块返回的串口设置指令应答数据;
将串口透传指令数据发送给蓝牙模块之后,还可以包括:
通过蓝牙模块接收来自远端蓝牙设备的串口透传指令应答数据。
当通过蓝牙模块接收到串口指令应答数据后,进入串口通讯中断,将串口指令应答数据存储到第二缓冲区,退出串口通讯中断;
本实施中,当通过蓝牙模块接收到串口指令应答数据后,检测到串口通讯中断标识被置位,进入串口通讯中断;相应地,本实施例中,进入串口通讯中断之后,退出串口通讯中断之前,还包括:复位串口通讯中断标识。
需要说明的是,当蓝牙模块通过蓝牙协议栈接收到串口指令数据时,解析串口指令数据,判断串口指令数据类型,如果是串口设置指令,则根据串口设置指令执行相应设置操作,获取串口设置指令应答,将串口设置指令应答作为串口指令应答数据并通过蓝牙协议栈返回串口指令应答;如果是串口透传指令,则通过蓝牙协议栈向远端蓝牙设备发送串口透传指令,通过蓝牙协议栈接收远端蓝牙设备返回的串口透传指令应答数据,将串口透传指令应答作为串口指令应答数据并通过蓝牙协议栈返回串口指令应答数据;
其中,蓝牙协议栈具体包括:仿真串口协议层(RFCOMM)、数据链路层(L2CAP)、主机控制接口(HCI)。
本发明提供了一种具有蓝牙接口的CCID设备的工作方法,包括:根据USB模块接收到来自上位机的CCID指令数据,获取与CCID指令数据相匹配的通讯模式,根据与CCID指令数据相匹配的通讯模式将CCID指令数据转换为与通讯模式相匹配的串口指令数据,根据与通讯模式相匹配的串口指令数据设置蓝牙模块或者通过蓝牙模块将串口指令数据发送给远端蓝牙设备,当根据蓝牙模块获取到来自蓝牙模块或者远端蓝牙设备的串口指令应答数据后,获取与通讯模式类型相匹配的CCID指令应答数据,将CCID指令应答数据返回给上位机,本实施例提供了一种具有蓝牙接口的CCID设备的工作方法,通过设置通讯模式类型,在CCID设备中实现蓝牙模块与USB模块之间的数据交互,使得CCID设备能够兼容蓝牙接口,扩展了CCID设备的应用场景,实现了CCID设备的多接口通讯,促进了CCID设备的发展和应用。
实施例2
本发明实施例提供了一种具有蓝牙接口的CCID设备的工作方法,如图3所示,包括:
需要说明的是,本实施例中,远端蓝牙设备以蓝牙读卡器为例。
步骤201:设备上电,初始化串口,复位模式转换标识,设置通讯模式类型,打开USB通讯中断和串口通讯中断,进行USB枚举,向上位机返回CCID设备信息;
本实施例中,设置通讯模式类型,包括:
设置通讯模式为透传模式,设置通讯模式标识为透传模式标识;
或者设置通讯模式为设置模式,设置通讯模式标识为设置模式标识。
本实施例中,通讯模式为设置模式或透传模式,通讯模式标识为透传模式标识或设置模式标识。
本实施例中,设备可以通过检测模式转换标识用来判断通讯模式类型是否发生变化,当通讯模式类型由透传模式转换为设置模式时,或者当通讯模式由设置模式转换为透传模式时,置位模式转换标识。
初始化串口具体包括:设置串口参数信息等,
本实施例中,设置串口参数信息,具体包括:根据透传参数信息或者设置参数信息设置波特率、数据位、校验位和停止位等串口参数信息。
本实施例中,透传模式和透传参数信息以及透传模式标识相匹配;设置模式和和设置参数信息以及设置模式标识相匹配。
本步骤中,优选的,以设置通讯模式类型为透传模式为例:
具体地,设备上电,初始化串口,复位模式转换标识,拉低第一引脚,设置通讯模式标识为透传模式标识,打开USB通讯中断和串口通讯中断,进行USB枚举,向上位机返回CCID设备信息;
其中,初始化串口具体包括:根据透传参数信息设置波特率、数据位、校验位和停止位等串口参数信息。
设置通讯模式为透传模式,具体包括:
本实施例中,设备通过设置第一引脚电平高低来设置通讯模式类型,拉低第一引脚,设置通讯模式类型为透传模式;拉高第一引脚,设置通讯模式类型为设置模式。
还需说明的是,本步骤中,设备上电时,设备中的蓝牙模块上电。
本实施例中,设备上电时,还可以对蓝牙模块上电。
步骤202:检测模式转换标识是否被置位,如果是,则复位模式转换标识,执行步骤210;否则,执行步骤203;
步骤203:获取通讯模式类型,如果通讯模式类型是透传模式,则执行步骤204;如果通讯模式类型是设置模式,则执行步骤207;
具体地,检测通讯模式标识,如果通讯模式标识是透传模式标识,则判断通讯模式类型是透传模式;如果通讯模式标识是设置模式标识,则判断通讯模式类型是设置模式。
步骤204:判断预设时间内第二缓冲区是否存在串口透传指令应答数据,如果是,则执行步骤205;否则,返回步骤202;
优选的,预设时间可以是15ms。
步骤205:根据CCID协议判断串口透传指令应答数据是否完整,如果是,则执行步骤206;否则,返回步骤204;
本实施例中,步骤205中当根据CCID协议判断串口透传指令应答数据不完整之后,还可以包括:
步骤205-1:判断第二缓冲区是否存在串口透传指令应答数据,如果是,则返回步骤205;否则,返回步骤205-1。
本实施例中,步骤205-1可以但不限于根据阻塞函数实现。
步骤206:将串口透传指令应答数据作为CCID透传指令应答数据返回给上位机,返回步骤202;
具体包括:将串口透传指令应答数据作为CCID透传指令应答数据,根据CCID协议解析CCID透传指令应答数据,获取CCID透传指令应答数据的应答码信息,根据应答码信息判断CCID透传指令应答数据类型,如果应答码信息是有卡信息或者无卡信息,则判断CCID透传指令应答数据类型是卡槽状态信息类型,则通过USB通讯中断传输通道向上位机返回CCID透传指令应答数据,返回步骤202,如果应答码信息是其他信息,则判断CCID透传指令应答数据类型是其他信息类型,则通过USB批量传输通道向上位机返回CCID透传指令应答数据,返回步骤202;
其中,无卡信息可以是0x5002,有卡信息可以是0x5003,其他信息是指有卡信息和无卡信息之外的其他信息。
步骤207:判断预设时间内第二缓冲区是否存在串口设置指令应答数据,如果是,则执行步骤208;否则,返回步骤202;
步骤208:根据CCID协议组装串口设置指令应答数据,将串口设置指令应答数据转换为CCID设置指令应答数据;
具体地,根据第二预设指令头组装串口设置指令应答数据,将串口设置指令应答数据转换为符合CCID协议的CCID设置指令应答数据,其中,第二预设指令头可以是0x83。
步骤209:将CCID设置指令应答数据返回给上位机,返回步骤202;
具体地,将CCID设置指令应答数据通过批量传输通道将设置指令应答数据返回给上位机。
步骤210:获取通讯模式类型,根据通讯模式类型设置串口;
本步骤具体包括:
检测通讯模式标识,如果通讯模式标识是透传模式标识,则判断通讯模式类型是透传模式,则执行步骤210-1;如果通讯模式标识是设置模式标识,则判断通讯模式类型是设置模式,则执行步骤210-2;
步骤210-1:根据透传参数信息设置串口参数信息,执行步骤211;
步骤210-2:根据设置参数信息设置串口参数信息,执行步骤211;
步骤211:复位蓝牙模块;
具体地,拉低蓝牙模块的reset引脚,之后拉高蓝牙蓝牙模块的reset引脚,复位蓝牙模块。
步骤212:将第一缓冲区中的串口指令数据发送给蓝牙模块,返回步骤203;
本实施例中,步骤212之后,返回步骤203之前,还可以包括:清空第一缓冲区。
本实施例中,串口指令数据包括:串口设置指令数据和串口透传指令数据。
具体地,通讯模式类型是设置模式时,则执行步骤212-1;通讯模式类型是透传模式时,则执行步骤212-2;
步骤212-1:将第一缓冲区中的串口设置指令发送给蓝牙模块,返回步骤203;
步骤213-2:将第一缓冲区中的串口透传指令发送给蓝牙模块,返回步骤203。
本实施例中,步骤212之后,还可以返回步骤202。
本实施例中,透传参数信息和设置参数信息可以相同,也可以不同。
如果透传参数信息和设置参数信息相同时,本实施例中,步骤202还可以检测模式转换标识是否被置位,如果是,则复位模式转换标识,执行步骤212;否则,执行步骤203。
本发明实施例提供了一种具有蓝牙接口的CCID设备的工作方法中的USB通讯中断流程图,如图4所示,具体包括:
当通过USB模块接收到CCID指令数据后,执行步骤b1;
具体地,当通过USB模块接收到CCID指令数据后,检测到USB通讯中断标识被置位,执行步骤b1;
步骤b1:进入USB通讯中断;
步骤b2:获取CCID指令数据的类型,如果CCID指令数据的类型是CCID设置指令数据,则执行步骤b3;如果CCID指令数据的类型是CCID透传指令数据,则执行步骤b7;
具体地,根据CCID协议解析CCID指令数据,获取CCID指令数据中的第一个字节,根据第一个字节判断CCID指令数据的类型,如果第一个字节是第一预设指令头,则判断CCID指令数据的类型是CCID设置指令数据;如果第一个字节不是第一预设指令头,则判断CCID指令数据的类型是CCID透传指令数据。
本步骤中,第一预设指令头可以是0x6B。
本实施例中,执行步骤b1之后,执行步骤b2之前,还包括判断CCID指令数据是否合法,如果是,则执行步骤b2;否则,执行步骤b13;
具体地,根据CCID指令数据是否符合CCID协议来判断当前指令是否合法,如果是,则判断CCID指令数据合法,否则,判断CCID指令数据不合法。
步骤b3:获取通讯模式类型,如果通讯模式类型是透传模式,则执行步骤b4;如果通讯模式类型是设置模式,则执行步骤b6;
具体地,检测通讯模式标识,如果通讯模式标识是透传模式标识,则判断通讯模式类型是透传模式;如果通讯模式标识是设置模式标识,判断通讯模式类型是设置模式。
步骤b4:拉高第一引脚,设置通讯模式标识为设置模式标识,置位模式转换标识;
步骤b5:根据串口协议组装CCID设置指令数据获取串口设置指令数据,清空第一缓冲区,将串口设置指令数据作为串口指令数据存储到第一缓冲区,执行步骤b13;
本步骤具体包括:根据CCID协议解析CCID设置指令数据,获取CCID设置指令数据的数据域信息,根据数据域信息判断CCID设置指令数据类型,清空第一缓冲区,当CCID设置指令数据类型是CCID设置绑定指令类型,执行步骤b5-1;当CCID设置指令数据类型是CCID设置主从指令类型,执行步骤b5-2;当CCID设置指令数据类型CCID设置匹配指令类型,执行步骤b5-3;当CCID设置指令数据的类型是CCID设置配对码指令类型,执行步骤b5-4;当CCID设置指令数据类型是CCID获取远端蓝牙设备信息指令类型时,执行步骤b5-5;
步骤b5-1:根据串口协议组装CCID设置指令数据,将CCID设置指令数据转换为串口设置绑定指令,将串口设置绑定指令作为串口设置指令数据存储到第一缓冲区,执行步骤b13;
步骤b5-2:根据串口协议组装CCID设置指令数据,将CCID设置指令数据转换为串口设置主从指令,将串口设置主从指令作为串口设置指令数据存储到第一缓冲区,执行步骤b13;
步骤b5-3:根据串口协议组装CCID设置指令数据,将CCID设置指令数据转换为串口设置匹配指令,将串口设置匹配指令作为串口设置指令数据存储到第一缓冲区,执行步骤b13;
步骤b5-4:根据串口协议组装CCID设置指令数据,将CCID设置指令数据转换为串口设置配对码指令,将串口设置配对码指令作为串口设置指令数据存储到第一缓冲区,执行步骤b13;
步骤b5-5:根据串口协议组装CCID设置指令数据,将CCID设置指令数据转换为串口获取远端蓝牙设备信息指令,将串口获取远端蓝牙设备信息指令作为串口设置指令数据存储到第一缓冲区,执行步骤b13;
其中,根据数据域信息判断CCID设置指令数据类型,具体包括:当CCID设置指令数据的数据域信息是设置绑定远端蓝牙设备的MAC信息时,判断CCID设置指令数据类型为CCID设置绑定指令类型;当CCID设置指令数据的数据域信息是设置自身和远端蓝牙设备的主从模式信息时,判断CCID设置指令数据的类型是CCID设置主从指令类型;当CCID设置指令数据的数据域信息是设置和远端蓝牙设备之间的波特率、数据位、校验位和停止位等匹配参数信息时,判断CCID设置指令数据类型为CCID设置远程匹配指令类型;当CCID设置指令数据的数据域信息是设置自身和远端蓝牙设备的配对码指令信息时,则判断CCID设置指令数据的类型是CCID设置配对码指令类型;当CCID设置指令数据的数据域信息是查找远端蓝牙设备信息时,判断CCID设置指令数据的类型是CCID获取远端蓝牙设备指令类型。
例如,根据CCID协议解析设置指令数据,获取设置指令数据中的数据域信息为0x00 0x33 0x00 0x00 0x06 0x8c 0xde 0x52 0x1a 0x6a 0x6e,根据数据域信息判断设置指令数据类型是设置绑定指令类型,根据串口协议组装设置指令数据获取串口设置绑定指令,将串口设置绑定指令作为串口设备指令数据存储到第一缓冲区,执行步骤b13;
步骤b6:根据串口协议组装CCID设置指令数据获取串口设置指令数据,将串口设置指令数据作为串口指令数据发送给蓝牙模块,执行步骤b13;
本步骤具体包括:根据CCID协议解析CCID设置指令数据,获取CCID设置指令数据的数据域信息,根据数据域信息判断CCID设置指令数据类型,当CCID设置指令数据类型是CCID设置绑定指令类型,执行步骤b6-1;当CCID设置指令数据类型是CCID设置主从指令类型,执行步骤b6-2;当CCID设置指令数据类型CCID设置匹配指令类型,执行步骤b6-3;当CCID设置指令数据的类型是CCID设置配对码指令类型,执行步骤b6-4;当CCID设置指令数据类型是CCID获取远端蓝牙设备信息指令类型时,执行步骤b6-5;
步骤b6-1:根据串口协议组装CCID设置指令数据,将CCID设置指令数据转换为串口设置绑定指令,将串口设置绑定指令作为串口设置指令数据发送给蓝牙模块,执行步骤b13;
步骤b6-2:根据串口协议组装CCID设置指令数据,将CCID设置指令数据转换为串口设置主从指令,将串口设置主从指令作为串口设置指令数据发送给蓝牙模块,执行步骤b13;
步骤b6-3:根据串口协议组装CCID设置指令数据,将CCID设置指令数据转换为串口设置匹配指令,将串口设置匹配指令作为串口设置指令数据发送给蓝牙模块,执行步骤b13;
步骤b6-4:根据串口协议组装CCID设置指令数据,将CCID设置指令数据转换为串口设置配对码指令,将串口设置配对码指令作为串口设置指令数据发送给蓝牙模块,执行步骤b13;
步骤b6-5:根据串口协议组装CCID设置指令数据,将CCID设置指令数据转换为串口获取远端蓝牙设备信息指令,将串口获取远端蓝牙设备信息指令作为串口设置指令数据发送给蓝牙模块,执行步骤b13;
其中,根据数据域信息判断CCID设置指令数据类型,具体包括:当CCID设置指令数据的数据域信息是设置绑定远端蓝牙设备的MAC信息时,判断CCID设置指令数据类型为CCID设置绑定指令类型;当CCID设置指令数据的数据域信息是设置自身和远端蓝牙设备的主从模式信息时,判断CCID设置指令数据的类型是CCID设置主从指令类型;当CCID设置指令数据的数据域信息是设置和远端蓝牙设备之间的波特率、数据位、校验位和停止位等匹配参数信息时,判断CCID设置指令数据类型为CCID设置远程匹配指令类型;当CCID设置指令数据的数据域信息是设置自身和远端蓝牙设备的配对码指令信息时,则判断CCID设置指令数据的类型是CCID设置配对码指令类型;当CCID设置指令数据的数据域信息是查找远端蓝牙设备信息时,判断CCID设置指令数据的类型是CCID获取远端蓝牙设备指令类型。
例如,根据CCID协议解析设置指令数据,获取设置指令数据中的数据域信息为0x00 0x33 0x00 0x00 0x06 0x8c 0xde 0x52 0x1a 0x6a 0x6e,根据数据域信息判断设置指令数据类型是设置绑定指令类型,根据串口协议组装设置指令数据获取串口设置绑定指令,将串口设置绑定指令作为串口设置指令数据发送给蓝牙模块。
步骤b7:获取通讯模式类型,如果通讯模式类型是透传模式,则执行步骤b8;如果通讯模式类型是设置模式,则执行步骤b10;
判断通讯模式标识,如果通讯模式标识是透传模式标识,则通讯模式类型是透传模式;如果通讯模式标识是设置模式标识,则通讯模式类型是设置模式。
步骤b8:检测第二引脚电平标识是否是连接电平标识,如果是,则执行步骤b9;否则,向上位机返回错误信息,执行步骤b13;
本实施例中,连接电平标识是指检测到远端蓝牙设备连接时第二引脚的电平标识,可以是低电平标识。
步骤b9:根据CCID透传指令数据,将串口透传指令数据作为串口指令数据发送给蓝牙模块,执行步骤b13;
具体地,将CCID透传指令数据作为串口透传指令数据,将串口透传指令数据作为串口指令数据发送给蓝牙模块,执行步骤b13;
步骤b10:检测第二引脚电平标识是否是连接电平标识,如果是,则执行步骤b11;否则,向上位机返回错误信息,执行步骤b13;
步骤b11:拉低第一引脚,设置通讯模式标识为透传模式标识,置位模式转换标识;
步骤b12:清空第一缓冲区,将CCID透传指令数据作为串口指令数据存储到第一缓冲区,执行步骤b13;
步骤b13:退出USB通讯中断;
需要说明的是,进入USB通讯中断之后,退出USB通讯中断之前,还包括:复位USB通讯中断标识。
当通过蓝牙模块接收到串口指令应答数据后,进入串口通讯中断,执行步骤c1;
具体地,当检测到串口通讯中断标识被置位后,进入串口通讯中断。
本实施例中,串口指令数据为串口设置指令数据或串口透传指令数据;串口指令应答为串口设置指令应答数据或串口透传指令应答数据。
步骤c1:进入串口通讯中断;
步骤c2:判断第二缓冲区是否已满,如果是,则丢弃串口指令应答数据,退出串口通讯中断;否则,将串口指令应答数据存储到第二缓冲区,退出串口通讯中断;
本实施例中,进入串口通讯中断之后,退出串口通讯中断之前,还包括:复位串口通讯中断标识。
本实施例中,第二缓冲区可以但不限于通过队列的方式实现。
需要说明的是,本实施例中,将串口设置指令数据发送给蓝牙模块之后,还可以包括:
接收蓝牙模块返回的串口设置指令应答数据;
将串口透传指令数据发送给蓝牙模块之后,还可以包括:
通过蓝牙模块接收来自远端蓝牙设备的串口透传指令应答数据。
需要说明的是,当蓝牙模块通过蓝牙协议栈接收到串口指令数据时,解析串口指令数据,判断串口指令数据类型,如果是串口设置指令,则根据串口设置指令执行相应设置操作,获取,串口设置指令应答,将串口设置指令应答作为串口指令应答并通过蓝牙协议栈返回串口指令应答;如果是串口透传指令,则通过蓝牙协议栈向远端蓝牙设备发送串口透传指令,通过蓝牙协议栈接收远端蓝牙设备返回的串口透传指令应答,将串口透传指令应答作为串口指令应答并通过蓝牙协议栈返回串口指令应答;
其中,蓝牙协议栈具体包括:仿真串口协议层(RFCOMM)、数据链路层(L2CAP)、主机控制接口(HCI)。
本实施例提供了本发明提供了一种具有蓝牙接口的CCID设备的工作方法,包括:根据USB模块接收到来自上位机的CCID指令数据,获取与CCID指令数据相匹配的通讯模式,根据与CCID指令数据相匹配的通讯模式将CCID指令数据转换为与通讯模式相匹配的串口指令数据,根据与通讯模式相匹配的串口指令数据设置蓝牙模块或者通过蓝牙模块将串口指令数据发送给远端蓝牙设备,当通过蓝牙模块获取到来自蓝牙模块或者远端蓝牙设备的串口指令应答数据后,获取与通讯模式类型相匹配的CCID指令应答数据,将CCID指令应答数据返回给上位机,本实施例提供了一种具有蓝牙接口的CCID设备的工作方法,通过设置与CCID指令数据相匹配的通讯模式,在CCID设备中实现蓝牙模块与USB模块之间的数据交互,使得CCID设备能够兼容蓝牙接口,扩展了CCID设备的应用场景,实现了CCID设备的多接口通讯,促进了CCID设备的发展和应用。
实施例3
本实施例提供了一种具有蓝牙接口的CCID设备,如图5所示,包括:
本实施例中,远端蓝牙设备以蓝牙读卡器为例。
检测模块01,用于当设备上电后,检测通讯模式类型是否发生改变;
本实施例中,通讯模式类型为设置模式或透传模式。
本实施例中,设备还可以包括:
初始化模块,用于当设备上电后,当检测模块01检测通讯模式类型是否发生改变之前,执行初始化操作;
初始化操作包括:初始化串口,设置通讯模式类型,打开USB通讯中断和串口通讯中断,进行USB枚举,向上位机返回CCID设备信息等。
初始化模块,具体包括:
第一单元,用于当检测模块01检测通讯模式类型是否发生改变之前,初始化串口;
其中,初始化串口具体包括:设置串口参数信息等,
本实施例中,设置串口参数信息,具体包括:根据透传参数信息或者设置参数信息设置波特率、数据位、校验位和停止位等串口参数信息。
本实施例中,设备根据检测模式转换标识来判断通讯模式是否发生变化,当通讯模式由透传模式转换为设置模式时,或者当通讯模式由设置模式转换为透传模式时,置位模式转换标识。
第二单元,用于当检测模块01检测到通讯模式类型是否发生改变之前,设置通讯模式类型为设置模式或者透传模式;
第二单元,具体用于当设置通讯模式类型为设置模式时,拉高第一引脚,设置通讯模式标识为设置模式标识;
当设置通讯模式类型为透传模式时,拉低第一引脚,设置通讯模式标识为透传模式标识。
本实施例,优选的,第二单元,以设置通讯模式类型为透传模式为例,
本实施例中,设备通过设置第一引脚电平高低来设置通讯模式类型,可以但不限于:拉低第一引脚,设置通讯模式类型为透传模式;拉高第一引脚,设置通讯模式类型为设置模式。
第三单元,用于当检测模块01检测到通讯模式类型是否发生改变之前,打开USB通讯中断和串口通讯中断,进行USB枚举,向上位机返回CCID设备信息。
本实施例中,初始化模块,还可以用于当设备上电后,当检测模块01检测通讯模式类型是否发生改变之前,复位模式转换标识;
相应的:
检测模块01,具体用于当初始化模块执行初始化操作后,检测模式转换标识是否被置位,如果是,则判断通讯模式类型发生改变,复位模式转换标识;否则判断通讯模式类型没有发生改变;
第三获取模块10,还用于置位模式转换标识。
本实施例中,通讯模式为设置模式或透传模式,通讯模式标识包括透传模式标识和设置模式标识。
本实施例中,透传模式和透传参数信息以及透传模式标识相匹配;设置模式和和设置参数信息以及设置模式标识相匹配。
还需说明的是,本实施例中,设备上电后,设备中的蓝牙模块12上电。本实施例中,设备上电后,还可以对蓝牙模块12上电。
复位模块02,用于当检测模块01检测到通讯模式类型发生变化后,复位蓝牙模块12;
本实施例中,复位模块02可以但不限于,具体用于:拉低蓝牙模块12的reset引脚之后,拉高蓝牙模块12的reset引脚。
第一发送模块03,用于当复位模块02复位蓝牙模块12后,将第一缓冲区中的数据发送给蓝牙模块12;
第一发送模块03,具体用于,当复位模块02复位蓝牙模块12后,当第一缓冲区中的数据是串口设置指令数据时,将第一缓冲区中的串口设置指令数据通过串口发送给蓝牙模块12;
当复位模块02复位蓝牙模块12后,当第一缓冲区中的数据是串口透传指令数据时,将第一缓冲区中的串口透传指令数据通过串口发送给蓝牙模块12。
第一获取模块04,用于当检测模块01检测到通讯模式类型没有发生变化后,获取通讯模式类型;
当第一发送模块03将第一缓冲区中的数据发送给蓝牙模块12后,获取通讯模式类型;
第一获取模块04,具体用于当检测模块01检测通讯模式类型没有发生变化后,检测通讯模式标识,如果通讯模式标识是透传模式标识,则判断通讯模式类型是透传模式;如果通讯模式标识是设置模式标识,则判断通讯模式类型是设置模式;
当第一发送模块03将第一缓冲区中的数据发送给蓝牙模块12后,检测通讯模式标识,如果通讯模式标识是透传模式标识,则判断通讯模式类型是透传模式;如果通讯模式标识是设置模式标识,则判断通讯模式类型是设置模式。
第二发送模块05,用于根据第一获取模块04获取到的通讯模式类型和第二缓冲区中的数据,将CCID指令应答数据发送给USB模块06;
本实施例中,CCID指令应答数据为CCID设置指令应答数据或者CCID透传应答数据。
第二发送模块05,包括第十五单元,第十五单元,用于:
当第一获取模块04获取到的通讯模式类型是设置模式后,将第二缓冲区中的数据转换为CCID指令应答数据,将CCID指令应答数据发送给USB模块06;
当第一获取模块04获取到的通讯模式类型是透传模式后,将第二缓冲区中的数据作为CCID指令应答数据,将CCID指令应答数据发送给USB模块06;
第十五单元,具体用于当第一获取模块04获取到的通讯模式类型是设置模式后,根据第二预设指令头组装第二缓冲区中的串口设置指令应答数据,将串口设置指令应答数据转换为CCID设置指令应答数据,将CCID设置指令应答数据发送给USB模块06;
当第一获取模块04获取到的通讯模式类型是透传模式后,将第二缓冲区中的串口透传指令应答数据作为CCID透传指令应答数据,将CCID透传指令应答数据发送给USB模块06;
本实施例中,第二预设指令头可以是0x83。
USB模块06,用于接收来自上位机的CCID指令数据;
以及,将来自第二发送模块05的CCID指令应答数据返回给上位机;
本实施例中,检测模块01还用于当USB模块06将来自第二发送模块05的CCID指令应答数据返回给上位机之后,检测通讯模式类型是否发生改变;
第二获取模块07,用于当通过USB模块06接收到来自上位机的CCID指令数据后,获取CCID指令数据的类型和通讯模式类型;
第二获取模块07,具体包括:
第四单元,用于当通过USB模块06接收到来自上位机的CCID指令数据后,获取CCID指令数据的类型;
第四单元,具体用于当通过USB模块06接收到来自上位机的CCID指令数据后,根据CCID协议解析CCID指令数据,获取CCID指令数据中的第一个字节,根据第一个字节判断CCID指令数据的类型,如果第一个字节是第一预设指令头,则判断CCID指令数据的类型是CCID设置指令数据;如果第一个字节不是第一预设指令头,则判断CCID指令数据的类型是CCID透传指令数据。
本实施例中,第一预设指令头可以是0x6B。
第五单元,用于当通过USB模块06接收到来自上位机的CCID指令数据后,获取通讯模式类型;
第五单元,具体用于检测通讯模式标识,当通讯模式标识为设置模式标识时,则判断通讯模式类型为设置模式;当通讯模式标识为透传模式标识时,则判断通讯模式类型为透传模式。
第一判断模块08,用于判断第二获取模块07获取到的CCID指令数据的类型是否和通讯模式类型是否相匹配;
第一判断模块08,具体用于当CCID指令数据的类型是CCID设置指令数据且通讯模式标识为设置模式标识时,则判断CCID指令数据的类型是和通讯模式类型相匹配;当CCID指令数据的类型是CCID设置指令数据且通讯模式标识为透传模式标识时,则判断CCID指令数据的类型是和通讯模式类型不相匹配;
当CCID指令数据的类型是CCID透传指令数据且通讯模式标识为透传模式标识时,则判断CCID指令数据的类型是和通讯模式类型相匹配;当CCID指令数据的类型是CCID透传指令数据且通讯模式标识为设置模式标识时,则判断CCID指令数据的类型是和通讯模式类型不相匹配。
第三发送模块09,用于当第一判断模块08判断出CCID指令数据的类型和通讯模式类型相匹配后,根据CCID指令数据的类型,将串口指令数据发送给蓝牙模块12;
第三发送模块09,具体用于当第一判断模块08判断出CCID指令数据的类型和通讯模式类型相匹配后,当CCID指令数据的类型是CCID设置指令数据时,将CCID设置指令数据转换为串口设置指令数据,将串口设置指令数据发送给蓝牙模块12;
当CCID指令数据的类型是CCID透传指令数据时,将CCID透传指令数据作为串口透传指令数据,将串口透传指令数据发送给蓝牙模块12。
第三发送模块09,具体包括:
第六单元,用于当CCID指令数据的类型和通讯模式类型相匹配后,当CCID指令数据的类型是CCID设置指令数据后,获取CCID设置指令数据的数据域信息,根据数据域信息判断CCID设置指令数据类型;
第六单元,具体用于:当CCID指令数据的类型和通讯模式类型相匹配后,当CCID设置指令数据的数据域信息是设置绑定远端蓝牙设备的MAC信息时,判断CCID设置指令数据类型为CCID设置绑定指令类型;当CCID设置指令数据的数据域信息是设置自身和远端蓝牙设备的主从模式信息时,判CCID断设置指令数据的类型是CCID设置主从指令类型;当CCID设置指令数据的数据域信息是设置和远端蓝牙设备之间的波特率、数据位、校验位和停止位等匹配参数信息时,判断CCID设置指令数据类型为CCID设置远程匹配指令类型;当CCID设置指令数据的数据域信息是设置自身和远端蓝牙设备的配对码指令信息时,则判断CCID设置指令数据的类型是CCID设置配对码指令类型;当CCID设置指令数据的数据域信息是查找远端蓝牙设备信息时,判断CCID设置指令数据的类型是CCID获取远端蓝牙设备指令类型。
第七单元,用于,
当CCID设置指令数据类型是CCID设置绑定指令类型时,根据串口协议组装CCID设置指令数据,将CCID设置绑定指令转换为串口设置绑定指令,将串口设置绑定指令发送给蓝牙模块12;
当CCID设置指令数据类型是CCID设置主从指令类型时,根据串口协议组装CCID设置指令数据,将CCID设置主从指令类型转换为串口设置主从指令,
当CCID设置指令数据类型是CCID设置主从指令类型时,根据串口协议组装CCID设置指令数据获取串口设置主从指令,将串口设置主从指令发送给蓝牙模块12;
当CCID设置指令数据类型是CCID设置匹配指令类型时,根据串口协议组装CCID设置指令数据,将CCID设置匹配指令转换为串口设置匹配指令,将串口设置匹配指令发送给蓝牙模块12;
当CCID设置指令数据的类型是CCID设置配对码指令类型时,根据串口协议组装CCID设置指令数据,将CCID设置配对码指令转换为串口设置配对码指令,将串口设置配对码指令发送给蓝牙模块12;
当CCID设置指令数据类型是CCID获取远端蓝牙设备信息指令类型时,根据串口协议组装CCID设置指令数据,将CCID获取远端蓝牙设备信息指令转换为串口获取远端蓝牙设备信息指令,将串口获取远端蓝牙设备信息指令发送给蓝牙模块12。
例如,根据CCID协议解析CCID设置指令数据,获取CCID设置指令数据中的数据域信息为0x00 0x33 0x00 0x00 0x06 0x8c 0xde 0x52 0x1a 0x6a 0x6e,根据数据域信息判断CCID设置指令数据类型是CCID设置绑定指令类型,根据串口协议组装CCID设置指令数据获取串口设置绑定指令,将串口设置绑定指令发送给蓝牙模块12。
第八单元,用于当CCID指令数据的类型是CCID透传指令数据后,将CCID透传指令数据作为串口透传指令数据,将串口透传指令数据发送给蓝牙模块12。
第三获取模块10,用于当第一判断模块08判断CCID指令数据的类型和通讯模式类型不匹配后,根据CCID指令数据的类型,设置与CCID指令数据的类型相匹配的通讯模式类型;
第三获取模块10,具体用于:
当第一判断模块08判断出CCID指令数据的类型和通讯模式类型不匹配后,根据CCID指令数据的类型设置与CCID指令数据的类型相匹配的通讯模式,设置匹配的通讯模式标识。
第三获取模块10,具体包括:
第九单元,用于当CCID指令数据的类型和通讯模式类型不匹配后,当CCID指令数据的类型是CCID透传指令数据后,设置通讯模式类型为透传模式;
第九单元,具体用于,当CCID指令数据的类型和通讯模式类型不匹配后,当CCID指令数据的类型是CCID透传指令数据后,拉低第一引脚,设置通讯模式标识为透传模式标识。
第十单元,用于,当CCID指令数据的类型和通讯模式类型不匹配后,当CCID指令数据的类型是CCID设置指令数据后,设置通讯模式类型为设置模式;
第十单元,具体用于,当CCID指令数据的类型和通讯模式类型不匹配后,当CCID指令数据的类型是CCID设置指令数据后,拉高第一引脚,设置通讯模式标识为设置模式标识。
第一存储模块11,用于当第一判断模块08判断出CCID指令数据的类型和通讯模式类型不匹配后,根据CCID指令数据的类型,将串口指令数据存储到第一缓冲区;
第一存储模块11,具体用于:
当CCID指令数据的类型为所述CCID设置指令数据后,将CCID设置指令数据转换为串口设置指令数据,将串口设置指令数据存储到第一缓冲区;
当CCID指令数据的类型是CCID透传指令数据后,将CCID透传指令数据作为串口透传指令数据,将串口透传指令数据存储到所述第一缓冲区。
第一存储模块11,具体包括:
第十一单元,用于:
当CCID指令数据的类型为所述CCID设置指令数据后,将CCID设置指令数据转换为串口设置指令数据;
当CCID指令数据的类型是CCID透传指令数据后,将CCID透传指令数据作为串口透传指令数据;
第十一单元,具体用于当CCID指令数据的类型为CCID设置指令数据后,获取CCID设置指令数据的数据域信息,根据数据域信息判断CCID设置指令数据类型:
当CCID设置指令数据类型是CCID设置绑定指令类型时,根据串口协议组装CCID设置指令数据,将CCID设置绑定指令转换为串口设置绑定指令,将串口设置绑定指令作为串口设置指令数据;
当CCID设置指令数据类型是CCID设置主从指令类型时,根据串口协议组装CCID设置指令数据,将CCID设置主从指令类型转换为串口设置主从指令,将串口设置主从指令作为串口设置指令数据;
当CCID设置指令数据类型是CCID设置匹配指令类型时,根据串口协议组装CCID设置指令数据,将CCID设置匹配指令转换为串口设置匹配指令,将串口设置匹配指令作为串口设置指令数据;
当CCID设置指令数据的类型是CCID设置配对码指令类型时,根据串口协议组装CCID设置指令数据,将CCID设置配对码指令转换为串口设置配对码指令,将串口设置配对码指令作为串口设置指令数据;
当CCID设置指令数据类型是CCID获取远端蓝牙设备信息指令类型时,根据串口协议组装CCID设置指令数据,将CCID获取远端蓝牙设备信息指令转换为串口获取远端蓝牙设备信息指令,将串口获取远端蓝牙设备信息指令作为串口设置指令数据;
当CCID指令数据的类型是CCID透传指令数据后,将CCID透传指令数据作为串口透传指令数据。
第十二单元,用于当第十一单元获取到串口设置指令数据后,将串口设置指令数据存储到第一缓冲区;
当第十一单元获取到串口透传指令数据后,将串口透传指令数据存储到第一缓冲区。
本实施例中,第一存储模块11,还用于当将串口指令数据存储到第一缓冲区之前,清空第一缓冲区。
蓝牙模块12,用于当第一发送模块03将第一缓冲区中的数据发送给蓝牙模块12之后,接收第一缓冲区中的数据;
当第三发送模块09发送串口指令数据后,接收串口指令数据;
以及获取到串口指令应答数据。
本实施例中,第一缓冲区中的数据包括串口指令数据。
本实施例中,串口指令数据为串口设置指令数据或串口透传指令数据;
串口指令应答数据为串口设置指令应答数据或串口透传指令应答数据。
蓝牙模块12,具体用于:
当第一发送模块03将第一缓冲区中的串口设置指令数据发送给蓝牙模块12之后,接收串口设置指令数据,根据串口设置指令数据设置自身,获取串口设置指令应答数据;
当第一发送模块03将第一缓冲区中的串口透传指令数据发送给蓝牙模块12之后,接收串口透传指令数据,将串口透传指令数据发送给远端蓝牙设备,等待获取远端蓝牙设备返回的串口透传指令应答;
当第三发送模块09将串口设置指令数据发送给蓝牙模块12之后,接收串口设置指令数据,根据串口指令数据设置自身,获取串口设置指令应答数据;
当根据第三发送模块09将串口透传指令数据发送给蓝牙模块12之后,接收串口透传指令数据,将串口透传指令数据发送给远端蓝牙设备,等待获取远端蓝牙设备返回的串口透传指令应答;
以及,将自身的串口设置指令应答数据或者来自远端蓝牙设备的串口透传指令应答数据发送给第二存储模块13。
第二存储模块13,用于当通过蓝牙模块12获取到串口指令应答数据后,将串口指令应答数据存储到第二缓冲区。
第二存储模块13,具体用于:
当通过蓝牙模块12获取到来自蓝牙模块12的串口设置指令应答数据后,将串口设置指令应答数据存储到第二缓冲区;
当通过蓝牙模块12获取到来自远端蓝牙设备的串口透传指令应答数据后,将串口透传指令应答数据存储到第二缓冲区。
本实施例中,第二获取模块07还可以包括第十三单元,用于当获取到的CCID指令数据的类型是CCID透传指令数据之后,判断是否和远端蓝牙设备连接。
第十三单元,具体用于当获取到的CCID指令数据的类型是CCID透传指令数据之后,检测第二引脚电平标识是否是连接电平标识,如果是,判断是否和远端蓝牙设备连接;否则,判断没有和远端蓝牙设备连接。
本实施例中,连接电平标识是指检测到远端蓝牙设备连接时第二引脚的电平标识,可以是低电平标识。
本实施例中,设备还可以包括第一接收模块,
第一接收模块,用于接收来自所述蓝牙模块的串口设置指令应答数据;
以及,接收来自所述蓝牙模块的串口透传指令应答数据;
第一接收模块,具体用于当第三发送模块09,将串口设置指令数据发送给蓝牙模块12之后,接收蓝牙模块12返回的串口设置指令应答数据;
当第三发送模块09,将串口透传指令数据发送给蓝牙模块12之后,通过蓝牙模块12接收来自远端蓝牙设备的串口透传指令应答数据;
当第一发送模块03,将第一缓冲区中的串口设置指令数据发送给蓝牙模块12之后,接收蓝牙模块12返回的串口设置指令应答数据;
当第一发送模块03,将第一缓冲区中的串口透传指令数据发送给蓝牙模块12之后,通过蓝牙模块12接收来自远端蓝牙设备的串口透传指令应答数据。
相应的,蓝牙模块12还用于,根据来自第三发送模块09的串口设置指令数据,获取自身的串口设置指令应答数据,将串口设置指令应答数据发送给第一接收模块;
将来自第三发送模块09的串口透传指令数据发送给远端蓝牙设备,当获取到来自远端蓝牙设备的串口透传指令应答数据后,将串口透传指令应答数据发送给第一接收模块;
根据来自第一发送模块03的第一缓冲区中的串口设置指令数据,获取自身的串口设置指令应答数据,将串口设置指令应答数据发送给第一接收模块;
将来自第一发送模块的第一缓冲区中的串口透传指令数据发送给远端蓝牙设备,当获取到来自远端蓝牙设备的串口透传指令应答数据后,将串口透传指令应答数据发送给第一接收模块。
第二存储模块13,具体用于将第一接收模块接收到的串口设置指令应答数据或者串口透传指令应答数据存储到第二缓冲区。
本实施例中,设备还可以包括第二判断模块或者第三判断模块:
第二判断模块,用于当检测模块01检测到通讯模式类型没有发生改变之后,第一获取模块04获取通讯模式类型之前,判断预设时间内第二缓冲区是否存在数据;
相应的,
第一获取模块04,还用于当第二判断模块判断预设时间内第二缓冲区是存在数据后,获取通讯模式类型;
检测模块01,还用于当第二判断模块判断预设时间内第二缓冲区不存在数据后,检测通讯模式类型是否发生改变;
第二判断模块,或者用于当蓝牙模块12将第一缓冲区中的数据发送给远端蓝牙设备之后,第一获取模块04获取通讯模式类型之前,判断预设时间内第二缓冲区是否存在数据;
相应的,
第一获取模块04,还用于当第二判断模块判断预设时间内第二缓冲区是存在数据后,获取通讯模式类型;
检测模块01,还用于当第二判断模块判断预设时间内第二缓冲区不存在数据后,检测通讯模式类型是否发生改变。
第三判断模块,用于当第一获取模块04获取到获取通讯模式类型之后,第二发送模块05根据通讯模式类型和第二缓冲区中的数据,将CCID指令应答数据发送给USB模块之前,
判断预设时间内第二缓冲区中是否存在数据;
相应的:
第二发送模块05,具体用于当第三判断模块判断预设时间内第二缓冲区是存在数据后,根据第一获取模块04获取到的通讯模式类型和第二缓冲区中的数据,将CCID指令应答数据发送给USB模块;
检测模块01,还用于当第三判断模块判断预设时间内第二缓冲区不存在数据后,检测通讯模式类型是否发生改变。
本实施例中,预设时间可以是15ms。
本实施例中,第二缓冲区可以但不限于通过队列的方式实现。
本实施例中,第二发送模块05还可以包括:
第十四单元,用于当根据第一获取模块04获取的通讯模式类型是透传模式之后,根据通讯模式类型和第二缓冲区中的数据,将第二缓冲区中的数据作为CCID指令应答数据之前,根据CCID协议判断第二缓冲区中的数据是否完整,当第二缓冲区中的数据是完整时,则将第二缓冲区中的数据作为CCID指令应答数据;
第三判断模块,还用于当第二缓冲区中的数据不完整后,判断预设时间内第二缓冲区中是否存在数据。
第十四单元,具体用于当第一获取模块04获取的通讯模式类型是透传模式之后,根据通讯模式类型和第二缓冲区中的数据,将第二缓冲区中的数据作为CCID指令应答数据之前,根据CCID协议判断预设时间内第二缓冲区中的串口指令应答数据是否完整,当第二缓冲区中的数据是完整时,则将第二缓冲区中的串口指令应答数据作为CCID指令应答数据;
第三判断模块,还用于当第二缓冲区中的数据不完整后,判断预设时间内第二缓冲区中是否存在数据。
需要说明的是,本实施例中,透传参数信息和设置参数信息可以相同,也可以不同,当透传参数信息和设置参数信息不同时,设备还可以包括:
设置模块,用于当检测模块01检测通讯模式类型发生变化之后,复位模块02复位蓝牙模块12之前,
获取通讯模式类型,根据通讯模式类型设置串口。
设置模块,具体用于,检测通讯模式标识,如果通讯模式标识是透传模式标识,则判断通讯模式类型是透传模式,则根据透传参数信息设置串口;如果通讯模式标识是设置模式标识,则判断通讯模式类型是设置模式,则根据设置参数信息设置串口。
需要说明的是,当蓝牙模块12通过蓝牙协议栈接收到串口指令数据时,解析串口指令数据,判断串口指令数据类型,如果是串口设置指令,则根据串口设置指令执行相应设置操作,获取,串口设置指令应答,将串口设置指令应答作为串口指令应答并通过蓝牙协议栈返回串口指令应答;如果是串口透传指令,则通过蓝牙协议栈向远端蓝牙设备发送串口透传指令,通过蓝牙协议栈接收远端蓝牙设备返回的串口透传指令应答,将串口透传指令应答作为串口指令应答并通过蓝牙协议栈返回串口指令应答;
其中,蓝牙协议栈具体包括:仿真串口协议层(RFCOMM)、数据链路层(L2CAP)、主机控制接口(HCI)。
根据本实施例提供的一种具有蓝牙接口的CCID设备,设备用于根据USB模块接收到来自上位机的CCID指令数据,获取与CCID指令数据相匹配的通讯模式,根据与CCID指令数据相匹配的通讯模式将CCID指令数据转换为与通讯模式相匹配的串口指令数据,根据与通讯模式相匹配的串口指令数据设置蓝牙模块或者通过蓝牙模块将串口指令数据发送给远端蓝牙设备,当通过蓝牙模块获取到来自蓝牙模块或者远端蓝牙设备的串口指令应答数据后,获取与通讯模式类型相匹配的CCID指令应答数据,将CCID指令应答数据返回给上位机。
本发明实现的一种具有蓝牙接口的CCID设备,通过设置与CCID指令类型匹配的通讯模式类型,在CCID设备中实现蓝牙模块与USB模块之间的数据交互,使得CCID设备能够兼容蓝牙接口,扩展了CCID设备的应用场景,实现了CCID设备的多接口通讯,促进了CCID设备的发展和应用。
Claims (34)
1.一种具有蓝牙接口的CCID设备的工作方法,其特征在于,包括:
步骤S1:检测通讯模式类型是否发生改变,如果是,则复位蓝牙模块,将第一缓冲区中的数据发送给所述蓝牙模块,执行步骤S2;否则,执行步骤S2;
步骤S2:获取所述通讯模式类型,根据所述通讯模式类型和第二缓冲区中的数据,将CCID指令应答数据通过USB模块返回给上位机;
所述方法还包括:
当通过所述蓝牙模块获取到串口指令应答数据后,将所述串口指令应答数据存储到第二缓冲区;
当通过所述USB模块接收到来自所述上位机的CCID指令数据后,执行步骤B1;
步骤B1:获取所述CCID指令数据的类型和所述通讯模式类型,判断所述CCID指令数据的类型是否和所述通讯模式类型相匹配,如果是,则执行步骤B2;否则,执行步骤B3;
步骤B2:根据所述CCID指令数据的类型,向所述蓝牙模块发送串口指令数据;
步骤B3:根据所述CCID指令数据的类型,设置与所述CCID指令数据的类型相匹配的通讯模式类型;根据所述CCID指令数据的类型,将串口指令数据存储到第一缓冲区。
2.根据权利要求1所述方法,其特征在于,所述通讯模式类型为设置模式或透传模式,所述CCID指令数据的类型为CCID设置指令数据或CCID透传指令数据;
判断所述CCID指令数据的类型是否和所述通讯模式类型相匹配,具体为:
当所述CCID指令数据的类型为所述CCID设置指令数据,且所述通讯模式类型为所述设置模式时,判断所述CCID指令数据的类型与所述通讯模式类型相匹配;
当所述CCID指令数据的类型为所述CCID透传指令数据,且所述通讯模式类型为所述透传模式时,判断所述CCID指令数据的类型与所述通讯模式类型相匹配;
所述步骤B2,具体为:
当所述CCID指令数据的类型为所述CCID设置指令数据后,将所述CCID设置指令数据转换为串口设置指令数据,将所述串口设置指令数据发送给所述蓝牙模块;
当所述CCID指令数据的类型为所述CCID透传指令数据后,将所述CCID透传指令数据作为串口透传指令数据,将所述串口透传指令数据通过所述蓝牙模块发送给远端蓝牙设备;
所述步骤B3,具体为:
当所述CCID指令数据的类型为所述CCID设置指令数据后,设置所述通讯模式类型为所述设置模式,将所述CCID设置指令数据转换为串口设置指令数据,将所述串口设置指令数据存储到所述第一缓冲区;
当所述CCID指令数据的类型是所述CCID透传指令数据后,设置所述通讯模式类型为所述透传模式,将所述CCID透传指令数据作为串口透传指令数据,将所述串口透传指令数据存储到所述第一缓冲区。
3.根据权利要求2所述方法,其特征在于,所述将所述串口设置指令数据发送给所述蓝牙模块之后,还包括:
接收所述蓝牙模块返回的串口设置指令应答数据;
所述将所述串口透传指令数据发送给所述蓝牙模块之后,还包括:
通过所述蓝牙模块接收来自所述远端蓝牙设备的串口透传指令应答数据。
4.根据权利要求1所述方法,其特征在于,所述串口指令应答数据为串口设置指令应答数据或串口透传指令应答数据;
通过所述蓝牙模块获取到串口指令应答数据,具体为:
接收所述蓝牙模块返回的串口设置指令应答数据;
或者,
通过所述蓝牙模块接收来自远端蓝牙设备的串口透传指令应答数据。
5.根据权利要求1所述的方法,其特征在于,
所述通讯模式类型为设置模式或透传模式;
所述根据所述通讯模式类型和第二缓冲区中的数据,将CCID指令应答数据通过USB模块返回给上位机;
具体包括:
当所述通讯模式类型是所述设置模式后,将所述第二缓冲区中的数据转换为CCID指令应答数据,将所述CCID指令应答数据通过USB模块返回给上位机;
当所述通讯模式类型是所述透传模式后,将所述第二缓冲区中的数据作为CCID指令应答数据,将所述CCID指令应答数据通过USB模块返回给上位机。
6.根据权利要求1所述方法,其特征在于,所述步骤S1之后,所述步骤S2之前还包括:
判断预设时间内第二缓冲区中是否存在数据,如果是,则执行所述步骤S2;否则,返回步骤S1。
7.根据权利要求1所述的方法,其特征在于,所述获取所述通讯模式类型之后,所述根据所述通讯模式类型和第二缓冲区中的数据,将CCID指令应答数据通过USB模块返回给上位机之前,还包括:
判断预设时间内第二缓冲区中是否存在数据,如果是,则继续;否则,返回步骤S1。
8.根据权利要求7所述的方法,其特征在于,
所述通讯模式类型为设置模式或透传模式;
所述根据所述通讯模式类型和第二缓冲区中的数据,将CCID指令应答数据通过USB模块返回给上位机;
具体包括:
当所述通讯模式类型是所述设置模式后,将所述第二缓冲区中的数据转换为CCID指令应答数据,将所述CCID指令应答数据通过USB模块返回给上位机;
当所述通讯模式类型是所述透传模式后,将所述第二缓冲区中的数据作为CCID指令应答数据,将所述CCID指令应答数据通过USB模块返回给上位机。
9.根据权利要求8所述的方法,其特征在于,
所述将所述第二缓冲区中的数据作为CCID透传指令应答数据之前,还包括判断所述第二缓冲区中的数据是否完整,如果是,则继续;否则,返回判断预设时间内第二缓冲区中是否存在数据,继续。
10.根据权利要求1所述的方法,其特征在于,所述步骤S1中检测所述通讯模式类型发生变化之后,复位蓝牙模块之前,还包括:
获取所述通讯模式类型,根据所述通讯模式类型设置串口。
11.根据权利要求1所述的方法,其特征在于,所述将所述串口指令数据存储到第一缓冲区之前,还包括:清空所述第一缓冲区。
12.根据权利要求1所述的方法,其特性在于,
所述步骤S1之前,还包括:
初始化串口,设置通讯模式类型,打开USB通讯中断和串口通讯中断,进行USB枚举,向上位机返回CCID设备信息;
所述将所述CCID指令应答数据通过USB模块返回给上位机之后,还包括:返回步骤S1。
13.根据权利要求12所述的方法,其特征在于,
所述初始化,还包括:复位模式转换标识;
所述检测所述通讯模式类型是否发生改变,具体包括:检测所述模式转换标识是否被置位,如果是,则判断所述通讯模式类型发生改变,复位所述模式转换标识;否则判断所述通讯模式类型没有发生改变;
所述步骤B3还包括:置位所述模式转换标识。
14.根据权利要求12所述的方法,其特征在于,
所述通讯模式类型为设置模式或透传模式,
所述设置通讯模式类型,具体包括:
设置所述通讯模式类型为所述设置模式或者设置所述通讯模式类型为所述透传模式;
所述设置所述通讯模式类型为所述设置模式,具体包括:
拉高第一引脚,设置通讯模式标识为设置模式标识;
所述设置所述通讯模式类型为所述透传模式,具体包括:
拉低第一引脚,设置通讯模式标识为透传模式标识。
15.根据权利要求1所述的方法,其特征在于,
所述CCID指令数据的类型为CCID设置指令数据或CCID透传指令数据;
所述获取所述CCID指令数据的类型,具体包括:
根据CCID协议解析所述CCID指令数据,获取所述CCID指令数据中的第一个字节,根据第一个字节判断所述CCID指令数据的类型,如果第一个字节是第一预设指令头,则判断获取到的所述CCID指令数据的类型是所述CCID设置指令数据;如果第一个字节不是第一预设指令头,则判断获取到的所述CCID指令数据的类型是所述CCID透传指令数据。
16.根据权利要求1所述的方法,其特征在于,
所述CCID指令数据的类型为CCID设置指令数据或CCID透传指令数据;
所述步骤B1中还包括:
当获取到的所述CCID指令数据的类型是所述CCID透传指令数据之后,
判断是否和远端蓝牙设备连接,如果是,则继续;否则,通过所述USB模块向所述上位机返回错误信息。
17.根据权利要求16所述的方法,其特征在于,所述判断是否和远端蓝牙设备连接,具体包括:
检测第二引脚电平标识是否是连接电平标识,如果是,则判断是和远端蓝牙设备连接;否则,判断没有和远端蓝牙设备连接。
18.一种具有蓝牙接口的CCID设备,其特征在于,包括:
检测模块,用于检测通讯模式类型是否发生改变;
复位模块,用于当所述检测模块检测到所述通讯模式类型发生变化后,复位蓝牙模块;
第一发送模块,用于当所述复位模块复位所述蓝牙模块后,将第一缓冲区中的数据发送给所述蓝牙模块;
第一获取模块,用于当所述检测模块检测到所述通讯模式类型没有发生变化后,获取所述通讯模式类型;
当所述第一发送模块将第一缓冲区中的数据发送给所述蓝牙模块后,获取所述通讯模式类型;
第二发送模块,用于根据所述第一获取模块获取到的通讯模式类型和第二缓冲区中的数据,将CCID指令应答数据发送给USB模块;
USB模块,用于接收来自上位机的CCID指令数据;
以及,将来自所述第二发送模块的所述CCID指令应答数据返回给所述上位机;
第二获取模块,用于当通过所述USB模块接收到来自上位机的CCID指令数据后,获取所述CCID指令数据的类型和所述通讯模式类型;
第一判断模块,用于判断所述第二获取模块获取到的所述CCID指令数据的类型是否和所述通讯模式类型相匹配;
第三发送模块,用于当所述第一判断模块判断出所述CCID指令数据的类型和所述通讯模式类型相匹配后,根据所述CCID指令数据的类型,将串口指令数据发送给所述蓝牙模块;
第三获取模块,用于当所述第一判断模块判断出所述CCID指令数据的类型和所述通讯模式类型不匹配后,根据所述CCID指令数据的类型,设置与所述CCID指令数据的类型相匹配的通讯模式类型;
第一存储模块,用于当所述第一判断模块判断出所述CCID指令数据的类型和所述通讯模式类型不匹配后,根据所述CCID指令数据的类型,将串口指令数据存储到第一缓冲区;
所述蓝牙模块,用于接收来自所述第一发送模块的第一缓冲区中的数据;
接收来自所述第三发送模块的串口指令数据;
以及,获取串口指令应答数据;
第二存储模块,用于将所述蓝牙模块获取到的串口指令应答数据存储到第二缓冲区。
19.根据权利要求18所述的设备,其特征在于,所述通讯模式类型为设置模式或透传模式,所述CCID指令数据的类型为CCID设置指令数据或CCID透传指令数据;
所述第一判断模块,具体用于当所述第二获取模块获取到的所述CCID指令数据的类型为所述CCID设置指令数据,且所述第二获取模块获取到的所述通讯模式类型为所述设置模式时,判断所述CCID指令数据的类型与所述通讯模式类型相匹配;
当所述第二获取模块获取到的所述CCID指令数据的类型为所述CCID透传指令数据,且所述第二获取模块获取到的所述通讯模式类型为所述透传模式时,判断所述CCID指令数据的类型与所述通讯模式类型相匹配;
所述第三发送模块,具体用于当所述第一判断模块判断出所述CCID指令数据的类型和所述通讯模式类型相匹配后,当所述CCID指令数据的类型为所述CCID设置指令数据后,将所述CCID设置指令数据转换为串口设置指令数据,将所述串口设置指令数据发送给所述蓝牙模块;
当所述第一判断模块判断出所述CCID指令数据的类型和所述通讯模式类型相匹配后,当所述CCID指令数据的类型为所述CCID透传指令数据后,将所述CCID透传指令数据作为串口透传指令数据,将所述串口透传指令数据发送给所述蓝牙模块;
所述蓝牙模块,还用于接收来自所述第三发送模块的串口设置指令数据;
以及,接收来自所述第三发送模块的串口透传指令数据;
所述第三获取模块,具体用于当所述第一判断模块判断出所述CCID指令数据的类型和所述通讯模式类型不匹配后,当所述CCID指令数据的类型为所述CCID设置指令数据后,设置所述通讯模式类型为所述设置模式;
当所述第一判断模块判断出所述CCID指令数据的类型和所述通讯模式类型不匹配后,当所述CCID指令数据的类型是所述CCID透传指令数据后,设置所述通讯模式类型为所述透传模式;
所述第一存储模块,具体用于当所述第一判断模块判断出所述CCID指令数据的类型和所述通讯模式类型不匹配后,当所述CCID指令数据的类型为所述CCID设置指令数据后,将所述CCID设置指令数据转换为串口设置指令数据,将所述串口设置指令数据存储到所述第一缓冲区;
当所述第一判断模块判断出所述CCID指令数据的类型和所述通讯模式类型不匹配后,当所述CCID指令数据的类型是所述CCID透传指令数据后,将所述CCID透传指令数据作为串口透传指令数据,将所述串口透传指令数据存储到所述第一缓冲区。
20.根据权利要求19所述的设备,其特征在于,
所述设备还包括:第一接收模块;
所述第一接收模块,用于接收来自所述蓝牙模块的串口设置指令应答数据;
以及,接收来自所述蓝牙模块的串口透传指令应答数据;
所述蓝牙模块,还用于根据来自所述第三发送模块的串口设置指令数据,获取自身的串口设置指令应答数据,将所述串口设置指令应答数据发送给所述第一接收模块;
将来自所述第三发送模块的所述串口透传指令数据发送给远端蓝牙设备,当获取到来自所述远端蓝牙设备的串口透传指令应答数据后,将所述串口透传指令应答数据发送给所述第一接收模块;
根据来自所述第一发送模块的第一缓冲区中的串口设置指令数据,获取自身的串口设置指令应答数据,将所述串口设置指令应答数据发送给所述第一接收模块;
将来自所述第一发送模块的第一缓冲区中的串口透传指令数据发送给远端蓝牙设备,当获取到来自所述远端蓝牙设备的串口透传指令应答数据后,将所述串口透传指令应答数据发送给所述第一接收模块。
21.根据权利要求18所述的设备,其特征在于,所述串口指令应答数据为串口设置指令应答数据或串口透传指令应答数据;
所述蓝牙模块,具体用于根据来自所述第一发送模块的第一缓冲区中的数据获取串口设置指令应答数据或串口透传指令应答数据;
以及,根据来自所述第三发送模块的串口指令数据,获取串口设置指令应答数据或串口透传指令应答数据;
所述第二存储模块,具体用于将所述蓝牙模块获取到的串口设置指令应答数据或者串口透传指令应答数据存储到第二缓冲区。
22.根据权利要求18所述的设备,其特征在于,
所述通讯模式类型为设置模式或透传模式;
所述第二发送模块具体用于当所述第一获取模块获取到的所述通讯模式类型是所述设置模式后,将所述第二缓冲区中的数据转换为CCID指令应答数据,将所述CCID指令应答数据发送给所述USB模块;
当所述第一获取模块获取到的所述通讯模式类型是所述透传模式后,将所述第二缓冲区中的数据作为CCID指令应答数据,将所述CCID指令应答数据发送给所述USB模块。
23.根据权利要求18所述的设备,其特征在于,
所述设备还包括:第二判断模块;
所述第二判断模块,用于当所述检测模块检测到所述通讯模式类型没有发生改变之后,所述第一获取模块获取所述通讯模式类型之前,判断预设时间内第二缓冲区是否存在数据;
所述第一获取模块,还用于当所述第二判断模块判断预设时间内第二缓冲区是存在数据后,获取所述通讯模式类型;
所述检测模块,还用于当所述第二判断模块判断预设时间内第二缓冲区不存在数据后,检测所述通讯模式类型是否发生改变;
或者,所述第二判断模块,用于当所述蓝牙模块将第一缓冲区中的数据发送给所述远端蓝牙设备之后,所述第一获取模块获取所述通讯模式类型之前,判断预设时间内第二缓冲区是否存在数据;
所述第一获取模块,还用于当所述第二判断模块判断预设时间内第二缓冲区是存在数据后,获取所述通讯模式类型;
所述检测模块,还用于当所述第二判断模块判断预设时间内第二缓冲区不存在数据后,检测所述通讯模式类型是否发生改变。
24.根据权利要求18所示的设备,其特征在于,
所述设备还包括:第三判断模块,用于当所述第一获取模块获取到所述获取通讯模式类型之后,所述第二发送模块根据所述通讯模式类型和第二缓冲区中的数据,将CCID指令应答数据发送给所述USB模块之前,
判断预设时间内第二缓冲区中是否存在数据;
所述第二发送模块,具体用于当所述第三判断模块判断预设时间内第二缓冲区是存在数据后,根据所述第一获取模块获取到的通讯模式类型和第二缓冲区中的数据,将CCID指令应答数据发送给所述USB模块;
所述检测模块,还用于当所述第三判断模块判断预设时间内第二缓冲区不存在数据后,检测所述通讯模式类型是否发生改变。
25.根据权利要求24所述的设备,其特征在于,
所述通讯模式类型为设置模式或透传模式;
所述CCID指令应答数据为CCID设置指令应答数据或CCID透传指令应答数据;
所述第二发送模块,具体用于当所述第一获取模块获取到的所述通讯模式类型是所述设置模式后,将所述第二缓冲区中的数据转换为CCID设置指令应答数据,将所述CCID设置指令应答数据发送给所述USB模块;
当所述第一获取模块获取到的所述通讯模式类型是所述透传模式后,将所述第二缓冲区中的数据作为CCID透传指令应答数据,将所述CCID透传指令应答数据发送给所述USB模块。
26.根据权利要求25所述的设备,其特征在于,
所述第二发送模块,还用于当所述第二发送模块将所述第二缓冲区中的数据作为CCID指令应答数据之前,判断所述第二缓冲区中的数据是否完整,当所述第二缓冲区中的数据是完整后,将所述第二缓冲区中的数据作为CCID指令应答数据;
所述第三判断模块,还用于当所述第二发送模块判断所述第二缓冲区中的数据不完整后,判断预设时间内第二缓冲区中是否存在数据。
27.根据权利要求18所述的设备,其特征在于,所述设备还包括:
设置模块,用于当所述检测模块检测到所述通讯模式类型发生变化之后,所述复位模块复位蓝牙模块之前,
获取所述通讯模式类型,根据所述通讯模式类型设置串口。
28.根据权利要求18所述的设备,其特征在于,
所述第一存储模块,还用于当将所述串口指令数据存储到第一缓冲区之前,清空第一缓冲区。
29.根据权利要求18所述的设备,其特征在于,
所述设备还包括:初始化模块;
所述初始化模块,用于当所述检测模块检测所述通讯模式类型是否发生改变之前,初始化串口,设置通讯模式类型,打开USB通讯中断和串口通讯中断,进行USB枚举,向上位机返回CCID设备信息;
所述检测模块,还用于当所述初始化模块初始化串口,设置通讯模式类型,打开USB通讯中断和串口通讯中断,进行USB枚举,向上位机返回CCID设备信息之后,检测所述通讯模式类型是否发生改变;
当所述USB模块将来自所述第二发送模块的所述CCID指令应答数据返回给所述上位机之后,检测所述通讯模式类型是否发生改变。
30.根据权利要求29所述的设备,其特征在于,
所述初始化模块,还用于复位模式转换标识;
所述检测模块,具体用于检测所述模式转换标识是否被置位,如果是,则判断所述通讯模式类型发生改变,复位所述模式转换标识;否则判断所述通讯模式类型没有发生改变;
所述第三获取模块,还用于置位所述模式转换标识。
31.根据权利要求29所述的设备,其特征在于,
所述通讯模式类型为设置模式或透传模式;
所述初始化模块,具体包括:
第一单元,用于当所述检测模块检测所述通讯模式类型是否发生改变之前,初始化串口;
第二单元,用于当所述检测模块检测所述通讯模式类型是否发生改变之前,设置所述通讯模式类型为所述设置模式或者所述透传模式;
第三单元,用于当所述检测模块检测所述通讯模式类型是否发生改变之前,打开USB通讯中断和串口通讯中断,进行USB枚举,向上位机返回CCID设备信息;
所述第二单元,具体用于当所述检测模块检测所述通讯模式类型是否发生改变之前,当设置所述通讯模式类型为所述设置模式时,拉高第一引脚,设置通讯模式标识为设置模式标识;
当所述检测模块检测所述通讯模式类型是否发生改变之前,当设置所述通讯模式类型为所述透传模式时,拉低第一引脚,设置通讯模式标识为透传模式标识。
32.根据权利要求18所述的设备,其特征在于,
所述CCID指令数据的类型为CCID设置指令数据或CCID透传指令数据;
所述第二获取模块具体包括:
第四单元,用于当通过所述USB模块接收到来自所述上位机的CCID指令数据后,获取所述CCID指令数据的类型;
第五单元,用于当通过所述USB模块接收到CCID指令数据后,获取所述通讯模式类型;
所述第四单元,具体用于当通过所述USB模块接收到所述上位机的CCID指令数据后,根据CCID协议解析所述CCID指令数据,获取所述CCID指令数据中的第一个字节,根据第一个字节判断所述CCID指令数据的类型,如果第一个字节是第一预设指令头,则判断获取到的所述CCID指令数据的类型是所述CCID设置指令数据;如果第一个字节不是第一预设指令头,则判断获取到的所述CCID指令数据的类型是所述CCID透传指令数据。
33.根据权利要求18所述的设备,其特征在于,
所述CCID指令数据的类型为CCID设置指令数据或CCID透传指令数据;
所述第二获取模块,还用于当获取到的所述CCID指令数据的类型是所述CCID透传指令数据之后,
判断是否和远端蓝牙设备连接;
所述第一判断模块,具体用于当所述第二获取模块判断是和远端蓝牙设备连接后,判断第二获取模块获取到的所述CCID指令数据的类型是否和所述通讯模式类型相匹配;
所述USB模块,还用于当所述第二获取模块判断没有和远端蓝牙设备连接后,向所述上位机返回错误信息。
34.根据权利要求33所述的设备,其特征在于,
所述第二获取模块,具体用于当通过所述USB模块接收到来自上位机的CCID指令数据后,获取所述CCID指令数据的类型和所述通讯模式类型,当获取到的所述CCID指令数据的类型是所述CCID透传指令数据之后,检测第二引脚电平标识是否是连接电平标识,如果是,则判断是和所述远端蓝牙设备连接;否则,判断没有和所述远端蓝牙设备连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510266813.XA CN105005540B (zh) | 2015-05-22 | 2015-05-22 | 一种具有蓝牙接口的ccid设备及其工作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510266813.XA CN105005540B (zh) | 2015-05-22 | 2015-05-22 | 一种具有蓝牙接口的ccid设备及其工作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105005540A true CN105005540A (zh) | 2015-10-28 |
CN105005540B CN105005540B (zh) | 2018-01-05 |
Family
ID=54378217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510266813.XA Active CN105005540B (zh) | 2015-05-22 | 2015-05-22 | 一种具有蓝牙接口的ccid设备及其工作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105005540B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105228097A (zh) * | 2015-11-05 | 2016-01-06 | 中国电子科技集团公司第四十一研究所 | 一种应用于信号源的室内无线远控方法 |
CN106301488A (zh) * | 2016-09-29 | 2017-01-04 | 飞天诚信科技股份有限公司 | 一种蓝牙适配器及其工作方法 |
CN107862359A (zh) * | 2017-11-01 | 2018-03-30 | 北京小米移动软件有限公司 | 基于牙膏的处理方法、装置、设备和存储介质 |
CN107889089A (zh) * | 2017-11-09 | 2018-04-06 | 飞天诚信科技股份有限公司 | 一种移动终端及其处理蓝牙数据的方法 |
CN108153696A (zh) * | 2017-12-29 | 2018-06-12 | 广州市中海达测绘仪器有限公司 | 嵌入式系统串口模块匹配方法、装置、介质和计算机设备 |
CN109802705A (zh) * | 2019-01-31 | 2019-05-24 | 慧翰微电子股份有限公司 | 基于bt5的汽车或工业用数据传输系统 |
CN110336592A (zh) * | 2019-06-28 | 2019-10-15 | 飞天诚信科技股份有限公司 | 适用蓝牙读卡器的数据传输方法及电子设备 |
CN112055346A (zh) * | 2020-09-10 | 2020-12-08 | 欣格瑞电气(上海)有限公司 | 一种数据传输方法及一种蓝牙中继器 |
CN113873483A (zh) * | 2021-08-30 | 2021-12-31 | 宁波三星医疗电气股份有限公司 | 一种能源控制器的蓝牙模块设置检验管理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN203554429U (zh) * | 2013-09-25 | 2014-04-16 | 澔鸿科技股份有限公司 | 汽车主机 |
CN104408516A (zh) * | 2014-12-12 | 2015-03-11 | 恒宝股份有限公司 | 一种新型双芯片智能卡及其控制方法 |
-
2015
- 2015-05-22 CN CN201510266813.XA patent/CN105005540B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN203554429U (zh) * | 2013-09-25 | 2014-04-16 | 澔鸿科技股份有限公司 | 汽车主机 |
CN104408516A (zh) * | 2014-12-12 | 2015-03-11 | 恒宝股份有限公司 | 一种新型双芯片智能卡及其控制方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105228097A (zh) * | 2015-11-05 | 2016-01-06 | 中国电子科技集团公司第四十一研究所 | 一种应用于信号源的室内无线远控方法 |
CN106301488A (zh) * | 2016-09-29 | 2017-01-04 | 飞天诚信科技股份有限公司 | 一种蓝牙适配器及其工作方法 |
CN107862359A (zh) * | 2017-11-01 | 2018-03-30 | 北京小米移动软件有限公司 | 基于牙膏的处理方法、装置、设备和存储介质 |
CN107889089B (zh) * | 2017-11-09 | 2020-06-02 | 飞天诚信科技股份有限公司 | 一种移动终端及其处理蓝牙数据的方法 |
CN107889089A (zh) * | 2017-11-09 | 2018-04-06 | 飞天诚信科技股份有限公司 | 一种移动终端及其处理蓝牙数据的方法 |
CN108153696A (zh) * | 2017-12-29 | 2018-06-12 | 广州市中海达测绘仪器有限公司 | 嵌入式系统串口模块匹配方法、装置、介质和计算机设备 |
CN108153696B (zh) * | 2017-12-29 | 2020-04-10 | 广州市中海达测绘仪器有限公司 | 嵌入式系统串口模块匹配方法、装置、介质和计算机设备 |
CN109802705A (zh) * | 2019-01-31 | 2019-05-24 | 慧翰微电子股份有限公司 | 基于bt5的汽车或工业用数据传输系统 |
CN110336592A (zh) * | 2019-06-28 | 2019-10-15 | 飞天诚信科技股份有限公司 | 适用蓝牙读卡器的数据传输方法及电子设备 |
CN110336592B (zh) * | 2019-06-28 | 2021-03-16 | 飞天诚信科技股份有限公司 | 适用蓝牙读卡器的数据传输方法、电子设备及存储介质 |
US11736149B2 (en) | 2019-06-28 | 2023-08-22 | Feitian Technologies Co., Ltd. | Data transmission method for Bluetooth card reader and electronic device |
CN112055346A (zh) * | 2020-09-10 | 2020-12-08 | 欣格瑞电气(上海)有限公司 | 一种数据传输方法及一种蓝牙中继器 |
CN112055346B (zh) * | 2020-09-10 | 2023-03-10 | 欣格瑞电气(上海)有限公司 | 一种数据传输方法及一种蓝牙中继器 |
CN113873483A (zh) * | 2021-08-30 | 2021-12-31 | 宁波三星医疗电气股份有限公司 | 一种能源控制器的蓝牙模块设置检验管理方法 |
CN113873483B (zh) * | 2021-08-30 | 2023-04-28 | 宁波三星医疗电气股份有限公司 | 一种能源控制器的蓝牙模块设置检验管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105005540B (zh) | 2018-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105005540B (zh) | 一种具有蓝牙接口的ccid设备及其工作方法 | |
US10743258B2 (en) | Method of Bluetooth communication giving consideration to both communication speed and power consumption and a terminal thereof | |
US8843065B2 (en) | Method and device for managing information exchange between for example a NFC controller and a set of at least two secure elements | |
EP2472733A1 (en) | Bluetooth function providing method and terminal for computer | |
KR20160039609A (ko) | 블루투스 통신방법 및 블루투스 통신디바이스 | |
US8798543B2 (en) | Easily operated wireless data transmission/reception system and easily operated wireless data transmission/reception program | |
CN103019981B (zh) | 信号转接控制方法及信号转接装置 | |
CN104580534B (zh) | 信息处理方法、装置及电子设备 | |
US9347990B2 (en) | Communication device, test system and test method thereof | |
CN103338072A (zh) | 基于Android系统的可见光通信及无线接入方法 | |
EP3076718A1 (en) | Wireless access method and relevant device and system | |
CN104184502A (zh) | 一种蓝牙配对装置及方法 | |
CN108600057A (zh) | 一种基于WiFi感知控制家用电器的方法及系统 | |
CN101801104B (zh) | 一种Mac OS系统设备及其网络连接配置的方法 | |
CN103957198A (zh) | 一种传感数据接收转换方法及系统 | |
CN102723971A (zh) | 一种蓝牙设备及其蓝牙配对方法 | |
CN102594893A (zh) | 一种移动终端设备与计算机远程互控的方法及其系统 | |
US20090193139A1 (en) | Communication apparatus, communication system, communication method and program | |
CN103020500B (zh) | 登录认证方法和电子设备 | |
CN113438102A (zh) | 网络配置系统、网络配置方法、电子设备及路由设备 | |
US9762445B2 (en) | Device and method for automatic switching of communication protocol of network devices based on user action | |
CN106971525B (zh) | 一种蓝牙信号转换装置及蓝牙信号转换方法 | |
CN108280037A (zh) | 一种抢占式复用串口自动切换的方法及设备 | |
CN105718388B (zh) | 一种基于usb设备的异步调用方法和装置 | |
US20100260202A1 (en) | Communication Device, Communication System, Communication Method and Program |
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 |