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