具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
参见图1,本发明实现多模通信模块访问用户识别卡的终端。
终端包括:控制芯片100,以及分别与控制芯片100通过接口连接的用户识别卡300和两种模式的通信模块200。
其中,控制芯片100,用于接收当前通信模块200访问用户识别卡300的请求,当确定用户识别卡300处于非访问状态时,根据该请求对用户识别卡300进行访问,并将用户识别卡300返回的访问结果发送给当前通信模块200。
非访问状态为用户识别卡300处于未被通信模块200访问的状态。
该控制芯片100,还用于当确定用户识别卡300处于访问状态时,等待直至用户识别卡300处于非访问状态。其中,访问状态为用户识别卡300处于被通信模块200访问的状态。
在本实施中,通过控制芯片100协调各个通信模块200对用户识别卡300的访问,并由该控制芯片100依据请求访问用户识别卡300,能够省略终端中的模拟切换器,避免模拟开关切换时处理信号不平稳导致出现的不稳定现象,减少控制芯片100与通信模块200间的消息交互。
在一较佳的实施方式中,控制芯片100,还用于当确定用户识别卡300处于访问状态时向当前通信模块200发送等待响应。
通过在用户识别卡300当前为访问状态时,向发送请求的通信模块200发送等待响应,能够进一步减少控制芯片100与通信模块200间的消息交互和控制芯片100的处理负荷。
在一较佳的实施方式中,控制芯片100,还用于当确定未接收到访问用户识别卡300的请求的时长大于或等于第一时长阈值时,转入低功耗状态,并在接收到访问用户识别卡300的请求后,转入工作状态。
通过在未接收到通信模块200的请求的时长大于或等于配置的第一时长阈值时使控制芯片100休眠,能够减少功耗。
在一较佳的实施方式中,控制芯片100,还用于当确定未接收到访问用户识别卡300的请求的时长大于或等于第二时长阈值时,停止对用户识别卡300输入时钟信号,并在接收到访问用户识别卡300的请求后,开始对用户识别卡300输入时钟信号。
通过在未接收到通信模块200的请求的时长大于或等于配置的第二时长阈值时使用户识别卡300休眠,能够减少功耗。
由于进行用户识别卡300访问时需要控制芯片100与用户识别卡300间相互协调工作,因此,较佳地,上述第一时长阈值与第二时长阈值可以配置为相等。当然,也可以第二时长阈值大于第一时长阈值。
在一较佳的实施方式中,控制芯片100在根据请求对用户识别卡300进行访问的过程中,具体用于当确定在接收的请求中包含访问路径时,将请求中的访问路径确定为与当前通信模块200对应的备份路径进行存储,并根据存储的备份路径对用户识别卡300进行访问;
当确定在接收的请求中未包含访问路径时,根据存储的备份路径对用户识别卡300进行访问。
进一步地,控制芯片100,具体用于读取存储的与当前通信模块200对应的备份路径,向用户识别卡300发送选择路径指令指示用户识别卡300以备份路径为当前路径,并接收到用户识别卡300对选择路径指令的响应后,根据当前路径对用户识别卡300进行访问。
进一步地,控制芯片100,还用于在接收到用户识别卡300对选择路径指令的响应后,记录用户识别卡300的当前路径;以及,
控制芯片100,还用于当读取的备份路径与记录的当前路径一致时,根据当前路径对用户识别卡300进行访问,否则,向用户识别卡300发送选择路径指令。
通过对请求的访问路径备份,以在不是每个访问请求中都包含访问路径的情况下,保证对用户识别卡300的准确访问。
在一较佳的实施方式中控制芯片100与用户识别卡300连接的接口为符合ISO 7816协议的主接口;
控制芯片100分别与每个通信模块200连接的对应接口为符合ISO 7816协议的从接口;
用户识别卡300与控制芯片100连接的接口为符合ISO 7816协议的从接口;
通信模块200与控制芯片100连接的接口为符合ISO 7816协议的主接口。
在上述实施例中,终端中包括两种模式的通信模块,但是本发明实施例不限于此,终端中还可包括三种或三种以上模式的通信模块,因此,多模通信模块包括两个或两个以上模式的通信模块。
实施例,参见图3
第一通信模块200:2G或3G模块
第二通信模块200:3G或4G模块
其中,第一通信模块200和第二通信模块200为不同模式的通信模块
接口1:ISO 7816主接口或可替代的其他接口
接口2:ISO 7816从接口或可替代的其他接口
接口3:ISO 7816主接口或可替代的其他接口
接口4:ISO 7816从接口或可替代的其他接口
接口5:ISO 7816主接口或可替代的其他接口
控制模块:控制核,单片机内核,可以是51或ARM架构。
控制芯片100为包含两个7816从接口和1个7816主接口或可替代的其他接口的控制芯片100。其主要功能是协调不同通信模块200对SIM/USIM卡的访问。
第一通信模块200和第二通信模块200分别为不同模式的移动通信模块。第一通信模块200和第二通信模块200分别通过接口1和接口5连接到控制芯片100的接口2和接口4上。本实施例中以两个通信模块为例,但是本发明不限于此,本发明同样适于多于两个通信模块的情况。
控制芯片100的接口3连接用户识别卡300。本实施例中用户识别卡为SIM/USIM卡。
控制芯片100的接口2,3,4可完全支持ISO 7816的1,2,3,4协议。
当第一通信模块200或第二通信模块200访问SIM/USIM卡的时候,控制芯片100将协调该模块与SIM/USIM卡之间的通信数据。
本实施例中,为两个通信模块200,但是本发明不限于两个。本发明可以实现两个以上的任何数量的通信模块提供访问用户识别卡。
若在第一通信模块200访问SIM/USIM卡的时候,即SIM/USIM卡处于访问状态时,第二通信模块200也有访问需求,控制芯片100接收到请求后,会等待,还可在等待过程中,告诉第二通信模块200目前SIM/USIM卡正在忙,请等候的消息,例如回复等待响应。并且等待当第一通信模块200访问SIM/USIM卡结束,即SIM/USIM卡处于非访问状态后,才根据请求对SIM/USIM卡进行访问,即协调第二通信模块200访问SIM/USIM卡。当然,第一通信模块200发起访问SIM/USIM的请求时,第二通信模块200正在访问SIM/USIM卡,控制芯片100也会等待直至SIM/USIM卡处于非访问状态,具体就不再累述了。
在第一通信模块200或第二通信模块200访问SIM/USIM卡的时候,控制芯片100会解析请求,若该请求中包含了访问路径时,获得其中包含的访问路径并作为与该通信模块对应的备份路径进行存储,并可根据存储的备份路径对SIM/USIM卡进行访问。让该请求中未包含了访问路径时,则可直接根据存储的备份路径对SIM/USIM卡进行访问。
这样,当一个通信模块200完成当前APDU指令需要切换到另一个通信模块200访问时,控制芯片100可读取存储的与另一通信模块200对应的备份路径,并将SIM/USIM卡的当前路径切换为该备份路径。而当再次切换到该一个通信模块200访问SIM/USIM卡的时候,则先由控制芯片100读取存储的该一个通信模块对应的备份路径,向SIM/USIM卡发送选择路径指令,将SIM/USIM卡的当前路径再切换到与该一个通信模块200对应的备份路径,以防止模块切换导致路径错乱,而发生功能异常。
当第一通信模块200和第二通信模块200长时间,例如预设时长,不访问SIM/USIM卡的时候,即控制芯片100在预设时长中没有接收到任一的访问用户识别卡的请求时,将进入低功耗状态,当再次有通信模块200访问SIM/USIM卡需求时,即控制芯片100接收到访问用户识别卡的请求时,将被唤醒,并完成协调通信模块200与SIM/USIM卡的通信工作。
同样的,当第一通信模块200和第二通信模块200长时间,例如预设时长,不访问SIM/USIM卡的时候,即控制芯片100在预设时长中没有接收到任一的访问用户识别卡的请求时,控制芯片100停止对SIM/USIM卡输入时钟信号,使SIM/USIM卡进入低功耗状态;当再次有通信模块200访问SIM/USIM卡需求时,即控制芯片100接收到访问用户识别卡的请求时,开始对SIM/USIM卡输入时钟信号,使SIM/USIM卡进入低功耗状态。
在上述实施例描述的终端中,实现多模通信模块访问用户识别卡的过程,如图4所示,具体包括:
步骤401,控制芯片接收当前通信模块访问用户识别卡的请求。
终端中的任意一个通信模块都可发起访问用户识别卡的请求,并通过与控制芯片连接的接口发送给控制芯片。这里,正发起访问用户识别卡的请求的通信模块为当前通信模块。
步骤402:控制芯片判断用户识别卡是否处于非访问状态,若是,执行步骤403,否则,返回步骤402。
控制芯片接收当前通信模块访问用户识别卡的请求时,若用户识别卡未被其他的通信模块访问,即此时用户识别卡处于非访问状态,执行步骤403;若用户识别卡正被其他的通信模块访问,即此时用户识别卡处于访问状态,则需等待直至用户识别卡处于非访问状态,即需返回步骤402。
步骤403:控制芯片根据请求对用户识别卡进行访问,并将用户识别卡返回的访问结果发送给当前通信模块。
控制芯片已确定了用户识别卡处于非访问状态,则可根据请求对用户识别卡进行访问。并且,由于通信模块并不与用户识别卡连通,因此,用户识别卡返回的访问结果也由控制芯片转发给当前通信模块。
至此,通过控制芯片可协调各个通信模块对用户识别卡的访问,并由该控制芯片依据请求访问用户识别卡,能够省略终端中的模拟切换器,避免模拟开关切换时处理信号不平稳导致出现的不稳定现象,减少控制芯片与通信模块间的消息交互。
较佳地,本发明实施例中,当确定用户识别卡处于访问状态时,控制芯片在等待的过程中,还可向当前通信模块发送等待响应。
通过在用户识别卡当前为访问状态时,向发送请求的通信模块发送等待响应,能够进一步减少控制芯片与通信模块间的消息交互和控制芯片的处理负荷。
较佳地,控制芯片还可当确定未接收到访问用户识别卡的请求的时长大于或等于第一时长阈值时,转入低功耗状态,并在接收到访问用户识别卡的请求后,转入工作状态。
通过上述方法减少控制芯片的能耗。
较佳地,控制芯片还可当确定未接收到访问用户识别卡的请求的时长大于或等于第二时长阈值时,停止对用户识别卡输入时钟信号,并在接收到访问用户识别卡的请求后,开始对用户识别卡输入时钟信号。
通过上述方法减少用户识别卡的能耗。
较佳地,上述步骤403中根据请求对用户识别卡进行访问具体包括:
首先,判断接收的请求中是否包含访问路径,然后,当确定在接收的请求中包含访问路径时,将请求中的访问路径确定为与当前通信模块对应的备份路径进行存储,并根据存储的备份路径对用户识别卡进行访问。而当确定在接收的请求中未包含访问路径时,直接根据存储的备份路径对用户识别卡进行访问。
较佳地,根据存储的备份路径对用户识别卡进行访问具体包括:
读取存储的与当前通信模块对应的备份路径。
向用户识别卡发送选择路径指令指示用户识别卡以备份路径为当前路径,并接收到用户识别卡对选择路径指令的响应后,根据当前路径对用户识别卡进行访问。
本发明实施例中,还在接收到用户识别卡对选择路径指令的响应之后,包括:记录用户识别卡的当前路径。
这样,读取存储的与当前通信模块对应的备份路径之后可先不发送选择路径指令,而是先将读取的备份路径与记录的当前路径进行比较,当读取的备份路径与记录的当前路径一致时,直接根据当前路径对用户识别卡进行访问;而当取的备份路径与记录的当前路径不一致时,再向用户识别卡发送选择路径指令。
通过对请求的访问路径备份,可以在不是每个访问请求中都包含访问路径的情况下,保证对用户识别卡的准确访问。
本发明实施例中,终端中,控制芯片通过接口分别与用户识别卡和至少两种模式的通信模块连接,这样,控制芯片接收当前通信模块访问用户识别卡的请求,当确定用户识别卡处于非访问状态时,根据请求对用户识别卡进行访问,并将用户识别卡返回的访问结果发送给当前通信模块,当确定用户识别卡处于访问状态时,等待直至用户识别卡处于非访问状态。这样,通过控制芯片协调各个通信模块对用户识别卡的访问,并由该控制芯片依据请求访问用户识别卡,能够省略终端中的模拟切换器,避免模拟开关切换时处理信号不平稳导致出现的不稳定现象,减少控制芯片与通信模块间的消息交互。
另外,通过在未接收到通信模块的请求的时长大于或等于配置的时长阈值时使控制芯片和/或用户识别卡休眠,能够减少功耗。并且,通过对请求的访问路径备份,可以在不是每个访问请求中都包含访问路径的情况下,保证对用户识别卡的准确访问。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。