搜档网
当前位置:搜档网 › SIM300使用说明书(最新) V1.5

SIM300使用说明书(最新) V1.5

SIM300V1.5开发板 使用说明书

User's Manual

Preliminary

前言

大家好,欢迎使用本公司开发的SIM300系列开发板,本开发板上的SIM300模块是一个通讯模块,由SIMCOM公司生产并销售,我们为其设计了可靠的外围电路以及扩展了端口。SIM300的主要功能有:语音通话、短信收发、GPRS网络数据收发、彩信收发。SIM300模块主要应用在通讯领域,如移动电话、远程数据监控、短信提醒发送、GPRS MODEN。打个比方,如果您要设计移动电话,那么内部主要组件应该包括通讯模块SIM300、中心处理器MCU、显示屏、键盘、话筒听筒。

SIM300使用串口通讯的方式和外部连接,通过串口数据的交换我们就可以使得SIM300模块去执行命令了。开始接触的时候请大家使用电脑串口和SIM300相连,尝试去控制SIM300,并熟悉这个过程,当我们熟悉了这个控制的过程后再去接入单片机写程序去控制,这样有条不紊的学习过程可以节省我们开发的时间,切忌不要盲目的求快而忽略了一些基础的东西,到最后浪费了自己的时间。祝大家学有所成。

酷学之家

2011.7

第一章 产品简介

第二章 GSM 模块串口测试

第三章 SIM300 简单的电话接听/拨打

第四章 简单英文短信的发送/读取的实现

第五章 简单中文短信发送/读取的实现

第六章 SIM300 开发板GPRS 功能

第七章 SIM300彩信模块实现彩信发送

第八章 SIM300发送返回的数据格式(重要)

试验前准备工作:

1. 连接好电源、串口线、放入手机卡

2. 打开电源,按复位键3秒,直到信号灯闪烁才放开

3. 开始您的学习实验

4. 以下介绍使用到的软件可以在资料光盘中找到

第一章 产品简介

欢迎您选购本公司的SIM300 开发板,为了让您对这款开发板有最详尽的了解,下面我们对开发板的每个部分都进行逐一的介绍。

开发板个组件如上图所示,电源芯片和手机卡插槽在后面,电源接口可以接入5V‐26V的直流电源,但是最大电流应该大于2A以保持sim300模块可以正常工作,建议使用5V2A的直流电源,以提高电源的效率。开发板的芯片几乎全部采用进口的高质量元件,以保证通讯的稳定性且有一定的耐压值,但在不了解电路图的情况下请不要擅自修改电路,以防止损坏元件。

拿到我们的开发板后请大家先进行主要功能的测试:

1.将电话卡装入底面的电话卡插槽。

2.用我们配送的开关电源接入电源接口,按下电源开关,此时电源指示灯

亮,证明电源正常了。

3.确认右上角的串口跳线方式如图所示,GT,GR分别与S2R,S2T相连,PCR,

PCT分别与S1T,S1R相连,也就是让sim300的串口与单片机串口2相连,

电脑的串口与单片机的串口1相连。我们的配套程序是根据这个方式的连接来写的。

4.将电脑的串口线接入到开发板上方的串口接口。

5.将我们配送的天线拧上到板子左上方的电线接口,不能用力过猛,否则

会损坏天线的插针的哦。

6.打开电源,在控制sim300的单片机内已经烧写了初始的程序来测试

sim300的功能,程序会自动启动sim300模块,不一会信号灯开始闪烁,证明sim300模块正常启动,sim300模块会寻找信号此时信号灯闪烁的频率大概是2次/秒,如果您的手机卡可正常通讯的话,sim300找到信号后闪烁的频率大概是1次/2秒,这时候您就可以进行其他的实验了。这个过程所需要的时间根据各位位置的信号而不同,信号好的话大概3秒左右,信号不好的要20秒左右。

7.在光盘的头目录中找到:GSM串口调试助手.exe 打开。

根据自己不通的情况选择对应的串口号,其他选项如图,打开串口。

8.按下开发板的按键4

此时单片机给sim300模块发送

AT+CGMI 生产厂商

AT+CGMM 设备类型

AT+CGSN 设备序列号

ATI 设备初始化

因为我们出厂的时候在单片机内烧写了测试程序,所以不用用户在进行程序烧写,我们烧写的程序是:发几条简单的AT指令

