最新日志

发表于:2008-4-3 14:11:04
标签:rs-232-c  同步协议  停止位  起始位  

0

串口通讯—通信协议

所谓通信协议是指通信双方的一种约定。约定包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题做出统一规定,通信双方必须共同遵守。因此,也叫做通信控制规程,或称传输控制规程,它属于ISO'S OSI七层参考模型中的数据链路层。

  目前,采用的通信协议有两类:异步协议和同步协议。同步协议又有面向字符和面向比特以及面向字节计数三种。其中,面向字节计数的同步协议主要用于DEC公司的网络体系结构中。

一、物理接口标准

1.串行通信接口的基本任务

(1)实现数据格式化:因为来自CPU的是普通的并行数据,所以,接口电路应具有实现不同串行通信方式下的数据格式化的任务。在异步通信方式下,接口自动生成起止式的帧数据格式。在面向字符的同步方式下,接口要在待传送的数据块前加上同步字符。

(2)进行串-并转换:串行传送,数据是一位一位串行传送的,而计算机处理数据是并行数据。所以当数据由计算机送至数据发送器时,首先把串行数据转换为并行数才能送入计算机处理。因此串并转换是串行接口电路的重要任务。

(3)控制数据传输速率:串行通信接口电路应具有对数据传输速率——波特率进行选择和控制的能力。

(4)进行错误检测:在发送时接口电路对传送的字符数据自动生成奇偶校验位或其他校验码。在接收时,接口电路检查字符的奇偶校验或其他校验码,确定是否发生传送错误。

(5)进行TTL与EIA电平转换:CPU和终端均采用TTL电平及正逻辑,它们与EIA采用的电平及负逻辑不兼容,需在接口电路中进行转换。

(6)提供EIA-RS-232C接口标准所要求的信号线:远距离通信采用MODEM时,需要9根信号线;近距离零MODEM方式,只需要3根信号线。这些信号线由接口电路提供,以便与MODEM或终端进行联络与控制。

2、串行通信接口电路的组成

为了完成上述串行接口的任务,串行通信接口电路一般由可编程的串行接口芯片、波特率发生器、EIA与TTL电平转换器以及地址译码电路组成。其中,串行接口芯片,随着大规模继承电路技术的发展,通用的同步(USRT)和异步(UART)接口芯片种类越来越多,如下表所示。它们的基本功能是类似的,都能实现上面提出的串行通信接口基本任务的大部分工作,且都是可编程的。才用这些芯片作为串行通信接口电路的核心芯片,会使电路结构比较简单。

3.有关串行通信的物理标准
为使计算机、电话以及其他通信设备互相沟通,现在,已经对串行通信建立了几个一致的概念和标准,这些概念和标准属于三个方面:传输率,电特性,信号名称和接口标准。

1、传输率:所谓传输率就是指每秒传输多少位,传输率也常叫波特率。国际上规定了一个标准波特率系列,标准波特率也是最常用的波特率,标准波特率系列为110、300、600、1200、4800、9600和19200。大多数CRT终端都能够按110到9600范围中的任何一种波特率工作。打印机由于机械速度比较慢而使传输波特率受到限制,所以,一般的串行打印机工作在110波特率,点针式打印机由于其内部有较大的行缓冲区,所以可以按高达2400波特的速度接收打印信息。大多数接口的接收波特率和发送波特率可以分别设置,而且,可以通过编程来指定。

2、RS-232-C标准:RS-232-C标准对两个方面作了规定,即信号电平标准和控制信号线的定义。RS-232-C采用负逻辑规定逻辑电平,信号电平与通常的TTL电平也不兼容,RS-232-C将-5V~-15V规定为“1”,+5V~+15V规定为“0”。图1是TTL标准和RS-232-C标准之间的电平转换。


图1

二、软件协议

1.OSI协议和TCP/IP协议



图2

(1)OSI协议

OSI七层参考模型不是通讯标准,它只给出一个不会由于技术发展而必须修改的稳定模型,使有关标准和协议能在模型定义的范围内开发和相互配合。

一般的通讯协议只符合OSI七层模型的某几层,如: EIA-RS-232-C:实现了物理层。 IBM的SDLC(同步数据链路控制规程):数据链路层。ANSI的ADCCP(先进数据通讯规程):数据链路层IBM的BSC(二进制同步通讯协议):数据链路层。应用层的电子邮件协议SMTP只负责寄信、POP3只负责收信。

(2)TCP/IP协议

实现了五层协议。

(1)物理层:对应OSI的物理层。

(2)网络接口层:类似于OSI的数据链路层。

(3)Internet层:OSI模型在Internet网使用前提出,未考虑网间连接。

(4)传输层:对应OSI的传输层。

(5)应用层:对应OSI的表示层和应用层。

2.串行通信协议

串行通信协议分同步协议和异步协议。

(1)异步通信协议的实例——起止式异步协议




图3

特点与格式:

起止式异步协议的特点是一个字符一个字符传输,并且传送一个字符总是以起始位开始,以停止位结束,字符之间没有固定的时间间隔要求。其格式如图3所示。每一个字符的前面都有一位起始位(低电平,逻辑值0),字符本身有5~7位数据位组成,接着字符后面是一位校验位(也可以没有校验位),最后是一位,或意味半,或二位停止位,停止位后面是不定长度的空闲位。停止位和空闲位都规定为高电平(逻辑值),这样就保证起始位开始处一定有一个下跳沿。

从图中可以看出,这种格式是靠起始位和停止位来实现字符的界定或同步的,故称为起始式协议。传送时,数据的低位在前,高位在后,图4表示了传送一个字符E的ASCAII码的波形1010001。当把它的最低有效位写到右边时,就是E的ASCII码1000101=45H。



图4

