安卓软件框架 http://blog.csdn.net/s762888517/article/details/52515008
本文档介绍了uicc的分类以及卡的文件架构与命令格式。
首先我们来看一个结构体:
从上述结构体可以看出,UICC分为两类卡,UIM_ICC与UIM_UICC,也就是我们正常所说的SIM(Subscriber Identification Module 客户识别模块)与USIM(Universal Subscriber Identity Module 全球用户识别卡)。SIM卡支持两种制式分别为移动2G的GSM与电信3G的CDMA。USIM也叫升级版SIM卡则支持联通3G制式WCDMA同时也支持4G制式。无论是sim还是usim,说白了就是一个小的存储盘存放了一个文件夹外加加密(用于鉴权等)计算功能。
sim与usim的文件架构如下所示:
sim部分文件架构示意图
usim文件架构示意图
从上述两个示意图可以看出usim的文件架构上使用了ADF应用文件夹的概念,这样一个卡能同时支持多种运营商制式。
sim与usim的收发命令格式如下所示:
request
rsp
命令码如下所示:
命令码
其中SIM卡GSM制式的CLA为A0,USIM卡的CLA为00(从协议上来说不只00,WCDMA使用的是00)。
SIM卡与USIM卡的命令上区别还是挺大的,就比如SELECT命令,在SIM(GSM制式)中就是定死的A0 A4 00 00 02 +两字节的FID。而在USIM中P1值相对目录(根据你所选定文件或者文件目录相对于当前的文件目录)与绝对目录会有不同的值,P2也有多种不同定义,P3也就是数据长度也不固定的2字节。
sim卡与usim的区别想了解更多的可以自己去ETSI上下载相关协议文档(ts_102221与ts_100977)。