隨著家用電器、視聽產品的普及,紅外線遙控器已被廣泛使用在各種類型的家電產品上(如遙控開關、智能開關等)。其具有體積小、抗幹擾能力強、功耗低、功能強、成本低等特點,在工業設備中也得到廣泛應用。
一般而言,一個通用的紅外遙控系統由發射和接收兩大部分組成,如圖1 所示:
其中發射部分主要包括鍵盤矩陣、編碼調製、紅外發射管;接收部分包括光、電信號的轉換以及放大、解調、解碼電路。舉例來說,通常我們家電遙控器信號的發射,就是將相應按鍵所對應的控制指令和系統碼( 由0 和1 組成的序列),調製在32~56kHz 範圍內的載波上,然後經放大、驅動紅外發射管將信號發射出去。此外,現在流行的控制方法是應用編/ 解碼專用集成電路晶片來實現。
不同公司的遙控晶片,採用的遙控碼格式也不一樣。在此介紹目前廣泛使用較普遍的兩種,一種是NEC Protocol 的PWM( 脈衝寬度調製) 標準,一種是Philips RC-5 Protocol 的PPM( 脈衝位置調製) 標準。
NEC 標準(代表晶片WD6122):遙控載波的頻率為38kHz( 佔空比為1:3) ;當某個按鍵按下時,系統首先發射一個完整的全碼,然後經延時再發射一系列簡碼,直到按鍵鬆開即停止發射。簡碼重複為延時108ms,即兩個引導脈衝上升沿之間的間隔都是108ms。如圖2所示即為完整的NTC編碼。
對於NTC編碼,由引導碼、用戶編碼低位,用戶編碼高位、鍵數據編碼、鍵數據編碼五部分組成,引導碼由一個9ms的載波波形和4.5ms的關斷時間構成,它作為隨後發射的碼的引導,這樣當接收系統是由微處理器構成的時候,能更有效地處理碼的接收與檢測及其它各項控制之間的時序關係。編碼採用脈衝位置調製方式(PPM)。利用脈衝之間的時間間隔來區分「0」和「1」。每次8位的碼被傳送之後,它們的反碼也被傳送,減少了系統的誤碼率。數據0 可用「高電平0.56ms +低電平0.56ms」表示,數據1 可用「高電平0.56ms +低電平1.68ms」表示。
PHILIPS 標準(代表晶片SAA3010):載波頻率為38kHz ;沒有簡碼,點按鍵時,控制碼在1 和0 之間切換,若持續按鍵,則控制碼不變。一個全碼可等同於起始碼、控制碼、系統碼、數據碼的時間總和,數據0 用「低電平0. 889ms +高電平0. 889ms」表示;數據1 用「 高電平0. 889ms + 低電平0.889ms」表示,如圖3 所示。
SAA3010 的位傳送方式是採用雙相位,位1 和位0 的相位正好相反。在解碼時可以用定時採樣的方式進行解碼,一個位採樣二次,分別在位波形的四分之一和四分之三處進行採樣,如位1 用這種方法採樣的值就是0 和1。當然也可以只採樣一次,例如在波形的四分之一處進行採樣,然後定時一個波形的周期再採樣,這樣位1 採樣的值就是0。
編碼時高低電平以1 0表示,解碼時需要按0 1識別,即編碼與解碼需要倒相,編程時需要注意的關鍵點。
本程序使用的晶片為WD6122,因此使用NTC編碼標準