摘要:本文介紹了一種無線數據傳輸協議。該協議在曼徹斯特編碼的基礎上加入了同步數據頭和引導序列,使發送的數據能用趄再生解調電路接收并正確解碼。本文同時給出了用單片機、OOK調制電路和越再生解調電路組成的無線收發電路結構,最后在系統上對協議進行了測試,給出了測試結果。
關鍵詞:起再生
曼徹斯持編碼
無線數據傳輸協議
中圖分類號;TN919.3
文獻標識碼:B
文章編號:1002-2422(2010)03-0130-03
1曼徹斯特編碼和超再生解調電路特點
曼徹斯特編碼是一種同步時鐘編碼技術。曼徹斯特編碼中。每一位的中間有跳變,即用從高到低跳變表示“1”,從低到高跳變表示“0”。(見圖1)。這種編碼方式的好處是,在位中間的跳變既是數據信息,也是時鐘信息,因而接收方可以通過對時鐘信息的提取消除傳輸長數據導致的積累誤差。另一方面,每位的跳變消除了直流分量,消除了數據傳輸中出現長高或長低的可能,避免了由于發送和接收機對直流量不敏感導致的電平自動翻轉。因而曼徹斯特編碼具有自同步能力和良好的抗干擾性能。
超再生解調電路在收音機中已有使用。最簡單的超再生解調電路只需1個三極管,電路簡單、成本低、功耗低、接收靈敏度高。但抗干擾能力差,性能不穩定,頻率點易飄移。
超再生解調電路的一個很大的特點是由于電路的高增益,在未收到信號時,受外界雜散噪聲和內部自身熱噪聲的干擾,會在輸出端產生一個特有的噪聲信號—超噪聲。超噪聲的頻率范圍在0.3-0.5kHz之間,且噪聲電平很高。在收到信號后,超噪聲會被抑制。

2通信系統結構
本協議所使用通信系統由發送模塊和接收模塊組成。發送模塊包括單片機、OOK調制電路和發射天線(見圖2)。接收模塊包括接收天線、超再生解調電路、單片機(見圖3)。
3通信協議設計
協議分3部分:數據(4.1)、同步信號頭(4.2)和引導序列(4.3)。
3,1數據編解碼
數據編碼采用曼徹斯特編碼。
信號的解碼是單位時間判斷上升或下降沿的過程。以每次延時t說明。
從第一位信號的1/4處開始檢測。每2t時間檢測一次,即每位信號檢測2次,檢測點分別在1/4和3/4處。比較兩次電平,并判斷是上升沿還是下降沿即可知是“0”還是“1”。(見圖4)
在強干擾環境下,可以把每位前后2t時間再均勻分成3段,每段檢測一次,取出現多的那個電平,有效消除突發干擾。
這里有兩個問題:
一是如何保持發送和接收的時鐘同步。兩片不由同一晶振提供時鐘的單片機時鐘頻率必然存在誤差。在程序編寫時固然可以通過設置延時函數中參數的大小來精確調節發送和接收時鐘使其在短時間內同步,但由于溫度等原因還是會造成時鐘頻率的偏移而產生積累誤差,這將使傳送長數據時在后期因同步問題不能夠正確解碼。

