短消息电话中数据链路层的控制技术

摘要:系统采用winbond的w78e58p单片机为控制中心,处理dimf信号和fsk信号的接收发送、信息显示和存储,并依据ctsi协议与服务器通信。着重论述链路层的控制技术,包括数据控制和电话控制两个方面。该方案具有良好的灵活性、可升级性等特点。 关键词:双音多频(dtmf) 频移键控(fsk) ctsi 链路层 数据包随着中文短消息的逐步为大家熟知,短消息的使用越来越多,使用量越来越大,应用范围也越来越广。中文短消息正以其特有的快捷和方便,影响人们日常生活的许多方面。但你不没有想过有一天用家里的固定电话来发送中文短消息呢?这样的愿望很快就要实现。中国电信已在北京、上海、广州等城市推出此项业务,相关标准也已经出台,中兴、贝尔等国内大型通信公司推出了支持中文短消息传递的服务器,固网短信已经开始进入百姓生活,短消息电话在今后的一段时间将会有更大的市场。本文提及的短消息电话是在能接收来电显示的普通电话基础上实现的。本系统主要由dmtf信号接收发送电路、fsk信号接收发送电路、存储器电路、显示lcd电路和微控制器电路组成。通过电话线与支持固定网短消息业务的服务器连接,实现短消息的传输。本文着重从数据链路层探讨有关数据通信的控制技术。

1 系统构成1.1 系统的硬件组成短消息电话是指具有短消息发送和接收功能的电话。短消息服务器和短消息电话之间采用半双工通讯方式,通过fsk(频移键控)信号和dtmf(双音多频)信号进行数据传输,采用交互操作方式。短消息电话除了具有普通电话的通话功能外,还有中文显示、信息存储、dtmf信号、fsk信号发送接收等功能。短消息电话的功能框图如图1所示。各模块的功能如下:cmx605、cmx602模块与电话机电路提供了dtmf和fsk信号的物理通道,实现dtmf和fsk信号的发送和接收及电话的通信功能;w78e58p单片机为控制中心,协调和控制各模块正常工作;sst28sf02存储器用来存储程序代码、用户输入的信息以及短消息中心传送的消息;62256为系统正常运动提供内存;lcd显示器和键盘扫描电路实现人机交互,提供友好操作界面;为了调试方便,增加了与pc串口的接口电路,使得编写的编程可直接到目标机的ram中运行;此外,ps2接口电路使得用户可以利用pc机键盘进行中英文输入。1.2 系统的信号流程短消息系统主要是在话音频率内传送数据消息,下行信号(短消息中心到短消息终端)采用半双工频移键控fsk信号调制方式;上行信号(短消息终端到短消息中心)采用dtmf信号模式或fsk信号调制方式。上行信号采用的方式由当地服务器决定,而dtmf信号模式又分为编码方式和非编码方式,由具体的短消息协议确定。 短消息电话接收短消息建立在来电显示号码是短消息中心号码的基础上;发送短消息是在用户设定了短消息中心号码之后,所发送的信息发送到所设定的短消息中心。通信过程如下:首先建立物理链接通路,然后与交换机建立普通话音通道,接着通过中心号码与短消息中心建立信息通道,短消息中心和短消息终端就可以通过消息包进行交互式通信。短消息电话与服务器的信息交互都由服务器发送ctsi命令开始,即终端通过解释、执行ctsi命令并回送返回值的方式进行交互。终端不主动发送内容给服务器,即使终端的主动服务申请,也是通过服务器发出服务访问命令后递交的。2 数据链路层2.1 数据链路层的功能数据链路层提供可靠的数据传送,主要是将有噪声的物理信道变成无传输差错的通信通道,提供数据成帧、差错控制和流量控制等。短消息电话中的链路层在电话通信方面,要实现对电话语音通路的控制、电话的来电显示和通话等功能;在数据控制方面,完成数据包的组包和解包,控制终端和短消息中心交互时序,对数据包进行纠错并对出错数据包进行重发处理;在电话机控制方面,解析应用层的命令,实现对物理层的控制以及对数据包的自动接收和存储功能。 2.2 数据链路层的协议短消息电话中数据链路层采用的差错控制类似于停止等待协议,并采用重发机制保障终端和服务器在偶然的故障后仍有机会保持连接。数据链路层完成了规定次数的重发后仍然出错时,服务器则断开与终端的连接。数据链路层的上行fsk数据包和下行fsk数据包格式如图2所示,一个链路层fsk数据包包括六部分:同步引导串,由82bit交替的“01”加8bit“1”构成,具体参见ctsi协议,对于短消息电话(终端)本身

