串行通信鏈路復(fù)用協(xié)議在嵌入系統(tǒng)上開(kāi)發(fā)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
隨著移動(dòng)通信技術(shù)的迅速發(fā)展,具備無(wú)線通信功能的移動(dòng)終端也迅速發(fā)展起來(lái)。這些移動(dòng)終端支持普通的話音、短消息等業(yè)務(wù),隨著gprs網(wǎng)絡(luò)覆蓋的迅速擴(kuò)大,越來(lái)越多的手持/車載移動(dòng)終端也開(kāi)始支持gprs上網(wǎng)業(yè)務(wù)。如何在一個(gè)終端設(shè)備上整合這些業(yè)務(wù),這是許多移動(dòng)終端設(shè)備開(kāi)發(fā)者面對(duì)的問(wèn)題。筆者在開(kāi)發(fā)一款車載移動(dòng)終端過(guò)程中,采用了3gpp的ts 27.010協(xié)議,成功地整合了這些業(yè)務(wù)。 1 ts27.010協(xié)議介紹在常用的gsm/gprs通信模塊中(如siemens的mc35mc35、wavecom的q2400q2400等),只能通過(guò)一個(gè)普通9針的異步串口與終端設(shè)備te(terminal equipment)進(jìn)行通信。te和ms?mobile station?需要通過(guò)這個(gè)串口交換各種類型的數(shù)據(jù),例如:語(yǔ)音、傳真、數(shù)據(jù)、sms、cbs、電話號(hào)碼本的維護(hù)、電池狀態(tài)、gprs、ussd等。如何在一個(gè)串口上同時(shí)支持這么多的業(yè)務(wù)?例如,在數(shù)據(jù)通信過(guò)程中,怎樣發(fā)送或接收sms?為了解決這些問(wèn)題,3gpp提出了一個(gè)協(xié)議--ts27.010協(xié)議(terminal equipment to mobile station multiplexer protocol)。有了multiplexer,即使在數(shù)據(jù)連接過(guò)程中,也可以發(fā)送sms。其它業(yè)務(wù)組合也可以同時(shí)進(jìn)行。例如,數(shù)字語(yǔ)音和sms同時(shí)發(fā)送。multiplexer的存在使得一個(gè)完整的系統(tǒng)能夠根據(jù)需要進(jìn)行劃分。3gpp 的multiplexer設(shè)計(jì)非常靈活,并且獨(dú)立于ms/te平臺(tái),已有的應(yīng)用程序不需要改動(dòng)即可工作。在設(shè)計(jì)multiplexer時(shí),特別考慮到采用電池供電的設(shè)備的需求,所以包含了省電模式控制等很重要的功能,并且multiplexer本身在運(yùn)行時(shí)也盡量使用最小的功耗和內(nèi)存。multiplexer基于iso的hdlc標(biāo)準(zhǔn)設(shè)計(jì),工作于有多種選項(xiàng)的單模式下。但是basic option并不遵從hdlc。在基本選項(xiàng)模式下,multiplexer沒(méi)有透明機(jī)制,也沒(méi)有錯(cuò)誤恢復(fù)功能。但是在高級(jí)選項(xiàng)(advanced option)模式下,使用hdlc的透明機(jī)制,且multiplexer有一個(gè)方便的再同步機(jī)制,能夠在dc1/dc3(xon/xoff)流控打開(kāi)的鏈路上工作,且包含了錯(cuò)誤恢復(fù)功能。3gpp的multiplexer依賴于一個(gè)控制信道。在這個(gè)控制信道上,te和ms交換控制信息,例如參數(shù)協(xié)商、節(jié)電控制信息、流控信息等。multiplexer是一個(gè)可選項(xiàng),如果支持這個(gè)功能,就應(yīng)使用at+cmux命令激活它。 multiplexer?yàn)椋簦搴停恚笤谝粋€(gè)起始/停止模式的、具有分幀功能的串行鏈路上傳輸數(shù)據(jù)流提供了一套機(jī)制。圖1給出了不同的協(xié)議層及其功能示意。multiplexer?qū)迂?fù)責(zé)將數(shù)據(jù)按字節(jié)流的方式傳輸,不再進(jìn)行進(jìn)一步的組幀;如果數(shù)據(jù)需要按一定結(jié)構(gòu)傳輸,就需要增加一個(gè)會(huì)聚層來(lái)完成這些功能。multiplexer?yàn)椋簦迳系倪M(jìn)程和ms上相對(duì)應(yīng)的進(jìn)程提供了一條虛連接,這樣te和ms上的進(jìn)程就可以通過(guò)這條虛連接通信。例如,te上的sms應(yīng)用程序可以通過(guò)一條multiplexer通道與ms上的sms處理程序連接起來(lái)。 ts27.010規(guī)范使用8bit字符的start-stop傳輸模式,兩個(gè)mulitplexer?qū)嶓w間的通信使用了規(guī)定的幀格式。te和ms之間的每個(gè)信道稱為一條數(shù)據(jù)鏈路連接dlc(data link connection),這些dlc被依次獨(dú)立地建立起來(lái)。每個(gè)dlc都可以有自己的流控機(jī)制。multiplexer有三種工作模式:basic、advanced without error recovery和advanced with error recovery。這三種模式特點(diǎn)如下:·basic:長(zhǎng)度標(biāo)識(shí)代替hdlc的透明機(jī)制;使用與hdlc不同的標(biāo)志字;不能用于具有xon/xoff流控的鏈路;從同步丟失狀態(tài)中恢復(fù)需要更長(zhǎng)的時(shí)間。·advanced without error recovery:遵從iso/iec13239的異步hdlc過(guò)程;可以用于具備xon/xoff流控的鏈路上;可以更快地從失同步狀態(tài)恢復(fù)?!ぃ幔洌觯幔睿悖澹?with error recovery:使用了hdlc的錯(cuò)誤恢復(fù)過(guò)程。
2 wavecom gsm/gprs模塊multiplexing協(xié)議介紹 筆者選用了wavecom的q2403a,這是一款e-gsm/gprs 900/1800的雙頻模塊。這個(gè)模