CN1633141A - 将sim卡电话簿导入智能终端的方法和所用的智能终端 - Google Patents
将sim卡电话簿导入智能终端的方法和所用的智能终端 Download PDFInfo
- Publication number
- CN1633141A CN1633141A CN200510002242.5A CN200510002242A CN1633141A CN 1633141 A CN1633141 A CN 1633141A CN 200510002242 A CN200510002242 A CN 200510002242A CN 1633141 A CN1633141 A CN 1633141A
- Authority
- CN
- China
- Prior art keywords
- sim card
- intelligent terminal
- telephone directory
- data
- module
- 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
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种将SIM卡电话簿导入智能终端的方法和所用的智能终端,用户在智能终端输入读取SIM卡电话簿的指令后,智能终端对SIM卡接口控制器进行初始化并使能中断;如果在复位响应等待时间内收到SIM卡的正确的复位响应,则向SIM卡依次发送进行选择电话簿目录文件、选择电话簿数据文件、读取所述数据文件头及获取电话记录的操作的相关指令,每次发送指令后,如果在响应等待时间内产生的中断次数和接收字节正确,说明该步操作成功,再进行下一步操作,读取成功后,将电话记录保存到存储器中完成导入过程,进一步地,还可在智能终端对电话簿进行本地管理。本发明方法极大地方便了用户,也可以成为固网终端业务的新增值点。
Description
技术领域
本发明涉及固网终端,尤其涉及一种将SIM(用户识别模块)卡电话簿导入智能终端的方法及相应的装置。
背景技术
我国目前的固定电话网建设非常完善,是世界最大、最先进的固定电话通信网络。但是目前我国的固网终端大多数是模拟电话,其主要缺点是只能提供模拟语音业务,没有承载复杂数字业务的能力,也无法提供像无线终端一样灵活的电话簿功能。基于强大的数据存储和处理能力以及丰富多样的数据传输手段,固网智能终端具有承载复杂的数字业务的能力,可以向用户提供灵活的增值业务,因而受到越来越多的用户的喜爱。智能终端SIM卡是一种基于微处理器的非无源、安全的数据存储媒体,被用于许多数据消息的存储。因为便于携带和管理,非常多的用户都把自己的电话簿保存在SIM卡中,一个SIM卡中有时存储了几百及至上千条的电话记录。
用户采用智能终端后,会希望将SIM卡电话簿导入到智能终端中,不必费时费力地去一条条输入,但现有的固网智能终端还没有提供这个功能。同时,现有固网智能终端也没有对电话簿进行电话号码浏览、查询等本地管理的功能。
因此,为了满足消费者的需求,需要提供一种可以将SIM卡电话簿导入智能终端的方法及相应的智能终端。这也可以成为固网终端业务的新的增值点。
发明内容
本发明要解决的技术问题是提供一种将SIM卡电话簿导入智能终端的方法。本发明还要提供一种实现该方法的智能终端。
为了解决上述技术问题,本发明提供了一种将SIM卡电话簿导入智能终端的方法,应用于智能终端通过SIM卡接口控制器与SIM卡相连的系统,包括以下步骤:
(a)用户在智能终端输入读取SIM卡电话簿的指令后,智能终端对所述SIM卡接口控制器进行初始化并使能中断;
(b)所述智能终端如果在复位响应等待时间内收到SIM卡的正确的复位响应,执行下一步,否则系统出错,结束;
(c)所述智能终端向SIM卡依次发送进行选择电话簿目录文件、选择电话簿数据文件、读取所述数据文件头及获取电话记录的操作的相关指令,每次发送指令后,如果在响应等待时间内产生的中断次数和接收字节正确,说明该步操作成功,再进行下一步操作,否则系统出错,结束;
(d)所述智能终端将读取的电话记录保存到存储器中,在保存了要导入的所有电话记录后,结束。
进一步地,上述导入方法还可具有以下特点:所述智能终端在初始化时还设置一个系统初始状态,由一中断处理单元根据中断响应判断SIM卡响应正常与否或者操作成功与否,如SIM卡正常或操作成功,将系统状态转换为SIM卡正常或该步操作成功状态,如失败,则置为出错状态,再由一驱动单元根据系统当前状态进行相应的下一步操作,两个单元交互完成SIM卡电话簿的读取过程。
进一步地,上述导入方法还可具有以下特点:所述智能终端发送指令后,会等待因接收FIFO有未读字节产生的RFD中断,如果在预设的一次字符等待时间内没有RFD中断产生,就会产生一个通用寄存器中断,如果又过了一个字符等待时间还没有RFD中断产生就会再产生一个通用寄存器中断,预设的通用寄存器中断的最大次数决定了所述智能终端的响应等待时间,当通用寄存器中断次数达到预设值后,即认为系统出错。
进一步地,上述导入方法还可具有以下特点:所述步骤(b)中,如果智能终端在预设次数的复位响应等待时间内收到正确的响应字节,则认为SIM卡做出了正确的复位响应。
进一步地,上述导入方法还可具有以下特点:所述步骤(c)进一步包括以下步骤:
(c1)所述智能终端向SIM卡发送“选择”命令,判断是否在响应等待时间内的一次字符等待时间内微处理控制器产生RFD中断且收到字节“A4”,如果是,将系统状态设为成功选择目录文件状态,执行下一步,否则系统出错,结束;
(c2)所述智能终端向SIM卡发送SIM卡电话簿所在目录文件标识,判断是否在响应等待时间内的一次字符等待时间内微处理控制器产生RFD中断且收到字节’9F,XX’,如果是,将系统状态设为成功发送目录文件标识状态,执行下一步,否则系统出错,结束;
(c3)所述智能终端向SIM卡发送“选择”命令,判断是否在响应等待时间内的一次字符等待时间内微处理控制器产生RFD中断且收到字节“A4”,如果是,将系统状态设为成功选择数据文件状态,执行下一步,否则系统出错,结束;
(c4)所述智能终端向SIM卡发送SIM卡电话簿所在数据文件标识,判断是否在响应等待时间内的一次字符等待时间内微处理控制器产生RFD中断且收到字节’9F,len’,如果是,保存len(文件头信息长度),将系统状态设为成功发送数据文件标识状态,执行下一步,否则系统出错,结束;
(c5)所述智能终端向SIM卡发送“获取响应”命令,判断是否在响应等待时间内的一次字符等待时间内微处理控制器产生RFD中断且收到正确的响应字节,如果是,保存代表电话记录长度的字节,将系统状态设为成功获取文件头状态,执行下一步,否则系统出错,结束;
(c6)所述智能终端向SIM卡发送“获取记录”命令,携带要读取的记录号和记录长度,然后判断是否在响应等待时间内的一次字符等待时间内微处理控制器产生RFD中断且收到电话记录字节数加3个字节,如果是,将该条电话记录中的有效数据保存到缓存,并将系统状态设为成功读取电话记录状态,执行下一步,否则系统出错,结束。
进一步地,上述导入方法还可具有以下特点:所述步骤(d)中,所述存储器为闪存,智能终端是逐条读取要导入的电话记录数据并写入缓存,然后将缓存中的数据一次写入该闪存。
本发明提供的可导入SIM卡电话簿的智能终端包括人机接口模块、与SIM卡连接的SIM卡接口控制器、SIM卡驱动模块、存储器及文件管理模块,其中:
所述人机接口模块,用于维护用户和所述智能终端间的人机界面,根据用户指令,激活SIM卡驱动模块启动导入过程,以及显示提示信息;
所述SIM卡接口控制器,用于将总线发来的数据保存在发送缓存器中,并以符合接口标准的信号形式放到外部端口,同时接收SIM卡返回的数据存于内部缓存器中;
所述SIM卡驱动模块,用于在收到用户指令后,初始化配置SIM卡接口控制器,进行工作状态设置并根据当前状态通过所述SIM卡接口控制器向SIM卡发送相应控制命令,将所述SIM卡接口控制器缓存的电话记录数据交给所述文件管理模块处理;
所述文件管理模块,用于将读取的电话记录保存在所述存储器中。
进一步地,上述智能终端还可具有以下特点:所述SIM卡驱动模块进一步包括初始化单元、中断处理单元及电话簿读取单元。其中:
所述初始化单元,用于初始化SIM卡接口控制器,设置SIM卡接口控制器工作状态机的初始状态并使能中断;
所述中断处理单元,用于根据当前工作状态和SIM卡的中断响应,转换SIM卡工作状态机的工作状态;
所述电话簿读取单元,用于根据当前工作状态,依次向SIM卡发送“选择”、“获取响应”及“获取记录”指令,完成对SIM卡电话簿的读取,并将读取到的电话记录交给所述文件管理模块处理。
进一步地,上述智能终端还可具有以下特点:所述SIM卡接口控制器通过标准的ISO7816接口与SIM卡相连接。
进一步地,上述智能终端还可具有以下特点:所述智能终端采用包含SIM卡接口控制器的芯片,所述存储器采用闪存。
本发明要解决的另一技术问题是提供一种将SIM卡电话簿导入智能终端并在本地管理的方法。本发明还要提供一种实现该方法的智能终端。
为了解决上述技术问题,本发明提供了一种将SIM卡电话簿导入智能终端并在本地管理的方法,应用于智能终端通过SIM卡接口控制器与SIM卡相连的系统,包括以下步骤:
(a)用户在智能终端输入读取SIM卡电话簿的指令后,智能终端对所述SIM卡接口控制器进行初始化并使能中断;
(b)所述智能终端如果在复位响应等待时间内收到SIM卡的正确的复位响应,执行下一步,否则系统出错,结束;
(c)所述智能终端向SIM卡依次发送进行选择电话簿目录文件、选择电话簿数据文件、读取所述数据文件头及获取电话记录的操作的相关指令,每次发送指令后,如果在响应等待时间内产生的中断次数和接收字节正确,说明该步操作成功,再进行下一步操作,否则系统出错,结束;
(d)所述智能终端将读取的电话记录保存到存储器中,在保存了要导入的所有电话记录后,结束。
(e)用户要在所述智能终端浏览电话簿时,所述智能终端将存储的电话号码和人名读到缓存中,将电话记录中的标识符部分从Unicode编码转换为GB2312的编码,排序后显示,对应的电话号码数据直接利用ASCII码库显示;
(f)所述智能终端接收到来电号码后,按照数字号码到存储的电话簿中查询是否有相同电话号码,如果有,将相应的人名数据读出,从Unicode编码转换成GB2312编码后和电话号码一起显示;如果没有,只显示电话号码。
进一步地,上述导入管理方法还可具有以下特点:所述智能终端中预存有Unicode编码库和GB2312编码库,该两个编码库的编码存在一一对应关系且按照Unicode编码由小到大排序,所述智能终端在浏览或查询时,是根据缓存中的Unicode编码数据在Unicode编码库中按照对分法进行查找,得到该数据在Unicode编码库中的索引号,再利用该索引号到GB2312编码库中找到该数据相应的GB2312编码。
本发明提供的可导入SIM卡电话簿并在本地管理的智能终端包括人机接口模块、与SIM卡连接的SIM卡接口控制器、SIM卡驱动模块、存储器及文件管理模块,电话簿浏览模块、电话簿查询模块、ASIC编码库、Unicode编码库、GB2312编码库以及编码转换模块,其中:
所述人机接口模块,用于维护用户和所述智能终端间的人机界面,根据用户指令,激活SIM卡驱动模块启动导入过程,以及显示提示信息;
所述SIM卡接口控制器,用于将总线发来的数据保存在发送缓存器中,并以符合接口标准的信号形式放到外部端口,同时接收SIM卡返回的数据存于内部缓存器中;
所述SIM卡驱动模块,用于在收到用户指令后,初始化配置SIM卡接口控制器,进行工作状态设置并根据当前状态通过所述SIM卡接口控制器向SIM卡发送相应控制命令,将所述SIM卡接口控制器缓存的电话记录数据交给所述文件管理模块处理;
所述文件管理模块,用于将读取的电话记录保存在所述存储器中;
所述电话簿浏览模块,用于在收到用户浏览电话簿的指令后,将存储的电话号码和人名读到缓存中,并调用所述编码转换模块将电话记录中的标识符部分从Unicode编码转换为GB2312的编码,排序后显示,对应的电话号码数据直接利用ASIC码库显示;
所述编码转换模块,用于将电话记录中的标识符部分从Unicode编码转换为GB2312的编码。
所述电话号码查询模块,用于在接收到来电号码后,按照数字号码到存储的电话簿中查询是否有相同电话号码,如果有,将相应的人名数据读出,调用所述编码转换模块将其从Unicode编码转换成GB2312编码后和电话号码一起显示;如果没有,只显示电话号码。
由上可知,本发明利用智能终端强大的数据存储和处理能力,以及SIM卡的标准接口,实现了SIM卡电话簿向智能终端的导入。特别适用于智能终端等设备中,极大地方便了用户,也可以成为固网终端业务的新增值点。
附图说明
图1是本发明实施例SIM卡接口硬件原理图。
图2是本发明实施例的功能框图。
图3是图2中SIM卡驱动模块的功能框图。
图4是电话簿在SIM卡中目录结构的示意图。
图5是本发明实施例电话簿导入流程及工作状态转换图。
图6是本发明实施例智能终端电话号码浏览的流程图。
图7是本发明实施例智能终端电话号码查询的流程图。
具体实施方式
本实施例以具有SIM卡接口控制器(ISO7816)的芯片的智能终端为例,但芯片上没有集成SIM卡控制器接口,而是在主板上具有SIM卡接口的智能终端也能实现本发明。该SIM卡接口控制器与SIM卡及外接电源连接而成的SIM卡接口的硬件原理如图1所示。
本实施例中芯片内部集成有SIM卡接口控制器(SIM),可以将MCU(微处理控制器)通过总线发来的数据保存在发送缓存器中,并以符合ISO7816标准的信号形式放到外部端口,同时接收SIM卡返回的数据存于内部缓存器中。该芯片基于ISO7816协议标准,提供SIM卡接口标准信号,其SIMCK管脚、SIMRST管脚和SIMIO管脚分别与SIM卡CLK管脚、RST管脚和DAT管脚连接,SIMV管脚用于VCC控制。其内部具有10个32位用户可读取寄存器、2个16位内部寄存器以及2个内部FIFO,用户可以通过配置寄存器发出RST信号、配置接口速率等参数,以及接收ATR(复位响应)。
本实施例的SIM卡通过标准的ISO7816接口与智能终端通讯,接收芯片SIM卡接口发来的认证、卡内信息读取等指令,完成相应操作并返回响应。
在上述接口硬件的基础上,还需要在智能终端内用软件模块控制SIM卡内电话簿到智能终端内Flash的导入,如图2所示,该导入控制系统包括SIM卡和智能终端上的人机接口模块、SIM卡接口控制器(已在上文介绍)、SIM卡驱动模块、Flash文件管理模块和Flash。其中:
人机接口模块,用于维护用户和所述智能终端间的人机界面,根据用户指令,激活SIM卡驱动模块启动导入过程,以及显示提示信息。
SIM卡驱动模块(图中将其与SIM卡接口控制器放在一个框内),用于在收到用户指令后,初始化配置SIM卡接口控制器,进行工作状态设置并根据状态向SIM卡发送相应控制命令,读取到的电话记录交给Flash文件管理模块处理。该模块进一步包括初始化单元、中断处理单元及电话簿读取单元。其中:
初始化单元,用于初始化SIM卡接口控制器,设置SIM卡接口控制器工作状态机的初始状态并使能中断。
中断处理单元,用于根据当前工作状态和SIM卡的中断响应,改变SIM卡工作状态机的工作状态。
电话簿读取单元,用于根据当前工作状态,向SIM卡发送“选择”、“获取响应”、“获取记录”等指令,完成对SIM卡电话簿的读取,并将读取到的电话记录交给Flash文件管理模块处理。
Flash文件管理模块,用于对Flash进行擦除、写入等操作,将电话记录保存在Flash中。
下面将详细介绍本实施例导入方法的步骤,为了便于理解,先介绍一下ISO7816标准和GSM11.11标准中电话簿在SIM卡中的目录结构。如图4所示,其中,MF(Main File)为最顶层目录,文件ID为3F00,是SIM卡上电后的默认目录;DF(Dedicated File)为MF下一层功能目录,电话簿在DFTELECOM中,该目录文件ID(标识)为7F10;EF(Elementary File)为数据文件,电话簿文件为EFADN,该数据文件ID为6F3A。
成功选择EF文件后返回的文件头信息长度(len)大于等于15个字节,其中第15个字节为记录长度(record_len),对于EFADN文件,记录长度表示一条电话记录所包含的所有信息的长度。本实施例EFADN文件最多包含255条电话记录。
一条电话记录所需的字节数record_len=X+14不定长,其中1to X字节为Alpha标示符,如姓名等对电话号码的标示,如果Alpha标示符为汉字或汉字和英文的混和编码形式,那么第一个字节为0x80或0x81或0x82,从第二个字节开始代表汉字或英文、数字,为Unicode双字节编码;如果Alpha标示符只是数字或英文,只采用单字节ASCII编码。X为可以显示的最大长度,不足最大长度的字节为FF;X+2字节为电话号码的编码方式,区分国际(0x91)和国内(0x81或0xA1)电话号码;X+3 to X+12存放BCD码形式的电话号码,每个字节为倒序排列,最多可存放20位数字,没有号码的字节为0xFF;X+1字节表示上述两类信息的实际数据所占的字节个数。下面给出了SIM卡电话记录的存储实例:
例1:国内电话号码01062302218的存储方式:X+2 X+3 X+8 X+12
81 | 10 | 60 | 32 | 20 | 12 | F8 | FF | FF | FF | FF |
例2:国际电话号码+8601062302218的存储方式:X+2 X+3 X+9 X+12
91 | 68 | 10 | 60 | 32 | 20 | 12 | F8 | FF | FF | FF |
本实施例要用到的对SIM卡操作的指令为:1)SELECT,即选择指令;2)GET_RESPONSE,即获取响应指令;3)READ_RECORD,即读取记录指令。要从SIM卡读取一次数据,需要发出SELECT和GET_RESPONSE两次指令,而SELECT指令也包括向SIM发送SELECT指令的操作符并等待响应,以及发送所选文件ID并等待响应两步操作。命令格式和响应格式参见ISO7816标准和GSM11.11,这里不再赘述。
将SIM卡电话簿导入智能终端的流程包括以下步骤,请同时参照图5。
步骤一,用户通过人机接口模块输入读取SIM卡电话簿的指令,假定是要读取所有记录,初始化单元对SIM卡接口控制器进行初始化,设置其工作状态机的初始状态(SIM_INIT)并使能中断;
其中包括:复位整个SIM卡接口控制器,包括内部的接收机和发送机;使能SIM卡接口控制器,包括内部的接收机;使能SIM卡VCC电源,设置SIM卡自动断电功能无效;设置T=0模式、设置SIM发送机发送字符额外等待时间为2ETU;选择时钟的异步波特率约数为372、设置自动NACK(指要求发方重发)有效和设置初始字符模式有效;设置GPCNT(通用计数器)计数值为40000,对应40000个SIM卡接口控制器时钟;设置字符等待时间计数器为9600ETU(ETU:比特单位传输时间);使能通用计数器开始计数、使能字符等待时间计数器开始计数;开放RFD(接收FIFO有未读数据)中断、开放GPCNT中断;设置系统状态为SIM_INIT(即系统的初始状态);使能SIM卡时钟、复位SIM卡RST管脚。
SIM卡驱动模块发送指令后,会等待MCU产生RFD中断返回字符,按上述配置,一次字符等待时间为9600ETU,如果没有产生RFD中断,在该等待时间到达后会产生一个GPCNT中断,如果又过了一个字符等待时间还没有响应就会再产生一个GPCNT中断,当GPCNT中断达到一定次数(如50次),则认为SIM卡工作不正常,系统出错,为了说明方便,下面将产生一定次数(如50次)GPCNT中断的时间称为响应等待时间。如果在响应等待时间内的一次字符等待时间内产生了RFD中断且中断次数和接收的字节正确,则中断处理单元会将GPCNT中断屏蔽(在中断处理结束前再将其开启),并将系统状态设为相应的操作成功状态。
需要说明的是,上述设置是在采用带有SIM卡控制接口芯片(如DTT6C01A芯片)时做的示例,但本发明并不局限于此,在采用其它芯片或有不同需要时其初始化设置也可相应地变化。
步骤二,中断处理单元判断是否在40000个SIM卡接口控制器时钟之内(即一次复位响应等待时间)收到SIM卡发出的正确ATR响应(响应字节个数根据SIM卡生产厂商不同而不同,具体参见GSM11.11),如果是,设系统状态为SIM卡响应正常状态(SIM_ATR_OK),执行下一步;否则,等到40000个SIM卡接口控制器时钟过后产生GPCNT中断,将系统状态设置为再次等待响应状态(SIM_ATR_AGAIN),如果在下一个一次复位响应等待时间内收到SIM卡发出的正确的ATR响应,设系统状态为SIM_ATR_OK,执行下一步,否则再次等待;如果产生了一定次数(如50次)GPCNT中断,表明没有插入SIM卡或SIM卡识别失败,将系统状态设为SIM卡出错(SIM_ERROR),结束;
步骤三,电话簿读取单元判断到系统状态为SIM_ATR_OK时,对SIM卡发送SELECT命令,为连续的’A0,A4,00,00,02’五个字节数据。然后,中断处理单元判断是否在响应等待时间内的一次字符等待时间内MCU产生RFD中断且接收的字节是’A4’,如果是,将系统状态设为成功选择DF文件状态(SIM_SEL_DF_OK),执行下一步;否则,将系统状态设为SIM_ERROR,结束;
步骤四,电话簿读取单元判断到系统状态为SIM_SEL_DF_OK时,向SIM卡发送DFTELECOM文件ID’7F,10’两个字节的数据。然后,中断处理单元判断是否在响应等待时间内的一次字符等待时间内MCU产生2次RFD中断且返回的状态参数为’9F,XX’,如果是,接收这2个状态字节,设系统状态为成功发送DF文件ID状态(SIM_SEND_DFID_OK),执行下一步;否则,将系统状态设为SIM_ERROR,结束;
步骤五,电话簿读取单元判断到系统状态为SIM_SEND_DFID_OK时,对SIM卡发送SELECT命令,为连续的’A0,A4,00,00,02’五个字节数据。然后,中断处理单元判断是否在响应等待时间内的一次字符等待时间内MCU产生RFD中断且接收的字节是’A4’,如果是,将系统状态设为成功选择EF文件状态(SIM_SEL_EF_OK),执行下一步;否则,将系统状态设为SIM_ERROR,结束;
步骤六,电话簿读取单元判断到系统状态为SIM_SEL_EF_OK时,向SIM卡发送EFADN文件ID’6F,3A’两个字节的数据。然后,中断处理单元判断是否在响应等待时间内的一次字符等待时间内MCU产生2次RFD中断且返回状态参数’9F,len’(其中len为EFADN文件信息头长度),如果是,接收这2个状态字节并保存’len’,设置成功发送EF文件ID状态(SIM_SEND_EFID_OK),执行下一步;否则,将系统状态设为SIM_ERROR,结束;
步骤七,电话簿读取单元判断到系统状态为SIM_SEND_EFID_OK时,向SIM卡发送GET RESPONSE命令,为连续的’A0,C0,00,00,len’五个字节数据。然后,中断处理单元判断是否在响应等待时间内的一次字符等待时间内MCU产生大于等于18次RFD中断,返回响应数据和状态参数为连续的’C0,info1,...,info15,infooption1,...,infooptionX,90,00’(info1,...,infooptionX为EFADN文件头信息,其中infooption1,...,infooptionX可选,不同厂家的SIM卡,该值不同,但是第15个字节info15保存的均为电话记录长度),如果是,接收这字节并保存info15,将系统状态设为成功获取文件头状态(SIM_GET_HEADER_OK),执行下一步;否则,将系统状态设为SIM_ERROR,结束;
步骤八,电话簿读取单元判断到系统状态为SIM_GET_HEADER_OK时,向SIM卡发送READ_RECORD命令,为连续的’A0,B2,recNo,04,record_len’五个字节数据,其中recNo为要读取的记录号(这里从最小值开始,也可根据用户输入确定);’04’为按绝对地址读取数据,record_len为已获取的电话记录长度。然后,中断处理单元判断是否在响应等待时间内的一次字符等待时间内MCU产生1+record_len+2次RFD中断,返回响应的数据和状态参数为连续的’B2,dat1,...,datX,...,datX+14,90,00’,共X+17个字节,(其中dat1,...,datX为Alpha标识符,datX+2为电话记录的编码方式;datX+3-datX+12为电话号码),如果是,接收这X+17个字节并保存dat1,...,datX中非’FF’的字节数n1和数据,datX+2,以及datX+3-datX+12中非’FF’的字节数n2和数据到缓存中(同时要为每条记录加上记录头、索引号等),系统状态设为成功读取电话记录状态(SIM_READ_RECORD_OK),执行下一步;否则,将系统状态设为SIM_ERROR,结束;
步骤九,电话簿读取单元判断系统状态为SIM_READ_RECORD_OK时,检查已读取的电话记录数是否大于255,或者记录数小于等于255且datX+3-datX+12的值为0xFFFFFFFFFF,如果否,将recNo加1,返回步骤八继续读取电话记录;如果是,表明电话簿读取完毕,系统状态设为成功保存记录状态(RECORD_SAVE_OK)执行下一步;(如果用户选择输入单条记录,则不必执行该步骤)
步骤十,电话簿读取单元判断系统状态为RECORD_SAVE_OK时,调用Flash文件管理模块将缓存中的全部电话记录信息写入Flash,写入成功后,将系统状态设为成功导入记录状态(RECORD_TRANSIT_OK),人机接口模块在LCD显示相应提示信息。这样在就成功实现了SIM卡电话簿数据向智能终端的转移。本实施例先读完所有电话记录后再一次写入Flash,可以避免Flash频繁的擦除操作。
电话记录在Flash中存储的格式如下:
1 n1 1 n2
FF | n | n1 | n2 | dat1 | … | darn1 | darX+2 | datX+3 | … | datX+3+n2 |
其中,FF为一条记录的起始标志;n为电话记录的索引号;n1为Alphia标识符的长度;n2为电话号码的长度;dat1一datn1为Alphia标识符;datX+2为电话记录的编码方式;datX+3-datX+12为电话号码
电话簿的本地管理主要包括电话号码浏览、电话号码查询功能。
因为手机内部带有ASIC码库和Unicode字库,SIM卡中的数字和字母是以ASIC码形式存储、汉字是以Unicode编码形式存储的;而智能终端液晶屏的汉字显示需要以点阵形式点亮,所以智能终端用的汉字库为GB2312。从SIM卡导入到智能终端中的电话号码簿,汉字也是以Unicode编码存储的,所以要能将导入的SIM卡电话簿汉字显示出来,必须将Unicode编码转换成GB2312编码,而在进行号码检索时还要进行电话号码的全检索,才能到存储区中查找号码对应的人名。其中:
电话号码浏览由人机接口模块、电话簿浏览模块、AScII编码库、Unicode编码库、GB2312编码库以及编码转换模块共同完成,其实现流程如图6所示,包括以下步骤:
步骤610,用户在智能终端菜单项中选择“电话簿浏览”选项,启动电话簿浏览模块;
步骤620,电话簿浏览模块将存储到智能终端Flash中的电话号码和人名全部读到缓存中;
步骤630,编码转换模块对电话记录中的Alpha标识符部分进行Unicode到GB2312模块的转换,将Unicode编码数据转换成相应的GB2312编码数据,然后按照人名拼音排序,显示在LCD屏上,对应的电话号码数据则直接利用智能终端内部的ASIC码库显示在LCD上,实现电话簿的浏览显示。
其中,Unicode编码库和GB2312编码库预存在智能终端Flash中。预存的两编码库的编码要存在一一对应的关系,并且是按照Unicode编码由小到大排过序的。编码转换模块根据缓存中的Unicode编码数据在Unicode编码库中按照对分法进行查找,得到该数据在Unicode编码库中的索引号,利用该索引号到GB2312编码库中找到该数据相应的GB2312编码。
电话号码查询由人机接口模块、电话号码查询模块、ASCII编码库、Unicode编码库、GB2312编码库以及编码转换模块共同完成,其实现流程如图7所示,包括以下步骤:
步骤710,智能终端接收到来电号码后,启动电话号码查询模块;
步骤720,电话号码查询模块按照数字号码到存储在Flash中的电话簿中查询是否有相同电话号码,如果有,执行下一步,否则执行步骤740;
步骤730,将相应的人名数据读出,经过编码转换模块转换成GB2312编码,和电话号码一起显示在LCD屏上,结束;
步骤740,只在屏上显示电话号码,结束。
显然地,对于其他的智能终端来说,只要使用本实施例智能终端所用的DTT6C01A芯片或者实现相似功能的芯片,就可以采用本发明的方法将SIM卡内的电话簿导入到智能终端中。另外,对于SIM卡的正确响应,主要根据所执行的标准来决定,也不局限在实施例中的具体数据。
综上所述,本发明实现了手机SIM卡与智能终端的接口和SIM卡电话簿数据向智能终端的转移,进一步还提供了在智能终端中对电话簿进行管理的方法,实现了无线设备和固网终端设备之间的数据共享,将固网智能终端升级为一个开放的平台。
Claims (13)
1、一种将SIM卡电话簿导入智能终端的方法,应用于智能终端通过SIM卡接口控制器与SIM卡相连的系统,包括以下步骤:
(a)用户在智能终端输入读取SIM卡电话簿的指令后,智能终端对所述SIM卡接口控制器进行初始化并使能中断;
(b)所述智能终端如果在复位响应等待时间内收到SIM卡的正确的复位响应,执行下一步,否则系统出错,结束;
(c)所述智能终端向SIM卡依次发送进行选择电话簿目录文件、选择电话簿数据文件、读取所述数据文件头及获取电话记录的操作的相关指令,每次发送指令后,如果在响应等待时间内产生的中断次数和接收字节正确,说明该步操作成功,再进行下一步操作,否则系统出错,结束;
(d)所述智能终端将读取的电话记录保存到存储器中,在保存了要导入的所有电话记录后,结束。
2、如权利要求1所述的方法,其特征在于,所述智能终端在初始化时还设置一个系统初始状态,由一中断处理单元根据中断响应判断SIM卡响应正常与否或者操作成功与否,如SIM卡正常或操作成功,将系统状态转换为SIM卡正常或该步操作成功状态,如失败,则置为出错状态,再由一驱动单元根据系统当前状态进行相应的下一步操作,两个单元交互完成SIM卡电话簿的读取过程。
3、如权利要求1或2所述的方法,其特征在于,所述智能终端发送指令后,会等待因接收FIFO有未读字节产生的RFD中断,如果在预设的一次字符等待时间内没有RFD中断产生,就会产生一个通用寄存器中断,如果又过了一个字符等待时间还没有RFD中断产生就会再产生一个通用寄存器中断,预设的通用寄存器中断的最大次数决定了所述智能终端的响应等待时间,当通用寄存器中断次数达到预设值后,即认为系统出错。
4、如权利要求3所述的方法,其特征在于,所述步骤(b)中,如果智能终端在预设次数的复位响应等待时间内收到正确的响应字节(不同公司的SIM卡响应字节个数也不同,具体参见GSM11.11),则认为SIM卡做出了正确的复位响应。
5、如权利要求3所述的方法,其特征在于,所述步骤(c)进一步包括以下步骤:
(c1)所述智能终端向SIM卡发送“选择”命令,判断是否在响应等待时间内的一次字符等待时间内微处理控制器产生RFD中断且收到字节“A4”,如果是,将系统状态设为成功选择目录文件状态,执行下一步,否则系统出错,结束;
(c2)所述智能终端向SIM卡发送SIM卡电话簿所在目录文件标识,判断是否在响应等待时间内的一次字符等待时间内微处理控制器产生RFD中断且收到字节’9F,XX’,如果是,将系统状态设为成功发送目录文件标识状态,执行下一步,否则系统出错,结束;
(c3)所述智能终端向SIM卡发送“选择”命令,判断是否在响应等待时间内的一次字符等待时间内微处理控制器产生RFD中断且收到字节“A4”,如果是,将系统状态设为成功选择数据文件状态,执行下一步,否则系统出错,结束;
(c4)所述智能终端向SIM卡发送SIM卡电话簿所在数据文件标识,判断是否在响应等待时间内的一次字符等待时间内微处理控制器产生RFD中断且收到字节’9F,len’,如果是,保存len,将系统状态设为成功发送数据文件标识状态,执行下一步,否则系统出错,结束;
(c5)所述智能终端向SIM卡发送“获取响应”命令,判断是否在响应等待时间内的一次字符等待时间内微处理控制器产生RFD中断且收到正确的响应字节,如果是,保存代表电话记录长度的字节,将系统状态设为成功获取文件头状态,执行下一步,否则系统出错,结束;
(c6)所述智能终端向SIM卡发送“获取记录”命令,携带要读取的记录号和记录长度,然后判断是否在响应等待时间内的一次字符等待时间内微处理控制器产生RFD中断且收到电话记录字节数加3个字节,如果是,将该条电话记录中的有效数据保存到缓存并加上记录头和索引号,将系统状态设为成功读取电话记录状态,执行下一步,否则系统出错,结束。
6、如权利要求1所述的方法,其特征在于,所述步骤(d)中,所述存储器为闪存,智能终端是逐条读取要导入的电话记录数据并写入缓存,然后将缓存中的数据一次写入该闪存。
7、一种可导入SIM卡电话簿的智能终端,其特征在于,包括人机接口模块、与SIM卡连接的SIM卡接口控制器、SIM卡驱动模块、存储器及文件管理模块,其中:
所述人机接口模块,用于维护用户和所述智能终端间的人机界面,根据用户指令,激活SIM卡驱动模块启动导入过程,以及显示提示信息;
所述SIM卡接口控制器,用于将总线发来的数据保存在发送缓存器中,并以符合接口标准的信号形式放到外部端口,同时接收SIM卡返回的数据存于内部缓存器中;
所述SIM卡驱动模块,用于在收到用户指令后,初始化配置SIM卡接口控制器,进行工作状态设置并根据当前状态通过所述SIM卡接口控制器向SIM卡发送相应控制命令,将所述SIM卡接口控制器缓存的电话记录数据交给所述文件管理模块处理;
所述文件管理模块,用于将读取的电话记录保存在所述存储器中。
8、如权利要求7所述的智能终端,其特征在于,所述SIM卡驱动模块进一步包括初始化单元、中断处理单元及电话簿读取单元。其中:
所述初始化单元,用于初始化SIM卡接口控制器,设置SIM卡接口控制器工作状态机的初始状态并使能中断;
所述中断处理单元,用于根据当前工作状态和SIM卡的中断响应,转换SIM卡工作状态机的工作状态;
所述电话簿读取单元,用于根据当前工作状态,依次向SIM卡发送“选择”、“获取响应”及“获取记录”指令,完成对SIM卡电话簿的读取,并将读取到的电话记录交给所述文件管理模块处理。
9、如权利要求7所述的智能终端,其特征在于,所述SIM卡接口控制器通过标准的ISO7816接口与SIM卡相连接。
10、如权利要求7所述的智能终端,其特征在于,所述智能终端包括包含SIM卡接口控制器的芯片,所述存储器采用闪存。
11、一种将SIM卡电话簿导入智能终端并在本地管理的方法,应用于智能终端通过SIM卡接口控制器与SIM卡相连的系统,包括以下步骤:
(a)用户在智能终端输入读取SIM卡电话簿的指令后,智能终端对所述SIM卡接口控制器进行初始化并使能中断;
(b)所述智能终端如果在复位响应等待时间内收到SIM卡的正确的复位响应,执行下一步,否则系统出错,结束;
(c)所述智能终端向SIM卡依次发送进行选择电话簿目录文件、选择电话簿数据文件、读取所述数据文件头及获取电话记录的操作的相关指令,每次发送指令后,如果在响应等待时间内产生的中断次数和接收字节正确,说明该步操作成功,再进行下一步操作,否则系统出错,结束;
(d)所述智能终端将读取的电话记录保存到存储器中,在保存了要导入的所有电话记录后,结束。
(e)用户要在所述智能终端浏览电话簿时,所述智能终端将存储的电话号码和人名读到缓存中,将电话记录中的标识符部分从Unicode编码转换为GB2312的编码,排序后显示,对应的电话号码数据直接利用ASIC码库显示;
(f)所述智能终端接收到来电号码后,按照数字号码到存储的电话簿中查询是否有相同电话号码,如果有,将相应的人名数据读出,从Unicode编码转换成GB2312编码后和电话号码一起显示;如果没有,只显示电话号码。
12、如权利要求11所述的方法,其特征在于,所述智能终端中预存有Unicode编码库和GB2312编码库,该两个编码库的编码存在一一对应关系且按照Unicode编码由小到大排序,所述智能终端在浏览或查询时,是根据缓存中的Unicode编码数据在Unicode编码库中按照对分法进行查找,得到该数据在Unicode编码库中的索引号,再利用该索引号到GB2312编码库中找到该数据相应的GB2312编码。
13、一种可导入SIM卡电话簿并在本地管理的智能终端,其特征在于,包括人机接口模块、与SIM卡连接的SIM卡接口控制器、SIM卡驱动模块、存储器及文件管理模块,电话簿浏览模块、电话簿查询模块、ASIC编码库、Unicode编码库、GB2312编码库以及编码转换模块,其中:
所述人机接口模块,用于维护用户和所述智能终端间的人机界面,根据用户指令,激活SIM卡驱动模块启动导入过程,以及显示提示信息;
所述SIM卡接口控制器,用于将总线发来的数据保存在发送缓存器中,并以符合接口标准的信号形式放到外部端口,同时接收SIM卡返回的数据存于内部缓存器中;
所述SIM卡驱动模块,用于在收到用户指令后,初始化配置SIM卡接口控制器,进行工作状态设置并根据当前状态通过所述SIM卡接口控制器向SIM卡发送相应控制命令,将所述SIM卡接口控制器缓存的电话记录数据交给所述文件管理模块处理;
所述文件管理模块,用于将读取的电话记录保存在所述存储器中;
所述电话簿浏览模块,用于在收到用户浏览电话簿的指令后,将存储的电话号码和人名读到缓存中,并调用所述编码转换模块将电话记录中的标识符部分从Unicode编码转换为GB2312的编码,排序后显示,对应的电话号码数据直接利用ASCII码库显示;
所述编码转换模块,用于将电话记录中的标识符部分从Unicode编码转换为GB2312的编码;
所述电话号码查询模块,用于在接收到来电号码后,按照数字号码到存储的电话簿中查询是否有相同电话号码,如果有,将相应的人名数据读出,调用所述编码转换模块将其从Unicode编码转换成GB2312编码后和电话号码一起显示;如果没有,只显示电话号码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100022425A CN100438533C (zh) | 2005-01-18 | 2005-01-18 | 将sim卡电话簿导入智能终端的方法和所用的智能终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100022425A CN100438533C (zh) | 2005-01-18 | 2005-01-18 | 将sim卡电话簿导入智能终端的方法和所用的智能终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1633141A true CN1633141A (zh) | 2005-06-29 |
CN100438533C CN100438533C (zh) | 2008-11-26 |
Family
ID=34852943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100022425A Active CN100438533C (zh) | 2005-01-18 | 2005-01-18 | 将sim卡电话簿导入智能终端的方法和所用的智能终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100438533C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100504872C (zh) * | 2006-12-31 | 2009-06-24 | 北京握奇数据系统有限公司 | 一种在电信智能卡中存储应用数据的方法 |
WO2009106004A1 (zh) * | 2008-02-29 | 2009-09-03 | 西安西电捷通无线网络通信有限公司 | 基于wapi的手机数字证书存取方法和系统 |
CN1968301B (zh) * | 2005-11-17 | 2010-10-13 | 华硕电脑股份有限公司 | 在一移动装置中进行同步存储通信簿数据的方法及其装置 |
CN101571869B (zh) * | 2009-05-31 | 2011-04-20 | 北京握奇数据系统有限公司 | 一种智能卡的文件存储、读取方法及装置 |
CN102984240A (zh) * | 2012-11-21 | 2013-03-20 | 华为技术有限公司 | 一种导入、导出联系人的方法及装置 |
CN105046178A (zh) * | 2015-06-25 | 2015-11-11 | 广东华大集成技术有限责任公司 | 一种stm32降频实现高速率读卡器的方法 |
CN109413256A (zh) * | 2018-12-15 | 2019-03-01 | 惠州Tcl移动通信有限公司 | 联系人信息处理方法、装置、存储介质及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0105646D0 (en) * | 2001-03-07 | 2001-04-25 | Matchtip Ltd | Data backup system |
CN1151653C (zh) * | 2001-06-28 | 2004-05-26 | 怡利电子工业股份有限公司 | 可直接下载移动电话晶片(sim)卡内电话本的电话拨号装置 |
US20050010391A1 (en) * | 2003-07-10 | 2005-01-13 | International Business Machines Corporation | Chinese character / Pin Yin / English translator |
-
2005
- 2005-01-18 CN CNB2005100022425A patent/CN100438533C/zh active Active
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1968301B (zh) * | 2005-11-17 | 2010-10-13 | 华硕电脑股份有限公司 | 在一移动装置中进行同步存储通信簿数据的方法及其装置 |
CN100504872C (zh) * | 2006-12-31 | 2009-06-24 | 北京握奇数据系统有限公司 | 一种在电信智能卡中存储应用数据的方法 |
WO2009106004A1 (zh) * | 2008-02-29 | 2009-09-03 | 西安西电捷通无线网络通信有限公司 | 基于wapi的手机数字证书存取方法和系统 |
CN101571869B (zh) * | 2009-05-31 | 2011-04-20 | 北京握奇数据系统有限公司 | 一种智能卡的文件存储、读取方法及装置 |
CN102984240A (zh) * | 2012-11-21 | 2013-03-20 | 华为技术有限公司 | 一种导入、导出联系人的方法及装置 |
CN102984240B (zh) * | 2012-11-21 | 2016-08-31 | 华为技术有限公司 | 一种导入、导出联系人的方法及装置 |
CN105046178A (zh) * | 2015-06-25 | 2015-11-11 | 广东华大集成技术有限责任公司 | 一种stm32降频实现高速率读卡器的方法 |
CN105046178B (zh) * | 2015-06-25 | 2017-10-10 | 广东华大互联网股份有限公司 | 一种stm32降频实现高速率读卡器的方法 |
CN109413256A (zh) * | 2018-12-15 | 2019-03-01 | 惠州Tcl移动通信有限公司 | 联系人信息处理方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN100438533C (zh) | 2008-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101095139B (zh) | 使用逐字节比较来搜索和提供对象 | |
US20080147639A1 (en) | Method and apparatus for organizing a contact list by weighted service type for use by a communication device | |
CN101132293B (zh) | 一种个人信息的处理方法、系统和装置 | |
CN1633141A (zh) | 将sim卡电话簿导入智能终端的方法和所用的智能终端 | |
CN1640109A (zh) | 将名称或标识符映射到电信网络资源位置的方法 | |
CN1649300A (zh) | 由管理服务器升级的本机应用程序目录 | |
CN1717666A (zh) | 一种指示接收到电子消息的通信设备和方法以及一种用于提供计算机化图标订购服务的服务器、方法和计算机程序产品 | |
CN1623148A (zh) | 个人内容的增强存储 | |
CN101216748B (zh) | 输入方法和装置 | |
CN1933512A (zh) | 一种话单处理设备及方法 | |
CN1832513A (zh) | 包括用于字符识别的数字摄像头的无线电信终端及其网络 | |
CN101589388A (zh) | 用于指示文档中的链接的方法和系统 | |
CN1925515A (zh) | 一种查询电话号码的方法及系统 | |
CN101312574A (zh) | 用于在通信终端中管理用户内容的方法 | |
CN104679405A (zh) | 一种终端 | |
CN105631378A (zh) | 一种二维码扫描方法、装置及终端 | |
CN101719961A (zh) | 地区信息查询的实现方法、终端和通信系统 | |
CN101699839A (zh) | 移动终端图形适配系统及其方法 | |
CN201585139U (zh) | 移动终端图形适配系统 | |
CN101212787A (zh) | 个性化信息发布的系统和方法 | |
CN1413043A (zh) | 具有定时发送短消息功能的移动通信装置与方法 | |
CN1136717C (zh) | 接收信息的方法和装置 | |
CN102082859A (zh) | 移动电话及其短信传递方法 | |
CN1434616A (zh) | 直接拨打文本中电话号码的方法 | |
CN205507888U (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20050629 Assignee: Beijing Datang Smart Card Co., Ltd. Assignor: Datang Microelectronics Technology Co., Ltd. Contract record no.: 2016110000008 Denomination of invention: Method for importing SIM card telephone directory into intelligent terminal and intelligent terminal therefor Granted publication date: 20081126 License type: Common License Record date: 20160422 |
|
LICC | Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model |