嵌入式设备和基于该设备进行数据通信的控制方法

文档序号:7981868阅读:233来源:国知局
嵌入式设备和基于该设备进行数据通信的控制方法
【专利摘要】本发明公开了一种嵌入式设备和基于该设备进行数据通信的控制方法,其中,该嵌入式设备包括:CPU、SIM卡控制芯片和SIM卡,其中,CPU包括:UART模块和控制管脚;控制管脚,与SIM卡控制芯片的输入输出端口相连,用于输出控制信号,其中,控制信号用于对输入输出总线与URAT模块的输入总线和/或输出总线之间的通断状态进行控制。本发明的CPU通过两个GPIO作为控制管脚,通过控制管脚高低电平的输出,以实现CPU的UART模块收发双数据总线和SIM单数据总线的切换接通,达到了有效利用嵌入式CPU的资源实现SIM卡的应用的技术效果。
【专利说明】嵌入式设备和基于该设备进行数据通信的控制方法
【技术领域】
[0001]本发明涉及通信领域,具体而言,涉及一种嵌入式设备和基于该设备进行数据通信的控制方法。
【背景技术】
[0002]目前,很多家庭网关等嵌入式设备中都增加了客户识别模块(SubscriberIdentity Module,简称为SM)卡硬件和软件模块,以实现家庭网关设备上对运行商的认证,以及语音、视频和服务质量(Quality of Service,简称为QoS)等关键数据的保存,从而实现运营商对家庭网关设备的管理。
[0003]通用异步接收器和发送器(UniversalAsynchronous Receiver/Transmitter,简称为UART)是一种通用串行数据总线,主要用于异步通信。该总线具有双向通信的功能,可以实现全双工的数据传输和接收。在嵌入式设计中,UART 一般是用来与个人电脑(PersonalComputer,简称为PC)进行通信,主要用于与监控调试器或者其它器件(例如,EEPR0M)进行通信。
[0004]SM卡是一张符合IS07816规范的“智慧卡”,SM卡内部装有微处理器的芯片,它的内部有5个模块:微处理器CPU、程序存储器ROM、工作存储器RAM、数据存储器EEPROM和串行通信单元,每个模块都对应自己的一个功能。这5个模块被胶封在SIM卡铜制接口后与普通IC卡封装方式相同。SM卡外形符合IS07816-2规范,具有8电器触点ICC位于SIM卡的标准位置,其中一些触点与嵌在SIM卡的微处理器芯片相连,另一些触点目前没有应用,作为未来扩展使用。
[0005]然而,UART采用的是异步全双工模式,具有输入、输出两根数据总线,而SM卡是异步半双工模式,输入和输出是采用单总线的方式。因此,难以实现UART与SM卡之间的数据交互。
[0006]针对上述的问题,目前尚未提出有效的解决方案。

【发明内容】

