CN100438533C - 将sim卡电话簿导入智能终端的方法和所用的智能终端 - Google Patents

将sim卡电话簿导入智能终端的方法和所用的智能终端 Download PDF

Info

Publication number
CN100438533C
CN100438533C CNB2005100022425A CN200510002242A CN100438533C CN 100438533 C CN100438533 C CN 100438533C CN B2005100022425 A CNB2005100022425 A CN B2005100022425A CN 200510002242 A CN200510002242 A CN 200510002242A CN 100438533 C CN100438533 C CN 100438533C
Authority
CN
China
Prior art keywords
sim card
intelligent terminal
telephone directory
telephony recording
response
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.)
Active
Application number
CNB2005100022425A
Other languages
English (en)
Other versions
CN1633141A (zh
Inventor
魏少军
杨延辉
庞潼川
尹娜
李作为
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Datang Microelectronics Technology Co Ltd
Original Assignee
Datang Microelectronics Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Datang Microelectronics Technology Co Ltd filed Critical Datang Microelectronics Technology Co Ltd
Priority to CNB2005100022425A priority Critical patent/CN100438533C/zh
Publication of CN1633141A publication Critical patent/CN1633141A/zh
Application granted granted Critical
Publication of CN100438533C publication Critical patent/CN100438533C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

本发明公开了一种将SIM卡电话簿导入智能终端的方法和所用的智能终端,用户在智能终端输入读取SIM卡电话簿的指令后,智能终端对SIM卡接口控制器进行初始化并使能中断;如果在复位响应等待时间内收到SIM卡的正确的复位响应,则向SIM卡依次发送进行选择电话簿目录文件、选择电话簿数据文件、读取所述数据文件头及获取电话记录的操作的相关指令,每次发送指令后,如果在响应等待时间内产生的中断次数和接收字节正确,说明该步操作成功,再进行下一步操作,读取成功后,将电话记录保存到存储器中完成导入过程,进一步地,还可在智能终端对电话簿进行本地管理。本发明方法极大地方便了用户,也可以成为固网终端业务的新增值点。

Description

将SIM卡电话簿导入智能终端的方法和所用的智能终端
技术领域
本发明涉及固网终端,尤其涉及一种将SIM(用户识别模块)卡电话簿导入智能终端的方法及相应的装置。
背景技术
我国目前的固定电话网建设非常完善,是世界最大、最先进的固定电话通信网络。但是目前我国的固网终端大多数是模拟电话,其主要缺点是只能提供模拟语音业务,没有承载复杂数字业务的能力,也无法提供像无线终端一样灵活的电话簿功能。基于强大的数据存储和处理能力以及丰富多样的数据传输手段,固网智能终端具有承载复杂的数字业务的能力,可以向用户提供灵活的增值业务,因而受到越来越多的用户的喜爱。智能终端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卡驱动模块、存储器及文件管理模块,电话簿浏览模块、电话簿查询模块、ASCII编码库、Unicode编码库、GB2312编码库以及编码转换模块,其中:
所述人机接口模块,用于维护用户和所述智能终端间的人机界面,根据用户指令,激活SIM卡驱动模块启动导入过程,以及显示提示信息;
所述SIM卡接口控制器,用于将总线发来的数据保存在发送缓存器中,并以符合接口标准的信号形式放到外部端口,同时接收SIM卡返回的数据存于内部缓存器中;
所述SIM卡驱动模块,用于在收到用户指令后,初始化配置SIM卡接口控制器,进行工作状态设置并根据当前状态通过所述SIM卡接口控制器向SIM卡发送相应控制命令,将所述SIM卡接口控制器缓存的电话记录数据交给所述文件管理模块处理;
所述SIM卡驱动模块进一步包括初始化单元、中断处理单元及电话簿读取单元,其中:
所述初始化单元,用于初始化SIM卡接口控制器,设置SIM卡接口控制器工作状态机的初始状态,使能中断;
所述中断处理单元,用于判断在响应等待时间内产生的中断次数和接收字节是否正确,如果正确说明该步操作成功,其中,在所述电话簿读取单元发送获取电话记录的操作指令时依据所述电话记录长度信息来判断响应等待时间内产生的中断次数是否正确;以及用于根据当前工作状态和SIM卡的中断响应,转换SIM卡工作状态机的工作状态;
所述电话簿读取单元,用于根据当前工作状态,向SIM卡依次发送进行选择电话簿目录文件、选择电话簿数据文件、读取所述数据文件头及获取电话记录的操作的相关指令,所述数据文件头中包含电话记录长度信息,完成对SIM卡电话簿的读取,并将读取到的电话记录交给所述文件管理模块处理;
所述文件管理模块,用于将读取的电话记录保存在所述存储器中;
所述电话簿浏览模块,用于在收到用户浏览电话簿的指令后,将存储的电话号码和人名读到缓存中,并调用所述编码转换模块将电话记录中的标识符部分从Unicode编码转换为GB2312的编码,排序后显示,对应的电话号码数据直接利用ASCII码库显示;
所述编码转换模块,用于将电话记录中的标识符部分从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卡发送相应控制命令,读取到的电话记录交给Flash文件管理模块处理。该模块进一步包括初始化单元、中断处理单元及电话簿读取单元。其中:
初始化单元,用于初始化SIM卡接口控制器,设置SIM卡接口控制器工作状态机的初始状态并使能中断。
中断处理单元,用于根据当前工作状态和SIM卡的中断响应,改变SIM卡工作状态机的工作状态。
电话簿读取单元,用于根据当前工作状态,向SIM卡发送“选择”、“获取响应”、“获取记录”等指令,完成对SIM卡电话簿的读取,并将读取到的电话记录交给Flash文件管理模块处理。
Flash文件管理模块,用于对Flash进行擦除、写入等操作,将电话记录保存在F1ash中。
下面将详细介绍本实施例导入方法的步骤,为了便于理解,先介绍一下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不定长,其中1 to X字节为Alpha标示符,如姓名等对电话号码的标示,如果Alpha标示符为汉字或汉字和英文的混和编码形式,那么第一个字节为0x80或0x81或0x82,从第二个字节开始代表汉字或英文、数字,为Unicode双字节编码;如果Alpha标示符只是数字或英文,只采用单字节ASCII编码。x为可以显示的最大长度,不足最大长度的字节为FF;X+2字节为电话号码的编码方式,区分国际(0x91)和国内(0x81或0xA1)电话号码;X+3to 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中存储的格式如下:
其中,FF为一条记录的起始标志;n为电话记录的索引号;n1为Alphia标识符的长度;n2为电话号码的长度;dat1-datn1为Alphia标识符;datX+2为电话记录的编码方式;datX+3-datX+12为电话号码
电话簿的本地管理主要包括电话号码浏览、电话号码查询功能。
因为手机内部带有ASCII码库和Unicode字库,SIM卡中的数字和字母是以ASCII码形式存储、汉字是以Unicode编码形式存储的;而智能终端液晶屏的汉字显示需要以点阵形式点亮,所以智能终端用的汉字库为GB2312。从SIM卡导入到智能终端中的电话号码簿,汉字也是以Unicode编码存储的,所以要能将导入的SIM卡电话簿汉字显示出来,必须将Unicode编码转换成GB2312编码,而在进行号码检索时还要进行电话号码的全检索,才能到存储区中查找号码对应的人名。其中:
电话号码浏览由人机接口模块、电话簿浏览模块、ASCII编码库、Unicode编码库、GB2312编码库以及编码转换模块共同完成,其实现流程如图6所示,包括以下步骤:
步骤610,用户在智能终端菜单项中选择“电话簿浏览”选项,启动电话簿浏览模块;
步骤620,电话簿浏览模块将存储到智能终端Flash中的电话号码和人名全部读到缓存中;
步骤630,编码转换模块对电话记录中的Alpha标识符部分进行Unicode到GB2312模块的转换,将Unicode编码数据转换成相应的GB2312编码数据,然后按照人名拼音排序,显示在LCD屏上,对应的电话号码数据则直接利用智能终端内部的ASCII码库显示在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 (12)

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卡做出了正确的复位响应。
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卡接口控制器缓存的电话记录数据交给所述文件管理模块处理;
所述SIM卡驱动模块进一步包括初始化单元、中断处理单元及电话簿读取单元,其中:
所述初始化单元,用于初始化SIM卡接口控制器,设置SIM卡接口控制器工作状态机的初始状态,使能中断;
所述中断处理单元,用于判断在响应等待时间内产生的中断次数和接收字节是否正确,如果正确说明该步操作成功,其中,在所述电话簿读取单元发送获取电话记录的操作指令时依据所述电话记录长度信息来判断响应等待时间内产生的中断次数是否正确;以及用于根据当前工作状态和SIM卡的中断响应,转换SIM卡工作状态机的工作状态;
所述电话簿读取单元,用于根据当前工作状态,向SIM卡依次发送进行选择电话簿目录文件、选择电话簿数据文件、读取所述数据文件头及获取电话记录的操作的相关指令,所述数据文件头中包含电话记录长度信息,完成对SIM卡电话簿的读取,并将读取到的电话记录交给所述文件管理模块处理;
所述文件管理模块,用于将读取的电话记录保存在所述存储器中。
8.如权利要求7所述的智能终端,其特征在于,所述SIM卡接口控制器通过标准的ISO7816接口与SIM卡相连接。
9.如权利要求7所述的智能终端,其特征在于,所述智能终端包括包含SIM卡接口控制器的芯片,所述存储器采用闪存。
10.一种将SIM卡电话簿导入智能终端并在本地管理的方法,应用于智能终端通过SIM卡接口控制器与SIM卡相连的系统,包括以下步骤:
(a)用户在智能终端输入读取SIM卡电话簿的指令后,智能终端对所述SIM卡接口控制器进行初始化,使能中断;
(b)所述智能终端如果在复位响应等待时间内收到SIM卡的正确的复位响应,执行下一步,否则系统出错,结束;
(c)所述智能终端向SIM卡依次发送进行选择电话簿目录文件、选择电话簿数据文件、读取所述数据文件头及获取电话记录的操作的相关指令,所述数据文件头中包含电话记录长度信息,每次发送指令后,如果在响应等待时间内产生的中断次数和接收字节正确,说明该步操作成功,再进行下一步操作,否则系统出错,结束,其中,发送获取电话记录的操作指令时依据所述电话记录长度信息来判断响应等待时间内产生的中断次数是否正确;
(d)所述智能终端将读取的电话记录保存到存储器中,在保存了要导入的所有电话记录后,结束;
(e)用户要在所述智能终端浏览电话簿时,所述智能终端将存储的电话号码和人名读到缓存中,将电话记录中的标识符部分从Unicode编码转换为GB2312的编码,排序后显示,对应的电话号码数据直接利用ASCII码库显示;
(f)所述智能终端接收到来电号码后,按照数字号码到存储的电话簿中查询是否有相同电话号码,如果有,将相应的人名数据读出,从Unicode编码转换成GB2312编码后和电话号码一起显示;如果没有,只显示电话号码。
11.如权利要求10所述的方法,其特征在于,所述智能终端中预存有Unicode编码库和GB2312编码库,该两个编码库的编码存在一一对应关系且按照Unicode编码由小到大排序,所述智能终端在浏览或查询时,是根据缓存中的Unicode编码数据在Unicode编码库中按照对分法进行查找,得到该数据在Unicode编码库中的索引号,再利用该索引号到GB2312编码库中找到该数据相应的GB2312编码。
12.一种可导入SIM卡电话簿并在本地管理的智能终端,其特征在于,包括人机接口模块、与SIM卡连接的SIM卡接口控制器、SIM卡驱动模块、存储器及文件管理模块,电话簿浏览模块、电话簿查询模块、ASCII编码库、Unicode编码库、GB2312编码库以及编码转换模块,其中:
所述人机接口模块,用于维护用户和所述智能终端间的人机界面,根据用户指令,激活SIM卡驱动模块启动导入过程,以及显示提示信息;
所述SIM卡接口控制器,用于将总线发来的数据保存在发送缓存器中,并以符合接口标准的信号形式放到外部端口,同时接收SIM卡返回的数据存于内部缓存器中;
所述SIM卡驱动模块,用于在收到用户指令后,初始化配置SIM卡接口控制器,进行工作状态设置并根据当前状态通过所述SIM卡接口控制器向SIM卡发送相应控制命令,将所述SIM卡接口控制器缓存的电话记录数据交给所述文件管理模块处理;
所述SIM卡驱动模块进一步包括初始化单元、中断处理单元及电话簿读取单元,其中:
所述初始化单元,用于初始化SIM卡接口控制器,设置SIM卡接口控制器工作状态机的初始状态,使能中断;
所述中断处理单元,用于判断在响应等待时间内产生的中断次数和接收字节是否正确,如果正确说明该步操作成功,其中,在所述电话簿读取单元发送获取电话记录的操作指令时依据所述电话记录长度信息来判断响应等待时间内产生的中断次数是否正确;以及用于根据当前工作状态和SIM卡的中断响应,转换SIM卡工作状态机的工作状态;
所述电话簿读取单元,用于根据当前工作状态,向SIM卡依次发送进行选择电话簿目录文件、选择电话簿数据文件、读取所述数据文件头及获取电话记录的操作的相关指令,所述数据文件头中包含电话记录长度信息,完成对SIM卡电话簿的读取,并将读取到的电话记录交给所述文件管理模块处理;
所述文件管理模块,用于将读取的电话记录保存在所述存储器中;
所述电话簿浏览模块,用于在收到用户浏览电话簿的指令后,将存储的电话号码和人名读到缓存中,并调用所述编码转换模块将电话记录中的标识符部分从Unicode编码转换为GB2312的编码,排序后显示,对应的电话号码数据直接利用ASCII码库显示;
所述编码转换模块,用于将电话记录中的标识符部分从Unicode编码转换为GB2312的编码;
所述电话号码查询模块,用于在接收到来电号码后,按照数字号码到存储的电话簿中查询是否有相同电话号码,如果有,将相应的人名数据读出,调用所述编码转换模块将其从Unicode编码转换成GB2312编码后和电话号码一起显示;如果没有,只显示电话号码。
CNB2005100022425A 2005-01-18 2005-01-18 将sim卡电话簿导入智能终端的方法和所用的智能终端 Active CN100438533C (zh)

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 CN1633141A (zh) 2005-06-29
CN100438533C true 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)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1968301B (zh) * 2005-11-17 2010-10-13 华硕电脑股份有限公司 在一移动装置中进行同步存储通信簿数据的方法及其装置
CN100504872C (zh) * 2006-12-31 2009-06-24 北京握奇数据系统有限公司 一种在电信智能卡中存储应用数据的方法
CN100593960C (zh) * 2008-02-29 2010-03-10 北京中电华大电子设计有限责任公司 基于wapi的手机数字证书存取方法
CN101571869B (zh) * 2009-05-31 2011-04-20 北京握奇数据系统有限公司 一种智能卡的文件存储、读取方法及装置
CN102984240B (zh) * 2012-11-21 2016-08-31 华为技术有限公司 一种导入、导出联系人的方法及装置
CN105046178B (zh) * 2015-06-25 2017-10-10 广东华大互联网股份有限公司 一种stm32降频实现高速率读卡器的方法
CN109413256B (zh) * 2018-12-15 2021-01-05 惠州Tcl移动通信有限公司 联系人信息处理方法、装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1394057A (zh) * 2001-06-28 2003-01-29 怡利电子工业股份有限公司 可直接下载移动电话晶片(sim)卡内电话本的电话拨号装置
GB2373139B (en) * 2001-03-07 2003-11-05 Matchtip Ltd Data storage system
CN1558341A (zh) * 2003-07-10 2004-12-29 国际商业机器公司 汉字/拼音/英文翻译方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2373139B (en) * 2001-03-07 2003-11-05 Matchtip Ltd Data storage system
CN1394057A (zh) * 2001-06-28 2003-01-29 怡利电子工业股份有限公司 可直接下载移动电话晶片(sim)卡内电话本的电话拨号装置
CN1558341A (zh) * 2003-07-10 2004-12-29 国际商业机器公司 汉字/拼音/英文翻译方法