来说只要读到至少50bit交替出现的“01”以及同步结束字符后,即可以认为同步建立;消息类型,指明信息内容的类型,根据协议规定分为一般类型和特殊类型,终端根据不同的类型进行相应的处理;消息长度,指消息特征号的字节数(=1)加消息层信息内容的字节数;信息特征号,目前仅使用十六进制01一种消息特片号,其余保留以利于拓展新的电信业务;消息层信息内容,由消息层负责解析,包含一条ctsi操作命令,最大长度不大于254字节;校验和,用于数据传送过程中的纠错,取值为该数据包中除同步引导串值外的所有字节的和,按256取模,再取补后得到的值。由于终端还可以dtmf形式上送数据,因此dtmf数据包又分为:编码格式的dtmf上行命令响应信息包、非编码格式的dtmf上行命令响应信息包和非编码格式的dtmf上行信息包。上行dtmf命令响应消息包(编码方式)是终端对smc的fsk数据的响应信息包;上行dtmf命令响应信息包(非编码方式)也是终端对smc的fsk数据的响应信息包,主要采用了非编码方式,此种返回信息包目前只用于信息下载指令中,用于描述指令的解释执行情况,具体内容详见协议;上行dmtf上行信息包(非编码方式)是终端对smc的指令响应,具体的信令如表1所示。

表1 数据链路层上行dtmf上行信令包的格式名 称作 用组 成含 义cas的ack设备响应dtmf'a'当终端收到cas音后,发dtmf'a'音,表示确认fsk包的ack数据纠错dtmf'd1'数据传送正确dtmf'd0'数据传送错误2.3 数据链路层的电话功能短消息电话的链路层要实现电话功能,因此基本的电话功能都由链路层和物理处理,主要分为:来电显示功能、短消息数据包的接收、连接到服务器、基本的电话通话功能和按键拨号功能。同时要配合电话不同功能的界面显示。来电显示功能和短消息数据包的接收都是对fsk数据包的解析,两者的不同之处在于具体的数据格式:来电显示数据是在第一声和第二声振铃之间传过来的fsk数据,而短消息数据包是在建立了短消息通信通道后在线路上传输的fsk数据包。这里主要针对符合bell202标准的fsk来电显示信号进行阐述。fsk来电显示信号数据包有两种格式:单制式信息包括日期、时间、电话号码、姓名。在第一声与第二声振铃之间将数据包解析,并将日期、时间、电话号码等信息在lcd上显示,实现来电显示功能。连接到服务器,由软件控制电话机摘机、拨号到服务器,服务器机响应拨号,建立物理通道的连接。当服务器摘机并发出回应信号cas音,在规定时间内终端回应dtmf的“a”信号,与服务器建立数据通路,进行数据包交互通信。然后解析服务器的数据,执行服务器下行的指令,与用户进行交互。基本的电话通话功能和按键拨号功能是一部电话必须具备的功能,主要由电路硬件完成。链路层主要控制液晶显示与之相配合的操作界面。当用电话拨号时,屏幕弱出电话拨号界面,有按键按下时控制发送和相应的dtmf音,同时在屏幕上显示按下的按键值。在电话处于通话状态时,屏幕显示相应的界面,提示用户通话时间及拨入或拨出电话的号码等信息。3 数据链路层中的控制技术3.1 数据链路层的数据控制技术数据链路层的数据分为上行和下行数据,本系统中将其分开处理,上行数据在主函数中循环调用处理,而下行数据在中断中处理。上行数据包处理流程图如图3所法。对数据的处理是在主函数中,因此可有适当的等待和延迟,但必须在协议规定的时间内完成对数据包的处理,它对时间的要求不如中断对时间要求那么苛刻。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4