《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于51單片機的無線信號編解碼技術研究
基于51單片機的無線信號編解碼技術研究
來源:微型機與應用2011年第5期
張德娟,邵平凡
(武漢科技大學 計算機科學與技術學院,湖北 武漢 430065)
摘要: 針對數據幀格式固定、校驗方式單一以及傳輸速率不便于更改等問題,提出了一種通過 STC89C516RD+單片機實現的軟件編解碼方法。該方法通過定時器的延時來實現對數字信號的編碼;通過外部中斷與定時器相結合的方式進行解碼,即利用接收到的脈沖信號的上升沿啟動定時器工作,下降沿停止定時器工作并觸發外部中斷,然后讀取計數寄存器的值并識別數據。實驗證明,該方法的數據幀格式及校驗方式靈活多變,而且可以降低無線傳輸系統的成本,適用于無線控制、數據采集、故障報警等多種無線數據通信場合。
Abstract:
Key words :

摘  要: 針對數據幀格式固定、校驗方式單一以及傳輸速率不便于更改等問題,提出了一種通過 STC89C516RD+單片機實現的軟件編解碼方法。該方法通過定時器的延時來實現對數字信號的編碼;通過外部中斷與定時器相結合的方式進行解碼,即利用接收到的脈沖信號的上升沿啟動定時器工作,下降沿停止定時器工作并觸發外部中斷,然后讀取計數寄存器的值并識別數據。實驗證明,該方法的數據幀格式及校驗方式靈活多變,而且可以降低無線傳輸系統的成本,適用于無線控制、數據采集、故障報警等多種無線數據通信場合。
關鍵詞: 編碼;解碼;定時器;外部中斷

 隨著微電子、計算機信息技術的迅速發展,由單片機和無線傳輸模塊組成的無線數據通信系統在石油、電力、水文、冶金、安防等行業的無線控制、數據采集、故障報警等諸多領域中得到越來越廣泛的應用。而數據的編解碼對于無線傳輸可靠性的影響舉足輕重。目前編解碼方式主要有硬件編解碼和軟件編解碼兩種。本文在對已有硬件及軟件編解碼技術研究的基礎上,設計并通過STC89C516RD+單片機實現了一種以軟件方式對傳輸數據編解碼的方法。
1 現有的編解碼技術
1.1 硬件編解碼技術

 目前有多種用于編碼和解碼的專用芯片,PT2262/PT2272是比較常用的一種。在通常的使用中,一般采用8位地址碼和4位數據碼,這時編碼芯片PT2262和解碼芯片PT2272的第1~8腳為地址設定腳。有三種狀態可供選擇:懸空、接正電源和接地,38為6 561,所以地址編碼不重復度為6 561組,只有發射端PT2262和接收端PT2272的地址編碼完全相同時,才能配對使用。當編碼啟動端TE接低電平時,PT2262就將從數據輸入端D0~D3輸入的數據經過編碼后從DOUT引腳串行輸出[1],數據幀的高8位為地址,低4位為數據,發送時以先高位、后低位的順序逐次發送。每一幀發送4次,每幀數據中間由同步碼隔開。PT2272只有在連續2次檢測到相同的地址碼和數據碼時才會把數據碼中的“1”驅動相應的數據輸出端為高電平和驅動VT引腳同步為高電平[2],將VT引腳反向后接入單片機的外部中斷輸入引腳,通過觸發中斷來通知單片機接收到數據了。
