《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 短消息電話中數(shù)據(jù)鏈路層的控制技術(shù)

短消息電話中數(shù)據(jù)鏈路層的控制技術(shù)

2008-10-23
作者:趙太飛 趙 珂 路錦正 王建勤

  摘? 要: 系統(tǒng)采用Winbond的W78E58P單片機(jī)為控制中心,,處理DTMF信號(hào)和FSK信號(hào)的接收發(fā)送、信息顯示和存儲(chǔ),并依據(jù)CTSI協(xié)議與服務(wù)器通信,。著重論述鏈路層" title="鏈路層">鏈路層的控制技術(shù)" title="控制技術(shù)">控制技術(shù),包括數(shù)據(jù)控制和電話控制兩個(gè)方面,。該方案具有良好的靈活性,、可升級(jí)性等特點(diǎn)。

  關(guān)鍵詞: 雙音多頻(DTMF)? 頻移鍵控(FSK)? CTSI? 鏈路層? 數(shù)據(jù)包

?

  隨著中文短消息" title="短消息">短消息逐步為大家熟知,,短消息的使用者越來越多,,使用量越來越大,應(yīng)用范圍也越來越廣,。中文短消息正以其特有的快捷和方便,,影響人們?nèi)粘I畹脑S多方面。但你有沒有想過有一天用家里的固定電話來發(fā)送中文短消息呢?這樣的愿望很快就要實(shí)現(xiàn),。中國(guó)電信已在北京,、上海、廣州等城市推出此項(xiàng)業(yè)務(wù),,相關(guān)標(biāo)準(zhǔn)也已經(jīng)出臺(tái),,中興、貝爾等國(guó)內(nèi)大型通信公司提供了支持中文短消息傳送的服務(wù)器,,固網(wǎng)短信已經(jīng)開始進(jìn)入百姓生活,,短消息電話在今后的一段時(shí)間將會(huì)有更大的市場(chǎng)。

  本文提及的短消息電話是在能接收來電顯示的普通電話基礎(chǔ)上實(shí)現(xiàn)的,。本系統(tǒng)主要由DTMF信號(hào)接收發(fā)送電路,、FSK信號(hào)接收發(fā)送電路、存儲(chǔ)器電路,、顯示LCD電路和微控制器電路組成,。通過電話線與支持固定網(wǎng)短消息業(yè)務(wù)的服務(wù)器連接,實(shí)現(xiàn)短消息的傳輸,。本文著重從數(shù)據(jù)鏈路層探討有關(guān)數(shù)據(jù)通信的控制技術(shù),。

1 系統(tǒng)構(gòu)成

1.1 系統(tǒng)的硬件組成

  短消息電話是指具有短消息發(fā)送和接收功能的電話。短消息服務(wù)器和短消息電話之間采用半雙工通訊方式,,通過FSK(頻移鍵控)信號(hào)和DTMF(雙音多頻)信號(hào)進(jìn)行數(shù)據(jù)傳輸,,采用交互操作方式。短消息電話除了具有普通電話的通話功能外,,還有中文顯示,、信息存儲(chǔ)、DTMF信號(hào),、FSK信號(hào)發(fā)送接收等功能,。短消息電話的功能框圖如圖1所示,。

?

?

  各模塊的功能如下: CMX605、CMX602模塊與電話機(jī)電路提供了DTMF和FSK信號(hào)的物理通道,,實(shí)現(xiàn)DTMF和FSK信號(hào)的發(fā)送和接收及電話的通話功能;W78E58P單片機(jī)為控制中心,,協(xié)調(diào)和控制各模塊正常工作;SST28SF020存儲(chǔ)器用來存儲(chǔ)程序代碼、用戶輸入的信息以及短消息中心傳送的消息;62256為系統(tǒng)正常運(yùn)行提供內(nèi)存;LCD顯示器和鍵盤掃描電路實(shí)現(xiàn)人機(jī)交互,,提供友好操作界面;為了調(diào)試方便,,增加了與PC串口的接口電路,使得編寫的程序可直接到目標(biāo)機(jī)的RAM中運(yùn)行;此外,,PS2接口電路使得用戶可以利用PC機(jī)鍵盤進(jìn)行中英文輸入,。