起/止位的作用:起始位实际上是作为联络信号附加进来的,当它变为低电平时,告诉收方传送开始。它的到来,表示下面接着是数据位来了,要准备接收。而停止位标志一个字符的结束,它的出现,表示一个字符传送完毕。这样就为通信双方提供了何时开始收发,何时结束的标志。传送开始前,发收双方把所采用的起止式格式(包括字符的数据位长度,停止位位数,有无校验位以及是奇校验还是偶校验等)和数据传输速率作统一规定。传送开始后,接收设备不断地检测传输线,看是否有起始位到来。当收到一系列的“1”(停止位或空闲位)之后,检测到一个下跳沿,说明起始位出现,起始位经确认后,就开始接收所规定的数据位和奇偶校验位以及停止位。经过处理将停止位去掉,把数据位拼装成一个并行字节,并且经校验后,无奇偶错才算正确的接收一个字符。一个字符接收完毕,接收设备有继续测试传输线,监视“0”电平的到来和下一个字符的开始,直到全部数据传送完毕。

由上述工作过程可看到,异步通信是按字符传输的,每传输一个字符,就用起始位来通知收方,以此来重新核对收发双方同步。若接收设备和发送设备两者的时钟频率略有偏差,这也不会因偏差的累积而导致错位,加之字符之间的空闲位也为这种偏差提供一种缓冲,所以异步串行通信的可靠性高。但由于要在每个字符的前后加上起始位和停止位这样一些附加位,使得传输效率变低了,只有约80%。因此,起止协议一般用在数据速率较慢的场合(小于19.2kbit/s)。在高速传送时,一般要采用同步协议。

(2)面向字符的同步协议

特点与格式:这种协议的典型代表是IBM公司的二进制同步通信协议(BSC)。它的特点是一次传送由若干个字符组成的数据块,而不是只传送一个字符,并规定了10个字符作为这个数据块的开头与结束标志以及整个传输过程的控制信息,它们也叫做通信控制字。由于被传送的数据块是由字符组成,故被称作面向字符的协议。

特定字符(控制字符)的定义:由上面的格式可以看出,数据块的前后都加了几个特定字符。SYN是同步字符(synchronous Character),每一帧开始处都有SYN,加一个SYN的称单同步,加两个SYN的称双同步设置同步字符是起联络作用,传送数据时,接收端不断检测,一旦出现同步字符,就知道是一帧开始了。接着的SOH是序始字符(Start Of Header),它表示标题的开始。标题中包括院地址、目的地址和路由指示等信息。STX是文始字符(Start Of Text),它标志着传送的正文(数据块)开始。数据块就是被传送的正文内容,由多个字符组成。数据块后面是组终字符ETB(End Of Transmission Block)或文终字符ETX(End Of Text),其中ETB用在正文很长、需要分成若干个分数据块、分别在不同帧中发送的场合,这时在每个分数据块后面用文终字符ETX。一帧的最后是校验码,它对从SOH开始到ETX(或ETB)字段进行校验,校验方式可以是纵横奇偶校验或CRC。另外,在面向字符协议中还采用了一些其他通信控制字,它们的名称如下表所示:



数据透明的实现:面向字符的同步协议,不象异步起止协议那样,需要在每个字符前后附加起始和停止位,因此,传输效率提高了。同时,由于采用了一些传输控制字,故增强了通信控制能力和校验功能。但也存在一些问题,例如,如何区别数据字符代码和特定字符代码的问题,因为在数据块中完全有可能出现与特定字符代码相同的数据字符,这就会发生误解。比如正文有个与文终字符ETX的代码相同的数据字符,接收端就不会把它当作为普通数据处理,而误认为是正文结束,因而产生差错。因此,协议应具有将特定字符作为普通数据处理的能力,这种能力叫做“数据透明”。为此,协议中设置了转移字符DLE(Data Link Escape)。当把一个特定字符看成数据时,在它前面要加一个DLE,这样接收器收到一个DLE就可预知下一个字符是数据字符,而不会把它当作控制字符来处理了。DLE本身也是特定字符,当它出现在数据块中时,也要在它前面加上另一个DLE。这种方法叫字符填充。字符填充实现起来相当麻烦,且依赖于字符的编码。正是由于以上的缺点,故又产生了新的面向比特的同步协议。

(3)面向比特的同步协议

特点与格式:面向比特的协议中最具有代表性的是IBM的同步数据链路控制规程SDLC(Synchronous Data Link Control),国际标准化组织ISO(International Standard Organization)的高级数据链路控制规程HDLC(High Level Data link Control),美国国家标准协会(Americal National Standard Institute)的先进数据通信规程ADCCP(Advanced Data Communication Control Procedure)。这些协议的特点是所传输的一帧数据可以是任意位,而且它是靠约定的位组合模式,而不是靠特定字符来标志帧的开始和结束,故称“面向比特”的协议。这中协议的一般帧格式如图5所示:



图6

帧信息的分段:由图5可见,SDLC/HDLC的一帧信息包括以下几个场(Filed),所有场都是从有效位开始传送。

(1)SDLC/HDLC标志字符:SDLC/HDLC协议规定,所有信息传输必须以一个标志字符开始,且以同一个字符结束。这个标志字符是 01111110,称标志场(F)。从开始标志到结束标志之间构成一个完整的信息单位,称为一帧(Frame)。所有的信息是以帧的形传输的,而标志字符提供了每一帧的边界。接收端可以通过搜索“01111110”来探知帧的开头和结束,以此建立帧同步。

(2)地址场和控制场:在标志场之后,可以有一个地址场A(Address)和一个控制场C(Control)。地址场用来规定与之通信的次站的地址。控制场可规定若干个命令。SDLC规定A场和C场的宽度为8位或16位。接收方必须检查每个地址字节的第一位,如果为“0”,则后面跟着另一个地址字节;若为“1”,则该字节就是最后一个地址字节。同理,如果控制场第一个字节的第一位为为“0”,则还有第二个控制场字节,否则就只有一个字节。

(3)信息场:跟在控制场之后的是信息场I(Information)。I场包含有要传送的数据,并不是每一帧都必须有信息场。即数据场可以为0,当它为0时,则这一帧主要是控制命令。