PT2262/PT2272芯片功耗低、外部元器件少、工作電壓范圍寬。但這兩個芯片在應用中必須對地址統一編碼,配對使用,而且需要通過改變硬件電路才能重新設置芯片地址;該編碼芯片的幀格式是固定的,不能隨意改動,而且編碼的脈沖寬度需要調節外接振蕩電阻大小才能改變。這些都給用戶的使用帶來了極大的不便。
1.2 軟件編解碼技術
 在利用單片機和無線傳輸模塊進行無線數據傳輸的過程中,使用軟件編解碼時通常會采用定時采樣的方式??傮w設計思想如下:發送端通過定時器延時產生不同寬度的脈沖或脈沖組合來實現對數據“0”和“1”的編碼。接收端對接收到的脈沖信號進行定時采樣,然后通過計算識別出對應的數據信號。通過定時采樣的方式進行解碼時,對采樣頻率具有比較嚴格的要求。根據奈奎斯特理論,只有采樣頻率高于發射信號最高頻率的2倍時,才能把數字信號準確還原[3]。但是中斷的響應與返回以及數據的判斷都會造成時間延遲,因此,發射信號的頻率不能太高,否則容易導致數據丟失。同時定時采樣需要多次調用中斷服務程序,增加了額外的時間開銷。這些都會降低無線數據傳輸的速率。
2 改進的編解碼技術
2.1 軟件編碼原理及程序流程

 編碼就是用不同形式的碼型來表示二進制的“1”和“0”。本文采用的編碼方式為脈沖—間隙編碼,即在下一脈沖前的暫停持續時間t表示二進制符號“1”,而下一脈沖前的暫停持續時間2t表示二進制符號“0”[4],脈沖—間隙編碼如圖1所示。發送端的信號分為同步信號、數據信號以及校驗和信號,無線發射電路如圖2所示。經過編碼后的信號由單片機的P1.7引腳輸出到無線發射模塊,然后無線發射模塊將基帶信號經高頻載波電路調制后,通過天線向空間輻射。


 在發送端對數據進行編碼時,由于對發送的數據位、位數的判斷以及校驗和的生成所產生的延遲時間不超過70T,其中T為機器周期,因此,定義100T的高電平脈沖代表“1”,而200T的高電平脈沖代表“0”。在接收端進行解碼時,由INT1引腳上的下降沿觸發中斷并停止定時器計數,進而識別數據信號,此過程中斷服務程序的延遲時間不超過50T。因此,設置數據位之間的低電平脈沖寬度為70T。為了不與數據信號混淆,將同步位定義為300T的高電平脈沖。本實驗采用的石英晶體的晶振頻率為12 MHz,因此一個機器周期為1 μs,故一個字節的傳輸速率最快為5 882 b/s,最慢為3 703 b/s。

 軟件編碼程序流程圖如圖3所示,采用定時器0工作在方式1,即16位定時器工作方式,根據不同的輸出脈沖寬度需求向計數寄存器TH0和TL0中裝入不同的初始值。標志位flags_0用來區分高電平脈沖和低電平脈沖,當標志位flags_0為0時輸出兩個數據位之間的低電平脈沖,不為0時輸出高電平脈沖。標志位flags_1用來區分數據位和同步位,當flags_1為0時輸出數據位高電平脈沖,為1時輸出同步位高電平脈沖。在發送的過程中,每發送一個字節,就將該字節累加到校驗和中,當所有的數據發送完后就發送校驗和。

