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