Also Published As

Publication number Publication date
CN1633141A (zh) 2005-06-29

Similar Documents

Publication Publication Date Title
CN100438533C (zh) 将sim卡电话簿导入智能终端的方法和所用的智能终端
CN101095139B (zh) 使用逐字节比较来搜索和提供对象
EP1763818B1 (en) Initiation of actions with compressed action language representations
CN102783121A (zh) 通信设备
CN101216748B (zh) 输入方法和装置
CN101916196A (zh) 一种应用程序的启动方法及移动终端
CN101312574A (zh) 用于在通信终端中管理用户内容的方法
CN101416159A (zh) 通信终端、用户数据移动系统及用户数据移动方法
CN101719961A (zh) 地区信息查询的实现方法、终端和通信系统
US6271865B1 (en) Cellular phone handset which can display special characters
CN102111487A (zh) Gsm终端访问3g usim卡的方法及装置
CN101141738A (zh) 一种按使用频率访问便携终端电话本的方法
CN101950233A (zh) 用于消除笔画输入歧义的系统和方法
CN102103606A (zh) 一种在手机客户端上实现高级检索商品的技术
CN1305332C (zh) 经码分多址蜂窝电话的数据分组发送
CN100396129C (zh) 自动合并查看来自同一号码的未阅读讯息的方法及系统
CN1610435B (zh) 移动终端和使用移动终端的管理数据接收的方法
CN101626628B (zh) 数字号码与网址映射及推送系统
CN101212787A (zh) 个性化信息发布的系统和方法
CN102711092A (zh) 一种客户端软件拨号下载数据的方法
KR100687202B1 (ko) Rfid를 이용한 이동통신 단말기의 호 발신 방법
CN101277328A (zh) 快速拨号方法和通讯终端
CN1413043A (zh) 具有定时发送短消息功能的移动通信装置与方法
CN100452893C (zh) 一种基于用户识别模块实现增值业务的系统及方法
KR20200102708A (ko) 전자거래 문서 표준화 방법

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