紅外遙控編碼與解碼


  隨着家用電器、視聽產品的普及,紅外線遙控器已被廣泛使用在各種類型的家電產品上(如遙控開關、智能開關等)。其具有體積小、抗干擾能力強、功耗低、功能強、成本低等特點,在工業設備中也得到廣泛應用。

  一般而言,一個通用的紅外遙控系統由發射和接收兩大部分組成,如圖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編碼標准


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM