一種紅外遙控信號的解碼方法_第1頁
一種紅外遙控信號的解碼方法_第2頁
一種紅外遙控信號的解碼方法_第3頁
一種紅外遙控信號的解碼方法_第4頁
一種紅外遙控信號的解碼方法_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第 18 卷第 2 期蘇 州 大 學(xué) 學(xué) 報(bào)(自然科學(xué))Vol .18, No .22002 年 4 月JOURNAL OF SUZHOU UNIVERSITY(NATURAL SCIENCE)Apr .2002文章編號:1000-2073(2002)02-0101-06一種紅外遙控信號的解碼方法肖圣兵 ,仲興榮 ,徐清源 ,曲 波(蘇州大學(xué)通信與電子工程系, 江蘇蘇州 215021)摘 要:文章介紹了紅外遙控的基本原理和紅外遙控發(fā)射器的組成, 詳細(xì)論述了以單片機(jī) 89C2051 為核心的紅外遙控信號的解碼方法, 提出了用單片機(jī)對紅外遙控信號進(jìn)行識別譯 碼的程序設(shè)計(jì)流程.關(guān)鍵詞:單片機(jī);89C

2、2051 ;紅外遙控;解碼中圖分類號:TP722 文獻(xiàn)標(biāo)識碼:A紅外遙控技術(shù)廣泛應(yīng)用于各種家用電器產(chǎn)品、金融及商業(yè)設(shè)施中 ,為用戶提供方便的操 縱手段.一些遙控功能相對簡單的電器產(chǎn)品, 紅外遙控信號的接收識別往往采用與編碼調(diào)制 芯片配套的譯碼芯片 .而遙控功能比較復(fù)雜的一些電器產(chǎn)品(如電視機(jī)),均采用專用的遙控 解碼芯片 ,實(shí)現(xiàn)特定的功能.為了能將性能穩(wěn)定、價(jià)格低廉、功能較多的電視機(jī)遙控器應(yīng)用于 其他控制場合, 本文利用單片機(jī)89C2051 為核心,設(shè)計(jì)了一套紅外遙控信號解碼的軟硬件系 統(tǒng),通過驅(qū)動電路的擴(kuò)展 ,可實(shí)現(xiàn)功能較復(fù)雜的遙控控制.1 紅外遙控的基本原理紅外遙控系統(tǒng)一般由發(fā)射系統(tǒng)和接收

3、系統(tǒng)組成.發(fā)射系統(tǒng)由專用芯片產(chǎn)生指令代碼 ,經(jīng) 載波調(diào)制后驅(qū)動紅外發(fā)射器件 ,發(fā)射紅外控制信號.紅外信號的指令代碼均為二進(jìn)制碼, 編 碼調(diào)制由專用芯片完成, 編碼的方法有多種, 不同芯片的編碼方法和代碼長度有所不同.指 令信號常用的編碼調(diào)制方法有脈沖寬度調(diào)制(PWM)和脈沖位置調(diào)制(PPM)兩種 , 本系統(tǒng)采 用脈沖位置調(diào)制方法的遙控信號發(fā)射器 ,即用兩個(gè)脈沖串之間的時(shí)間間隔來表示二進(jìn)制信 息.紅外遙控信號被紅外接收頭接收后 ,經(jīng)放大、檢波、整形 ,得到TTL 電平的代碼信號,再送 給解碼電路,經(jīng)譯碼并執(zhí)行,去控制指定對象 ,實(shí)現(xiàn)遙控功能 .收稿日期:2002 -01-10基金項(xiàng)目:江蘇省青年