(4)帧校验信息:紧跟在信息场之后的是两字节的争校验,帧校验场称为FC(Frame Check)场或称为帧校验序列FCS(Frame check Squence)。SDLC/HDLC均采用16位循环冗余校验码CRC(Cyclic Redundancy Code)。除了标志场和自动插入的“0”以外,所有的信息都参加CRC计算。

实际应用时的两个技术问题:

(1)“0”位插入/删除:如上所述,SDLC/HDLC协议规定以01111110为标志字节,但在信息场中也完全有可能有同一种模式的字符,为了把它与标志区分开来,所以采取了“0”位插入和删除技术。具体作法是发送端在发送所有信息(除标志字节外)时,只要遇到连续5个“1”,就自动插入一个“0”,当接收端在接收数据时(除标志字节)如果连续收到5个“1”,就自动将其后的一个“0”删除是,以恢复信息的原有形式。这种“0”位的插入和删除过程是由硬件自动完成的。

(2)SDLC/HDLC异常结束:若在发送过程中出现错误,则SDLC/HDLC协议常用异常结束(Abort)字符,或称为失效序列使本帧作废。在HDLC规程中,7个连续的“1”被作为失效字符,而在SDLC中失效字符是8个连续的“1”。当然在试销序列中不使用“0”位插入/删除技术。SDLC/HDLC协议规定,在一帧之内不允许出现数据间隔。在两帧之间,发送器可以连续输出标志字符序列,也可以输出连续的高电平,它被称为空闲(Idle)信号。

点击此处查看原文 >>

系统分类: 3G与手机   |    用户分类: 无分类    |    来源: 无分类

评论(1) | 阅读(164)
发表于:2008-3-3 14:39:51
标签:无标签

0

WAVECOM 工业手机

技术规范
 
产品性能: 双频GSM调制解调器(EGSM900/1800MHz或EGSM900/1900MHz),适用于数据,传真,短信息及话音应用,已通过所有认证  其设计及开发符合ETSI GSM Phase2+标准(一般话机)
输出功率: Class4(2W@900MHz)
Class1(1W@1800/1900MHz)
输入电压: 5V-32V
输入电流: 5mA待机状态,140mA在GSM900MHz@12V 通话状态
5mA待机状态,100mA在GSM1800/1900MHz@12V 通话状态
温度范围: -20℃-+55℃工作状态
-25℃-+70℃保存状态
产品大小: 98×54×25mm
产品重量: 130克
话音,数据/传真,短信息功能
 

· 话音功能 呼叫  紧急电话
     语音编解码:全速率,增强全速率及半速率(FR/EFR/HR)
      双音多频功能(DTMF)

· 数据/传真功能 非同步数据电路,透明及非透明数据最高可达标14,400bits/s
          第三类自动传真机(Class1与Class2)
          MNP2,V42bis

· 短信息服务功能 文字及PDU   点对点(MT/MO)  小区广播

 
 GSM附加业务功能
 

· 呼叫转移
· 呼叫限制
· 多方通话
· 呼叫等待及呼叫保持
· 来电显示
· 话费提示
· 非结构化数据补充业务(USSD)
· 封闭用户群
· 显示呼叫转移

 
 其他功能
 

· 开放软件平台(支持嵌入式用户应用系统)
· ME+SIM电话簿管理
· 固定拨号
· SIM卡增值服务Class2
· SIM卡,网络及服务供应商锁卡功能
· 实时时钟
· 闹钟管理
· XMODEM协议作软件升级
· 支持文字档UCS2

点击此处查看原文 >>

系统分类: 3G与手机   |    用户分类: 无分类    |    来源: 无分类

评论(1) | 阅读(225)
发表于:2008-3-3 14:35:42
标签:无标签

0

如何在你的程序中加入短信收发功能

如何在你开发的程序中嵌入短信接收/发送功能?这是很多程序开发者想了解的问题,下面介绍5种方法供您参考:

1、直接通过移动或联通互联网短信网关。向中国移动或中国联通申请特服号码,你的应用系统短信由专线接入通信公司的网关,这种方法速度快但费用高,申请SP资格不容易,短信业务量有门槛要求,一般只适合专业短信公司使用。----不是件容易的事,周期长,等董事会研究半年再说。

2、以二级SP方式接入移动或联通互联网短信网关。向二级短信服务商申请接入服务,但大多数的二级短信服务商不提供短信接收功能,一般适合只要求发送短信的系统。----短信岂能只发不收?没有理由说服客户。

3、购买工业GSM Modem并作设备驱动开发。购买工业级GSM MODEM设备,自己编写设备控制程序,熬更守夜,不断地测试、不断地修改代码。真正的程序员会乐此不疲,但聪明的程序员决不会这样做,社会有分工,术业有专攻。聪明的程序员都知道,客户需要的是一个稳定成熟的应用系统,是为了提高工作效率,而不是为了给您的劳动成果作测试。现在的客户,付款的时候可是鸡蛋里挑骨头。----选择此路前,最好准备两个棉团,以便被老板和客户骂的时候好塞进耳朵里。

4、购买工业GSM Modem及其配套设备控件。购买工业级GSM MODEM设备,我们为你提供GSM MODEM设备的控件。基于该设备控件可以方便地控制设备,方便地实现短信的收发操作。---- 使用非常简单,开发难度低。

5、购买工业GSM Modem和短信服务器二次开发平台。购买工业级GSM MODEM设备,使用我们为您提供的短信服务器二次开发平台。可以基于数据库接口或客户端OCX控件接口,二次开发非常简单,很容易实现网络应用。如果基于数据库二次开发,只需要安装一下软件、配置一下数据库,一杯茶的功夫,用不着编程,立竿见影就可以用起来。只要用起来了,再考虑怎么把二次开发做得更好也不迟。----没有比这再简单的事了,老板和客户最愿接受。

    至此,我们介绍了两种行之有效的低成本的手机短信二次开发途径:GSM Modem设备控件、基于短信服务器的短信二次开发平台。使用各种开发语言的开发人员都可以完全避免对GSM底层通信协议的学习,都可以把短信收发功能加入到自己的程序中,不管你做的是OA系统,还是CRM系统,不管是CS结构,还是BS结构,它们都能出色地完成任务,大大提高产品开发进度和产品质量。