此时串口助手有如下显示,这些都是sim300模块的回复,证明sim300已经成功的启动,并给出了一些模块的信息

9.此时开发板的信号闪烁如果是1次/2秒,就说明模块找到服务商的信号

了,此时按下按键5,单片机向模块发送

AT+CPIN? SIM卡状态

AT+CSQ 信号质量

AT+COPS? 网络信息

串口助手会显示

说明sim300模块正确识别出你的手机卡,信号正常,并且也搜索到了网络服务商的信号了(我使用的是移动的手机卡,所以此时显示移动的标示),此时可以进行正常的通讯。

10. 到此,简单的程序就完成了。关于单片机内部的程序我们在以后的章节会介

绍,这里只是给出个测试的现象。下面我们来使用这个GSM串口调试专用工具,通过电脑的串口来调试一下我们的开发板。

方便的SIM 卡座,使用更简单,请看清SIM卡的插入方向。

第二章 GSM 模块串口测试

上一章我们介绍了如何使用GSM专用工具实现了SIM300模块的一些功能,其实是软件向SIM300发送了特定的AT指令实现的,这一章我们介绍使用串口工具来通过自己输入AT指令来控制模块,使我们更加熟悉SIM300模块的操作,从而可以通过接入单片机自己写程序控制。

我们看到,在跳线的旁边是注释:G(GSM模块)、P(PC机电脑)、S1(单片机串口1)、S2(单片机串口2)。接下的T(串口TX发送端口)、R(串口RX 接收端口),比如,GT(GSM模块的串口发射端口)、S1R(单片机串口1的接收端口)。

在刚拿到开发板的时候,我们的跳线帽是这样的

此时的GSM模块的串口和单片机串口2相连,电脑与单片机串口以相连,具体的示意图如下:

上图是我们使用单片机来控制sim300的实验中使用的接法,现在我们不需要单片机而是直接使用电脑的串口来控制sim300,所以我们要改变一下右上角跳线帽的接法,如图

这样,电脑的串口直接接入了sim300(中间经过了电平的转换),通过使用串口助手发送的数据就是发送给了sim300。

现在我们进入下一个小节,看看如何先使用电脑的串口工具来操作改开发板,当我们熟悉了这样的操作,再进入使用单片机来控制。

一、 使用GSM调试工具调试

使用上一章的软件其他设置不用改变,点击下面的GSM调试专用里的按键

通过下面的GSM调试专用按键可以测试sim300的一些功能了,其实就是向串口发送一些特定的指令(at指令)。

sim300可以自动适应波特率,所以刚开始发送给sim300指令后sim300不会有反应,直到它计算出了您的波特率后就一切正常了,大概要4到5个指令这样才可以正常哦。我这里只是测试了简单的几个,其他的你们可以尝试下,同样有效的。

接上3.5mm的耳机,就可以测试通话了,输入电话号码,按拨号测试就可以打出电话,如果有电话打进回复框会有Ring显示,此时按下接听电话就可以接通打进的电话了。

到此,简单的测试就完成了,下面的内容我们使用串口助手这个软件教大家直接输入命令来调试sim300,这样我们可以更好的理解sim300的整个通讯过程。

二、 借助串口调试助手V2.2 软件

这个软件在SIM300资料V1.4\调试工具\串口调试助手 2.2 中可以找到

1、正常方式发送(ASCII 码方式)在发送框中输入ATI 后,再按ENTER 键,

最后点击手动发送选项框。测试结果如下图2-1 所示。

图2-1

2、16 进制方式

ATI 的16 进制是41 54 49 0D ,注意0D 的0 是数字0 而非字母O(记住选择十六进制发送复选框,输完后点手动发送)。测试结果如图2‐2 所示。

图2-2

如果测试返回成功了,就可以继续下面的指令测试。

三、指令AT+CPIN? AT+CSQ AT+COPS?

1、 AT+CPIN?

用于查询SIM 卡的状态,主要是PIN 码。输入指令:AT+CPIN? 返回: +CPIN:READY表明状态正常,返回的是其它值可能是没放SIM 卡

现在选择用16 进制显示(选择十六进制显示后,再手动发送一次),结果如下:41 54 2B 43 50 49 4E 3F 0D 0D 0A 2B 43 50 49 4E 3A 20 52 45 41 44

A T + C P I N ? + C P I N : R E A D Y

