7557|19

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

单片机读写SIM卡电话本 [复制链接]

单片机对SIM卡的操作已经知道了,关键是SIM卡中电话本存储在哪儿不太清楚,看了写资料说是可以进入SIM卡菜单,请问哪位大侠做过的能否介绍一下,谢谢

最新回复

SIM的电话本存在DFtelecom下的EFADN中。 上面你所说的“菜单”是属于USIM的,只有USIM才有你所述的“菜单”,SIM是没有的! 你所说的菜单其实就是EFpbr,他是一个目录文件! USIM的文件系统比SIM复杂得多! 你只有通过文件ID选择EFADN,然后读出里面的记录就行啦!EFADN还有拓展文件——EFEXT1 就是说,如果EFADN中的某条记录过长,则溢出的部分会存在拓展文件——EFEXT1中,所以在读EFADN 时,还要注意判断EFADN中的记录是否过长!   详情 回复 发表于 2010-2-3 00:31
点赞 关注

回复
举报

1

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
另外我上传的资料里面有非常多个厂家的AT指令集,楼主可以去看看,
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
谢谢kyzf,现在我是想不通过GSM/GPRS模块操作SIM卡,就仅仅把SIM卡当成EEPROM用单片机来进行操作,不知道kyzf有没有好的建议和经验分享
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

4
 
另外楼主可以去凌阳的官网下载他们的GPRS模块的对应资料:
http://www.unsp.com/download/soft.aspx?softid=600&categoryid=32

GPRS模组资料,包括:模组说明书、演示实例、电路原理图,配合凌阳嵌入式开发平台、单片机平台使用!GPRS模组采用SIM300通讯芯片,利用无线移动网络实现语音传输和点对点数据传输。同时,模组内具备TCP/IP协议栈,可以直接利用它实现无线上网。模组使用标准的UART串行通信接口与主芯片进行通信,可以与任何带有通用UART串行通信接口的控制器进行连接。
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

5
 
这个其实也比较简单,楼主百度与GOOGLE,找到SIM的规范看看,

SIM有非常完整的规范的,会在对应的规范手册中,介绍你想知道的电话本的地址,以及访问对应的API。


我们直接采用单片机读写PSAM,也是拿着厂家的手册,对应写几个指令就OK
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

6
 
ST7267单片机与SIM卡的接口设计
http://tech.yktchina.com/2008_3/200803201621104003.html
单片机直接读写SIM卡
http://topic.eeworld.net/u/20090819/18/8f9e1da2-1825-4706-a1da-4c46f9c47a3f.html
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

7
 
谢谢各位,确实有帮助。标准我也看了点ISO7816一共10个部分,我粗略看了前面4个部分,但是对命令还是不太清楚,还有SIM卡的文件体系,所以还很迷茫,再等一个周末吧,下个星期来结贴
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

8
 
这个需要对照你所用的GSM/GPRS模块的 对应的AT指令集。
一般都会有对应的电话本的指令。

比如:
电话本指令
2.6.1 +CPBS:选择电话本存储
描述
该指令用于选择电话本存储单元。
格式
AT+CPBS=
示例
AT+CPBS?
+CPBS: "SM",1,250
OK
查询当前电话本设置
当前电话本使用SIM卡存储空间
34
GSM模块产品
AT+CPBR=1
+CPBR=1,"130********",129,""
OK
查询电话本存储单元
AT+CPBS=?
+CPBS:("MC","RC","DC","LD",
"LA","ME","SM","FD","ON",
"BN","SD","VM")
OK
选择存储在SIM卡的电话本
参数
Type:
"SM":SIM卡。
"FD":SIM卡固定电话本。
"LD":SIM卡最后呼出号码。
"MC":NV上未接电话。
"ME":本机电话本。
"DC":SIM卡上已接电话。
2.6.2 +CPBR:读取电话本信息
描述
该指令用于读取电话本信息。
格式
AT+CPBR=,[]
+CPBR:,,,
AT+CPBR=?
+CPBR: (1-10),40,13
OK
查询当前电话本信息
AT+CPBR=1
+CPBR=1,"130********",129,""
OK
读出当前选定电话本第一个号码
示例
AT+CPBS="SM"
OK
AT+CPBR=?
+CPBR: (1-10),40,13
AT+CPBR=1,3
+CPBR: 1,"8151****",129,""
+CPBR: 2,"8636****",129,""
+CPBR: 3,"8604****",129,""
选择SIM卡电话本
查询SIM卡电话本信息
读出1到3之间全部电话本信息
35
GSM模块产品
参数
index1:读出的电话本序号。
index2:使用该值时读出从index1到index2的电话本信息。
index:序号指示。
number:电话号码。
type:电话类型。
129:国内。
145:国际。
text:电话号码对应名字。
2.6.3 +CPBW:向电话本写信息
描述
该指令用于向电话本写信息。
格式
AT+CPBW= ,,,
+CPBW:(),,(),
AT+CPBW=?
+CPBW: (1-10),40,(129,145, 161,177),13
OK
AT+CPBW=?
+CPBW: (1-10),40,(129,145, 161,177),13
OK
示例
AT+CPBS="SM"
OK
AT+CPBW=1,"130********",129,
"john"
OK
AT+CPBR=1
+CPBR:1,"130********",129,
"john"
OK
AT+CPBS="SM"
OK
AT+CPBW=1,"130********",129,"john"
OK
AT+CPBR=1
+CPBR:1,"130********",129,"john"
OK
参数
index:序号指示。
length:电话号码长度。
type:电话类型。
129:国内。
145:国际。
tlength:电话号码对应名字长度。
number:电话号码。
name:电话号码对应名字。
2.6.4 +CPBF:查找电话本信息
描述
该指令用于在电话本查找信息。
格式
AT+CPBF=
+CPBF: ,,,
+CPBF:, 36
GSM模块产品
AT+CPBF=?
+CPBF:40,13
OK
查询查找当前电话本信息
电话号码长度为40
名字长度为13
示例
AT+CPBS="SM"
OK
AT+CPBW=1,"130********",129,
"john"
OK
AT+CPBR=1
+CPBR:1,"130********",129,
"john"
OK
AT+CPBF="john"
+CPBF: 1,"130********",129,"john"
OK
选择电话本
在当前电话本的第一项写入电话信息
读出相关信息
查找名字为john的电话信息
参数
index:序号指示。
nlength:电话号码长度。
type:电话类型。
129:国内。
145:国际。
tlength:电话号码对应名字长度。
number:电话号码。
name:电话号码对应名字。
2.6.5 +CNUM:获取本机号码
描述
该指令用于读取本机号码。
格式
AT+CNUM
示例
AT+CNUM
+CNUM: "","130********",129,7,4
OK
读取本机号码
参数
本机号码需要通过AT+CPBS="ON" ;AT+CPBW指令写入SIM卡,然后才能通过AT+CNUM读取。
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