请相信,我们产品庞大的用户群,已经为我们提供的产品作了长期的大量的检验工作,您可以放心使用。

点击此处查看原文 >>

系统分类: 3G与手机   |    用户分类: 无分类    |    来源: 无分类

评论(0) | 阅读(222)
发表于:2008-3-3 14:34:15
标签:gsm  modem  

0

AT编程常见问题2

Q:请问什么是STK,FALCOM A2D系列有没有这项功能?怎么用STK? 多谢.
A:STK (SIM Tool Kit)卡预先储存一些移动网络可提供的一些服务的数据资料,如短消息中心号码、信息服务代码等,目前中国移动即将推出的手机银行业务即需要STK卡来支持。使用STK卡的手机在屏幕上可显示普通SIM卡不具备的菜单,如"全球通服务"。通过调用这一菜单,可进入下一级和在下一级菜单。用户通过选择可进行新闻股票信息查询、银行转帐股票委托等移动电子商务等多项移动信息服务,操作上类似于internet网页的分级链接。STK (SIM Tool Kit)卡由SIM卡厂家提供。

Q:STK程序如何开发,工具及帮助文档?
A:目前中国移动网络的STK (SIM Tool Kit)卡由SIM卡厂家提供技术支持,负责提供STK开发系统,负责STK的编程和制作,并保证消息加密方式的先进性和密钥的安全性应用层协议格式有网络运营,业务提供,SIM卡厂家,短消息厂家四方共同制定。

Q:发SMS的时候,是怎么实现能自动判断接受手机的语言,发中文SMS给中文机,英文SMS给英文机.
A:发送短消息时,无法自动判断接受手机的语言,必须预先知道接受手机所能支持的语言,再选择语言种类编码发送。以小区广播为例,无论发送中文还是英文信息小区内的手机都将同时收到,不支持该发语种的手机收到的将是乱码。

Q:GSM MODEM有没有提供SMS编程的API或者其他资料
A:GSM Modem的使用及开发资料请参看A2D-1。对于FalcomA2D-A(B,C)和A2D-3我们提供配套的开发工具,请参看相关类别的资料说明。

Q:SMS的格式如何规定的?
A:请在我们网站上下载Falcom A2D用户手册上面有关于短消息通信的相关指令.

Q:我买了一个nokia data suite想通过它发at命令来实现发中文短讯 但是不支持"at * c" "send " 请问如何处理?
A:不知您提到的"at * c" 是否在GSM规范07.07和07.05中?

Q:从哪能得到GSM规范07.07和07.05?谢谢!
A:您在我们网站上可以下载相关文档,里面有关于GSM规范AT指令的详细说明。或者您可以到ETSI的官方网站上去找。

Q:我也用数据套件(Nokia DataSuite2.0)发过消息,但只能发英文,发不了中文.怎么办?
A:中英文短消息的编码格式不一样.

Q:我可以确定我是用Unicode格式发送的中文,怎么还不好使? 如果想发中文,你说该怎办? Email:zhangqing888@sina.com
A:"Nokia DataSuite2.0"的数据格式和定义我们不了解. Falcom A2D可以实现中文短信.

Q:AT+CMGS如何发送命令?本人想通过超级连接发送中文(手机不支持中文发送),应如何写命令格式? 望大虾指点.
at+cmgf=0
ok
at+cmgs="683106316070F60008050034192242308007400650073007"
Error
如何解决? 求助大虾!
A:假设有一个消息ab须发送,则:
at+cmgs=16
>0891(短消息中心号码)11000D91(目的号码)00F2A7024121(ctrl+Z结束)

Q:Re: AT+CMGS如何发送命令?
A:先设at+cmgf=0,再发at+cmgs="LEHGTH"
"LENGTH'代表发送字节长度短消息中心号码和目的号码包含其中中文用unicode编码,如不明白与我联系发信给我

Q:我就是用unicode编码,但是在pdu格式下,在对方手机上显示不出来
A:Falcom A2D可以实现中文短信.

Q:请教PDU数据格式以及SMS-AT命令中的发送数据格式
A:"PDU数据格式"见GSM03.40和GSM03.41,"SMS-AT命令中的发送数据格式"见GSM07.05和GSM07.07.上述规范可到http://www.etsi.org/ 下载。

Q:falcom的A2D系列产品可否与WAP、GPRS兼容?
A:WAP是一种简化的浏览器协议,与传输通路没有关系只要您的终端上有WAP或类似的浏览器,您就可支持WAP,所以,falcom的A2D是可以通过的只要您在上建立了数据链路。支持的A2D将在今年第三季度推出,现有的内核是支持的只不过现在未开放。

Q:请问A2D的内核支持WAP,是否直接内置WAP浏览器,如果是的话,A2D是否等于WAP手机。
A:A2D本身没有WAP浏览器,须在A2D中加入WAP浏览器和显示屏及键盘才能成为手机

Q:贵公司有GPS receiver 的代理和A2D-GPS的相关中文的资料吗?
A:我公司不代理单独的GPS,不过我可推荐此代理给您. A2D-GPS目前没有中文资料,抱歉

Q:可以发以份报价表给我吗?EMAIL:SEAGATE@163。NET 希望可以得到贵公司的最新的代理产品和公司产品。谢谢!
A:请在'联系方式'下填写用户信息我们将电邮给您

Q:Nokia手机的NDS收发短信息也是用AT命令吗?有没有手机和电脑通讯的规范呢?本人也非常想知道有关PC和手机通讯的规范。当TE 和 ME (未经 TA)相连时,手机端所采用的通讯规范是哪一种?
A:NDS代表什么?请参考本网站a2dman.pdf.请参考ETSI相关规范。http://www.etsi.org

Q:本人已查看过 ETSI 关于GSM的规范,如GSM07.01 GSM 07.07 GSM 07.05 等,但仍未搞明白,在此特请教先生,涉及手机编程问题的具体规范.
A:有关Falcom GSM 产品的开发问题请直接与我公司联系。其他产品我们因不了解无法提供进一步解答,请见谅.欢迎各位同仁提供信息和指教。

Q:Can I find any papers published on IEEE and how? Thanks.
A:http://www.ieee.org/

Q:MODEM如何设置自动应答?请教AT命令集?
A:ats0=1

Q:用什么指令可以让手机收到的短信息不存储在手机内部而直接发送到数据终端(如计算机)?如果广泛使用短消息,势必造成接收短消息那台手机的flash或sim卡eeprom的损坏,用什么at指令可以让手机收到的短消息直接从串行口发送出来而不存储?
A:请下载simcn.doc文件

Q:我用PDU方式,对字符进行8bit编码,发送英文字符正常,但发送汉字在手机上显示不出来?SMS对汉字怎样编码才能被手机识别并显示出来?
A:请参考本论坛以前讨论内容。

Q:但是还是不能解决问题啊,怎样编码才能让普通手机收到后显示出来?
A:您的手机是否支持中文?

Q:Re: AT+CMGS如何发送命令?
我就是用unicode编码,但是在pdu格式下,在对方手机上显示不出来
A:Falcom A2D可以实现中文短信.

Q:请教
内容:
我在接收中文短信时,接收到的是UNICODE原码,但它的正文个数好象是按普通的ASC码算的,比如:
我发的是"一一一一"收到的是"4E004EOO4E004E",后面的还有的"00"没有;
当我发"一一一乙"时,收到的还是"4E004E004E004E"
请教一下这是为什么?
A:但是这不是unicode原码,是手机自己的编码!

Q: 请教一下,GPRS是什么单词的缩写。
A:GPRS的全称是"通用分组无线业务"(General Packet Radio Service),它是ETSI组织制定的一套标准,以实现移动分组数据业务。
· 实现方式:在GSM网络上增加分组数据服务设备,并对GSM无线网络设备进行升级,从而利用现有的GSM无线覆盖提供分组数据业务。
· 特点:
· 传输速度快:最高可达171kbps(初期9-50kHz)
· 可灵活支持多种数据应用
· 网络接入速度快
· 可长时间在线连接
· 计费更加合理(按数据流量计费)
· 高效利用网络资源,降低通信成本
· 利用现有无线网络覆盖,提高网络建设速度,降低建设成本
· GPRS的核心网络顺应通信网络的发展趋势,为GSM网向第三代演进打下基础
· 进展情况:商用系统计划2000年推出

Q:使用ISDN的适配器向手机发送短消息
有pc的串口发送AT命令,ISDN适配器使手机收到短消息可以实现吗?
A:只要您的ISDN适配器可与短消息中心正常通信就可向手机发送短消息
"与短消息中心正常通信"是指向ISDN的适配器发送标准贺氏指令即可,短消息中心一定会接受。还是指要经过短信息中心授权,短信息中心给出一套自己定义的标准指令。与短消息中心正常通信"是指向ISDN的适配器发送标准贺氏指令即可,短消息中心一定会接受。还是指要经过短信息中心授权,短信息中心给出一套自己定义的标准指令。 AT指令既可

Q:A2D设备发送SMS是否大材小用,因为从兼容AT指令的MODEM发送AT即可.
A:A2D是GSM Modem,针对于基于GSM无线网络的系统应用。

Q:A2D模块是否支持16位的短消息传输内容:也就是说如何实现中文短消息.烦请举一个例子说明。谢谢!
A:Falcom A2D模块支持16位的短消息传输。具体应用请与我们联系。

Q:Re: 如何用falcom发送广播消息?
A:Falcom GSM Modem/Module 完全符合GSM规范,通过FTA认证。发送广播消息应该需要短消息中心具备这种功能。

Q:Re: 请问如何用PDU格式发送短信?
A:有关Falcom GSM Modem/Module开发应用请直接与我们联系或参看本网站所列资料。

点击此处查看原文 >>

系统分类: 汽车电子   |    用户分类: 无分类    |    来源: 无分类

评论(0) | 阅读(170)
发表于:2008-3-3 14:32:55
标签:wavecom  modem  工业手机  

0

AT编程常见问题

 1. 如何与GSM MODEM建立通信联系
2. 不能与GSM MODEM进行正常的通信或总是在仿真终端上出现乱码
3. 如何才能知道错误代码
4. 发送短消息后,收到出错信息+CMS ERROR 512
5. 发送短消息后,收到出错信息+CMS ERROR 513
6. 发送短消息后,收到出错信息+CMS ERROR 514
7. 发送短消息后,收到出错信息+CMS ERROR 515
8. 如何才能知道您发送的短消息已被送达目的号码
9. 如何发送中文短消息
10.如何建立一个话音呼叫
11.如何建立一个数据呼叫
12.当GSM MODEM作被叫时,如何显示主叫的电话号码
13.当GSM MODEM作被叫时,如何判别主叫发起的是话音、数据或传真呼叫
14.当GSM MODEM作被叫时,如何使其自动应答或不能自动应答
15.如何不通过SIM卡直接读或写短消息

1. 如何与GSM MODEM建立通信联系
您可用诸如Windows下的超级终端或Pcomm等终端仿真软件,将计算机的串行口与GSM MODEM的串行口用电缆直接连接。

2. 不能与GSM MODEM进行正常的通信或总是在仿真终端上出现乱码
检查您的串口是否保证正常连接,计算机的串口引线与GSM MODEM的串口引线应是一一对应的。GSM MODEM与仿真终端应设置相同的通信速率。
但您初次使用GSM MODEM时,请在仿真终端上设置为通信速率9600bps、8位数据位、无较验位、1位停止位。

3. 如果您想在出错后得到错误代码号,需将GSM Modem作如下设置:
AT+CMEE=1

4. 发送短消息后,收到出错信息+CMS ERROR 512
表示您的GSM MODEM在发送短消息的同时它收到了新的短消息,发送短消息被拒绝,您需要重新发送此条短消息。

5. 发送短消息后,收到出错信息+CMS ERROR 513
您遇上了下面问题中的一种:
a) 您的GSM MODEM失去了无线链路连接;
b) 在发送完短消息后的28秒内,您的GSM MODEM没有收到短消息中心送来的接收确认+CMGS:〈顺序号〉;
c) 在送出请求建立发送短消息的控制信道指令后的42秒内,您的GSM MODEM没有收到基站送来的确认〉。

6. 发送短消息后,收到出错信息+CMS ERROR 514
您遇上了下面问题中的一种:
a) 您设置的短消息中心的号码是错误的;
b) 短消息将要送达的目的号码是错误的;
c)您发送的短消息被短消息中心拒绝(一般为目的号码不存在或目的号码被禁用)。

7. 发送短消息后,收到出错信息+CMS ERROR 515
如果您的GSM MODEM在初始化期间或在指令执行过程当中GSM MODEM又接受新的指令,将会出现此错误。您必须等到初始化完成或指令执行完毕。

8.如何才能知道您发送的短消息已被送达目的号码
a) 采用文本格式发送
在您采用文本格式发送短消息时,您的GSM MODEM须作以下的设置:
at+csmp=49,〈X〉,〈X〉,〈X〉
at+cnmi=〈X〉,〈X〉,〈X〉,1,〈X〉
〈X〉代表根据您的需要您所选择的合适的参数。
当您发送完短消息后,您将收到来自短消息中心的以下两种确认中的一种:
+CDS:〈X〉,〈顺序号〉,"电话号码","发送时间","接收时间",0
或:
+CDS:〈X〉,〈顺序号〉,"电话号码","发送时间","接收时间",48
确认中的最后个数代表了此短消息的传输状态。(0表示已经送达目的号码,48表示不可能将此送达目的号码)
b) 采用PDU格式发送
在您采用PDU格式发送短消息时,您的GSM MODEM须作以下的设置:
at+cnmi=〈X〉,〈X〉,〈X〉,1,〈X〉
〈X〉代表根据您的需要您所选择的合适的参数。
在您所要发送的PDU格式的短消息中,您须将短消息中心号码后的第一个字节设成31
在发送完短消息后,您将收到来自短消息中心的以下确认:
+CDS:〈长度〉00〈PDU格式的确认信息〉
注意:在收到的PDU格式的确认中,顺序号和传输状态标志都是以16进制数存在的,您可将其直接转成10进制数而无需将其倒置后再转换。

9. 如何发送中文短消息
采用现有的GSM MODEM发送中文短消息,都必须先将准备发送的中文短消息转换成16位的Unicode编码。
A) 采用文本方式发送
在您采用文本格式发送Unicode编码中文短消息时,您的GSM MODEM须作的设置:
at+csmp=〈X〉,〈X〉,〈X〉,8
〈X〉代表根据您的需要您所选择的合适的参数。
然后您就可将转换好的Unicode编码中文短消息按照发送普通文本短消息的方法发送出去。
B) 采用PDU方式发送
您只须在您的PDU格式的短消息中,将目的号码字符串后的第二个字节设成08,将转
换好的Unicode编码中文短消息作为PDU中的发送内容一齐发送。

10. 如何建立一个话音呼叫
向GSM MODEM的串口送指令ATD〈电话号码〉;〈回车〉必须确认电话号码是一个话音号码而非传真或数据号码。

11. 如何建立一个数据呼叫
先将您的GSM MODEM作如下设置:
at+ipr=9600
at+ifc=2,2
at+cbst=0,0,1
向GSM MODEM的串口送指令ATD〈电话号码〉〈回车〉
必须确认电话号码是一个数据号码而非传真或话音号码,同时必须确认您的SIM卡已开通数据通信的服务。

12.当GSM MODEM作被叫时,如何显示主叫的电话号码
将您的GSM MODEM作如下设置:
at+clip=1

13.当GSM MODEM作被叫时,如何判别主叫发起的是话音、数据或传真呼叫
将您的GSM MODEM作如下设置:
at+crc=1

14.当GSM MODEM作被叫时,如何使其自动应答或不能自动应答
如果您想让您的GSM MODEM自动应答,将您的GSM MODEM作如下设置:
ats0=〈N〉 N是代表GSM MODEM震铃的次数的一个整数,即GSM MODEM在N 次震铃后将自动应答。
如果您想让您的GSM MODEM不能自动应答,将您的GSM MODEM作如下设置:
ats0=0

15.如何不通过SIM卡直接读或写短消息
因为SIM卡只有1万到10万次的读写次数和10-15条短消息的存储空间,还涉及到SIM卡上短消息读写需要一定的时间才能完成。这些因素影响了许多应用,这些应用需要通过GSM网络进行大量的数据交换,为保证流程的顺利进行,SIM卡要完成大量的读、写和删除操作,SIM卡的寿命周期很快就会达到,此外,SIM卡完成这些工作所耗费的时间比外界要求的要多。为解决这些问题,有必要在终端上作一些软件设置,使短消息不通过SIM卡进行读写操作。
以下的描述介绍了如何采用这种方法在Falcom A2系列和数据终端MT4002之间不通过SIM卡交换数据,这种方法也可用与2个MT4002之间。
a) 串口上的从终端来的RTS信号可用来指示数据交换时隙是否忙,串口准备好接收数据
b) 如果终端双方都可用来接收和发送短消息,在设置时双方都要设同样的命令和常数。
在接收端,设命令AT+CNMI=2,2,0,0,0
在发送端,设命令AT+CSMP=17,167,0,240 (当使用PDU格式发送时,240改成字符串DCS(F0))
c) 当程序发现短消息以前缀+CMT后跟所传送的数据这种格式时,立即将此短消息捕获并将其分发到原定的地址。
d) 当发送端如果没有设置CSMP=17,167,0,240时,捕获到的短消息应有前缀+CMTI,此时用命令AT+CMGR=n读取并分发到原定的地址,随后用命令AT+CMGD=n将此短消息删除以保证SIM卡有足够多的空间。