59 0D 0A 0D 0A 4F 4B 0D 0A

; O K

(在数值下面是对应的英文字符,0D 0A 是回车换行,每次模块都返回) 2、 AT+CSQ

用于查询信号,如果没有信号,要查看天线是否连接。输入指令:AT+CSQ 返回: +CSQ:26,0 // 表明信号强度是10

选择用16 进制显示,结果如下:41 54 2B 43 53 51 0D 0D 0A 2B 43 53 51

A T + C S Q + C S Q

3A 20 32 36 2C 30 0D 0A 0D 0A 4F 4B 0D 0A

: 2 6 , 0 O K

(在数值下面是对应的英文字符,0D 0A 是回车换行,每次模块都返回)

3、 AT+COPS?

用于查询SIM 卡移动提供商,只有连上网络后才有,其它状态时都为空。输入指令:AT+COPS? 返回: +COPS: 0,0,"CHINA MOBILE" // 提供使用商为:中国移动

选择用16 进制显示,结果如下:41 54 2B 43 4F 50 53 3F 0D 0D 0A 2B 43

A T + C O P S ? + C

4F 50 53 3A 20 30 2C 30 2C 22 43 48 49 4E 41 20 4D 4F 42 49 4C 45 O P S : 0 , 0 , " C H I N A M O B I L E

22 0D 0A 0D 0A 4F 4B 0D 0A

"

(在数值下面是对应的英文字符,0D 0A 是回车换行,每次模块都返回)

以上状态正常就可以进行短信、语音测试了。

第三章 SIM300 简单的电话接听/拨打

注意:只有在上一章输入的AT+COPS?出现使用商的标示后才有可以做一下实验,否则在模块没有获取到网络的时候是无法进行通讯的。

在指令区输入ATE1, 按回车键点“手动发送”,显示如下:

ATE1 指令功能:开回显。

在指令区输入ATV1 ,回车键,点“手动发送”,指令的功能是:以OK 方式显示。

以上输入完后有OK 字样返回才能使用,如果没有返回,请检查串口号、波特率、模块是否开机。

一、拨打任意号码:ATD

不同的模块返回的代码是有区别的,如果是SIM300 或EM310 想与TC35 或TC35I 模块返回代码差不多,就需要先发一条AT+COLP=1 联络线确认陈述。这个指令需要被叫接听后才返回。

例:拨打10086(SIM300/EM310/GTM900 模块)在指令区输入AT+COLP=1 再按ENTER 键后点击“手动发送”;指令功能:拨号成功后直接提示。

在指令区输入ATD10086 ;后再按ENTER 键点“手动发送”,指令功能:拨打电话,收到+COLP:”10086”,129 表示拨号成功,返回其它值表示失败,返回了NO CARRIER 则表示拨号失败或对方挂断。

二、接听电话

接听电话也一样像本章前述的注意中所说明的,设置安装好模块,并测试。

1、设置来电显示功能在指令区输入AT+CLIP=1 后按ENTER 键点击“手动发送”,指令功能:设置来电显示功能。然后向板子的SIM 卡打电话,如下图: RING 就是呼入提示,如果你的SIM有来电来号码显示服务,号码将输出显示。

2、接听收到上面的电话号码呼入后,在指令区输入ATA 然后回车,点击“手

动发送”,指令功能:接听电话,如果回显OK,表示接听成功,此时你可以接入你的耳机进行通话了(请按照板子上的标示接对接口)。

第四章 简单英文短信的发送/读取的实现

一、读一条英文短信一定要保证开发板测试成功,即保证模块正常读取SIM 卡后,连接上网络。

1、设置短信提示功能输入指令:AT+CNMI=2,1 再按ENTER 键后点“手动发送”;指令功能:短信提示,状态有OK 回复。再输入:AT+CMGF=1, 按ENTER 键,“手动发送”;功能是:英文方式发送,状态有OK 回复。然后向SIM 卡发送一条英文短信,收到+CMTI: ”SM”,1,表示有短信到达,存在SIM 卡的第一个位置。(本文中由于测试时已经向SIM 发过四条短信,所以显示+CMTI: "SM",5)

2、读取短信输入AT+CMGR=5 再按ENTER 键,选择“手动发送”,其功能是:读取指定“5”里的内容,回复短信报文。

其中“REC UNREAD ”短信没有读过,+86136******** 为发信方号码,10/06/07,15:02:08+32 为日期,内容是:abc

