引 言
隨著社會的進步與科技的發(fā)展,人們的生活水平有了很大提升,空調日益普及??照{有多種型號,不同型號的遙控器不得串用,因此設計一款萬能空調遙控器很有必要。萬能空調遙控器最重要的一個功能就是學習模式,使之能夠學習各個空調的編碼,以便遙控對應的空調。
1 學習模式總體說明
萬能空調遙控器的學習模式主要分為三個步驟 :
(1) 利用紅外模塊捕捉空調遙控器的遙控信號 ;
(2) 利用單片機識別紅外信號并暫時存儲 ;
(3) 將捕捉到的信號進行確認后存在存儲芯片中,以備調用。
學習模式流程如圖 1 所示。
利用單片機識別紅外信號有兩種方案,具體如下。
方案一 :當單片機自身的運算速度極快時,直接使用定時器計時,外部使用 I/O 輸入模式,使用上升與下降沿中斷捕捉并記錄每個間隔時間及高低電平以備用,每識別一段波便存儲下來備用,分別使用對應的按鈕調用對應的指令段。對應的流程如圖 2 所示。
方案二 :當單片機自身的運算速度不夠快,即計時器不夠快、精度不夠時,只采集對應的高低電平及其模糊時間, 其模糊時間必須達到足夠的辨識度,能夠識別其中的邏輯 0 與 1,由于不同的空調有不同的邏輯脈寬時間,因此只要獲得信號輸出高低電平的模糊時間,將其固定在某個脈沖時間的周圍,逐一試用即可找到。流程如圖 3 所示。
2 空調遙控紅外信號說明
現(xiàn)有的紅外遙控包括 PWM(脈沖寬度調制)和 PPM(脈沖位置調制)兩種方式,兩種方式編碼的代表分別為 NEC 和 PHILIPS 的 RC-5,RC-6 以及 RC-7。本文主要介紹 NEC 與 RC-5。
NEC 格式的特征如下 :
(1) 使用 38 kHz 載波頻率 ;
(2) 引導碼間隔為(9+4.5)ms ;
(3) 使用 16 位客戶代碼 ;
(4) 使用 8 位數(shù)據(jù)代碼和 8 位取反的數(shù)據(jù)代碼。
NEC 協(xié)議通過脈沖串之間的時間間隔實現(xiàn)信號調制。邏輯 0 由 0.56 ms 的 38 kHz 載波和 0.56 ms 的無載波間隔組成 ;
邏輯 1 由 0.56ms的 38kHz載波和 1.68ms的無載波間隔組成 ;結束位是 0.56ms的 38kHz載波。邏輯 0與 1如圖 4所示。
3 學習模式紅外接收識別
學習模式紅外接收識別是學習模式的第一步,當控制器進入學習模式后,根據(jù)提示按下對應的按鍵,控制器進行學習記錄,其實現(xiàn)方式主要有兩種 :
(1)當按下對應的按鍵時,遙控器發(fā)出紅外信號,萬能遙控器通過紅外接收模塊接收信號,并將信號傳輸?shù)絾纹瑱C的 I/O 口用以處理,其信號的實質為電平的高低變換,只是持續(xù)的時間不同,紅外信號的存儲實質是存儲其高電平時間及低電平時間,因此識別記錄信號時必須獲得每個電平變換的時間,此方法簡單有效,但消耗容量 ;
(2)紅外遙控的邏輯 0與 1實質是一個固定脈沖的不同占空比,可使用雙相編碼,因此可將每個指令識別為邏輯 0與 1 后再存儲。
4 學習模式紅外編碼存儲
為防止遙控器斷電,需將指令存儲到專門的存儲芯片上。每個存儲位置都有固定的位置信息,因此可將學習到的信息存儲到固定的位置以備讀取。例如,位置 1可直接存儲調節(jié)模式的紅外指令信息,在需要調節(jié)模式指令時,直接從位置 1 獲得。
5 學習模式紅外遙控
對學習到的指令進行檢驗,若不正確,則重新學習。由于對單片機進行內(nèi)部調用較快,因此為了減少時間消耗,每次重啟都將指令信息從存儲芯片復制到單片機中。
紅外信號的發(fā)射包括以下兩種方式 :
(1)對應于學習模式紅外接收識別方案一,將對應指令復制到單片機后,獲得電平翻轉時間,將每個電平的翻轉時間放入數(shù)組,進行定時器定時,每到一定的時間,控制紅外發(fā)射模塊翻轉電平即可控制空調。紅外遙控流程如圖 6 所示。
(2) 對應于學習模式紅外接收識別方案二,此處獲得的指令是識別后的十六進制數(shù),將其還原(有引導碼及間隔時間等),在其邏輯 0 與 1之間加入間隔,將引導時間放入數(shù)組,并將邏輯 0 與 1 分別打出一個子程序,根據(jù)數(shù)組中的數(shù)分別調用對應的子程序,對應流程如圖 7 所示。
6 結 語
本文對萬能空調遙控器的學習模式進行了論述,通過紅外接收模塊接收信號、單片機處理信號、存儲芯片存儲信號、紅外發(fā)射模塊發(fā)射信號,采用不同的方式對信號進行處理、保存及發(fā)射,從而達到學習的目的,使得萬能空調遙控器可針對所有空調進行遙控。