專利名稱:一種基于單片機的無線編碼解碼的遙控器的制作方法
技術領域:
本發(fā)明涉及無線編碼解碼技術領域,特別涉及基于AVR單片機實現用于DF無線發(fā)射接收模塊的編碼解碼的遙控器。
背景技術:
空間存在各個頻段,強弱變化的無線電波,因此無線遙控器在通信時容易受到干擾。在無線數據傳輸中,如果不使用數據編解碼技術,則接收端不但難以接受到正確的數據,而且還會由于干擾而收到很多亂碼。為了提高通信數據傳輸的可靠性,必須在發(fā)送端對傳輸數據進行編碼而在接收端對接收到的信號進行解碼,以提高數據的抗干擾性。當前市場上有許多用于編碼和解碼的專用芯片,例如PT22262/PT2272,它們是通過硬件實現編碼和解碼的功能的。因為PT2262/2272必須用相同地址碼配對使用,當需要增加一個通訊機時,用戶不得不求助于技術人員或廠家來設置相同地址碼,客戶自己設置 相對比較麻煩,尤其對不懂電子的人來說。隨著人們對操作的要求越來越高,PT2262/2272的這種配對使用嚴重制約著使用的方便性,人們不斷地要求使用一種無須請教專業(yè)人士,無須使用特殊工具,任何人都可以操作的方便的手段來彌補PT2262/2272的缺陷。另外,采用硬件編解碼也會大大提高整個系統(tǒng)的成本。
發(fā)明內容
本發(fā)明的目的在于克服現有技術的不足,提供一種基于單片機的無線編碼解碼的遙控器,即使用單片機采用軟件的方法進行編碼和解碼,那么編碼的方式更加靈活,而且還可以同時降低整個無線遙控系統(tǒng)的成本(許多智能遙控器都帶有單片機等微處理器,利用單片機進行編碼解碼,更能發(fā)揮單片機的作用)。一般遙控器只是發(fā)送一些指令而已,很少發(fā)送大量的數據,所以這種編碼方式很適合遙控器。為了達到上述目的,本發(fā)明采用以下的技術方案一種基于單片機的無線編碼解碼的遙控器,單片機與DF發(fā)射模塊構成無線發(fā)送電路,單片機與DF超再生接收模塊組成接收電路,DF發(fā)射模塊采用ASK方式調制。DF發(fā)射模塊的數據端與單片機ATmega8L的PBl 口相連,構成無線發(fā)送電路。DF發(fā)射模塊發(fā)送信號時,當高電平脈沖寬度在0. 08ms 0. 5ms時發(fā)射效果較好,大于Ims后效率開始下降;當低電平區(qū)大于IOms時,接收到的數據極易因為第一位被干擾而引起接收數據錯誤。故定義一個數據位的寬度為0.5ms,也就是頻率為2kHz。在本文試驗中,對I位數據進行編碼,圖2是自定義的I位數據編碼格式,圖2上圖表示發(fā)送數據電平的占空比,下圖表示相應占空比代表的I位數據值。在這種格式中,選擇占空比為75%的方波表示數據1,選擇占空比為25%的方波表示數據O。這樣高電平持續(xù)時間分別為375us和125us,滿足最佳發(fā)射效率時的高電平寬度。在傳輸數據時,是以字節(jié)為單位的。考慮到當低電平區(qū)大于IOms時,DF接收模塊收到的第一位數據極易受到干擾,本試驗中采用了在每一個數據字節(jié)前加上一段同步段的方法。圖3是發(fā)送程序框圖,即當要進行數據傳輸時,先發(fā)送10位數據O作為引導段,然后緊接著發(fā)送一位數據I作為同步位,,通知接收端開始接收數據,再發(fā)送一個字節(jié)(8位)的數據,最后加上一位數據I作為結束位。DF超再生接收模塊的RXD端與單片機ATmega8L的PD2和TO3 口相連,組成無線接收電路。利用單片機ATmegaSL的兩個外部中斷(INTO,INTI)來捕捉脈沖的上升沿和下降沿,進而計算出接收到的脈沖信號的寬度。本試驗中,把INTO設置成上升沿觸發(fā),INTl設置成下降沿觸發(fā)。圖5是接收程序框圖。當INTO中斷捕捉到上升沿時,記錄下定時器0的時間T0,當INTl中斷捕捉到下降沿時,記錄下定時器0的時間Tl,計算出T = T1-T0,并判斷T是PWM周期的75%還是25%。如果都不是則認為是干擾信號,進行屏蔽。如果是75%則認為是接收到數據1,25%則認為是接收到數據O。在主程序里,則要判斷是否連續(xù)收到8個以上的數據0,如果是則表示進入同步引導段,等待同步位到來后就開始接收一個字節(jié)的數據,再根據收發(fā)兩端的通信協議,執(zhí)行相應的動作。本發(fā)明相對于現有的技術具備如下的優(yōu)點和效果由于采用單片機進行編解碼,從而降低了整個無線遙控系統(tǒng)的成本,操作簡單。本發(fā)明采用的編碼格式在每次傳輸數據量不大的情況下,能夠提高抗干擾能力。編碼方式靈活,可以自定義編碼格式,解碼精度較高,雖然接收端經常收到脈沖干擾,但均可成功屏蔽,提高了數據傳輸質量。經過試驗,在IOm范圍內數據誤碼率較低,一般小于1%。如果增大發(fā)射功率,則可以增加通信距離。
圖1是本發(fā)明的無線發(fā)送電路圖;圖2是本發(fā)明的自定義的I位數據編碼格式的示意圖;圖3是本發(fā)明的發(fā)送程序框圖;圖4是本發(fā)明的無線接收電路圖;圖5是本發(fā)明的接收程序框圖。
具體實施例方式下面結合附圖和實施例對本發(fā)明進一步說明,但本發(fā)明的實施方式不限于此。圖1是無線發(fā)送電路圖,由DF發(fā)射模塊的數據端與單片機ATmegaSL的PBl 口相連組成。由于單片機ATmega8L具有PWM的功能,只需固定方波的周期,調節(jié)占空比,本發(fā)明中采用圖2的自定義的I位數據編碼格式。即選擇占空比為75%的方波表示數據1,選擇占空比為25%的方波表示數據0,這樣就可在發(fā)射數據時實現對傳輸數據的編碼功能了。因為需要傳輸的數據是以字節(jié)為單位的,考慮到字節(jié)如何同步的問題,本試驗采用在每個數據字節(jié)錢加上一段同步段的方法,軟件采用圖3所示的發(fā)送程序框圖。當不發(fā)送數據時,可以讓發(fā)射模塊停止工作,以降低功耗。圖4是無線接收電路圖,由DF超再生模塊的RXD端與單片機ATmega8L的PD2和PD3 口相連組成。利用單片機ATmega8L的定時器0以及外部中斷(即PD2和PD3 口)0和1,便可記錄方波的上升沿和下降沿時刻,進而可以計算出高電平的持續(xù)時間。軟件采用圖5所示的接收程序框圖。上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實例的限制,其他的任何未背離本發(fā)明的精神實質與原理下所作的改變,修飾,替代,組合,簡化,均應為等效的置換方式,都包括在本發(fā)明的保護范圍之內。
權利要求
1.一種基于單片機的無線編碼解碼的遙控器,其特征是,單片機與DF發(fā)射模塊構成無線發(fā)送電路,單片機與DF超再生接收模塊組成接收電路,DF發(fā)射模塊采用ASK方式調制。
2.根據權利要求1所述的單片機的無線編碼解碼的遙控器,其特征是,所述的單片機是指AVR系列的ATmega8L型單片機,所述的DF發(fā)射模塊的數據端與單片機ATmega8L的振蕩器晶體輸出端(PBl 口)相連,所述的DF超再生接收模塊的RXD端與單片機ATmega8L的外部中斷O端口(TO2)和外部中斷I端口(PD3) 口相連。
3.根據權利要求2所述的基于單片機的無線編碼解碼的遙控器,其特征是,單片機ATmega8L的振蕩器晶體輸出端(PBl 口 )輸出PWM波,預先設定PWM的周期,再根據DF發(fā)射模塊發(fā)送的數據位改變PWM的占空比。在無線接收端,在硬件上利用單片機ATmegaSL的兩個外部中斷INTO,INTl來捕捉脈沖的上升沿和下降沿,進而計算出脈沖寬度。
全文摘要
本發(fā)明公開了一種基于單片機無線編碼解碼的遙控器,單片機與DF無線發(fā)射模塊組成數據無線發(fā)送電路,對發(fā)送數據及發(fā)射的脈沖格式進行編碼,由于AVR單片機具有PWM功能,只需固定方波周期,調節(jié)占空比,就可在發(fā)送數據時實現對傳輸數據的編碼;單片機與DF超再生接收模塊組成無線接收電路,利用AVR單片機的定時器0以及外部中斷0和1,便可記錄方波的上升沿和下降沿時刻,進而可以計算出高電平的持續(xù)時間,經過軟件判斷便可區(qū)別是數據1,0還是干擾信號。
文檔編號G08C17/00GK103021149SQ201210506650
公開日2013年4月3日 申請日期2012年11月29日 優(yōu)先權日2012年11月29日
發(fā)明者張 杰 申請人:余姚億威電子科技有限公司