点击此处查看原文 >>

系统分类: 3G与手机   |    用户分类: 无分类    |    来源: 无分类

评论(0) | 阅读(242)
发表于:2008-3-3 14:30:04
标签:无标签

0

AT指令编程必读

1.相关的GSM AT指令
与SMS有关的GSM AT指令(from GSM07.05)如表1所示:
表1 相关的GSM AT指令

AT 指令
功 能

AT+CMGC
Send an SMS command(发出一条短消息命令)

AT+CMGD
Delete SMS message(删除SIM卡内存的短消息)

AT+CMGF
Select SMS message formate(选择短消息信息格式:0-PDU;1-文本)

 

AT+CMGL
List SMS message from preferred store(列出SIM卡中的短消息PDU/text: 0/“REC UNREAD”-未读,1/“REC READ”-已读,2/“STO UNSENT”-待发,3/“STO SENT”-已发,4/“ALL”-全部的)

AT+CMGR
Read SMS message(读短消息)

AT+CMGS
Send SMS message(发送短消息)

AT+CMGW
Write SMS message to memory(向SIM内存中写入待发的短消息)

AT+CMSS
Send SMS message from storage(从SIN|M内存中发送短消息)

AT+CNMI
New SMS message indications(显示新收到的短消息)

AT+CPMS
Preferred SMS message storage(选择短消息内存)

AT+CSCA
SMS service center address(短消息中心地址)

AT+CSCB
Select cell broadcast messages(选择蜂窝广播消息)

AT+CSMP
Set SMS text mode parameters(设置短消息文本模式参数)

AT+CSMS
Select Message Service(选择短消息服务)

对短消息的控制共有三种模式:
Block Mode

基于AT命令的PDU Mode

基于AT命令的Text Mode

使用Block模式需要手机生产厂家提供驱动支持,目前,PDU Mode 已取代 Block Mode, Text Mode比较简单,本文重点介绍模式PDU Mode,以西门子公司的产品TC35T为例。
2.计算机与TC35T的通信
(1)RS232串口连接
由于TC35T自带RS232串口线,故只需将其连接到计算机串口即可。打开超级终端,选择相应的串口,将端口参数设置为:速率—4800、奇偶校验位—无、数据位—8、停止位—1、流量控制—硬件。
(2)连接测试
输入“AT”然后回车,屏幕上返回“OK”表明计算机与TC35T已连接成功,TC35T能够正常工作。这时就可以测试各类AT命令。
当测试命令“AT+CMGS=?”时,如果返回“OK”标明TC35T支持该指令。该指令的完整语法如下:
如果此时TC35T处于PDU Mode(即“AT+CMGF?”返回“0”)

AT+CMGS=PDU is given<^Z/ESC>
如果短消息发送成功,则返回“OK”,并显示信息号:
+CMGS: [,]
如果短消息发送失败,则返回如下信息号:
+CMS ERROR:
如果此时TC35T处于Text Mode(即“AT+CMGF?”返回“1”)

AT+CMGS=[,toda]text is entered<^Z/ESC>
如果短消息发送成功,则返回“OK”,并显示信息号:
+CMGS: [,]
如果短消息发送失败,则返回如下信息号:
+CMS ERROR:
另外,由于使用的是TC35T,当有新的短消息到来时,需要TC35T产生提示,使用指令“AT+CNMI”。该指令的完整语法如下:
AT+CNMI=[][,][,][,][,]
如果有新的短消息来到,则TC35T将自动返回下列提示:
+CMTI: “SM”,
此时读出,然后用“AT+CMGR”指令即可读出短消息内容。
3.PDU数据格式分析:
例如,我们要将字符“Hi”字符发送到目的地“13677328099”
PDU字符串为:
08 91 683108701305F0 11 00 0D 91 3176378290F9 00 00 00 02 C834
⑴08—短信息中心地址长度。指(91)+(683108701305F0)的长度。
⑵91—短信息中心号码类型。91是TON/NPI遵守International/E.164标准,指在号码前需加‘+’号;此外还有其它数值,但91最常用。
91—10010001
BIT No.
7
6
5
4
3
2
1
0

Name
1
数值类型
号码鉴别

数值类型(Type of Number):000—未知,001—国际,010—国内,111—留作扩展;
号码鉴别(Numbering plan identification):0000—未知,0001—ISDN/电话号码(E.164/E.163),1111—留作扩展;
⑶683108701305F0—短信息中心号码。由于位置上略有处理,实际号码应为:8613800731500(字母F是指长度减1)。这需要根据不同的地域作相应的修改。
⑴、⑵、⑶通称短消息中心地址(Address of the SMSC)。
⑷11—文件头字节。
11&h=00010001&b
BIT No.
7
6
5
4
3
2
1
0

Name
TP-RP
TP-UDHI
TP-SPR
TP-VFP
TP-RD
TP-MTI

value
0
0
0
1
0
0
0
1

应答路径—TP-RP(TP-Reply-Path):0—不设置; 1—设置
用户数据头标识—TP-UDHL(TP-User-Data-Header-Indicator):0—不含任何头信息; 1—含头信息
状态报告要求—TP-SPR(TP-Status-Report-Request):0—需要报告; 1—不需要报告
有效期格式—TP-VPF(TP-Validity-Period-Format):00—不提供(Not present); 10—整型(标准);01—预留; 11—提供8位字节的一半(Semi-Octet Represented)
拒绝复制—TP-RD(TP-Reject-Duplicates):0—接受复制; 1—拒绝复制
信息类型提示—TP-MTI(TP-Message-Type-Indicator):00—读出(Deliver); 01—提交(Submit)
⑸00—信息类型(TP-Message-Reference)
⑹0B—被叫号码长度。
⑺91—被叫号码类型(同⑵)。
⑻3176378290F9—被叫号码,经过了位移处理,实际号码为“13677328099”。
⑹、⑺、⑻通称目的地址(TP-Destination-Address)。
⑼00—协议标识TP-PID(TP-Protocol-Identifier)
BIT No.
7
6
5
4
3
2
1
0