2.2 軟件解碼原理及程序流程
 解碼是用特定方法把數碼還原成它所代表的內容,或將電脈沖信號轉換成它所代表的信息、數據等過程。本文采用定時器與外部中斷相結合的方法對接收到的脈沖信號進行解碼,并利用接收到的校驗和進行校驗。
 將單片機的模式控制寄存器TMOD的門控位GATE置1,當TR1=1時,外部中斷INT1直接控制定時器1的啟動、停止,即INT1由0變為1電平時,啟動計數;當INT1由1變為0電平時,停止計數。這種情況常用來測量在INT1引腳上出現的正脈沖的寬度[5]。無線接收電路如圖4所示,無線接收模塊將接收到的信號進行解調、放大和整形,恢復出基帶信號,由引腳2輸出到單片機的INT1引腳上。設置外部中斷1為下降沿觸發方式,定時器/計數器1為16位定時器工作方式。當INT1引腳上出現由高到低的負跳變時觸發中斷,定時器1停止計數[6],讀取計數寄存器TL1和TH1中的值來判斷脈沖寬度,從而解碼接收到的數據信號。

 由于在發送過程中重裝計數初值、接收數據以及中斷的響應都需要時間,所以接收到的實際脈沖寬度大于發送的脈沖寬度。因此,如果接收到的高電平脈沖寬度大于300T則表示接收到同步位;若大于200T則表示接收到數據位“0”;否則表示接收到數據位“1”。軟件解碼流程圖如圖5所示,在接收到同步位后,開始接收數據,直到再次接收到同步位的時候暫停接收。利用接收到的數據以及校驗和進行校驗,如果接收到的數據正確,則停止接收;如果不正確,則將之前接收到的數據全部丟棄,再重新開始接收。

 實驗證明,通過該方法進行軟件編碼和解碼時,可以根據不同的需要使用軟件編程來設置地址,接收端與發送端可以進行多對多的無線數據通信,而不需要配對使用;改變定時器的計數寄存器初值就可以改變編碼的脈沖寬度,從而改變傳輸速率;解碼準確快捷,占用CPU資源相對較少,便于操作;校驗方式可選,數據幀格式靈活多變。
 本實驗中采用的是晶振頻率為12 MHz的石英晶體,以及具有CISC結構的8位單片機,它的一個機器周期要占用12個振蕩周期,執行一條指令最少要一個機器周期,處理速度較慢,在一定程度上影響了無線傳輸速率。可以通過提高晶振頻率或者選擇速度較快的單片機作為控制芯片的方式來提高無線數據傳輸速率。如選擇具有流水線結構的C8051F系列單片機,或者是具有預取指令功能的AVR系列單片機,它們可以在一個時鐘周期內完成一條指令。也可以采用具有DW8051_core核的單片機,它采用4個時鐘周期為1個指令周期的模式,在時鐘周期相同的情況下,處理能力是標準8051的3倍。采用這些高速度的單片機可以減少程序執行所產生的延遲時間,從而縮短數據位編碼脈沖寬度,提高無線數據傳輸速率。
參考文獻
[1] 黎國鋒,馮永振,盧廣文.近距離無線加密傳輸韋根信號的實現[J].無線通信技術,2009(1):31-36.
[2] 趙秋.利用編解碼芯片的無線收發電路[J].信息化研究,2009,35(9):35-38.
[3] 邵平凡,陳華斌.基于Atmega8無線信號軟件編解碼的實現方法及性能分析[J].福建電腦,2009(8):115-116.
[4] 康東,石喜勤,李勇鵬,等.射頻識別(RFID)核心技術與典型應用開發案例[M].北京:人民郵電出版社,2008.
[5] 梅麗鳳,王艷秋,汪毓鐸,等.單片機原理及接口技術[M].北京:清華大學出版社,2004.
[6] 馬忠梅,籍順心,張凱,等.單片機的C語言應用程序設計(第4版)[M].北京:北京航空航天大學出版社,2007.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美日韩成人高清在线播放 | 欧美成人免费全部观看在线看 | 日韩成人在线网站 | 五月婷婷开心综合 | 91成人短视频 | 91大片淫黄大片.在线天堂 | 婷婷色综合成人成人网小说 | 美女1819xxxx| 伊人久久大香线 | 青春草视频在线免费观看 | 在线免费看毛片 | 波多野结衣 一区 | 久热re这里只有精品视频 | 一级一级 a爱片免费视频 | 欧美视频手机在线 | 在线色综合 | 日韩黄色免费观看 | 成人精品 | 1024手机在线看 | 一菊综合网成人综合网 | 黄站在线观看 | 婷婷色婷婷 | 成年人在线免费看视频 | 亚洲精品高清国产麻豆专区 | 又黄又爽又色的黄裸乳视频 | 亚洲九九色 | 国产在线观看不卡免费高清 | 2015小明永久领域日韩 | 色图欧美色图 | 操你啦在线 | 中文字幕在线免费 | 国产欧美日韩在线视频 | 免费在线中文字幕 | 深夜毛片 | 黄黄的网站 | 日韩大片免费观看 | 青青草国产精品人人爱99 | 舔舔射 | 欧美精品1区2区 | 精品国产拍拍拍无遮挡 | 久久e|