1.2 系統(tǒng)的信號(hào)流程

  短消息系統(tǒng)主要是在話音頻率內(nèi)傳送數(shù)據(jù)消息,下行信號(hào)(短消息中心到短消息終端)采用半雙工頻移鍵控FSK信號(hào)調(diào)制方式;上行信號(hào)(短消息終端到短消息中心)采用DTMF信號(hào)模式或FSK信號(hào)調(diào)制方式,。上行信號(hào)采用的方式由當(dāng)?shù)胤?wù)器決定,而DTMF信號(hào)模式又分為編碼方式和非編碼方式,,由具體的短消息協(xié)議確定,。

  短消息電話接收短消息建立在來電顯示號(hào)碼是短消息中心號(hào)碼的基礎(chǔ)上;發(fā)送短消息是在用戶設(shè)定了短消息中心號(hào)碼之后,所發(fā)送的信息發(fā)送到所設(shè)定的短消息中心,。通信過程如下:首先建立物理鏈接通路,,然后與交換機(jī)建立普通話音通道,接著通過中心號(hào)碼與短消息中心建立信息通道,,短消息中心和短消息終端就可以通過消息包進(jìn)行交互式通信,。

  短消息電話與服務(wù)器的信息交互都由服務(wù)器發(fā)送CTSI命令開始,即終端通過解釋,、執(zhí)行CTSI命令并回送返回值的方式進(jìn)行交互,。終端不主動(dòng)發(fā)送內(nèi)容給服務(wù)器,即使終端的主動(dòng)服務(wù)申請(qǐng),,也是通過服務(wù)器發(fā)出服務(wù)詢問命令后遞交的,。

2 數(shù)據(jù)鏈路層

2.1 數(shù)據(jù)鏈路層的功能

  數(shù)據(jù)鏈路層提供可靠的數(shù)據(jù)傳送,主要是將有噪聲的物理信道變成無傳輸差錯(cuò)的通信通道,,提供數(shù)據(jù)成幀,、差錯(cuò)控制和流量控制等。短消息電話中的鏈路層在電話通信方面,,要實(shí)現(xiàn)對(duì)電話語音通路的控制,、電話的來電顯示和通話等功能;在數(shù)據(jù)控制方面,完成數(shù)據(jù)包的組包和解包,,控制終端和短消息中心交互時(shí)序,,對(duì)數(shù)據(jù)包進(jìn)行糾錯(cuò)并對(duì)出錯(cuò)數(shù)據(jù)包進(jìn)行重發(fā)處理;在電話機(jī)控制方面,解析應(yīng)用層的命令,,實(shí)現(xiàn)對(duì)物理層的控制以及對(duì)數(shù)據(jù)包的自動(dòng)接收和存儲(chǔ)功能,。

2.2 數(shù)據(jù)鏈路層的協(xié)議

  短消息電話中數(shù)據(jù)鏈路層采用的差錯(cuò)控制類似于停止等待協(xié)議,,并采用重發(fā)機(jī)制保障終端和服務(wù)器在偶然的故障后仍有機(jī)會(huì)保持連接。數(shù)據(jù)鏈路層完成了規(guī)定次數(shù)的重發(fā)后仍然出錯(cuò)時(shí),,服務(wù)器則斷開與終端的連接,。

  數(shù)據(jù)鏈路層的上行FSK數(shù)據(jù)包和下行FSK數(shù)據(jù)包格式如圖2所示,一個(gè)鏈路層FSK數(shù)據(jù)包包括六部分:同步引導(dǎo)串,,由82bit交替的“01”加8bit“1”構(gòu)成,,具體參見CTSI協(xié)議,對(duì)于短消息電話(終端)本身來說只要讀到至少50bit交替出現(xiàn)的“01”以及同步結(jié)束字符后,,即可以認(rèn)為同步建立;消息類型,,指明信息內(nèi)容的類型,根據(jù)協(xié)議規(guī)定分為一般類型和特殊類型,,終端根據(jù)不同的類型進(jìn)行相應(yīng)的處理;消息長(zhǎng)度,,指消息特征號(hào)的字節(jié)數(shù)(=1)加消息層信息內(nèi)容的字節(jié)數(shù);信息特征號(hào),目前僅使用十六進(jìn)制01一種消息特征號(hào),,其余保留以利于拓展新的電信業(yè)務(wù);消息層信息內(nèi)容,,由消息層負(fù)責(zé)解析,包含一條CTSI操作命令,,最大長(zhǎng)度不大于254字節(jié);校驗(yàn)和,,用于數(shù)據(jù)傳送過程中的糾錯(cuò),取值為該數(shù)據(jù)包中除同步引導(dǎo)串值外的所有字節(jié)的和,,按256取模,,再取補(bǔ)后得到的值。