4、教師基金(Q3119218)作者簡介:肖圣兵(1964-), 男(漢族), 江蘇蘇州人, 高級工程師, 主要從事信息技術(shù)的研究.102蘇 州 大 學(xué) 學(xué) 報(bào)(自然科學(xué)) 第 18 卷2 紅外遙控信號發(fā)射器的組成紅外遙控信號發(fā)射器選用以集成電路 TC9012 為核心的遙控信號發(fā)生器, 它與鍵盤矩 陣、輸出驅(qū)動級和紅外發(fā)光二極管組成遙控發(fā)射器器, 圖 1 為紅外遙控信號發(fā)射器的電原理 圖.圖 1 紅外遙控信號發(fā)射器的電原理圖遙控信號發(fā)生器集成電路TC9012 ,由振蕩器、時(shí)鐘信號發(fā)生器、鍵位掃描信號發(fā)生器、 鍵位編碼、遙控指令編碼器、碼轉(zhuǎn)換器、編碼調(diào)制器以及輸出緩沖器等組成.振蕩器由第 8 、9

5、腳間的內(nèi)部電路及其外接陶瓷諧振器組成, 振蕩頻率取決于陶瓷諧振器 ,此處為 455kHz , 經(jīng) TC9012 內(nèi)部電路 12 分頻后得到約為 37 .9kHz 、占空比為 1 3 的脈沖載波信號, 遙控編碼脈沖 對37 .9kHz 的載波信號進(jìn)行調(diào)制, 經(jīng)驅(qū)動放大后 , 激勵(lì)紅外發(fā)射管發(fā)出紅外遙控信號. 455kHz經(jīng) 256 分頻后得到約為 1 .78kHz 的系統(tǒng)時(shí)鐘脈沖信號, 時(shí)鐘脈沖周期 Tcp =0 .5626ms .3 紅外遙控信號的編碼方式圖 2 遙控編碼信號的波形遙控器發(fā)射的遙控編碼脈沖由前導(dǎo)碼、系統(tǒng)碼、系統(tǒng)碼、功能碼、功能碼的反碼組成, 如 圖2 所示.前導(dǎo)碼是一個(gè)遙控碼的

6、起始部分,由時(shí)間寬度均為 8Tcp 的一個(gè)高電平和一個(gè)低電 平組成,作為接收數(shù)據(jù)的準(zhǔn)備脈沖 .系統(tǒng)碼和功能碼的編碼是采用脈沖位置調(diào)制方式 ,根據(jù)第2 期 肖圣兵, 仲興榮, 等:一種紅外遙控信號的解碼方法103脈沖之間的時(shí)間間隔來區(qū)分碼值的“0” 或“1” . 對應(yīng)于二進(jìn)制數(shù)字信號“0” 、“1” 的脈沖時(shí)間間 隔分別為 2Tcp 和 4Tcp , 而每一脈沖的寬度仍不 變均為 Tcp ,如圖 3 所示 .系統(tǒng)碼是通過遙控器的遙控編碼芯片的引腳不同接法設(shè)定的 , 用以 區(qū)分不同型號的遙控系統(tǒng) ;功能碼則是遙控器 圖3 脈沖位置調(diào)制方式的二進(jìn)制碼“0”和“1” 的波形功能按鍵的編碼 ,不同的功能

7、按鍵其代碼不相同;功能碼的反碼是用來糾錯(cuò)的 .系統(tǒng)碼為 8 位,功能碼也為 8 位, 所以脈沖碼共為 32 位.,為了增強(qiáng)遙控系統(tǒng)的可靠性 ,將系統(tǒng)碼發(fā)送兩 次,將功能碼與其相反碼一起發(fā)送 .從圖中可知 , 該遙控器的系統(tǒng)碼為八位二進(jìn)制數(shù) 01101110 , 功能碼為 01100000 八位二進(jìn)制數(shù), 該遙控器最多可以有256 個(gè)功能鍵 .4 紅外遙控信號接收器紅外遙控接收器由光電二極管和紅外遙控信號接 收集成電路CX20106 構(gòu)成,其原理如圖 4 所示 .遙控信號接收集成電路 CX20106 由前置放大器、限 幅放大器、帶通濾波器、峰值檢波器和整形電路等組成. 紅外遙控信號發(fā)射器發(fā)射的紅

