1.1 SIM 300C模块介绍与应用介绍
1.1.1 SIM 300C模块简介
SIM 300C是小体积即插即用模组中完善的三频GSM/GPRS解决方案,它采用了DIP-60板对板连接器。
使用工业标准界面,使得具备GSM/GPRS 900/1800/1900MHz功能的SIM 300C以小尺寸和低功耗实现语音、SMS、数据和传真信息的高速传输。拥有50mm x 33mm x 6.2 mm小巧外形的SIM300C几乎可以满足工业运用中的任何空间尺寸需求,如M2M,远程信息处理以及其它移动数据传输系统。
三频GSM/GPRS模块,外形尺寸50x33x6.2mm; DIP-60板对板连接器,适合于交通中运用; 支持用户定制的MMI和键盘/LCD; 内嵌强大的TCP/IP协议栈。 基本特点:
1.三频GSM/GPRS 900/ 1800 / 1900 MHz 2.GPRS/EDGE (class 10/8) 标准
3.GPRS(class B)满足GSM(2/2+)标准 – Class 4(900MHz) – Class 1(1800/1900MHz) 4.尺寸:50mmx33mmx6.2mm 5.重量:13.8g
6.通过AT命令控制(GSM07.07,07.05和增强AT命令) 7.SIM应用工具包
8.支持电压范围:3.4V~4.5V 9.低功耗
10.正常操作温度:-30°C~+70°C 11.限制操作温度:-30°C~+80°C 12.存储温度:-40°C~+85°C 2.1.2 SIM 300C硬件特征
SIM 300C实物外观图如图2.1所示。
图1.1 SIM 300C模块实物图
模块的物理接口是通过一个60引脚板对板连接器实现的,具体引脚功能见表2.1,提供了模块与用户板的所有硬件接口(除了射频天线接口):
1.键盘输入与液晶显示接口,提供了用户定制应用程序的灵活性; 2.双重串行端口可以轻易的扩展应用;
3.两路音频通道包括了两路麦克风输入和两路扬声器输出,可以通过AT命令集设置。
SIM 300C提供了两种射频天线接口:天线连接器和天线衬垫。天线连接器是MURATA MM9329—2700;用户的天线也能焊接到天线衬垫上面。SIM 300C使用了降功耗技术,在睡眠模式下电流消耗仅为2.5mA。SIM 300C内嵌了强大的TCP/IP协议栈,扩展AT命令集使得用户能够轻松的使用TCP/IP协议。
表1.1 SIM 300C引脚功能表
PIN NO. 2 4 6 PIN NAME GND GND GND I/O PIN NO. 1 3 5 PIN NAME VBAT VBAT VBAT I/O I I I 8 10 12 14 16 GND GND ADC1 VRTC Network LED/GPIO12 I I O 7 9 11 13 15 VBAT VBAT CHG_IN TEMP_BAT VDD_EXT I I I I O 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 KBC0 KBC1 KBC2 KBC3 KBC4 KBR0 KBR1 KBR2 KBR3 KBR4 SPI_EN SPI_CLK SPI_DO SPI_AO SPI_RESET DBGRX DBGTX AGND MIC1P MIC1N MIC2P MIC2N O O O O O I I I I I O O I/O O O I O I I I I 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 PWRKEY STATUS GPIO5 BUZZER VSIM SIM_RST SIM_I/O SIM_CLK SIM_PRESENT GPIO32 DCD DTR RXD TXD RTS CTS RI AGND SPK1P SPK1N SPK2P SPK2N I O I/O O O O I/O O I I/O O I I O I O O O O O O SIM 300C的应用接口包括了下面四个方面:
(1)电源接口; (2)双重串行端口; (3)两个音频端口; (4)SIM卡接口。 (一)电源
SIM 300C的电源来自一个单一的电压源(3.4V~4.5V)。有的时候,由于SIM 300C模块在发送的时候电流约2A,会因线路阻抗产生压降使VBAT电压不稳,所以对模块的供电应该有大于2A的裕量。为了减小线路阻抗增强VBAT稳定性,电源线应该尽量宽,走线应该尽量短。
开启SIM 300C有两种方式:
1.使用PWRKEY引脚:开启正常工作模式; 2.使用RTC中断信号:开启警告模式。
通过PWRKEY引脚来开启模块需要低电平一段时间(大约1500ms),然后再转为高电平,如图1.2。当开启程序完成之后,SIM 300C会发送一个―RDY‖代码来表示自己已经准备好,可以正常工作了。
RTC的警报功能可以使SIM 300C模块从关闭状态进入警告模式。在警告模式下,SIM 300C不能注册到GSM网络,而且软件协议栈也是关闭的。因此关于SIM卡和协议栈方面的AT命令集都是不可以使用的,但是其余的AT命令集仍然和正常模式下一样可以使用。用于警告模式的AT命令:
AT+CALARM 设置闹警时间 AT+CCLK 设置当前时间 AT+CFUN 开启/关闭协议栈
进入警告模式后,SIM 300C会发送一个(URC—主动结果代码)―RDY ALARM MODE‖代码。
图1.2 使用PWRKEY引脚开启SIM 300C
关闭SIM 300C有下列四种方式: 1.使用PWRKEY引脚;
2.使用AT命令(AT+CPOWD=1); 3.低电压状态下,自动关闭模块; 4.超过温度范围状态下,自动关闭模块。
通过PWRKEY引脚来关闭模块需要低电平一段时间,如图2.3所示。这种方式将使软件进入一种安全状态并且在完全断开电源之前保存好数据。在切断流程完成之前,模块就会发送一个―POWER DOWN‖结果代码。之后,所有的AT命令集都不能够执行,模块进入POWER DOWN模式之后,只有RTC依然是活动的。POWER DOWN模式也能通过VDD_EXT引脚描述出来,在这种模式下,VDD_EXT引脚是低电平。
图1.3 使用PWRKEY引脚关闭SIM 300C
使用AT命令关闭SIM 300C的效果和PWRKEY一样的,使用的AT命令为: AT+CPOWD=1
SIM 300C的固件经常的监测VBAT引脚上的电压值,根据电压值的不同返回不同的URC:
POWER LOW WARNING(电压值小于3.5V) POWER LOW DOWN(电压值小于3.4V)
SIM 300C自动关闭温度临界点为-40°C、90°C。如果温度等于这个范围或者是超过这个范围,模块会自动关闭。
过温警报返回URC: +CMTE:1(大于85°C) +CMTE:-1(小于-35°C) 过温自动关闭返回URC: +CMTE:2(大于90°C) +CMTE:-2(小于-40°C) (二)双重串行端口
SIM 300C提供了两个不平衡异步串行端口,SIM 300C被设计成DCE(Data Communication Equipment),遵循传统DCE—DTE连接,支持的波特率范围从1200bps~115200bps,系统默认比较好的是9600bps。如图1.4所示。
图1.4 SIM 300C串行端口
(三)音频端口
模块提供了两个相同的音频通道,AIN1和AIN2。对于每一路通道,都可以通过AT+CMIC来调节麦克风的音量大小,AT+ECHO来设置回波消除参数。
(四)SIM卡接口
用户可以使用AT命令来获取SIM卡信息。接口引脚有:SIM_VDD、SIM_I/O、SIM_CLK、SIM_RST、SIM_PRESENCE。可以选用8脚或6脚的SIM卡。区别在于8脚的SIM卡具有SIM卡检测功能,如果不需要此功能,可以选用6脚SIM卡,将SIM_PRESENCE脚接地或悬空。基准电路如图1.5、图1.6所示。推荐使用6脚。
图1.5 8脚SIM卡基准接口电路
图1.6 6脚SIM卡基准接口电路
1.1.3 SIM 300C软件特征 1.串行接口的波特率:
波特率:1200bps~115200bps。固件:1008B05SIM300C32_SPANSION。 第一次启动模块时,没有RDY和URCs。使用AT+IPR?是用来查询当前波特率,返回+IPR:0(0表示波特率可用)。使用AT+IPR=38400;&w(改变波特率为38400并且保存),下次启动模块时,就有RDY了(表示已经准备好,可以工作了)。
2.透明模式(TCP/IP协议栈):
SIM 300C通过TCP/IP应用程序支持一种特殊的数据模式用于传送和接收数据,这就是透明模式。一旦在透明模式下建立连接,模块就会进入数据模式。所有从串行端口接收到的数据都被加工成数据包转发出去,同样所有来自远端服务器的数据也会立刻被转到串行端口。而且也提供了在数据模式和命令模式之间来回切换的方法。切换到命令模式之后,所有的AT命令就可以使用了。
配置透明模式:
AT+CIPMODE=1 //选择透明模式 OK
AT+CIPCCFG=3,2,256,1 //配置模式如下:如果发送失败,重试3次;等待2*200ms发送一个数据包;如果缓冲区里有256个字节就马上发送数据;换码顺序(+++)允许
AT&D1 //DTR引脚允许串行端口从数据模式切换到命令模式
3.建立一个TCP连接:
AT+CIPSTART=―TCP‖,―222.66.38.187‖,―5000‖ //建立一个TCP连接 OK
CONNECT //连接建立,串行端口进入数据模式,DCD引脚变为低电平。
4.从数据模式切换到命令模式: 1)+++
为了使用这个序列,必须在这个序列的前后都留出500ms的空闲时间,除此之外,每个―+‖的时间间隔都不要超过20ms,否则会被当成一个TCP/IP数据。
2)置DTR为低电平
如果切换成功,就会返回一个OK。 5.从命令模式切换到数据模式:
使用ATO命令,如果切换成功,就会返回一个CONNECT。 6.硬件流量控制(CTS):
在透明模式下,硬件流量控制被激活。如果需要流量控制的话,CTS引脚将失效(置为高电平)。如果数据缓冲区的大小大于缓冲区大小的1/2,流量控制就会出现。当流量控制产生时,模块将仍然可以接收来自串口的数据。但是如果接收缓冲器溢出时,模块将不会获得任何数据,直到有足够的缓冲空间。如果数据缓冲区的大小小于缓冲区大小的1/4,CTS将会再次启动(置为低电平)。
7.在数据模式下处理来电和短消息:
在数据模式下,当有电话呼入的时候,RI引脚将引起一个50ms的低脉冲。当收到短信的时候,RI引脚将引起一个120ms低脉冲。为了处理来电或短消息,首先你要进入命令模式(使用DTR或+++),然后模块将会主动返回一个如下的回应:
RING(电话呼入)
+CMTI:―SM‖,17(短消息)
然后就能接听电话或者是阅读短消息了。 8.处理错误:
如果发生错误,例如,如果模块的传输任务失败,同时,传送的数据或是PDP上下文由于网络或是远程服务器关闭TCP连接的原因而失效的话,串行端口将会自动从数据模式切换到命令模式,你也能使用AT+CIPSHUT命令关闭TCP/IP连接并且重新建立连接。如果模块在透明模式下不再能够传递数据,那么首先使用换码顺序(+++)或者是DTR引脚切换到命令模式,然后再使用AT+CIPSHUT关闭TCP/UDP连接并重新建立连接。
1.1.4 AT命令集介绍
AT即Attention,AT命令集是从TE(Terminal Equipment)或DTE(Data Terminal Equipment)向TA(Terminal Adapter)或DCE(Data Communication Equipment)发送的。通过TA、TE发送AT命令来控制MS(Mobile Station)的功能,与GSM网络业务进行交互。
用户可以通过AT命令进行呼叫、短信、电话本、数据业务、补充业务、传真等方面的控制。
基于V.25ter的AT命令集: 1)ATA(呼叫应答):
当模块收到呼叫来电时,设置RING信号并向用户发送―RING‖,然后等待用户应答呼叫。用户输入ATA命令后,返回OK即完成应答。
2)ATS0(自动应答):
S0参数控制自动应答。自动应答参数范围从1~255,参数设置得太高的话,有可能在自动应答之前电话就已经挂断。
ATS0=2 //2声振铃后自动应答 OK //设置成功 ATS0? //查询当前设定值 002
OK //返回当前设定值 ATS0=0 //无自动应答 OK
3)ATD(呼叫拨号):
ATD命令用于建立会话、数据业务或传真业务,也可以控制补充业务。 对于数据或传真业务,用户向模块发送如下ASCII字符: ATD 对于语音电话,用户向模块发送如下ASCII字符: ATD 用户使用ATH来切断与远端用户的连接。在有多个电话的情况下,所有的电话连接都被释放(包括正在通话挂起和等待的电话)。 5)ATDL(重拨): 用于重拨最近呼叫的用户。 6)ATI(显示产品识别信息) 7)+++(从数据模式切换到命令模式) 8)ATO(从命令模式切换到数据模式) 基于GSM07.05协议的AT命令集: 1)AT+CMGF(选择消息格式): 选择消息为TEXT或PDU格式。 用PDU格式,十六进制表示的数据单元,包括所有头信息的短消息,以二进制方式传送(写成十六进制的格式)。 用TEXT格式,命令和响应均为ASCII字符。 2)AT+CMGS(发送短消息): 采用TEXT方式的命令格式: AT+CMGS= Text is entered (按Ctrl+Z发送出去/按ESC取消) 采用PDU方式的命令格式: AT+CMGS= PDU is entered (按Ctrl+Z发送出去/按ESC取消) 返回给用户的消息参考值 3)AT+CMGR(读取短消息): 命令格式:AT+CMGR= 用于GPRS的AT命令集: 1)AT+CGATT(连接或分离GPRS): 此执行命令用于使MT与GPRS关联或分离。命令执行完后,MT处于V.25ter命令状态。若MT已经处于请求的状态,则忽略此命令,返回OK响应。若不能完成请求状态,则返回一个ERROR或+CME ERROR响应。当连接的状态变为分离态时,任何激活的PDP上下文将自动失效。 读取命令返回当前的GPRS业务状态。 测试命令用于请求与支持的GPRS业务状态有关的信息。 2)AT+CGACT(激活或失效PDP上下文): 此执行命令用于激活或失效指定的PDP上下文。命令执行完后,MT处于V.25ter命令状态。若任一个PDP上下文已经处于要求的状态,则那个上下文状态不变。 若不能进入请求的指定上下文状态,则返回一个ERROR或+CME ERROR响应。利用+CMEE命令能扩充的错误响应。 当此命令的激活形式执行时,若MT没与GPRS连接,则MT首先执行关联GPRS,再尝试激活指定的上下文。若关联失败,则MT响应ERROR,或者,若扩充的错误响应使能,则MT以适当的不能连接失败的消息响应。 读取命令返回所有定义的PDP上下文的当前的激活状态。 测试命令用于请求获得支持的PDP上下文激活状态有关的信息。 3)AT+CGDCONT(定义PDP上下文): 这一命令为由本地上下文识别参数 测试命令返回一个复合值。若MT支持几种PDP类型 基于GSM07.07协议的AT命令集: 1)AT+CSQ(信号质量报告): 该命令用来检测接收信号的强度指示( 2)AT+CPBS(选择电话本存储区): 该命令选择电话本存储区,可用的存储区包括AND(即SM自动拨号电话本),FDN(固定拨号电话本,受限制),MSISDN(SIM卡本机号),EN(紧急电话电话本)。如果当前使用FDN电话本,不能选择AND。 3)AT+CPBR(读取电话本): 该命令返回用AT+CPBS命令选择的存储区一定范围内的记录。 4)AT+CPBW(写电话本): 该命令向当前的电话本存储区某一位置处写入记录。对―EN‖电话本不允许使用此命令,因为它不可写。当固定电话拨号本(FDN)锁住时,此命令无效,FDN解锁后,需要输入PIN2码。 1.2 相关协议介绍 1.GSM07.05协议:在短信息服务与小区广播服务中DTE-DCE接口的应用标准。 2.GSM07.07协议:GSM移动设备(ME)的AT命令集标准。 3.V.25ter协议:异步串行自动拨号与控制协议。 4.RS-232:串行通信接口的电气标准,定义了数据终端设备(DTE)和数据通信设备(DCE)间按位串行传输的接口信息。 RS-232信号引脚定义如表1.2: 表1.2 RS-232信号引脚定义 引 脚 1 2 3 4 5 定义 数据载波检测(DCD) 接收数据(RXD) 发送数据(TXD) 数据终端准备就绪(DTR) 信号地(GND) 6 7 8 9 数据通信设备准备就绪(DSR) 请求发送(RTS) 清除发送(CTS) 振铃指示(DELL) RS-232是一种电压型总线标准,以不同极性的电压表示逻辑值: -3V~-15V表示逻辑―1‖(mark) +3V~+15V表示逻辑―0‖(space) 采用标准的9芯插头座(DB-9)进行连接,因此该插头座也称之为RS-232连接器。本次设计中采用的RS-232线内部连接关系如图2.7所示。 图2.7 本次设计中RS-232线内部连接图 1.3 其他GSM模块介绍 现在市场上应用最广泛的模块是SIMCOM公司、SIEMENS公司和WAVECOME公司的模块产品。SIMCOM公司的SIM100、SIM300都是应用比较广泛,SIEMENS公司的MC55/MC56获得了众多网络运营商的认可,MC55适用于欧洲和亚洲的频段(900,1800,1900MHz),MC56适用于北美洲的频段(850,1800,1900MHz),WAVECOME公司有Q2406A/Q2406B带TCP/IP协议的GPRS工业模块、Q2438FCDMA工业模块。 除此之外,还有索尼爱立信的GR系列GPRS模块,明基BENQ的M23系列GPRS带协议三频工业模块。 第二章 硬件设计 2.1 设计内容 本次设计的移动通信终端系统主要完成发送短信、等功能,是通过单片机编程直接对GSM模块进行控制。两种方式不能同时进行,所以可以选用跳线进行方式间的切换。由SIM 300C构成的移动通信终端可以在PC超级终端或单片机控制下通过AT命令实现短信发送、GPRS上网等功能。其中与语音通信相关的AT命令主要参考标准V.25terAT命令;与短信操作有关的AT命令主要参考GSM07.05、07.07及SIMCOM公司自定义的增强版AT命令。 系统的硬件核心为GSM模块SIM 300C和单片机,它们的接口设计如图2.1所示。 图2.1 单片机控制连接图 图中CTS、TXD、RTS、RXD、DTR、DCD和RI七根线为GSM模块的七根串口线,数据线TXD、RXD,状态线CTS、RTS和控制线DTR、DCD和RI: TXD:数据发送线; RXD:数据接收线; CTS:SIM 300C准备接收数据状态线,低有效; RTS:SIM 300C发送数据状态线,低有效; DTR:控制数据模式到命令模式的切换; DCD:控制TCP/UDP连接状态; RI:显示新短信或来电。 本次设计中,RTS、DTR一直有效,实际用到的线只有TXD、RXD和CTS。数据接口采用串行异步收发,符合ITU-T RS-232接口电路标准。数据接口配置为8位数据位、1位停止位、无校验位、无流控制,可以在1200bps~115200bps的波特率下运行。 GSM模块的正常运行需要相应的外围电路与其配合。SIM 300C通过60脚板对板连接器分别与电源电路、启动与关机电路、数据通信电路、MIC/SPK电路、状态指示电路、SIM卡电路等连接。 2.2 电原理图 电源设计部分: 系统中有三路电源:一个是+5V,给整个系统供电;一个是4.2V,SIM 300C模块的工作电压;一个是2.8V,SIM 300C的输出电压,给串口电平转换芯片供电,SIM卡所用的电压也是2.8V,原理框图如图2.2所示。 SIM 300C电源部分,使用了MIC29302BT五端稳压芯片,完成+5V到+4.2V,2A的转换,给SIM 300C模块供电。 由于SIM 300C模块在发送的时候电流约2A,会因线路阻抗产生压降使VBAT电压不稳,所以在设计电源电路时注意以下问题。 1.对模块的供电应该有大于2A的裕量。 2.为了减小线路阻抗增强VBAT稳定性,电源线应该尽量宽,走线应该尽量短。 GSM外部输入电源 稳压电路 模块 输出电压 系统供电 图2.2 电源设计原理框图 数据通信电路: 由高性能双重数据缓冲器组成。 单片机 数据缓冲器GSM模块 图2.3 数据通信原理框图 指示电路分析与设计: 原理框图如图2.4所示,这部分电路设计的功能是完成SIM 300C模块工作状态、网络状态的指示以及来电振铃提示。 工作状态指示 GSM模块 网络状态指示 蜂鸣器指示 图2.4 指示电路原理框图 开/关机电路: 这里,开/关机功能可由单片机控制实现。单片机编程时需考虑到SIM 300C模块启动条件。 MIC/SPK接口电路: SIM卡电路: 不需要SIM卡检测功能,选用的是6脚的SIM卡电路, 因篇幅问题不能全部显示,请点此查看更多更全内容