?

?

  由于終端還可以DTMF形式上送數(shù)據(jù),,因此DTMF數(shù)據(jù)包又分為:編碼格式的DTMF上行命令響應(yīng)信息包" title="信息包">信息包,、非編碼格式的DTMF上行命令響應(yīng)信息包和非編碼格式的DTMF上行信令包。上行DTMF命令響應(yīng)消息包(編碼方式)是終端對(duì)SMC的FSK數(shù)據(jù)的響應(yīng)信息包;上行DTMF命令響應(yīng)信息包(非編碼方式)也是終端對(duì)SMC的FSK數(shù)據(jù)的響應(yīng)信息包,,主要采用了非編碼方式,,此種返回信息包目前只用于信息下載指令中,用于描述指令的解釋執(zhí)行情況,,具體內(nèi)容詳見協(xié)議;上行DTMF上行信令包(非編碼方式)是終端對(duì)SMC的信令響應(yīng),,具體的信令如表1所示。

?

?

2.3 數(shù)據(jù)鏈路層的電話功能

  短消息電話的鏈路層要實(shí)現(xiàn)電話功能,,因此基本的電話功能都由鏈路層和物理層處理,,主要分為:來電顯示功能、短消息數(shù)據(jù)包的接收,、連接到服務(wù)器,、基本的電話通話功能和按鍵撥號(hào)功能。同時(shí)要配合電話不同功能的界面顯示,。

  來電顯示功能和短消息數(shù)據(jù)包的接收都是對(duì)FSK數(shù)據(jù)包的解析,,兩者的不同之處在于具體的數(shù)據(jù)格式:來電顯示數(shù)據(jù)是在第一聲和第二聲振鈴之間傳過來的FSK數(shù)據(jù),,而短消息數(shù)據(jù)包是在建立了短消息通信通道后在線路上傳輸?shù)腇SK數(shù)據(jù)包。這里主要針對(duì)符合Bell202標(biāo)準(zhǔn)的FSK來電顯示信號(hào)進(jìn)行闡述,。FSK來電顯示信號(hào)數(shù)據(jù)包有兩種格式:單制式信息包括日期,、時(shí)間、電話號(hào)碼;復(fù)合制式信息包括日期,、時(shí)間,、電話號(hào)碼、姓名,。在第一聲與第二聲振鈴之間將數(shù)據(jù)包解析,,并將日期、時(shí)間,、電話號(hào)碼等信息在LCD上顯示,,實(shí)現(xiàn)來電顯示功能。

  連接到服務(wù)器,,由軟件控制電話機(jī)摘機(jī),、撥號(hào)到服務(wù)器,服務(wù)器摘機(jī)響應(yīng)撥號(hào),,建立物理通路的連接。當(dāng)服務(wù)器摘機(jī)并發(fā)出回應(yīng)信號(hào)CAS音,,在規(guī)定時(shí)間內(nèi)終端回應(yīng)DTMF的“A”信號(hào),,與服務(wù)器建立數(shù)據(jù)通路,進(jìn)行數(shù)據(jù)包的交互通信,。然后解析服務(wù)器的數(shù)據(jù),,執(zhí)行服務(wù)器下行的信令,與用戶進(jìn)行交互,。

  基本的電話通話功能和按鍵撥號(hào)功能是一部電話必須具備的功能,,主要由電路硬件完成。鏈路層主要控制液晶屏顯示與之相配合的操作界面,。當(dāng)用電話撥號(hào)時(shí),,屏幕彈出電話撥號(hào)界面,有按鍵按下時(shí)控制發(fā)送相應(yīng)的DTMF音,,同時(shí)在屏幕上顯示按下的按鍵值,。在電話處于通話狀態(tài)時(shí),屏幕顯示相應(yīng)的界面,,提示用戶通話時(shí)間及撥入或撥出電話的號(hào)碼等信息,。

