跟着中文短音讯的逐渐为我们熟知,短音讯的运用越来越多,运用量越来越大,运用规模也越来越广。中文短音讯正以其特有的便利和便利,影响人们日常日子的许多方面。但你不没有想过有一天用家里的固定电话来发送中文短音讯呢?这样的希望很快就要完结。我国电信已在北京、上海、广州等城市推出此项事务,相关规范也现已出台,中兴、贝尔等国内大型通讯公司推出了支撑中文短音讯传递的服务器,固网短信现已开端进入百姓日子,短音讯电话在往后的一段时刻将会有更大的商场。
本文提及的短音讯电话是在能接纳来电显现的一般电话基础上完结的。本体系首要由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上行信令包的格局
2.3 数据链路层的电话功用
短音讯电话的链路层要完结电话功用,因而根本的电话功用都由链路层和物理处理,首要分为:来电显现功用、短音讯数据包的接纳、衔接到服务器、根本的电话通话功用和按键拨号功用。一起要协作电话不同功用的界面显现。
来电显现功用和短音讯数据包的接纳都是对FSK数据包的解析,两者的不同之处在于详细的数据格局:来电显现数据是在榜首声和第二声振铃之间传过来的FSK数据,而短音讯数据包是在树立了短音讯通讯通道后在线路上传输的FSK数据包。这儿首要针对契合Bell202规范的FSK来电显现信号进行论说。FSK来电显现信号数据包有两种格局:单制式信息包含日期、时刻、电话号码、名字。在榜首声与第二声振铃之间将数据包解析,并将日期、时刻、电话号码等信息在LCD上显现,完结来电显现功用。
衔接到服务器,由软件操控电话机摘机、拨号到服务器,服务器机呼应拨号,树立物理通道的衔接。当服务器摘机并宣布回应信号CAS音,在规则时刻内终端回应DTMF的“A”信号,与服务器树立数据通路,进行数据包交互通讯。然后解析服务器的数据,履行服务器下行的指令,与用户进行交互。
根本的电话通话功用和按键拨号功用是一部电话有必要具有的功用,首要由电路硬件完结。链路层首要操控液晶显现与之相协作的操作界面。当用电话拨号时,屏幕弱出电话拨号界面,有按键按下时操控发送和相应的DTMF音,一起在屏幕上显现按下的按键值。在电话处于通话状况时,屏幕显现相应的界面,提示用户通话时刻及拨入或拨出电话的号码等信息。
3 数据链路层中的操控技能
3.1 数据链路层的数据操控技能
数据链路层的数据分为上行和下行数据,本体系中将其分隔处理,上行数据在主函数中循环调用处理,而下行数据在中止中处理。
上行数据包处理流程图如图3所法。对数据的处理是在主函数中,因而可有恰当的等候和推迟,但有必要在协议规则的时刻内完结对数据包的处理,它对时刻的要求不如中止对时刻要求那么严苛。因为上传数据包的进程是终端自动上载数据信息,链路层对数据包的多少非常清楚,而且在服务器接纳到数据包后,必定应对数据阐明数据包传输是否正确,而服务器应对数据包是下行数据在中止中处理。因而,在上传一个数据包后能够等候服务器的应对信号,以确认是否要重发当时数据包。整个处理进程首要应当处理好与中止服务程序的协作,以及用户界面的操作,操控相对比较简单。
下行数据包处理流程如图4所示,处理进程比较复杂。因为服务器随时都有呼叫终端的可能性,使得下行数据传输具有随机性。因而这种状况最适于在中止中进行处理。中止处理又有其本身的特色,如中止函数不能进行参数传递而且没有回来值;中止函数中调用其他函数时,被调用函数所运用的寄存器组有必要与中止函数相平等。这就决议了中止函数中的处理技能与主函数中的处理技能比较受到了很大的约束。中止函数首要对链路层各个状况下的超时定时器进行处理,当有定时器超不时,依据协议规则进行相应的超时处理,一般的处理是操控终端挂机;数据包处理进程中,与物理层树立循环行列缓冲区,每10毫秒中止时从缓冲区中取数据,假如缓冲区中有数据则接连地取出数据直到行列中的数据取完,而当循环行列缓冲区没有数据时,则直接退出中止,等候下次中止再进行取数据处理;按协议规则方法从物理层中取出完好数据包后,经过校验和对数据包进行校验,假如数据包传输不正确,则向服务器应对“D0”,恳求服务器重发,当数据包传输正确时,则向服务器应对“D1”,发完应对数据后将终端置于接纳数据状况并发动重发超时定时器。中止处理数据进程中,要与主函数进行协作在液晶屏上显现用户提示信息。别的在中止函数中最好不进行液晶以及FLASH存储器的操作,因类简单导致函数的两层调用,这是由中止处理的本身特色决议的。
3.2 数据链路层的电话功用操控技能
短音讯电话中数据链路层的操控技能包含对各种电话功用的操控,例如按键、摘机、挂机、重拨、免提等电话功用的软件功用都在链路层完结。因为电话功用的操控不是本文的论说要点,在此仅以摘机拨打电话进程为例。在挂机状况下,当链路层检测到摘机信号时,链路层操控液晶显现拨出电话界面,然后在中止中检测按键并将按键值以DTMF信号发送到交换机,一起界面显现用户按下的按键值。而话音信号处理首要由物理电路和交换机来完结,当检测到挂机信号时,链路层操控终端进行软件挂机,对运用时的变量进行初始化,回到挂机状况,完结了电话的拨号、通话和挂机的进程。其它的电话功用首要依据实践操作中的需求进行相应的处理,包含链路层中对FLASH存储器的操作这些进程,首要留意与其他程序模块的协作以及契合实践处理的需求。
此计划的短音讯电话在实践中证明是可行的,现已在南京、上海、深圳等地与当地的短音讯服务器进行调试,调试成果证明作业正常。别的,此计划运用的外围器材还比较多,假如选用针对短音讯电话开发的专用芯片能够大大简化外围器材,节省生产成本。整个开发进程选用C言语,将整个工程移植到其他的硬件,只需求替换工程中硬件的驱动程序即可。开发进程中,选用软硬件开发同步进行,在PC机上建立软件仿真环境,软件开发能够不需求彻底依靠硬件开发的进展,大大缩短了开发周期,且有利于多人协作。