[0007]本发明提供了一种嵌入式设备和基于该设备进行数据通信的控制方法,以至少解决现有技术中由于UART具有输入和输出两根数据总线而SIM卡输入和输出是采用单总线的方式而造成的难以实现UART与SM卡之间的数据交互的技术问题。
[0008]根据本发明的一个方面,提供了一种嵌入式设备,包括:CPU、SM卡控制芯片和SIM卡,其中,上述CPU包括:通用异步接收器和发送器UART模块和控制管脚,其中,上述UART模块的输入总线和输出总线通过上述SM卡控制芯片上的输入输出控制端口与上述SIM卡的输入输出总线连接;上述控制管脚,与上述SIM卡控制芯片的输入输出控制端口相连,用于输出控制信号,其中,上述控制信号用于对上述输入输出总线与上述URAT模块的输入总线和/或输出总线之间的通断状态进行控制。
[0009]优选地,上述控制管脚包括第一管脚和第二管脚,其中,上述第一管脚,用于输出第一控制信号,其中,上述第一控制信号用于对上述输入输出总线与上述URAT的输入总线之间的通断状态进行控制;上述第二管脚,用于输出第二控制信号,其中,上述第二控制信号用于对上述输入输出总线与上述URAT的输出总线之间的通断状态进行控制。
[0010]优选地,在上述第一管脚与上述输入输出控制接口之间连接有第一使能控制的逻辑器件,其中,上述第一使能控制的逻辑器件的输出端与上述输入总线相连,上述第一使能控制的逻辑器件的输入端与上述输入输出控制接口相连,上述第一使能控制的逻辑器件的使能控制端与上述第一管脚相连。
[0011]优选地,在上述第二管脚与上述输入输出控制接口之间连接有第二使能控制的逻辑器件,其中,上述第二使能控制的逻辑器件的输入端与上述输出总线相连,上述第二使能控制的逻辑器件的输出端与上述输入输出控制接口相连,上述第二使能控制的逻辑器件的使能控制端与上述第二管脚相连。
[0012]优选地,上述设备还包括:软件控制模块,用于对上述第一管脚和上述第二管脚输出的电平信号进行控制,其中,上述第一管脚输出的电平信号是上述第一控制信号,上述第二管脚输出的电平信号是上述第二控制信号。
[0013]优选地,当上述第一管脚输出低电平信号,且上述第二管脚输出高电平信号时,上述SIM卡的输入输出总线与上述URAT的输入总线接通,上述SIM卡的输入输出总线与上述URAT的输出总线断开。
[0014]优选地,当上述第一管脚输出高电平信号,且上述第二管脚输出低电平信号时,上述SIM卡的输入输出总线与上述URAT的输出总线接通,上述SIM卡的输入输出总线与上述URAT的输入总线断开。
[0015]优选地,上述SM卡控制芯片为ST8024芯片。
[0016]根据本发明的另一方面,提供了一种基于上述的嵌入式设备进行数据通信的控制方法,包括:判断当前UART模块与SIM卡之间所需的数据传输方向;根据确定的上述数据传输方向对上述控制管脚输出的控制信号进行控制。
[0017]优选地,根据确定的上述数据传输方向对上述控制管脚输出的控制信号进行控制包括:当确定上述UART模块需要从上述SM卡读取数据时,控制上述第一管脚输出低电平信号,上述第二管脚输出高电平信号,以实现上述SM卡的输入输出总线与上述URAT的输入总线接通;和/或当确定上述UART模块需要向上述SM卡输出数据时,控制上述第一管脚输出高电平信号,上述第二管脚输出低电平信号,以实现上述SIM卡的输入输出总线与上述URAT的输出总线接通。
[0018]在本发明中,在CPU上增加了控制管脚,通过增加的管脚发送控制信号以实现对UART模块的输入总线和输出总线与SIM卡的输入输出总线在数据传输时的切换,解决了现有技术中由于UART具有输入和输出两根数据总线而SIM卡输入和输出是采用单总线的方式而造成的难以实现UART与SM卡之间的数据交互的技术问题,达到了在不增加额外的芯片的情况下实现UART与SM卡之间的数据的有效交互的技术效果。
【专利附图】