3? 數(shù)據(jù)鏈路層中的控制技術(shù)

3.1 數(shù)據(jù)鏈路層的數(shù)據(jù)控制技術(shù)

  數(shù)據(jù)鏈路層的數(shù)據(jù)分為上行和下行數(shù)據(jù),本系統(tǒng)中將其分開處理,,上行數(shù)據(jù)在主函數(shù)中循環(huán)調(diào)用處理,,而下行數(shù)據(jù)在中斷中處理,。

  上行數(shù)據(jù)包處理流程圖如圖3所示。對(duì)數(shù)據(jù)的處理是在主函數(shù)中,,因此可有適當(dāng)?shù)牡却脱舆t,,但必須在協(xié)議規(guī)定的時(shí)間內(nèi)完成對(duì)數(shù)據(jù)包的處理,它對(duì)時(shí)間的要求不如中斷對(duì)時(shí)間要求那么苛刻,。因?yàn)樯蟼鲾?shù)據(jù)包的過程是終端主動(dòng)上載數(shù)據(jù)信息,,鏈路層對(duì)數(shù)據(jù)包的多少十分清楚,而且在服務(wù)器接收到數(shù)據(jù)包后,,肯定應(yīng)答數(shù)據(jù)說明數(shù)據(jù)包傳輸是否正確,,而服務(wù)器應(yīng)答數(shù)據(jù)包是下行數(shù)據(jù)在中斷中處理。因此,,在上傳一個(gè)數(shù)據(jù)包后可以等待服務(wù)器的應(yīng)答信號(hào),,以確定是否要重發(fā)當(dāng)前數(shù)據(jù)包。整個(gè)處理過程主要應(yīng)當(dāng)處理好與中斷服務(wù)程序的配合,,以及用戶界面的操作,,控制相對(duì)比較簡(jiǎn)單。

?

?

  下行數(shù)據(jù)包處理流程圖如圖4所示,,處理過程比較復(fù)雜,。由于服務(wù)器隨時(shí)都有呼叫終端的可能性,使得下行數(shù)據(jù)傳輸具有隨機(jī)性,。因此這種情況最適于在中斷中進(jìn)行處理,。中斷處理又有其自身的特點(diǎn),如中斷函數(shù)" title="中斷函數(shù)">中斷函數(shù)不能進(jìn)行參數(shù)傳遞并且沒有返回值;中斷函數(shù)中調(diào)用其他函數(shù)時(shí),,被調(diào)用函數(shù)所使用的寄存器組必須與中斷函數(shù)相同等,。這就決定了中斷函數(shù)中的處理技術(shù)與主函數(shù)中的處理技術(shù)相比受到了很大的限制。中斷函數(shù)首先對(duì)鏈路層各個(gè)狀態(tài)下的超時(shí)定時(shí)器進(jìn)行處理,,當(dāng)有定時(shí)器超時(shí)時(shí),,根據(jù)協(xié)議規(guī)定進(jìn)行相應(yīng)的超時(shí)處理,通常的處理是控制終端掛機(jī);數(shù)據(jù)包處理過程中,,與物理層建立循環(huán)隊(duì)列緩沖區(qū),,每10毫秒中斷時(shí)從緩沖區(qū)中取數(shù)據(jù),如果緩沖區(qū)中有數(shù)據(jù)則連續(xù)地取出數(shù)據(jù)直到隊(duì)列中的數(shù)據(jù)取完,,而當(dāng)循環(huán)隊(duì)列緩沖區(qū)沒有數(shù)據(jù)時(shí),,則直接退出中斷程序,等待下次中斷再進(jìn)行取數(shù)據(jù)處理;按協(xié)議規(guī)定方式從物理層中取出完整數(shù)據(jù)包后,,通過校驗(yàn)和對(duì)數(shù)據(jù)包進(jìn)行校驗(yàn),,如果數(shù)據(jù)包傳輸不正確,則向服務(wù)器應(yīng)答“D0”,請(qǐng)求服務(wù)器重發(fā),,當(dāng)數(shù)據(jù)包傳輸正確時(shí),,則向服務(wù)器應(yīng)答“D1”,發(fā)完應(yīng)答數(shù)據(jù)后將終端置于接收數(shù)據(jù)狀態(tài)并啟動(dòng)重發(fā)超時(shí)定時(shí)器,。中斷處理數(shù)據(jù)過程中,,要與主函數(shù)進(jìn)行配合在液晶屏上顯示用戶提示信息。另外在中斷函數(shù)中最好不進(jìn)行液晶以及FLASH存儲(chǔ)器的操作,,因?yàn)槿菀讓?dǎo)致函數(shù)的雙重調(diào)用,,這是由中斷處理的自身特點(diǎn)決定的。