解決思路是接收端通過不斷提取發送端曼徹斯特碼中的時鐘信息讓程序自動跟蹤調整時鐘,使兩者保持同步。具體方法:首先確保單片機延時函數參數設置合理,使發送接收開始時幾乎同步。同時使延時函數中延時參數自適應,即在接收時每個電平檢測點延時t秒后(跳變沿附近)再檢測一次,如果這時檢測到的信號與檢測點電平一致,則說明延時時問不夠,延時函數中參數自動加一個小量△使以后的延時時間略微加長;相反如果這時檢測到的信號與檢測點電平相反,則說明延時時間太長,延時函數中參數自動減一個小量△使以后的延時時間略微縮短。
二是如何判斷第一位的開始。這需要同步信號頭。
3,2同步信號頭
為了判斷第一位的開始,發送方需要先發送一個同步信號向接收方表示第一位數據何時開始發送。由于曼徹斯特編碼每位反轉一次,最長的高(或低)電平時間為1位數據時間(即4t),所以可以用大于1位數據時間的高(或低)電平來做同步信號。一般使用2-4位。太長的高(或低)電平發送和接收機都不敏感,容易自己反轉。
接收方檢測方法以3位長高為例。接收方檢測到高電平后,先延時時間t再檢測一次,以后每過2t時間檢測一次,如果包括第一次在內連續檢測到7個高電平,則同步成功,延時2t后開始接收實際數據。如果同步過程中出現低電平,則失敗,同步程序復位,前面積累的狀態清空,重新檢測同步信號。(見圖5)
同步信號頭的加入解決了第一位數據何時開始的問題,但是在超再生解調電路中這樣仍然無法正常傳輸數據一同步信號之前接收方檢測出的必須是低電平,否則將出現由同步信號變長導致的檢測點錯誤。這在無信號接收時會產生強噪聲的超再生接收機上是很容易出現的錯誤。因此需要再加入引導序列。
3,3引導序列
引導序列的作用有兩個:
一是提高接收端抗超噪聲干擾能力。如果不加入引導序列,又長又高的超噪聲與同步信號先后到達,就會引起同步信號頭變長,導致數據接收的失敗。(見圖6)。
二是確保實際數據在發送時編碼信道已穩定建立。實驗發現,信號發送與接收的穩定需要一定的時間。以發送方波為例,信號源產生一串占空比50%的方波模擬一串編碼后的“0”(或“1”)加在發送電路,并用雙蹤示波器在接收端觀察解調信號并與發送方波對比發現,在信號發送與接收的初始階段,解調出的方波占空比不為50%,這種偏差隨發送時間的增加逐漸消失,最后達到解調出的方波與原始信號波形一致而只存在一個相位差。(見圖7)
分析可知,方波不僅可以很好的與無規律的超噪聲區別開,且矩形波占空比是判斷編碼信道已穩定的很好依據。因此以方波為引導序列。
為了讓引導序列最好的體現實際數據接收的準確度,可以用脈寬、占空比與實際數據一樣的方波序列,即一串曼徹斯特編碼的“1”,其長度與電路性能和環境干擾的強弱有關。
接收方對引導序列的檢測與對實際數據的檢測一樣,僅第一次稍有區別。接收方以高電平到來處(即上跳沿)為起始,先延時t檢測一次,之后每次延時2t檢測。如果能連續檢測到N個(4-6個)“1”,說明編碼信道已穩定,能正確接收實際數據,接收方進入等待同步信號頭到來的狀態;如果中間出錯,說明信道還未穩定或是噪聲干擾嚴重,則檢測程序復位,前面積累的狀態清空,重新判斷引導序列。另外,為了不與同步信號重疊,引導序列的最后一個電平狀態須與同步信號電平相反。以N=3為例,(見圖8)。
4協議測試
(1)測試條件:用所述通信系統,發送、接收電路均用兩節1.5V干電池供電。發送頻率:12MHz:發送、接收天線:線圈天線:接收距離:1m:傳輸方式:半雙工。
(2)測試方法:主機用線性疊加方法產生0-255之間的偽隨機數序列,每次連續取4個偽隨機數為一組,順序記錄,并用所述協議方式發送,然后等待數據返回。從機用所述協議方式接收數據并記錄。全部接收完后用與主機相同方式順序發回接收到的數據,然后等待再次接收數據。
主機接收返回數據并與原數據對比,如果完全正確則發送下一組;如果錯誤則紀錄出錯數個數和所在位置,然后發送下一組;如果超時則紀錄超時一次,然后發送下一組。
用上述驗證方法發送2500組數據。
(3)驗證結果:錯誤數個數0,超時數0。
(4)誤碼率:優于10-4。
5結束語
OOK調制和超再生解調可以組建低成本、低功耗的簡單通信系統,在短距離、低速無線通信場合,有很好的應用前景。