紅外遙控接收發射原理及ESP8266實現


紅外遙控是利用近紅外光進行數據傳輸的一種控制方式。近紅外光波長0.76um~1.5um ,紅外遙控收發器件波長一般為 0.8um~0.94um ,具有傳輸效率高,成本低,電路實現簡單,抗干擾強等特點,在家用電器上被廣泛使用。

紅外遙控一般有發射和接收兩部分組成,發射元件為紅外發射管,接收一般采用一體化紅外接收頭,但發射載波頻率與接收頭固定頻率需一致才能正確接收。





一、發射



1. 調制



紅外遙控是以調制方式發射數據,將數據調制到固定的載波上發送,調制發送抗干擾能力更強,傳送距離也更遠。紅外發送首先要解決的就是調制問題。



目前主流的調制方式有PPM和PWM。



  • PPM:脈沖位置調制,調制脈沖寬度不變,用脈沖間隔來區分0和1。如下圖所示,脈沖寬度不變都是560us,脈沖間隔改變。邏輯1總時間為2.25ms,邏輯0中時間長度為1.12ms。





圖1:PPM調制

  • PWM:脈沖寬度調制,脈沖間隔不變,調制脈沖寬度改變。如下圖所示,脈沖間隔 為600us,脈沖寬度不同。邏輯1高電平時間為1.2ms,邏輯0高電平時間為0.6ms。





圖2:PWM調制



調制載波頻率一般在30KHz到60KHz之間,常用的載波有33K,36K,36.6K,38K,40K,56K等,其中38K使用最多。



常用占空比有1/3、1/2,1/3最多。



2. 紅外傳輸協議



常用的紅外傳輸協議有ITT協議、NEC協議、Nokia NRC協議、Sharp協議、Philips RC-5、RC-6 RECS-80協議、Sony SIRC協議等,其中最常見的為NEC協議。



常見NEC協議分析:



l 載波38KHz,邏輯1為2.25ms,脈沖時間560us;邏輯0為1.12ms,脈沖時間560us



圖3:NEC邏輯’0’與邏輯’1’



l 協議格式

 



圖4:NEC紅外載波發送協議



(1) 首先發送9ms的高電平脈沖



(2) 然后發送4.5ms的低電平



(3) 接下來是8bit的地址碼(低位在前)



(4) 然后是8bit的地址反碼,用於檢驗地址碼是否出錯



(5) 接下來的是8bit的命令碼(低位在前)



(6) 然后是8bit的命令反碼,用於檢驗命令碼是否出錯。



l 重復碼



 圖5:NEC重復發送載波協議



如果一直按着一個鍵,將以110ms為周期發送重復碼,重復碼由9ms高電平、2.25ms低電平及560us高電平組成。



圖6:NEC重復碼



3. 編碼



雖然不同協議都對各自的協議格式做了不同定義,但總體而言還是有高低電平組成的一串數據。



對於紅外發射,就是按照協議規定高電平時間內,在紅外輸出口輸出固定頻率載波;低電平則直接輸出低。紅外接收頭接到載波時輸出高電平,沒有載波時輸出低電平,完成數據解碼。



圖7:NEC解碼后協議



二、接收



紅外接收常采用一體化紅外接收頭,集紅外接收、放大、濾波、比較器輸出等功能,並輸出MCU可識別的TTL信號的。常用的一體化紅外接收頭有SCR638、HS0038、VS1838等。



SCR638



HS0038



圖8:一體化接收頭



紅外接收應用電路圖:



 

圖9:紅外接收典型應用



三、ESP8266紅外發送與接收



ESP8266定義了1個IR紅外遙控接口,IR紅外遙控接口由軟件實現,接口定義如下:



圖10:ESP8266紅外管腳定義



1. 發送



在ESP8266上用於發送的載波可以通過以下方式實現:



1) I2S的BCK



2) WS管腳產生



3) 由GPIO中的sigma-delta功能在任意GPIO口產生載波。



其中sigma-delta產生的載波占空比約為20%,推薦使用MTMS管腳(GPIO14),可產生准確的38KHz且占空比為50%的標准方波。



2. 接收



紅外接收功能通過GPIO的邊沿中斷實現,讀取系統時間,將2次時間相減可以得到波形持續時間,然后通過軟件邏輯實現紅外協議處理。


免責聲明!

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



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