【附图说明】
[0019]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:[0020]图1是根据本发明实施例的嵌入式设备的一种优选结构示意图;
[0021]图2是根据本发明实施例的嵌入式设备的另一种优选结构示意图;
[0022]图3是根据本发明实施例的基于上述嵌入式设备进行数据通信的控制方法的一种优选流程图;
[0023]图4是根据本发明实施例的嵌入式设备的各个模块的一种优选的连接示意图;
[0024]图5是根据本发明实施例的UART的数据帧格式的一种优选示意图;
[0025]图6是SIM卡的数据帧格式的一种优选示意图。
【具体实施方式】
[0026]下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0027]如图1所示,本发明实施例提供了一种优选的嵌入式设备,包括:CPU102、SM卡控制芯片104和SIM卡106,其中,CPU102包括:UART模块和控制管脚SI,其中,
[0028]UART模块的输入总线S2和输出总线S3通过SM卡控制芯片上的输入输出控制端口 S4分别与SM卡的输入输出总线S5连接;
[0029]控制管脚SI,与SM卡控制芯片的输入输出控制端口 S4相连,用于输出控制信号,其中,控制信号用于对输入输出总线S5与URAT模块的输入总线S2和/或输出总线S3之间的通断状态进行控制。
[0030]在上述优选实施方式中,在CPU上增加了控制管脚,通过增加的管脚发送控制信号以实现对UART模块的输入总线和输出总线与SIM卡的输入输出总线在数据传输时的切换,解决了现有技术中由于UART具有输入和输出两根数据总线而SIM卡输入和输出是采用单总线的方式而造成的难以实现UART与SM卡之间的数据交互的技术问题,达到了在不增加额外的芯片的情况下实现UART与SM卡之间的数据的有效交互的技术效果。
[0031]S卩,在本发明实施例中,嵌入式设备基本硬件配置包括:CPU (内部集成UART硬件模块和GPIO管脚)、SM卡控制芯片以及SM卡,其中,该CPU通过两个GPIO作为控制管脚,通过控制管脚高低电平的输出,以实现CPU的UART模块收发双数据总线和SIM单数据总线的切换接通。本发明解决了现有技术中UART异步双总线通信方式和SM同步单总线通信方式之间的数据交互问题,通过CPU的GPIO作为控制管脚,以实现UART和SM卡之间的数据通路,从而达到有效利用嵌入式CPU的资源实现SIM卡的应用的技术效果。
[0032]为了更好地对切换进行控制,可以设置两个控制管脚,一个管脚用于对输入进行控制一个用于对输出进行控制,在一个优选实施方式中,控制管脚包括第一管脚和第二管脚,其中,第一管脚,用于输出第一控制信号,其中,第一控制信号用于对输入输出总线与URAT的输入总线之间的通断状态进行控制;第二管脚,用于输出第二控制信号,其中,第二控制信号用于对输入输出总线与URAT的输出总线之间的通断状态进行控制。
[0033]在对通断状态进行控制的时候,可以采用简单的使能控制的逻辑器件进行控制,如图2所示,在第一管脚Sl-1与输入输出控制接口 S4之间连接有第一使能控制的逻辑器件202,其中,第一使能控制的逻辑器件202的输出端与输入总线S2相连,第一使能控制的逻辑器件202的输入端与输入输出控制接口 S4相连,第一使能控制的逻辑器件的使能控制端(ENB)与第一管脚Sl-1相连。[0034]在第二管脚S1-2与输入输出控制接口之间连接有第二使能控制的逻辑器件204,其中,第二使能控制的逻辑器件204的输入端与输出总线S3相连,第二使能控制的逻辑器件204的输出端与输入输出控制接口 S4相连,第二使能控制的逻辑器件204的使能控制端(ENB)与第二管脚S1-2相连。
[0035]即,通过对该第一和第二使能控制的逻辑器件的控制实现对SIM卡的输入输出总线与URAT的输出总线和输入总线之间的切换。当该使能控制的逻辑器件的使能端处于工作状态时,该线路就处于导通状态,当使能端处于非工作状态时,该线路就属于断开状态,从而实现两者之间简单有效的切换。
[0036]在一个优选实施方式中,上述嵌入式设备中还包括:软件控制模块,用于对第一管脚和第二管脚输出的电平信号进行控制,其中,第一管脚输出的电平信号是第一控制信号,第二管脚输出的电平信号是第二控制信号。
[0037]可以采用高低电平作为控制信号进行控制,优选地,可以采用以下方式来控制线路的通断,例如:
[0038]I)当第一管脚输出低电平信号,且第二管脚输出高电平信号时,SIM卡的输入输出总线与URAT的输入总线接通,SIM卡的输入输出总线与URAT的输出总线断开。
[0039]2)当第一管脚输出高电平信号,且第二管脚输出低电平信号时,SIM卡的输入输出总线与URAT的输出总线接通,SIM卡的输入输出总线与URAT的输入总线断开。
[0040]在上述各个优选实施方式中,SIM卡控制芯片可以选择ST8024芯片。
[0041 ] 基于上述的嵌入式设备,本发明实施例还提供了 一种数据通信的控制方法,如图3所示,上述方法包括以下步骤:
[0042]步骤S302:判断当前UART模块与SM卡之间所需数据传输方向;
[0043]步骤S304:根据确定的数据传输方向对控制管脚输出的控制信号进行控制。
[0044]即,该嵌入式设备根据软件发送、接收数据的需要,并确定UART模块和SM卡之间数据传输方向,以对应确定控制管脚的控制信号,以实现CPU的UART模块收发双数据总线和SM单数据总线的切换接通。
[0045]在上述步骤S304中,根据确定的数据传输方向对控制管脚输出的控制信号进行控制主要可以是对电平的控制,从而实现按照数据传输方向来确定线路之间的通断。优选地,可以包括以下两种情况之一:
[0046]I)当确定UART模块需要从SIM卡读取数据时,控制第一管脚输出低电平信号,第二管脚输出高电平信号,以实现SM卡的输入输出总线与URAT的输入总线接通;
[0047]2)当确定UART模块需要向SIM卡输出数据时,控制第一管脚输出高电平信号,第二管脚输出低电平信号,以实现SIM卡的输入输出总线与URAT的输出总线接通。
[0048]下面将结合具体的实施方式对UART和SM卡之间的通信方案和数据处理方法进行详细说明。
[0049]在本发明实施例中,在家庭网关等嵌入式设备上,利用嵌入式CPU已有的UART硬件模块,通过CPU的GPIO引脚的电平信号的输出,实现UART输入、输出双总线与SM卡I/O单总线之间通断的切换,以此实现对SIM卡的读写和信息保存功能,从而在保证运用商对产品机卡分离功能要求的基础上,实现产品成本的最小化。在本实施方式中,不需要增加额夕卜的控制芯片对两者之间的切换进行控制,因此,较少了产品的成本。[0050]本实施所采用的技术方案的硬件方式可以按照以下方式实现:
[0051]例如,采用ST8024芯片作为对SM卡的控制芯片与SM卡之间进行交互,其中上述的ST8024芯片是一个针对异步3V或者5V智能卡的完善的低成本的模拟接口,ST8024连接在嵌入式CPU和SM卡之间,只需要很少的外部部件来实现保护和控制功能。ST8024对SM卡的管理功能主要包括:提供外部时钟、对串行数据的输入和输出的管理、3V或者5V的电压输出、对SIM卡插拔的动态检测以及实现对SIM卡的激活操作。
[0052]嵌入式CPU通过GPIO连接ST8024以对SM进行控制,其中GPIO的功能主要包括:
[0053]I) GP10_M_3/5V:控制SM卡输出3/5V电压输入;
[0054]2) GP10_SIM_INT:检测SM卡拔插的信号输入到该GPIO引脚;
[0055]3) GP10_SIM_RST:控制对SM卡发送激活信号;
[0056]4) GP10_SIM_CMD:控制对SM卡加载电压。
[0057]鉴于UART是异步全双工模式,具有输入、输出两根总线。然而,SM卡是异步半双工模式,输入和输出使用单总线方式,为了解决UART双数据线和SIM卡单数据线之间的数据交互问题。在本发明实施例中采用增加两个GPIO引脚的方式来解决上述问题,如图4所示,是采用BCM6828作为CPU,以ST8024作为SM卡控制芯片,其中,GPIO即上述的SM输入输出控制端口,图中的/GP10_RC即上述的第一管脚,/GP10_WC即上述的第二管脚,UART 1_RXD代表上述的输入总线,UART1_TXD代表上述的输出总线。
[0058]1)SIM_RD_ENABLE (/GP10_RC),即,上文的第一管脚,当该管脚输出低电平信号时,UART输入总线与ST8024I/0UC管脚接通,从而与SM的I/O总线(B卩,上文的SM卡的输入输出总线)接通;
[0059]2)SIM_WR_ENABLE (/GP10_WC),即,上文的第二管脚,当该管脚输出低电平信号时,UART输出总线与ST8024I/0UC管脚接通,从而与SM的I/O总线接通;
[0060]在软件控制方面,优选地,可以基于LINUX平台,利用LINUX平台原有的UART驱动实现和SIM卡之间的数据通信,其中,软件部分的实现主要包括以下步骤:
[0061]S1:控制 S M_RD_ENABLE 和 S M_WR_ENABLE 两个 GPIO 引脚;
[0062]具体的,当UART需要读取SM卡的数据时,SIM_RD_ENABLE输出低电平,SM_WR_ENABLE输出高电平。此时,UART输入总线接通SM卡的I/O总线;
[0063]当UART需要输出数据到SM卡时,SM_RD_ENABLE输出高电平,SIM_WR_ENABLE输出低电平。此时UART输出总线接通SM卡的I/O总线。
[0064]优选地,可以按照IS07816-4规范来激活、读或者写SM卡。
[0065]具体的,在对SIM卡进行诸如卡激活、读操作以及写操作等操作时,可以先配置UART的数据帧格式,从而保证UART和SM卡通信数据帧的一致性。
[0066]UART数据帧如图5所示,SIM卡数据帧如图6所示,可以配置UART数据帧为以下格式:8 bit数据位、I个偶校验位(Parity Bit)、2个停止位,通过上述对数据巾贞的配置保证了 UART数据帧格式可以符合SM卡的要求。
[0067]在对SIM卡进行读写操作之前,还需要对卡进行激活操作,具体包括以下步骤:
[0068]步骤SI:GP10_SIM_CMD的输出由高电平转变为低电平,ST8024开始对SM卡VCC触点供电,优选地,可以将电压选择为3V,因此GP10_SIM_3/5V输出低电平;[0069]步骤S2:GP10_SIM_RST 输出低电平;
[0070]步骤S3:GP10_SM_RST输出高电平,SM卡会回复ATR (Answerto reset)数据报报文,完成SIM卡的激活。
[0071]SM卡的读操作可以包括以下步骤:
[0072]步骤SI:SIM_RD_ENABLE输出低电平,SM卡I/O总线与UART输入总线接通;
[0073]步骤S2:SIM_WR_ENABLE输出高电平,SM卡I/O总线与UART输出总线断开;
[0074]步骤S3:从UART上文串口接收数据,对接收到的数据按照IS07816-4规范进行解析。
[0075]SM卡的写操作可以包括以下步骤:
[0076]步骤SI:SIM_WR_ENABLE输出低电平,SM卡I/O总线与UART输出总线接通;
[0077]步骤S2:SIM_RD_ENABLE输出高电平,确保SM卡I/O总线与UART输入总线断开;
[0078]步骤S3:按照IS07816-4规范对发送数据进行封装和操作,发送数据给UART串□。
[0079]在另外一个实施例中,还提供了 一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。
[0080]在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。
[0081]从以上的描述中,可以看出,本发明实现了如下技术效果:在CPU上增加了控制管脚,通过增加的管脚发送控制信号以实现对UART模块的输入总线和输出总线与SM卡的输入输出总线在数据传输时的切换,解决了现有技术中由于UART具有输入和输出两根数据总线而SM卡输入和输出是采用单总线的方式而造成的难以实现UART与SM卡之间的数据交互的技术问题,达到了在不增加额外的芯片的情况下实现UART与SIM卡之间的数据的有效交互的技术效果。
[0082]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0083]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种嵌入式设备,其特征在于,包括:CPU、SM卡控制芯片和SM卡,其中,所述CPU包括:通用异步接收器和发送器UART模块和控制管脚,其中, 所述UART模块的输入总线和输出总线通过所述SM卡控制芯片上的输入输出控制端口与所述SIM卡的输入输出总线连接; 所述控制管脚,与所述SIM卡控制芯片的输入输出控制端口相连,用于输出控制信号,其中,所述控制信号用于对所述输入输出总线与所述URAT模块的输入总线和/或输出总线之间的通断状态进行控制。
2.根据权利要求1所述的设备,其特征在于,所述控制管脚包括第一管脚和第二管脚,其中, 所述第一管脚,用于输出第一控制信号,其中,所述第一控制信号用于对所述输入输出总线与所述URAT的输入总线之间的通断状态进行控制; 所述第二管脚,用于输出第二控制信号,其中,所述第二控制信号用于对所述输入输出总线与所述URAT的输出总线之间的通断状态进行控制。
3.根据权利要求2所述的设备,其特征在于,在所述第一管脚与所述输入输出控制接口之间连接有第一使能控制的逻辑器件,其中,所述第一使能控制的逻辑器件的输出端与所述输入总线相连,所述第一使能控制的逻辑器件的输入端与所述输入输出控制接口相连,所述第一使能控制的逻辑器件的使能控制端与所述第一管脚相连。
4.根据权利要求2所述的设备,其特征在于,在所述第二管脚与所述输入输出控制接口之间连接有第二使能控制的逻辑器件,其中,所述第二使能控制的逻辑器件的输入端与所述输出总线相连,所述第二使能控制的逻辑器件的输出端与所述输入输出控制接口相连,所述第二使能控制的逻辑器件的使能控制端与所述第二管脚相连。
5.根据权利要求2至4中任一项所述的设备,其特征在于,还包括:软件控制模块,用于对所述第一管脚和所述第二管脚输出的电平信号进行控制,其中,所述第一管脚输出的电平信号是所述第一控制信号,所述第二管脚输出的电平信号是所述第二控制信号。
6.根据权利要求5所述的设备,其特征在于,当所述第一管脚输出低电平信号,且所述第二管脚输出高电平信号时,所述SIM卡的输入输出总线与所述URAT的输入总线接通,所述SIM卡的输入输出总线与所述URAT的输出总线断开。
7.根据权利要求5所述的设备,其特征在于,当所述第一管脚输出高电平信号,且所述第二管脚输出低电平信号时,所述SIM卡的输入输出总线与所述URAT的输出总线接通,所述SIM卡的输入输出总线与所述URAT的输入总线断开。
8.根据权利要求1所述的设备,其特征在于,所述SM卡控制芯片为ST8024芯片。
9.一种基于权利要求1至8中任一项的嵌入式设备进行数据通信的控制方法,其特征在于,包括: 判断当前UART模块与SIM卡之间所需的数据传输方向; 根据确定的所述数据传输方向对所述控制管脚输出的控制信号进行控制。
10.根据权利要求9所述的方法,其特征在于,根据确定的所述数据传输方向对所述控制管脚输出的控制信号进行控制包括: 当确定所述UART模块需要从所述SIM卡读取数据时,控制所述第一管脚输出低电平信号,所述第二管脚输出高电平信号,以实现所述SIM卡的输入输出总线与所述URAT的输入总线接通;和/或 当确定所述UART模块需要向所述SIM卡输出数据时,控制所述第一管脚输出高电平信号,所述第二管脚输出低电平信号,以实现所述SIM卡的输入输出总线与所述URAT的输出总线接通。
【文档编号】H04L12/66GK103581157SQ201210284672
【公开日】2014年2月12日 申请日期:2012年8月10日 优先权日:2012年8月10日
【发明者】杨飞 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1