9
 
一般的SIM卡,从硬件管教来说,它极为类似I2C总线,一个时钟SCK,一个数据线,另外还有电源与RST管教。
且一般要求其时钟线的SCK频率为1--4MHz.

由于其硬件上非常类似I2C总线,所以操作起来可能想读写EEPROM(它就是I2C总线的器件)。

另外:在恶劣的环境下,一定要加上ESD 器件以便保护SIM卡.
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

10
 
恩,谢谢KYZF,不知道还有没有人对SIM卡进行操作过,现在疑问是不太清楚SIM卡通讯协议,不知道以一个什么格式发送,接收数据,而且SIM卡里面有规定的文件体系,不知道电话本是放在哪个文件下面,用什么命令可以读取
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

11
 
顺便补充一下,我电路中没有用到GPRS模块,只是单片机直接操作SIM卡,刚才没说清楚,可能引起误会了,呵呵
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

12
 
.............我倒是想,那个还得做射频部分,太复杂了,我就想看怎么操作SIM卡的电话本,正好手头有板子,就想试试
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

13
 
引用 4 楼 kyzf 的回复:
一般的SIM卡,从硬件管教来说,它极为类似I2C总线,一个时钟SCK,一个数据线,另外还有电源与RST管教。
且一般要求其时钟线的SCK频率为1--4MHz.

由于其硬件上非常类似I2C总线,所以操作起来可能想读写EEPROM(它就是I2C总线的器件)。

另外:在恶劣的环境下,一定要加上ESD 器件以便保护SIM卡.


对,根本不需要GSM模块,AT命令是用在GSM模块上的。
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

14
 
有专门的AT指令。
不过有的对中文编码比较特殊,我现在都没找到解码方法呢。
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

15
 
  sim卡,楼主想自己制造手机卖了啊。
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

16
 
mark!以备后用
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

17
 
sim卡就是普通的ttl电平异步串行通信,是最常用的模式。
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

18
 
引用 15 楼 jennyvenus 的回复:
sim卡就是普通的ttl电平异步串行通信,是最常用的模式。



同意!我之前在电子词典上做过,用的东芝16位机。需要注意的是看你的主控支持的奇校验还是偶校验,要和SIM卡中的通讯参数一致,当时我用的主控就不同,还专门加了一个IC。
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

19
 
谢谢各位不吝赐教,非常感谢
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

20
 
SIM的电话本存在DFtelecom下的EFADN中。
上面你所说的“菜单”是属于USIM的,只有USIM才有你所述的“菜单”,SIM是没有的!
你所说的菜单其实就是EFpbr,他是一个目录文件!
USIM的文件系统比SIM复杂得多!
你只有通过文件ID选择EFADN,然后读出里面的记录就行啦!EFADN还有拓展文件——EFEXT1
就是说,如果EFADN中的某条记录过长,则溢出的部分会存在拓展文件——EFEXT1中,所以在读EFADN
时,还要注意判断EFADN中的记录是否过长!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表