如果再读一次就会稍微不同于上面显示,REC READ 表示已读。

二、 英文短信的发送1、向136******** 发送英文短信:abc

先输入AT+CMGF=1 再按ENTER 后选择“手动发送”,功能:英文方式发送,回复OK。再输入AT+CMGS=”136********” 按ENTER 键后点“手动发送”,功能:向输入的号码发送短信,回复>,收到>后才可输入内容abc,再点“手动发送”。

最后的关键步骤是短信内容的结束:点“十六进制发送”,然后在指令区输入1A(1 是数字,不是字母l),点击手动发送之后等待返回,收到:+CMGS:11 表示发送成功。

第五章 简单中文短信发送/读取的实现

一、中文短信的发送

下面的内容是:向手机136******** 发送中文短信:“星海科技”

步骤一 变换号码

中文短信要比英文复杂点,先把号码进行16 进制编码,编码的方法如下:首先,对方手机号码8613632389015 ,进行转换(两位一反):

3136329810F5 ,号码的最后一位为单数则高位加补F。

步骤二 短信内容编码

短信内容“星海科技”,通过Chinese_Unicode.exe (该软件在SIM300资料V1.4\调试工具\汉字Unicode互换小工具中找到)软件转换,进行16 进制编码后:“661F 6D77 79D1 6280”。

如果你要发送的也有中文英文,那么也要将他们全部放入进行转换

步骤三 PDU 格式编码

PDU 格式编码:手机号码(11 位)+国际接入码86(2 位)=13 位,

16 进制表示0D,接入码中国地区用91 表示,短信在服务器存放时间,

A0。

那么总的一起要发送的PDU 内容说明如下(下面的文字对应pdu的解析): 001100 0D 91 68 3136329810F5 0008 A0 661F 6D77 79D1 6280

前序| 目的号码长度|国际|目的手机号码(两位一反) | 8bit 方式|允许时间|短信长度|短信内容 (Unicode) 发送中文短信步骤:

001100:前序是一定要的,一般不更改

0D9168:13位号码0D,91国际接入码,68中国的电话区号86。3136329810F5:刚才进过变换的号码

0008:发送方式8bit

A0:发送保存时间

661F 6D77 79D1 6280:要发送的内容

步骤四:发送

1.先输入 AT+CMGF=0 再按ENTER 键后,点“手动发送”,状态恢复: OK

2. 计算PDU 总长度,总长度 = 你要发送的中文字数*4/2 + 15。

比如我们这次发送4个字,那么总长度=4*4/2+15=23.

你要发送的中文字数*4(中文对应的ascii码个数)

3. 再输入 AT+CMGS=23 再按ENTER键后,点“手动发送”;收到> 后才可输入内容 0011000D91683136329810F50008A008661F6D7779D16280 再点“手动发送”。

这次的输入是不需要加回车的,请注意,因为一会要加入0x1a结束符号了

4. 结束短信内容:点“十六进制发送”,在指令区输入1A 后,点“手动发送”,

等待发送成功,收到如图所示:+CMGS:19 表示发送成功。

注:1. at+cscs="GSM" 采用GSM 方式

2. at+cmgf=0 设置PDU 模式,发送中文短信需要这个

3. at+cmgs=<长度> 发送PDU 短信

二.中文短信的读取

一定要保证开发板测试成功,即保证模块正常读取SIM 卡后,连接上网络。

1.设置短信提示功能输入指令:AT+CNMI=2,1 再按ENTER 键后点“手动发送”;指令功能:短信提示,状态有OK 回复。再输入:AT+CMGF=0, 按ENTER 键,“手动发送”;状态有OK 回复。然后向SIM 卡发送一条中文短信,收到+CMTI: ”SM”,11 ,表示有短信到达,存在SIM 卡的第11 个位置。

2. 读取短信输入AT+CMGR=11 再按ENTER 键,选择“手动发送”,其功能是:读取指定“11” 里的内容。+CMGR:0,,28 其中0 表示短信没有被读过,如果是1 表示已读;28 是长度;

91683108200005F0 为短信中心号码:+86138******** 0D 为短信号码长度91683136329810F5 对方号码 +86136******** 01607221122323 日期 10/06/27, 12:21:32+32 08 为短信内容长度661F6D7779D16280 中文短信内容如果再读一次就会有区别。

相关主题