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