近距無線設(shè)備協(xié)議設(shè)計(jì)的綜合考慮
來源:與非網(wǎng)
摘要: 隨著短距離無線數(shù)據(jù)傳輸技術(shù)的成熟,,功能簡單,、攜帶方便的嵌入式無線產(chǎn)品得到廣泛應(yīng)用,對(duì)于(中國)設(shè)計(jì)工程師來說,,怎樣設(shè)計(jì)無線傳輸協(xié)議已經(jīng)成為設(shè)計(jì)過程面臨的一個(gè)挑戰(zhàn),。本文從擴(kuò)頻技術(shù)、頻譜管理,、協(xié)議層設(shè)計(jì),、差錯(cuò)處理、鏈接范圍等方面探討了設(shè)計(jì)協(xié)議過程中需要綜合考慮的問題,。
Abstract:
Key words :
隨著短距離無線數(shù)據(jù)傳輸技術(shù)的成熟,,功能簡單、攜帶方便的嵌入式無線產(chǎn)品得到廣泛應(yīng)用,,對(duì)于(中國)設(shè)計(jì)工程師來說,,怎樣設(shè)計(jì)無線傳輸協(xié)議已經(jīng)成為設(shè)計(jì)過程面臨的一個(gè)挑戰(zhàn)。本文從擴(kuò)頻技術(shù),、頻譜管理,、協(xié)議層設(shè)計(jì)、差錯(cuò)處理,、鏈接范圍等方面探討了設(shè)計(jì)協(xié)議過程中需要綜合考慮的問題,。
短程無線設(shè)備(SRD)在較小的物理區(qū)域內(nèi)通信,數(shù)據(jù)率和工作電流均低于大型產(chǎn)品,,并且功能也相對(duì)簡單,,它被廣泛應(yīng)用于車門遙控開關(guān)系統(tǒng)、簡單家用自動(dòng)化設(shè)備和無線游戲控制器,。
與SRD系統(tǒng)相比,,高端系統(tǒng)可采用先進(jìn)和復(fù)雜的協(xié)議棧實(shí)現(xiàn)。這些軟件協(xié)議??蓮牡谌焦?yīng)商購買或嵌入硬件。而設(shè)計(jì)SRD時(shí),,嵌入式開發(fā)人員通??稍O(shè)計(jì)小型定制協(xié)議并直接對(duì)硬件進(jìn)行訪問,SRD的協(xié)議棧通常比較簡單,,本文介紹適用于短程無線設(shè)備的協(xié)議設(shè)計(jì)策略,。
一般來說,射頻鏈路與有線連接在諸多重要環(huán)節(jié)上完全不同:1. 射頻鏈路是通過相同的傳輸媒介空氣來傳播無線電信號(hào);2.
誤碼率比常規(guī)有線系統(tǒng)高幾個(gè)數(shù)量級(jí),。由于存在上述差異,,RF鏈路的可靠性比有線鏈路低。為了建立可靠的無線通信鏈路,,可以采用TDMA和FDMA技術(shù),。
誤碼率比常規(guī)有線系統(tǒng)高幾個(gè)數(shù)量級(jí),。由于存在上述差異,,RF鏈路的可靠性比有線鏈路低。為了建立可靠的無線通信鏈路,,可以采用TDMA和FDMA技術(shù),。
時(shí)分多址(TDMA)技術(shù)可使不同的設(shè)備在不同的時(shí)刻“同時(shí)”占用同一段頻譜,這通??梢酝ㄟ^為不同的發(fā)送器分配特定的時(shí)隙和編碼加以實(shí)現(xiàn),。圖1顯示了可被兩個(gè)設(shè)備在一段時(shí)間內(nèi)共享的帶寬。
基本時(shí)間分片的機(jī)制之一是載波偵聽多址(CSMA)技術(shù),。CSMA不分配固定的時(shí)隙,,而其基本原理同人與人之間的禮貌交談并無二致:在試圖插嘴之前,必須等待同伴停止說話,。正常的CSMA設(shè)備可實(shí)現(xiàn)某種形式的發(fā)送前偵聽(listen-before-transmit)功能,,這樣當(dāng)另一設(shè)備正使用信道時(shí),CSMA設(shè)備必須等待,。當(dāng)然,,如果兩個(gè)或更多發(fā)送器同時(shí)捕獲了公共信道,將有可能產(chǎn)生沖突,。
頻分多址(FDMA)技術(shù)將可用的頻率帶寬拆分為具有較窄帶寬的子信道,,如圖2所示。這樣每個(gè)子信道均獨(dú)立于其它子信道,,從而可被分配給單個(gè)發(fā)送器,。其缺陷是子信道之間必須間隔一定距離以防止干擾,頻帶利用率不高,。
FDMA的最大問題在于較窄的信道限制了數(shù)據(jù)傳送的速率,。窄信道還需要更好的無線濾波,這進(jìn)一步增加了系統(tǒng)成本,。同樣,,信道間還可能存在潛在的噪聲,因?yàn)檩^強(qiáng)的帶外(out-of-band)噪聲可能干擾我們希望接收的微弱信號(hào),。
一,、擴(kuò)頻技術(shù)
在跳頻技術(shù)中,發(fā)送器從一個(gè)子信道“快步”跳躍至另一子信道,。該技術(shù)最早被美國軍方采用,,后來的事實(shí)表明擴(kuò)頻技術(shù)也同樣適用于民用系統(tǒng)。擴(kuò)頻技術(shù)具有兩大優(yōu)勢(shì):
1.擴(kuò)頻系統(tǒng)比其它傳統(tǒng)系統(tǒng)更抗干擾,;
2.擴(kuò)頻技術(shù)可用來提供多種接入功能,。
2.擴(kuò)頻技術(shù)可用來提供多種接入功能,。
目前主要的兩種擴(kuò)頻技術(shù)是跳頻(FHSS)和直接序列擴(kuò)頻(DSSS)技術(shù),。這兩種技術(shù)均以自己的方式支持多種接入方式。對(duì)于FHSS,,每個(gè)發(fā)送器均可使用不同的跳頻序列,,這樣即可同其它的發(fā)送器共享相同的帶寬(如圖3所示)。FHSS的優(yōu)點(diǎn)是頻率順序可以自適應(yīng),,從而防止較強(qiáng)的干擾,。
DSSS系統(tǒng)通過數(shù)據(jù)信號(hào)與擴(kuò)頻碼的異或(XOR)運(yùn)算獲得信號(hào)能量擴(kuò)展。系統(tǒng)可采用幾種不同的擴(kuò)頻碼支持多路接入,,這就是碼分多址(CDMA)技術(shù),。為使直接序列多路接入機(jī)制正常工作,所有發(fā)送器的功率電平均應(yīng)保持一致,,否則弱信號(hào)將被強(qiáng)信號(hào)阻塞,。圖4顯示了這一機(jī)制。兩路DSSS信號(hào)在相同的頻帶上發(fā)送,,接收器通過信號(hào)處理即可利用已知的擴(kuò)頻碼析取發(fā)送器傳來的數(shù)據(jù),。
應(yīng)用中采用何種無線技術(shù)取決于多種因素。當(dāng)然,,TDMA和FDMA比擴(kuò)頻更容易實(shí)現(xiàn),,因此如果可能,您將會(huì)很樂意采用其中一種方法,。
如果設(shè)備不需要頻繁傳送信號(hào),,那么TDMA自然就是最佳選擇,因?yàn)閭魉驮缴僖馕吨鴽_突越少,。此外,,無線電管理當(dāng)局可以通過限制允許傳送的占空比來要求TDMA工作于特定波段。
另一方面,,如果希望每個(gè)發(fā)送器都具有連續(xù)的通信信道,,那么FDMA就是最佳選擇。
當(dāng)許多設(shè)備必須以特殊方式進(jìn)行通信或當(dāng)接口電平較高時(shí),,擴(kuò)頻技術(shù)就顯得尤為有效,。DSSS必須以硬件方式實(shí)現(xiàn)才最為有效,而FHSS則可用軟件實(shí)現(xiàn),,具體取決于采用的跳頻率,。如果采用直接序列,那么對(duì)于軟件開發(fā)人員則完全透明,。需要注意的是,,擴(kuò)頻技術(shù)依賴于可供充分利用的帶寬,因此并不適用于所有無線頻帶,。
添加發(fā)送前偵聽功能并非難事或需要大量工作,,而且可以避免干擾工作于相同頻率范圍內(nèi)的其它RF系統(tǒng)。此外,,當(dāng)產(chǎn)品與其它RF設(shè)備協(xié)同工作時(shí),,用戶還能避免大量干擾問題。
二,、無線電頻率管理
無線電管理機(jī)構(gòu)可管理RF帶寬的使用,,最基本的規(guī)則是無線發(fā)送器的使用需要獲得許可。然而,,管理部門也規(guī)定某些頻帶不需許可,,以滿足不同的需要。這些頻帶通常包括工業(yè),、科研和醫(yī)用(ISM)頻帶,。
各個(gè)國家的無線電管理不盡相同。在美國,,F(xiàn)CC (www.fcc.gov)管理無線電頻譜的分配,。可用的公共頻帶包括:27MHz,、260MHz至470MHz,、902MHz至928MHz和最常用的2.4GHz頻帶。260MHz至470MHz頻帶對(duì)數(shù)據(jù)傳送的類型有所限制,,而其它頻帶則沒有這樣的限制,。
在歐洲,大多數(shù)國家簽署了協(xié)調(diào)無線電頻譜管理的協(xié)議,。歐洲電信標(biāo)準(zhǔn)協(xié)會(huì)(www.etsi.org)提供無線標(biāo)準(zhǔn)信息,,而歐州郵電和遠(yuǎn)程通信會(huì)議(CEPT)則為頻率使用提供推薦(www.ero.dk)。然而,,各個(gè)國家之間還是存在一些差異,。可用的公共頻帶包括:27MHz,,、433MHz,、868MHz和2.4GHz。433MHz和868MHz頻帶則拆分為具有不同RF功率和占空比限制的子頻帶,。
韓國和日本的法規(guī)比較相似,,都對(duì)無線協(xié)議提出了更多的需求。在大多數(shù)可用帶寬中,,都必須使用發(fā)送前偵聽功能,。兩個(gè)國家還規(guī)定了最大傳送次數(shù)和最小靜默時(shí)間??捎玫念l帶位于400MHz,、1.1GHz和2.4GHz附近,。
其余國家則無硬性規(guī)定和規(guī)則。在開展業(yè)務(wù)之前,,必須首先聯(lián)系當(dāng)?shù)毓芾聿块T,,以便清晰地了解當(dāng)?shù)氐臒o線電頻譜管理規(guī)則。FCC在以下網(wǎng)址中給出了管理部門的詳細(xì)列表:www.fcc.gov/mb/audio/bickel/world-govt-telecom.html,。
許多不同的生產(chǎn)商可為每種不同的頻帶提供收發(fā)器IC,。大多數(shù)芯片均只支持一種頻帶,但也有一些產(chǎn)品支持所有的頻帶,,如在一塊芯片中支持300MHz和1GHz,。
無線電管理主要影響硬件開發(fā)人員,但軟件開發(fā)人員也必須牢記占空比和使用限制,。
頻帶選擇取決于以下幾個(gè)因素,。使用限制規(guī)定了哪些頻帶可用于特定應(yīng)用;最大通信范圍也取決于頻率,,一般而言,,通信范圍將隨頻率的增高而減小。更高的頻率也需要比較低頻率更高的數(shù)據(jù)率(因?yàn)榭捎脦捯哺螅?。?dāng)然,,還必須考慮功能滿足應(yīng)用需要的收發(fā)器的可用性。
三,、協(xié)議層的設(shè)計(jì)
討論通信協(xié)議時(shí),,不可避免地要討論協(xié)議層問題,協(xié)議層構(gòu)成了協(xié)議棧,。像采用多少層協(xié)議棧以及協(xié)議層如何命名這樣的問題取決于被討論的對(duì)象,。本文采用開放式系統(tǒng)互連(OSI)模型,其最上層或多或少獨(dú)立于傳輸媒介,,本文只關(guān)注最底層及其在無線系統(tǒng)中的實(shí)現(xiàn)方法,。
(一)物理層
協(xié)議棧的最底層稱為物理層,,該層負(fù)責(zé)對(duì)傳輸媒介進(jìn)行物理存取,。在SRD中,物理層負(fù)責(zé)同RF收發(fā)器進(jìn)行通信,。芯片與芯片之間的數(shù)字接口差異很大,,但我們?nèi)匀豢梢詺w納出一些共性??捎玫男酒灿腥悾喊l(fā)送器,、接收器和收發(fā)器(既作為發(fā)送器也作為接收器)。為了便于下述討論,這里將這三類芯片統(tǒng)稱為收發(fā)器,。
所有的收發(fā)器通常都帶有串行數(shù)據(jù)接口,。簡單的設(shè)備不提供時(shí)鐘,因此微控制器必須處理時(shí)序問題,。更復(fù)雜的設(shè)備則可提供時(shí)鐘再生功能,,因此數(shù)據(jù)接口類似于微控制器的任何其它同步串行接口。數(shù)據(jù)形式也各有不同,;某些收發(fā)器需要支持曼徹斯特(Manchester)編碼(具有恒定直流電平且總保持每位至少一次轉(zhuǎn)換的自同步代碼)的數(shù)據(jù),而其余一些收發(fā)器則接收標(biāo)準(zhǔn)不歸零(NRZ)格式的數(shù)據(jù),。
所有的收發(fā)器通常都帶有串行數(shù)據(jù)接口,。簡單的設(shè)備不提供時(shí)鐘,因此微控制器必須處理時(shí)序問題,。更復(fù)雜的設(shè)備則可提供時(shí)鐘再生功能,,因此數(shù)據(jù)接口類似于微控制器的任何其它同步串行接口。數(shù)據(jù)形式也各有不同,;某些收發(fā)器需要支持曼徹斯特(Manchester)編碼(具有恒定直流電平且總保持每位至少一次轉(zhuǎn)換的自同步代碼)的數(shù)據(jù),而其余一些收發(fā)器則接收標(biāo)準(zhǔn)不歸零(NRZ)格式的數(shù)據(jù),。
接收數(shù)據(jù)時(shí),,RF數(shù)據(jù)解調(diào)后傳送給微控制器。某些收發(fā)器只提供來自解調(diào)器的原始數(shù)據(jù),,為了進(jìn)行可靠的操作,,該數(shù)據(jù)必須經(jīng)過多次采樣,因?yàn)槲涣髦锌赡艽嬖诿毯驮肼?。由于過采樣將檢測(cè)信號(hào)轉(zhuǎn)換,,因此可提供位級(jí)同步。對(duì)其它采用硬件實(shí)現(xiàn)的收發(fā)器過采樣,,則不需要在信號(hào)的位中間進(jìn)行采樣,。
如果采用較高的位速率,軟件編程的最大挑戰(zhàn)在于確保微控制器與輸入數(shù)據(jù)之間的同步,。大多數(shù)支持較高位速率的收發(fā)器可連接到標(biāo)準(zhǔn)的同步串行接口,。
多信道收發(fā)器通常具有可編程功能,可通過串行接口選擇頻率和其它參數(shù),。簡易設(shè)備則可提供能在接收端和發(fā)送端之間選擇引腳的并行接口并使設(shè)備進(jìn)入省電模式,。
芯片與芯片之間的輔助特性相差很大。接收器的一項(xiàng)實(shí)用功能就是接收信號(hào)強(qiáng)度指示器(RSSI),,可用來實(shí)現(xiàn)發(fā)送前偵聽功能并確定RF鏈路質(zhì)量,。
(二)數(shù)據(jù)鏈路層
數(shù)據(jù)鏈路層在協(xié)議棧中位于物理層之上,,負(fù)責(zé)差錯(cuò)處理和鏈路控制,。RF鏈路通常工作于半雙工模式,但通過在接收和發(fā)送之間迅速切換,,即可模擬全雙工鏈路,。本文隨后還將詳細(xì)討論差錯(cuò)處理。
?。ㄈ┚W(wǎng)絡(luò)層
協(xié)議設(shè)計(jì)最重要的因素是系統(tǒng)拓?fù)浣Y(jié)構(gòu),。點(diǎn)到點(diǎn)鏈路的協(xié)議實(shí)現(xiàn)完全不同于那些相互之間需要通信的聯(lián)網(wǎng)設(shè)備。
元器件數(shù)目對(duì)采用的協(xié)議至關(guān)重要,。采用具有中央主機(jī)的網(wǎng)絡(luò)還是對(duì)等網(wǎng),?這些問題可利用協(xié)議棧的網(wǎng)絡(luò)層加以解決,,多址策略也在這一層起作用。
幸而,,大多數(shù)問題與有線鏈路并無二致,。例如,以太網(wǎng)也采用了共享媒介,,而一般的網(wǎng)絡(luò)文獻(xiàn)中也詳細(xì)描述了有效的網(wǎng)絡(luò)層協(xié)議和技術(shù),。
有線網(wǎng)絡(luò)(遠(yuǎn)程光纖連接除外)中通常無須考慮采用中繼器。轉(zhuǎn)發(fā)器可確保RF設(shè)備在無線網(wǎng)絡(luò)中的正常通信,,而且設(shè)備本身通常也可作為中繼器,。添加中繼器能在復(fù)雜室內(nèi)環(huán)境中確保可靠傳輸,,以消除受多徑干擾嚴(yán)重影響的區(qū)域,。
四、差錯(cuò)處理
如前所述,,RF鏈路環(huán)境下的誤碼率通常遠(yuǎn)高于有線鏈路,,因此無線協(xié)議必須能進(jìn)行差錯(cuò)處理。此外,,還必須采用差錯(cuò)檢測(cè)和糾錯(cuò)技術(shù)實(shí)現(xiàn)容許的誤碼率,。
更為重要的是,軟件必須具有防止誤碼的能力或糾錯(cuò)的功能,。沒有收到數(shù)據(jù)時(shí),,無線接收器將輸出噪聲。通??衫密浖⒂行?shù)據(jù)從噪聲中分離,。在RF領(lǐng)域,這稱為靜噪功能,。
數(shù)據(jù)包起始部分是一串被稱為前同步碼的1,、0交替序列,前同步碼是無線接收器與輸入數(shù)據(jù)同步所必需的,,收到前同步碼就表明有人希望同設(shè)備進(jìn)行通信,。
為了檢測(cè)前同步碼的結(jié)束和數(shù)據(jù)的起始,可采用同步字,。同步字由與前同步碼形成對(duì)比的固定位圖組成,,而且還可以過濾掉誤碼的數(shù)據(jù)包。如果沒有正確地接收同步字,,軟件將重新搜索有效的前同步碼,。
收到同步字后,典型的數(shù)據(jù)包將包含報(bào)頭信息,如源地址,、目的地址,、數(shù)據(jù)長度等,之后才是有效的數(shù)據(jù)載荷,。
許多應(yīng)用系統(tǒng)不允許RF鏈路中存在原始誤碼率,,降低差錯(cuò)數(shù)目的第一步是采用誤碼檢測(cè)技術(shù)。誤碼檢測(cè)的方法很多,,但最常用的方法是以循環(huán)冗余校驗(yàn)(CRC)的形式添加數(shù)據(jù)校驗(yàn)和,。CRC可提供遠(yuǎn)比原始方法(如奇偶校驗(yàn))卓越的誤碼檢測(cè)功能。根據(jù)應(yīng)用的不同,,檢測(cè)到的差錯(cuò)可通過忽略誤碼數(shù)據(jù)或請(qǐng)求重傳進(jìn)行處理,。
當(dāng)采用RF鏈路時(shí),必須意識(shí)到數(shù)據(jù)包可能丟失,。干擾可混淆有效數(shù)據(jù)包,而處理該問題的簡單方法則是采用數(shù)據(jù)包計(jì)數(shù)器,。數(shù)據(jù)包可包含隨發(fā)送消息數(shù)目增加而不斷增加的計(jì)數(shù)器域,,這樣當(dāng)數(shù)據(jù)包丟失時(shí),接收器就能檢測(cè)到并采取適當(dāng)?shù)拇胧?/div>
五、鏈接范圍
六,、結(jié)論
更復(fù)雜的差錯(cuò)處理方法是采用前向糾錯(cuò)(FEC)技術(shù),,這就必須在數(shù)據(jù)包中添加冗余數(shù)據(jù),。在此基礎(chǔ)上,接收器可析取無誤碼數(shù)據(jù),,即便數(shù)據(jù)包中存在誤碼,。當(dāng)然,所能承受的誤碼率也有限制,。誤碼通常以脈沖信號(hào)的形式存在,,因此幾個(gè)連續(xù)位可能出現(xiàn)錯(cuò)位。這樣,,在編碼之后糾錯(cuò)將需要對(duì)數(shù)據(jù)進(jìn)行交織處理,,以消除脈沖誤碼。當(dāng)同F(xiàn)HSS一起使用時(shí),,該技術(shù)尤為有效,。只要數(shù)據(jù)交織和糾錯(cuò)充分,接收器就能接收數(shù)據(jù),,即便干擾阻塞了某些頻率,。復(fù)雜的系統(tǒng)甚至可利用自適應(yīng)跳頻技術(shù)完全避免頻率阻塞。
在非相干FSK解調(diào)器中,,誤碼隨信噪比變化的規(guī)律,。信噪比由接收器密度和接收信號(hào)的強(qiáng)度決定。圖5還顯示了誤碼率隨信號(hào)強(qiáng)度變化的規(guī)律。例如,,10-2與10-3之間的差異對(duì)應(yīng)于2dB,。在實(shí)際中,如果能將糾錯(cuò)能力從10<sub/>-2提升至10< sub/>-3(假定應(yīng)用中所需的誤碼率為10< sub/>-3),,這意味著必須具有30%的裕量,。
五、鏈接范圍
實(shí)際鏈路范圍是RF鏈路中最重要的參數(shù),。雖然硬件決定了管理鏈路范圍的大多數(shù)參數(shù),,但軟件也同樣重要。只需簡單地編寫對(duì)輸入數(shù)據(jù)進(jìn)行過濾的軟件即可將無線系統(tǒng)的范圍擴(kuò)大4倍并改進(jìn)時(shí)序精確度,。如果硬件不對(duì)輸入數(shù)據(jù)進(jìn)行過采樣和濾波,,就需要采用軟件實(shí)現(xiàn)。良好的誤碼處理也可以改進(jìn)系統(tǒng)的實(shí)際應(yīng)用范圍,。
誤碼率是無線接收器所接收信號(hào)強(qiáng)度的函數(shù),,而信號(hào)強(qiáng)度則部分由接收器和發(fā)送器之間的距離決定。RF設(shè)計(jì)人員可采用鏈路預(yù)算方法來計(jì)算損耗及接收器剩下的信號(hào)強(qiáng)度,。與其它傳輸媒介相比,,RF系統(tǒng)的損耗較高。對(duì)于短程鏈路,,發(fā)送器和接收器之間的總損耗通常介于50dB至120dB之間,。
干擾通常會(huì)降低鏈路的范圍,只有非常強(qiáng)的干擾才會(huì)導(dǎo)致RF鏈路完全失效,。盡快對(duì)無線產(chǎn)品進(jìn)行一些現(xiàn)場(chǎng)測(cè)試無疑非常必要,,因?yàn)橥ㄟ^測(cè)試產(chǎn)品在不同環(huán)境下的行為即可考察實(shí)際干擾下的鏈路性能。
六,、結(jié)論
無線系統(tǒng)設(shè)計(jì)完全不同于有線系統(tǒng)設(shè)計(jì),,不要期望原始的RF鏈路對(duì)任何應(yīng)用都完全可靠,協(xié)議需要采取措施以將誤碼率降至可接受的程度,。很多不太了解RF設(shè)計(jì)的人都對(duì)原始RF的誤碼性能具有一些不切實(shí)際的幻想,,請(qǐng)記住即便是有線通信系統(tǒng)通常也需要采用差錯(cuò)控制和處理措施。
有了良好的軟件和硬件設(shè)施,,系統(tǒng)將比較可靠,,而用戶自然也樂在其中。在編寫采用RF鏈路的嵌入式系統(tǒng)軟件中,,大部分工作將用于保障系統(tǒng)的可靠性,。即便系統(tǒng)在實(shí)驗(yàn)室能可靠工作,但現(xiàn)場(chǎng)仍然可能失效,,例如系統(tǒng)遭受其它采用相同頻譜的RF設(shè)備的干擾,。避免這類問題的最佳途徑是增強(qiáng)系統(tǒng)的容錯(cuò)和干擾處理能力并在實(shí)際環(huán)境中進(jìn)行現(xiàn)場(chǎng)測(cè)試,。一般而言,盡量預(yù)測(cè)出可能出現(xiàn)的誤碼,,就能使代碼具有較強(qiáng)的魯棒性,。
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。