一、TC35的部分调试参数
1、TC35的电流消耗指标:
1〉通话模式的峰值电流(TALK mode of peak),1.8A
2〉通话模式的典型电流(TALK mode),300mA @900MHz / 270mA @1800MHz
3〉空闲模式(IDLE mode)的消耗电流,10mA
4〉休眠模式(SLEEP mode)的消耗电流,3mA
5〉关机模式(Power Down mode)的消耗电流,50礎
2、关于LED灯显示的状态
SYNC引脚可以用来输出一个同步信号(synchronization signal),也可以在应用使来控制一个LED灯的输出状态。:SYNC端通过一个三极管或门电路来控制LED。一个简单的电路接法是:SYNC端通过一电阻接到NPN三极管(如9013)的基极,射极直接接地,集电极通过一个接限流电阻接到LED的负端,LED的正端接VCC。LED的工作模式完全类同于同步信号,显示的是TC35的工作状态:
1〉LED灯灭,表示TC35电源关闭,处于休眠、报警或单纯的充电模式
2〉600 ms 亮 / 600ms 灭,表示未插入SIM卡,或者个人身份未登记/已注销,或者网络正在搜寻中,或者正在进行用户身份鉴定,或者网络注册正在进行中
3〉75ms 亮 / 3s 灭,表示网络注册成功(控制通道和用户交换信息完成),无来电
4〉LED灯亮,依据不同的呼叫类型:声音呼叫,数据呼叫,在建立或者完毕时的状态。
2、关于VDD端:
TC35正常工作时,VDD引脚输出信号的幅度(大约在开机后60ms产生):2.9V/70mA,可作为外部应用。
空闲或者通话模式: VDDout = 2.9V ?% @ 70mA Imax = 70mA;电源关闭模式: VDDout = 0V。
3、关于VBATT+端:
TC35的工作电压输入端VBATT+,电压幅度为 3.3V-5.5V,Vtyp = 4.2V,最大电流Imax ≤ 2 A @ GSM天线回波损耗(return loss)≥ 6 dB。必须注意:最低工作电压不能低于3.3V,否则电压将会跌落,从而导致TC35停止工作。由于VBATT+引脚的峰值电流为 2A ,一个GSM发射脉冲(transmission burst)可能引起相当大的电压跌落,此外由于外部电源的扁平柔性连线的内在固有阻抗也可能损失一部分。因此,在任何时候,必须保证VBATT+ 的电压不能低于 3.3V,而且电压跌落差值不能超过400 mV。另外,为了保证TC35在发射脉冲区间的电压跌落值处于最低值,采用尽可能短的连接模块和ZIF座的扁平柔性FFC电缆,长度不得超过200mm,和低输出阻抗(low-impedance)的电源。
4、关于POWER端:
TC35的充电电压正端POWER,如果通过外部的电源(如充电器)供电,应保证Imax = 500 mA,Vin=5.5-8V。
5、关于/IGT(Ignition)端:
TC35的触发点火信号端/IGT, 用OC门或者一个简单的开关拉低该端电平来开启模块,低电平有效。在空闲/通话/关机模式:Vout = 2.0V,Vlow,max = 0.45V @ Iout = 10礎,tlow ≥ 100ms。对于点火信号IGT的处理,需要首先拉低该脚电平到地,并至少维持100ms。
注意,如果你通过充电器回路(接到POWER引脚)供电,或者通过电池供电(接到VBATT+引脚),那么IGT信号必须维持至少1秒!
6、关于PD(Power down):
TC35的关闭电源端/PD,关机信号脉冲,信号波形为~~~|______|~~~ ,拉低到低电平,至少维持3.5秒方为有效。Vin,low,max = 0.45V @ I = 0.1mA,可用OC门或者一个简单的开关实现,通过关机信号端可以关闭TC35。而在IGT引脚施加一个低电平脉冲信号可以重新开启模块及系统。另外,关机信号端/PD也可用来实现看门狗信号输出:Vout,low = 0.35V @ 0.01mA,Vout,high = 2.30V @ -0.01mA,fout = 0.5-2.0Hz
7、启动TC35的方式:
TC35 可以通过以下方式激活,开始工作
1〉通过点火线IGT触发,进入正常工作状态
2〉通过电源线,开始进入充电区
3〉通过RTC中断,开始进入报警模式
8、TC35的开机操作时序
当开始应用,TC35的加电过程必须按照以下步骤进行:
1〉直到VBATT+脚的电平超过3.0V时方可对ignition线的信号电平变换。
2〉VBATT+脚的电平上升达到3.0V后维持10毫秒,方可拉低IGT线的信号电平。IGT线的电平跌落时间(下降时间)必须不超过1ms。
3〉另外,该IGT线的低电平信号必须维持最少100ms。
4〉在IGT线信号转换区间必须保证 VBATT+ 的电压不能低于3.0V,否则模块不能被激活。
二、单片机控制GSM模块TC35的方法
介绍一种采用GSM的短信功能,可以使某些控制达到“零距离"。由于短信息的费用低廉,可以取代传统的无线遥控。现在详细介绍一种采用单片机(MCS51系列)控制TC35(廉价的GSM模块)发送、接收GSM短信的方法。
1、 TC35的控制简介
TC35是Siemeils公司推出的新-代无线通信GSM模块。自带RS232通讯接口,可以方便地与PC机、单片机连机通讯。可以快速、安全、可靠地实现系统方案中的数据、语音传输、短消息服务(Short Message Service)和传真。TC35模块的工作电压为3.3—5.5V,可以工作在900MHz和1800MHz两个频段,所在频段功耗分别为2w(900M)和1w(1800M)。
模块有AT命令集接口,支持文本和PDU模式的短消息、第三组的二类传真、以及2.4k,4.8k,9.6k的非透明模式。此外,该模块还具有电话簿功能、多方通话,漫游检测功能,常用工作模式有省电模式、IDLE、TALK等模式。通过独特的40引脚的ZIF连接器,实现电源连接、指令、数据、语音信号、及控制信号的双向传输。通过ZIF连接器及50Ω天线连接器,可分别连接SIM卡支架和天线。
TC35模块主要由GSM基带处理器、GSM射频模块、供电模块(ASIC)、闪存、ZIF连接器、天线接口六部分组成。作为TC35的核心,基带处理器主要处理GSM终端内的语音、数据信号,并涵盖了蜂窝射频设备中的所有的模拟和数字功能。在不需要额外硬件电路的前提下,可支持FR、HR和EFR语音信道编码。其它功能介绍可参见有关资料!
2、AT指令的介绍
TC35模块的通讯全部采用AT+xxx完成。基本的AT指令见:/html/zonghejishu/2007/0514/2078.html
3、 TC35的连机方法
任何一个TC35模块首次使用时,必须要测试其工作是否正常,由于其自带RS232接口,所以我们可以用PC机的串口调试软件进行调试。
1、启动串口调试软件(见界面)
串口调试软件有许多,可以使用任意一款软件,也可以使用WINDOWS自带的“超级终端"。设置波特率19.2k,这是TC35的默认波特率,首次连机可以从2400~57.6k不断测试,直到TC35有应答。
2、发送“AT"’
AT 回车
3、改变波特率“AT+IPS=XXXX"
TC35的默认波特率是19.2k,实际使用时,可以改成9600或38.4K,方法如下:
AT+IPR=9600 回车
4、短信模式的设置
(GSM模块的短信模式有2种。第1种是:TEXT模式;第2种是:PDU模式。PDU模式可以采用unicode编码发送英文、汉字。但合成PDU码比较复杂,而TEXT模式只能发送英文,但无须编码。实际使用可以采用TEXT模式。
设置如下:
AT+CMFG=1 回车
5、短信模式简介
SMS是由Etsi所制定的一个规范(GSM 03.40和GSM 03.38)。当使用7-bits编码的时候它可以发送最多160个字符;8-bit编码(最多140个字符)。通常无法直接通过手机显示;通常被用来作为数据消息,例如:smart messaging中的图片和铃声和OTA WAP设置。16-bit信息(最多70个字符)被用来显示Unicode(UCS2)文本信息,可以被大多数的手机所显示。一个以class 0开头的16-bit的文本信息将在某些手机上作为Flash SMS显示(闪烁的SMS和警告SMS)。
有两种方式来发送和接收SMS信息:使用文本模式或者使用PDU(protocol description unit)模式。文本模式(可能某些手机不支持)实际上也是一种PDU编码的一种表现形式。在显示SMS信息,可能使用不同的字符集和不同的编码方式。
6、短信读取方法
AT+CMGR=X回车
如果有短信息,TC35回应:
AT+CMGR=1
+CMGR:"REC UNREAD","13307496548",,"04/08/17,22:24:32+02
testOK
OK
短信息分析:
“test OK"就是短信息内容。
短信息的存储容量与Ic卡有关,序号从1-N。
REC UNREAD":代表短信息未读过。
REC READ" :已读过。
13307496548" :接收的手机号码。
04/08/17,22:24:32+02":短信息发送的时间。
无短信息,TC35回应:
AT+CMGR=3
+CMGR:0,,0
7、短信的删除方法
AT+CMGD=1回车
8、短信的发送方法
短信息的发送分成两步:
1:发送接收的手机号码,等待应答:“>"
AT+CMGS="13307496548"回车(目的地址)
TC35回应:
AT+CMGS="13307496548" >
2:输入短信息的内容(只能是英文):Test 回车
4、单片机控制TC35的方法
上面介绍了用PC机控制TC35的方法,我们只需将PC机输出的控制命令转化成单片机输出的指令即可。
1、硬件连接
电路见下图只需设计一个TTL转RS232电平电路,连接到MCU的UART口,另一端直接连接到TC35。
2、指令输出的方法
单片机串口设置成模式1(9600,N,8,1),依次将AT+xxx以ASCII码形式输出到UART口;接收TC35的数据采用中断方式。这里给出详细的程序清单(Keil C51),不介绍编程的方法。程序见下:
//AT指令的定义
char code AT_Tc35[]="AT+"; //连机
char code Bps_Tc35[]="IPR=38400"; //波特率
char code Text_Tc35[]="CMGF=1"; //文本模式
char code Read_Tc35[]="CMGR="; //读信息
char code Erase_Tc35[]="CMGD="; //删除信息
char code Send_Tc35[]="CMGS="; //发送信息
char code Creg_Tc35[]="CREG?"; //注册
//模式设置
void UART_Init(void)
{
SCON=0x50; //01010000b=>1模式scon,#11011000b;
ES=l;
}
//发送-个ASCII
void SendASC(unsigned char ASC)
{
bit es;
es=ES;
ES=0;//关闭中断
TI=0;
SBUF=ASC;
while(!TI);
TI=0;
ES=es;
)
//发送命令到TC35
void SendToTc35(unsigned char* p,unsigned char Long)
{
while(Long--)
{
SendASC(*p++);
}
}
// 通讯中断接收程序
void Rs485_Do(void) interrupt 4 using 1
{
if(RI==l)
{
RI="0";
RsBuq[RsPoint++]=SBUF;
if fRsPoint>=sizeof(RsBuf))
{
RsPoint="0";//FlagRs485=0;
} //数据处理
}
}
// 发送AT连机命令
char code AT_Code[]="OK";
void Send_AT(void)
{
unsigned char *p;
while(1)
{
ClrRsBuf(RsBuf,sizeof(RsBuf));
SendToTc35(AT_Tc35,2); //"AT"
SendASC(OVER);
/|
p=strstr(RsBuf,ERROR);
if(P!=NULL)
{
Send_AT();return 0;
p=strstr(RsBuf,Ask_No);//无信息
if(p!=NULL)return 0;
p=strstr(RsBuf,Ask_Tc35);//20个字节后是MSG
if(p==NULL) return 0;
p=p+21;
for(i=0;i{
Buf[i]=*p++;
}
if(EraseMsg(index)==0) return 0;
p=strcpy(RsBuf,Buf); //放回RsBuf
return 1;
)
//发送短信息
char code SK[]=">";
void SendMsgStart(void)
{
unsigned char *p,i=10;
SendToTc35(AT_Tc35,3); //"AT+"
SendToTc35(Send_Tc35,sizeof(Send_Tc35)-1);//"IPR=19200"
SendASC(YinHao);
SendToTc35(Mp1.Hand,sizeof(Mp1.Hand)); //"AT+"
SendASC(YinHao);
SendASC(OVER);
ES=1;
while(i--)
{
Delay(100); //Get">"
p="strstr"(RsBuf,SK);//">"
if(p!=NULL)
{
ClrRsBuf(RsBuf,sizeof(RsBuf));
Delay(150); //Get">"
break;
}
}
}
二、发送短信息和接收短信息(TEXT模式)
(以下内容来自网络,作者声明可以自由转载,但必须注明出处)
适合人群:首次接触G网模块人员
凡是利用GSM模块二次开发的,不管是用来做公话,还是GPRS通信,其中短消息基本都要使用的。本文大致介绍一下短消息相关的AT命令使用方法。
详细的AT指令说明,可以参考 07.05,或者西门子MC35I的AT手册,西门子手册感觉还是很不错的。
由于本文表达的错误给您带来的物资损失和精神损伤,本人概不负责。
1、 短消息的格式
我所见到的模块短消息基本都提供2种格式,TEXT和PDU。文本模式相对来说比较简单,特别适合传输那些字符什么的,对于老外来说,基本就发26个字母,简直太方便了。PDU模式需要进行编码,目前的汉字传输好多都采用PDU模式。由于本人对PDU和怎么发汉字基本一窍不通,这段就暂时忽略了。
一般模块默认的都是PDU模式,你可以使用如下命令切换到TEXT模式:
AT+CMGF=1
如果想再切换到PDU模式,使用:
AT+CMGF=0
即可,以下短消息发送&读取都采用TEXT模式,因为PDU我不是很懂。
2、 怎样给我发送一条短消息?
现在你手里有了G网模块,但首先你要确保如下操作已经完成:
1) 模块上电并且AT命令同你的PC串口通信顺畅。
2) SIM卡没有欠费,并且已经登陆GSM网络(可以使用AT+CREG?查询,如果返回1或者5表示正常)。
3) AT+CMGF=1设置完毕。
有了以上的过程,那么你就可以给我发信息了,你要使用的AT命令是:AT+CMGS。
我的手机号是:13766832435(真实号码)。
1) 从串口输入:AT+CMGS="13766832435" 然后按回车键。
2) 这个时候你可以看到有个大于号 ‘>’弹出,提示你可以输入消息的内容了。
假如你想发送“hello world”,直接在’>’后面输入即可,输入完了后按’CTRL^Z”,稍微等一下,你的信息也就发出去了,如果编程好像是0x1A(记不清了,你可以查下ASCII表)。
全部过程如下:
AT+CMGS="13766832435"
> hello world
+CMGS: 199
OK
你需要一直等到OK返回,才能确定是成功发出,中间的那个东西可以先不管。如果你输入 “ hello world”后,但又不想发了,按ESC可以取消发送,就不再介绍。
3、 怎样打开传送回报?
手机上我们都可以找到一个菜单,可以选择传送回报的功能,也就是说别人收到你的信息后,短消息中心会给你一个确认信息,假如是发给心上人,这个功能尤其重要。
对于模块我们没有菜单可选,但我们有 AT+CSMP 这样一条AT命令,在TEXT模式下,对于手机上的那个选项可以通过这条命令实现,这个命令的具体含义我搞得不是很清楚,也懒得去研究,曾经有个人告诉我按照下面设置后,传送回报就可以回来:
AT+CSMP=33
但即使你这样设置后,别人收到后,传送回报你可能还是看不到,你还需要设置另外一条AT命令:“AT+CNMI=2,1,,1”,下面就会介绍到这个命令的用法。
对于PDU模式,控制传送回报有很大差别。
4、 AT+CNMI的用法。
到目前为止,你至少还有如下的疑惑:
1) 来了新短信,我怎么知道?
2) 我担心时间长了SIM卡会写坏,FLASH也可能写坏,或者我单片机很强短信不需要存储,就要模块直接给我,我该怎么办?
3) 我要看传送回报!
上面一切疑虑都可以从AT+CNMI中得到答案。
我手头上有个西门子MC35的手册,CNMI的几个参数如下:
AT+CNMI =[][,][,][,][,]
方括号表示参数是可选的,简要说明下:
用来选择来了新短信,提示信息是否需要从串口直接打出,一般取2。
用来选择新短信的提示方式,取1的话,就比较简单,比如“+CMTI: "SM",3”,告诉你新短信存在SIM卡里,序号是3,稍后告诉你怎样读取。取2的话,来了新短信就会不作存储,直接从串口显示出来。
用来选择传送回报,如果想看回报的话,一般取1(同AT+CSMP结合使用)。
其他参数不作说明。
这里提供3组参数可以供你使用:
1) AT+CNMI=2,1,,1
这组参数可以提供新信息提示,以及传送回报的功能
2) AT+CNMI=2,2,,1
这组参数来了新信息直接显示到串口,不作存储,仍然打开传送回报。
3) AT+CNMI=2,1
这组参数,一般的模块都会有新信息提示,不会打开回报功能(打开可能会干扰单片机处理) 以上仅供参考,不同厂家模块实现形式以及支持参数可能会有不同,需要实际测试。
5、 怎样读取SIM卡或者手机内部的信息?
比如我们收到这样的信息:“+CMTI: "SM",3”,知道来了新信息,并且存储在SIM卡,第3个位置区。我们怎么去读取呢?
比较EASY,用AT+CMGR来读取,如下:
AT+CMGR=3,回车后,即可看到短信内容,比较简单,这里就不举例了。
还有一个用来读取短信的命令,AT+CMGL,可以列出手机内部的全部AT命令,
比如:
AT+CMGL=”ALL”,回车后可以返回当前存储区的所有短信,结果自己实践即可。
+CMGL还有另外3个参数,可以参考手册,并且PDU还有些不同,参数使用的是数字。
6、 怎样选择存储区?
现在的模块一般都提供2-3个存储区,SIM卡,手机(FLASH), SIM卡+FLASH。
我们可以使用 AT+CPMS?进行选择,关于CPMS的3个参数,这里简要介绍一下,比较容易搞混,并不是表示SIM卡或者手机分别有3个存储区。
设置命令如下:AT+CPMS=[,][,]]
Memory to be used when listing, reading and deleting messages:
Memory to be used when writing and sending messages:
Received messages will be placed to this storage if routing to TE is not
set.
上面是我为了省事直接从西门子手册COPY的,需要仔细理解。组合着多试几次就知道了。
7、 怎样删除一条短信?
使用AT+CMGD,比如:
AT+CMGD=1 将删除内部的第一条信息(注意模块返回OK都是删除成功,有些模块会返回ERROR,其实表示当前这个位置没有短信息)。
AT+CMGD还有个全删的功能,比如:
AT+CMGD=1,4 将删除存储区内部的全部短信息。(注意第二个参数还有3个,可以看手册,并且并不是所有厂家模块都支持全删)
到这为此吧,已经弄了2个小时了,我要去睡觉了,明天还要起早上班。
GPRS外置Modem一般仅是GPRS模块+SIM卡+电源变换+RS232接口及简单的控制电路组成,嵌入式应用最好直接用模块,桌面应用可以考虑采用成品外“猫”,原装进口价也就1千多,不少国内小公司自己做的仅600-800块,但考虑到一般桌面用量都不大,还是用原装的较好。俺老汉也曾推出过GSM/GPRS外猫,但对客户还是一直推荐去正规代理处拿原装货。成品外猫分带协议栈和不带协议栈的两类,由其内封模块的型号决定,外挂至PC时,因操作系统已包含完整的协议栈,故Modem是否有协议栈已并不重要,甚至对于自带协议栈的型号还应将其“屏蔽”,采用“直通”模式。
嵌入式应用选模块时,若仅使用SMS及语音的话,西门子的TC35i是不错的选择,若使用GPRS数据通讯的话,最好选带协议栈的模块,Simcom的SIM100是目前最佳性价比的选择,低端则可选BenQ的模块如M22,高端可选西门子的TC45,另外Motorola、索爱、Wavecom等也有同类产品,但价格比Simcom的高。中兴通讯可以提供目前唯一真正国产的GSM/GPRS/CDMA模块,但技术支持和业界的口碑看来还有待改进。不带协议栈的GPRS模块可以选西门子的MC35i,但现在随着自带协议栈的型号越来越多且价格渐与普通GPRS模块趋同,故已变得无多少实用价值了,采用带协议栈的嵌入式操作系统的应用中最适合采用此类模块。
补充关于品牌的选择:
工业及车载的高可靠应用西门子是第一选择,Motorola和索爱的也不错,但其不如前者的供货及技术支持好。一般工业及车载应用但对成本较敏感的话,可以用Simcom或Wavecom的。普通环境及成本高度敏感的,建议用BenQ的。
附:论文资料 关于PDU格式的短信息发送和接收
摘要:本文介绍了GSM通信模块TC35的中文短消息收发格式,然后举例解释了实际操作过程,最后介绍与微处理器的接口方法。
关键词:TC35通信模块 短消息
引言
由于中文短消息具有内容直观,传送距离远,用户无需建造信号中转站,成本相对低廉,因此在控制领域的应用日益广泛。SIEMENS的TC35型GSM通信模块在国内应用比较广泛,然而很多技术人员在刚开始使用时,有许多不甚清楚的地方,甚至无从下手,因此有必要把有关的基础知识和经验写出来供大家参考。
短消息的格式及解释
由于参考资料几乎全是英文资料,因此本文亦写出英文缩写,以方便读者阅读其他材料。
短消息接收格式如下:
格式中英文缩写的解释如下:
SCA Service Center Address 短消息服务中心地址,1-12位数字
PDU-type Protocol Data Unit Type 协议数据单元类型,1位数字
MR Message Reference 由手机设置的短消息递交帧的递交数字(0-255),1位数字
OA Originator Address 发送方地址,即发送的手机号码,2-12位数字
DA Destination Address 接收方地址,即接收的手机号码,2-12位数字
PID Protocol Identifier 协议识别符,1位数字
DCS Data Coding Scheme 数据译码方案,1位数字
SCTS Service Center Time Stamp 服务中心收到短消息的时间,7位数字
VP Validity Period 短消息发送的合法期限,0、1或7位数字
UDL User Data Length 用户数据长度,1位数字
UD User Data 用户数据,0-140位数字
RP Reply Path 短消息回复的路径
UDHI User Data Header Indicator 用户数据区包含的报头
SRI Status Report Indication 这个参数指明移动设备是否需要状态报告
SRR Status Report Request 这个参数指明移动站是否需要一个状态报告
VPF Validity Period Format 指示VP区是否存在
MMS More Message to Send 指示是否有更多的消息将被发送
RD Reject Duplicate 拒绝重复
MTI Message Type Indicator 消息类型指示,00-消息接收,01-消息发送
短消息的收发举例
对TC35的操作均采用AT指令。指令内容均为ASCII码,短消息的中文编码方式为UNICODE码。
一.短消息的发送
例如要发送字符“宁波大学”到手机13766832435(3167862334F5)中,则首先把字符转换成UNICODE代码,转换软件可以采用Chinese 2 Unicode convertor或GBCCovert.exe等,可在互联网中下载。经转换,“宁波大学”的Unicode代码是5B81 6CE2 5927 5B66。则TC35的指令是
AT+CMGF=0 设置TC35为PDU格式
AT+CMGS=023 发送短消息指令,023为本短消息发送字符总长度(可能不包括短信中心部分,本人并未证实)
0011000D91683167862334F5000801085B816CE259275B66 这是发送内容
代码意义解释如下:
00 SCA,以00写入,意味着使用默认的服务中心地址,该服务中心地址用AT+CSCA指令写入
11 PDU类型
00 MR 消息参考
0D LEN 接收方号码长度
91 TYPE 91表示号码是国际代码,81是国内代码
683167862334F5 DA 接收方号码8613766832435,注意号码的每个字节是高低位互换的,末尾号码是半字节的话,另外半字节用F替代。
00 PID 协议识别
08 DCS 数据编码结构
01 VP 短消息有效发送时间,01表示10分钟,具体见参考文献1第11页
08 UDL 用户数据长度
5B816CE259275B66 UD 用户数据,即字符“宁波大学”
如果发送成功,TC35回送以下信息
+CMGS: X 这里的X是个数字(短信发送条数)
OK
OK表示发送成功,否则在一段时间的尝试后返回ERROR。
注意:
1.如果发送短消息指令中指明的总长度和实际发送的短消息长度不符的话,TC35将拒绝发送。
2.上述指令的代码是十六进制代码,发送到TC35的短消息代码是ASCII码,因此例如上述发送的代码是0011000D91…. 送到TC35代码应该是30 30 31 31 30 30 30 44 39 31
3.所有传送到TC35的指令必须以ASCII代码0D 0A结尾,表示向TC35传送的一条指令结束。因此在实际发送的操作中应发送的代码如下:
AT+CMGS=023 发送41 54 2B 43 4D 47 53 3D 30 32 33 0D 0A
0011000D91….. 发送30 30 31 31 30 30 30 44 39 31……….0D 0A
同样,发送AT+CMGF=0指令的代码是41 54 2B 43 4D 47 46 3D 30 0D 0A
二.短消息的接收
例如接收到的短消息代码是
0891683110300705F0840D91683130643065F7000830101311401300026D4B8BD5
我们可这样判读
08 LEN SCA字节长度(长度值包括代码类别的字节长度)
91 type of Number 号码类型(国内/国际)
68 31 10 30 07 05 F0 SCA 服务中心号码是8613010370500(对末尾的半字节空位以F替代)
84 PDU-type PDU类型
0D Len 发信方地址长度
91 PDU-type协议类别
683130643065F7 OA 发信方号码是8613034603567(对末尾的半字节空位以F替代)
00 PID 协议识别
08 DCS数据译码方案
30101311401300 SCTS 信息中心接收到数据的时间是2003年1月31日11点4分31秒,时间区为00.
04 UDL 数据长度为4个字节
6D4B8BD5 UD 用户数据,Unicode码(字符“测试”)
TC35与微处理器的硬件接口方法
TC35与微处理器只要连接好串口的TXD、RXD通信线,IGT启动脚,外接SIM卡以及电源即可正常工作。连接方法详见参考文献3。
TC35的串行口为自适应波特率,范围是1200-115200bps,但是笔者推荐使用9600,N,1格式。
TC35的串行接口电平是0-3.3V,然而我们常用的微处理器接口电平为0-5V,因此必须做电平转换。实践证明,若不做电平转换,则在大批量生产中产品质量不稳定。TC35与微处理器接口连接完成后,建议首先用ATI指令(显示产品识别信息)对串口连接进行测试,该指令返回内容如下:
SIEMENS
TC35
REVISION x.yy (x.yy是版本号)
注意:ATI指令必须以0D 0A结尾。
如果用户对AT指令不甚明了,建议首先采用PC机调试TC35,因为AT指令的细节还是有不少的。连接方法是PC机串口经MAX232等电平转换电路与TC35连接,调试软件采用串口调试助手等软件即可。
TC35的供电范围是3.3V-5.5V,电源容量要求2A。在实践中发现,电源容量偏小或电源纹波过大,都会使TC35工作不稳定。
TC35的启动是通过拉低IGT脚100毫秒以上即可。