Bit No.7与Bit No.6: 00—如下面定义的分配Bit No.0—Bit No.5;01—参见GSM03.40协议标识完全定义;10—预留;11—为服务中心(SC)特殊用途分配Bit No.0—Bit No.5。
一般将这两位置为00。
Bit No.5:0—不使用远程网络,只是短消息设备之间的协议;1—使用远程网络。
Bit No.0—Bits No.4:00000—隐含;00001—电传;00010—group 3 telefax;00100—语音;00101—欧洲无线信息系统(ERMES);00110—国内系统;10001—任何基于X.400的公用信息处理系统;10010—Email。
⑽00—数据编码方案TP-DCS(TP-Data-Coding-Scheme)
BIT No.
7
6
5
4
3
2
1
0

Bit No.7与Bit No.6 :一般设置为00;Bit No.5:0—文本未压缩,1—文本用GSM标准压缩算法压缩;Bit No.4:0—表示Bit No.1、Bit No.0为保留位,不含信息类型信息,1—表示Bit No.1、Bit No.0含有信息类型信息;Bit No.3与Bit No.2:00—默认的字母表,01—8bit,10—USC2(16bit),11—预留;Bit No.1与Bit No.0:00—Class 0,01—Class 1,10—Class 2(SIM卡特定信息),11—Class 3。
⑾00—有效期TP-VP(TP-Valid-Period)
VP value(&h)
相应的有效期

00 to 8F
(VP+1)*5 分钟

90 to A7
12小时+(VP-143)*30分钟

A8 to C4
(VP-166)*1天

C5 to FF
(VP-192)*1 周

⑿02—用户数据长度TP-UDL(TP-User-Data-Length)
⒀C834—用户数据TP-UD(TP-User-Data)“Hi”
4.短消息编码
设需要发送的短消息内容为“Hi”,使用的GSM字符集为7位编码。首先将字符转换为7位的二进制,然后,将后面字符的位调用到前面,补齐前面的差别。例如:H翻译成1001000,i翻译成1101001,显然H的二进制编码不足八位,那么就将i的最后一位补足到H的前面。那么就成了11001000(C8),i剩下六位110100,前面再补两个0,变成00110100(34),于是“Hi”就变成了两个八进制数 C8 34。
5.短消息的发送与接收案例
鉴于TC35(T)支持TEXT格式,我们在试验中主要测试该格式。
(1)设置短消息中心
AT+CSCA="+8613800731500"(短消息中心);
(2)设置短消息发送格式
AT+CMGF=1 (1-TEXT; 0-PDU);
(3)发送短消息(短消息内容为“test”)
AT+CMGS="13508485560"(目的地址)
> test ^z ;
(4)设置短消息到达自动提示: 设置短消息到达提示当短消息被接收,将获取指令: +CMTI:"SM",INDEX(信息存储位置)
AT+CNMI=1,1,0,0,1();
(5)获取短消息内容(Once more),假设INDEX=8。
AT+CMGR=8
返回信息如下:
+CMGR: "REC UNREAD","+8613508485560",,"01/07/16,15:37:28+32",Once more
6.注意事项
(1)短消息中心一般不会改动,如果短消息中心号码改动,在使用“AT+CSCA”语句时,记住TC35要重新启动,否则TC35不能正常工作(TC35T不存在此问题)。
(2)某些SIM卡带有密码,启动时需要输入密码。

点击此处查看原文 >>

系统分类: 3G与手机   |    用户分类: 无分类    |    来源: 无分类

评论(0) | 阅读(282)
发表于:2008-3-3 14:27:07
标签:at  at指令  

0

实用的AT指令

单片机和GSM引擎之间采用AT指令实现互相之间的通信,因此有必要了解一下AT指令的格式和几条常用的指令。更详细的资料可以参考GSM07.05和GSM07.07规范。
  单片机发出的AT指令用来建立通信链路,AT指令集的命令格式帧都以AT开头,下面是几个常用的AT指令。
1.设置短消息中心
AT+CSCA=“+8613800270500”回车(具体的号码由当地的运营商决定。)
2.接收短消息
+CMTI:“SM”,X (X表示接收短消息的SIM卡存储号码)
AT+CMGR=X回车 (从X存储区读短消息)
AT+CMGD=X回车 (从X存储区删除短消息)
3.发送短消息
AT+CMGF=1回车(采用文本格式发送,如用PDU格式,则AT+CMGF=0)
AT+CMGS=“+8613xxxxxxxxx”回车
>输入短消息。Crtl+Z结束并发送。
4.重要的指令
ATZ;E 回车 Echo OFF
ATZ;E1回车 Echo ON
AT+CREG?回车 回答x(X=2脱网,X=1注册,X=0状态不明)
AT+COPS?回车 表示SIM卡是否被网络接受
AT+COPS=?回车 显示所有可用的网络。
5.建立语音呼叫
AT+CREG?回车(是否网络注册)
ATD13xxxxxxxxx;回车(语音呼叫和数据呼叫建立的区别在于号码后所接的分号上)
6.改变并保存参数
AT+IPR=2400 回车(改变RS232口的速率至2400bps)
AT&W 回车 (保存已改参数)
7.输入PIN码
AT+CPIN=“xxxx”
  通信链路建立以后,单片机就可以发出信息单元帧了,信息的帧格式如下:
  其中标志帧开始的帧头为十六进制的10H和02H,标志信息结束的是10H和03H,最后二位是数据部分按16位求和以后取模的结果,用做校验位。对于数据位,为了避免出现错误的结束标志,规定每出现一个10H码字以后,后面插入一个空字符00H。接收端如果收到信息以后,就要相应地去掉空字符。如果接收端收到的数据部分和BCS部分按照16位相加以后的结果不等于0,就表示传输出现错误,所收到的信息就要丢掉。

点击此处查看原文 >>

系统分类: 3G与手机   |    用户分类: 无分类    |    来源: 原创

评论(0) | 阅读(301)
总共 , 当前 /