8、外遙控信號 ,激勵(lì)光電二 極管 ,產(chǎn)生光電流, 經(jīng)輸入電阻轉(zhuǎn)換成電壓信號, 通過CX20106 放大,再經(jīng)過檢波器濾去 38kHz 的載波 ,最后經(jīng)整形電路整形, 由腳 7 輸出遙控編碼脈沖, 送至單片機(jī)解碼電路.圖 4 紅外遙控接收器電原理圖5 紅外遙控信號單片機(jī)解碼的硬件電路圖 5 紅外遙控信號解碼硬件電路以 89C2051 單片機(jī)為核心組成的紅外遙控信號解碼電路如圖 5 所示.104 蘇 州 大 學(xué) 學(xué) 報(bào)(自然科學(xué)) 第 18 卷圖 5 中 89C2051 是美國 ATMEL 公司推出的一種高性價(jià)比單片機(jī).89C2051 指令系統(tǒng)與MSC -51 完全兼容,具有2K 字節(jié)可重復(fù)編程的閃

9、爍存儲器和128 字節(jié)內(nèi)部 RAM ;P3 .0 P3 . 6 共 7 個(gè)腳, 準(zhǔn)雙向端口 ,并且保留了全部 P3 的第二功能, 如 P3 .0、P3 .1的串行通信功能, P3 .2、P3 .3的中斷輸入功能 ,P3 .4、P3 .5 的定時(shí)輸入功能, 以及兩個(gè) 16 位定時(shí) 計(jì)數(shù)器 .圖 5 中 U2 為具有上電復(fù)位功能的“看門狗”集成電路 IMP706 ,其6 腳與89C2051 的 9 腳 相連, 接收 89C2051 輸出的“看門狗”控制信號 ,U2 的 7 腳輸出的復(fù)位信號通過一個(gè)反相器 連接到 89C2051 的復(fù)位端 1 腳.89C2051 的 4 、5 腳外接 12MHz 的

10、晶振和 2 只 20P 的元片電容 ,與其內(nèi)部電路一起產(chǎn)生12MHz 的時(shí)鐘信號.遙控編碼脈沖直接傳送至單片機(jī)的 11 腳 ,并 經(jīng)一反相器傳送至單片機(jī)的 6 腳 .6 紅外遙控代碼單片機(jī)譯碼程序的設(shè)計(jì)方法單片機(jī)紅外遙控譯碼信號采用中斷方式 .紅外接收頭輸出信號(圖 4 中 OUT 與圖 5 中 的IN 相連)經(jīng)反相后連接到89C2051 的外部中斷 INT0 .INT0 設(shè)置為下降沿邊緣觸發(fā)方式 ,用 內(nèi)部定時(shí)器T0 測量正脈沖寬度, T0 工作于方式 2(16 位計(jì)數(shù)器), 在 INT0 的中斷服務(wù)程序 中,完成遙控譯碼.紅外遙控信號在 INT0 引腳引起單片機(jī)中斷后 , 進(jìn)入中斷服務(wù)程序

11、.在中 斷服務(wù)程序中檢測 INT0 引腳上是否為低電平 ,如為低電平表示傳送碼到來, 延時(shí)等待至再 次出現(xiàn)高電平, 清TH0 、TL0 ,開啟 T0 , 計(jì)數(shù)開始, INT0 引腳變低時(shí)關(guān)閉 T0 .根據(jù)計(jì)數(shù)器 TH0 、 TL0 的計(jì)數(shù)值 ,判斷出該位代碼為“0” 或“1” , 并存入系統(tǒng)碼寄存器的對應(yīng)位 ;繼續(xù)進(jìn)行延時(shí) 等待, 直至 INT0 引腳電平升高后重復(fù)進(jìn)行上述位代碼檢測步驟, 并將相應(yīng)值放入相應(yīng)位至 8 位系統(tǒng)碼檢測完畢 .隨后進(jìn)行8 位系統(tǒng)碼、8 位功能碼和 8 位功能反碼檢測,具體過程與第 一次系統(tǒng)碼檢測完全相同 ,結(jié)果存入相應(yīng)寄存器中.最后, 單片機(jī)系統(tǒng)根據(jù)功能碼寄存器內(nèi)