?

?

3.2 數(shù)據(jù)鏈路層的電話功能控制技術(shù)

  短消息電話中數(shù)據(jù)鏈路層的控制技術(shù)包括對(duì)各種電話功能的控制,,例如按鍵,、摘機(jī)、掛機(jī),、重?fù)?、免提等電話功能的軟件功能都在鏈路層?shí)現(xiàn)。由于電話功能的控制不是本文的論述重點(diǎn),,在此僅以摘機(jī)撥打電話過程為例,。在掛機(jī)狀態(tài)下,當(dāng)鏈路層檢測(cè)到摘機(jī)信號(hào)時(shí),,鏈路層控制液晶顯示撥出電話界面,,然后在中斷中檢測(cè)按鍵并將按鍵值以DTMF信號(hào)發(fā)送到交換機(jī),同時(shí)界面顯示用戶按下的按鍵值,。而話音信號(hào)處理主要由物理電路和交換機(jī)來完成,,當(dāng)檢測(cè)到掛機(jī)信號(hào)時(shí),鏈路層控制終端進(jìn)行軟件掛機(jī),,對(duì)使用過的變量進(jìn)行初始化,回到掛機(jī)狀態(tài),,完成了電話的撥號(hào),、通話和掛機(jī)的過程。其它的電話功能主要根據(jù)實(shí)際操作中的需要進(jìn)行相應(yīng)的處理,,包括鏈路層中對(duì)FLASH存儲(chǔ)器的操作這些過程,,主要注意與其他程序模塊的配合以及符合實(shí)際處理的需求。

  此方案的短消息電話在實(shí)踐中證明是可行的,,已經(jīng)在南京,、上海、深圳等地與當(dāng)?shù)氐亩滔⒎?wù)器進(jìn)行調(diào)試,,調(diào)試結(jié)果證明工作正常,。另外,此方案使用的外圍器件還比較多,如果采用針對(duì)短消息電話開發(fā)的專用芯片可以大大簡(jiǎn)化外圍器件,,節(jié)約生產(chǎn)成本,。整個(gè)開發(fā)過程采用C語言,將整個(gè)工程移植到其他的硬件,,只需要替換工程中硬件的驅(qū)動(dòng)程序即可,。開發(fā)過程中,采用軟硬件開發(fā)同步進(jìn)行,,在PC機(jī)上搭建軟件仿真環(huán)境,,軟件開發(fā)可以不需要完全依賴硬件開發(fā)的進(jìn)度,大大縮短了開發(fā)周期,,且有利于多人合作,。

?

參考文獻(xiàn)

1 徐愛鈞,彭秀華.單片機(jī)高級(jí)語言C51應(yīng)用程序設(shè)計(jì)[M].北京:電子工業(yè)出版社,,1998:133~247

2 陸坤,,席大順,李之權(quán).電子設(shè)計(jì)技術(shù) [M]. 成都:電子科技大學(xué)出版社,,1997:554~580

3 基于電話網(wǎng)的信息終端及綜合平臺(tái)技術(shù)規(guī)范中文信息終端服務(wù)接口規(guī)范v1.2 [S]. 北京:中國(guó)電信集團(tuán),,2001:1~81

4 洪志全,洪學(xué)海. 現(xiàn)代計(jì)算機(jī)接口技術(shù)[M]. 北京:電子工業(yè)出版社,,2000:91~101

5 Winbond,, Selection Guide and Data Book. [DB/CD] 2001

6 馬忠梅, 籍順心,, 張 凱. 單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,,1999:255~265

7 Andrew S. Tanenbanm. Computer Network ( Third Edition)[M]. 北京:清華大學(xué)出版社,1998:131~181

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。