12、容進(jìn)行不同的功能操作.6 .1 引導(dǎo)碼的識別無遙控信號時(shí), 遙控接收器輸出為低電平 ,經(jīng)反相后 INT0 引腳上為高電平 ,當(dāng)有遙控信 號引導(dǎo)碼出現(xiàn)時(shí) ,INT0 引腳由高到低發(fā)生電平變化 ,引起 INT0 中斷 .在 INT0 中斷服務(wù)程序 中檢測 INT0 引腳電平, 如為低電平則等待, 直至 INT0 引腳出現(xiàn)高電平,清 TH0 、TL0 ,啟動T0 計(jì)數(shù) .根據(jù) TH0 和 TL0 的計(jì)數(shù)值, 判斷正脈沖的寬度 .如正脈沖的寬度在 3 .5 5 .5ms 范圍內(nèi) (實(shí)際引導(dǎo)碼正脈沖寬度為 8TCP =8 ×0 .563ms =4 .5ms), 則認(rèn)為是引導(dǎo)碼 ,準(zhǔn)備讀取后續(xù)遙

13、 控代碼,否則認(rèn)為干擾,跳出 INT0 中斷譯碼程序 ,返回主程序.程序流程圖如圖 6 所示 .6 .2 系統(tǒng)碼、功能碼、功能反碼的譯碼 .系統(tǒng)碼、功能碼、功能反碼的識別技術(shù)關(guān)鍵是 0 、1 代碼的識別.根據(jù)上面的遙控編碼方 法和波形圖可知 ,在 INT0 中斷服務(wù)程序中, 我們只要能測出加到單片機(jī) INT0 引腳的遙控接 收反碼信號的高電平寬度即可得到其代碼.如脈沖寬度編碼方法中 ,表示“0”的高電平寬度 為0 .56ms ,表示“1”的高電平寬度為 1 .68ms ,我們需要做的是判斷出高電平的寬度范圍.如大于 0 .46ms 小于0 .66ms 可判為“0” ,大于 1 .58ms 小于

14、1 .78ms 可判為“1”, 否則 ,判為非法的 干擾代碼 ,退出中斷譯碼程序 .這樣我們就可以比較容易用程序讀取代碼 .程序流程圖如圖 7 所示.第2 期 肖圣兵, 仲興榮, 等:一種紅外遙控信號的解碼方法105圖 6 引導(dǎo)碼識別流程圖 圖 7 系統(tǒng)碼、功能碼識別流程圖7 單片機(jī)紅外遙控譯碼的軟件抗干擾技術(shù)在紅外遙控系統(tǒng)中, 雖然發(fā)射、接收芯片內(nèi)部均含有抗干擾及雜波濾除功能 , 但紅外干 擾源對系統(tǒng)的影響仍無法完全避免 ;另外,某些意外情況也可能造成譯碼的錯(cuò)誤.為了提高 系統(tǒng)的抗干擾能力, 杜絕誤操作,在軟件上采用了多種抗干擾措施.7 .1 單片機(jī)譯碼程序中“窗口”范圍的確定單片機(jī)譯碼系統(tǒng)中, 單片機(jī)晶振采用12MHz , 機(jī)器周期為 1s,即每經(jīng)過1s ,定時(shí)器的計(jì) 數(shù)值T0 加 1 .則脈沖“0”的高電平寬度為 0 .56ms 對應(yīng)的計(jì)數(shù)值為 N0 =0 .56ms 1s =560 =0230H ,脈沖“1”的高電平寬度為1 .68ms 對應(yīng)的計(jì)數(shù)值為 N1 =1 .68ms 1s =1680 =0690H , 引 導(dǎo)碼的脈沖高電平寬度為 4 .5ms 對應(yīng)的計(jì)數(shù)值為 N2 =4 .5ms 1s =4500 =1194H .由于遙控脈沖形變、外界干擾及計(jì)數(shù)器計(jì)時(shí)誤差, 實(shí)際測出的遙控碼計(jì)數(shù)值只在上述數(shù) 值附近.為此,為讀出的 T0 計(jì)數(shù)值設(shè)計(jì)一個(gè)“窗口” ,“窗

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論