的第二電路示意圖;
[0033]圖4為現有技術紅外遙控發射和學習電路的第一電路示意圖;
[0034]圖5為現有技術紅外遙控發射和學習電路的第二電路示意圖;
[0035]圖6為本發明紅外遙控電路一實施例的電路示意圖;
[0036]圖7為本發明紅外遙控方法一實施例的流程示意圖;
[0037]圖8為本發明終端一實施例的功能模塊示意圖。
[0038]本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
【具體實施方式】
[0039]應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
[0040]本發明提供一種紅外遙控電路,參照圖6,圖6為本發明紅外遙控電路一實施例的電路示意圖,在一實施例中,所述紅外遙控電路包括CPU100、紅外發射電路200和學習電路300,所述紅外遙控發射電路200包括調制器210和紅外發射模塊220 ;所述學習電路300包括和紅外接收模塊310和濾波整形模塊330,其中,
[0041]所述CPU100,用于產生和輸出紅外載波和紅外編碼;還用于識別紅外信號的紅外編碼;
[0042]所述調制器210,與所述CPU100和所述紅外發射模塊220相連,用于將所述CPU100輸出的紅外載波和紅外編碼進行調制,產生調制波形,通過調制波形對所述紅外發射模塊220進行控制;
[0043]所述紅外發射模塊220,用于發射紅外信號;
[0044]所述紅外接收模塊310,用于接收遙控器發出的紅外信號;
[0045]所述濾波整形模塊330,與所述放大模塊320相連,用于對放大的紅外信號進行濾波整形,獲取紅外信號的紅外編碼。
[0046]本發明提供的紅外遙控電路的工作原理為:
[0047]一、紅外遙控
[0048]如圖6所示,本實施例紅外遙控電路,從CPU100中產生和輸出紅外載波和紅外編碼,通過調制器210進行調制后,產生調制波形,從而控制紅外發射模塊220發射紅外信號進行控制。
[0049]二、獲取遙控器發出的紅外信號中的紅外編碼
[0050]進一步參見圖6,本實施例紅外遙控電路,從紅外接收模塊310接收遙控器發出的紅外信號,經過放大電路320對紅外信號的放大,并經由濾波整形模塊330的濾波整形后,獲取紅外信號的紅外編碼,最后由CPU100對紅外編碼進行識別。
[0051]在現有的紅外發射電路中,CPU進行紅外發射控制時通常采用GP1直接同步模擬調制信號,這樣的缺點在于:對CPU定時要求高,在多任務操作系統下,一般無法達到紅外遙控的定時要求,不可避免的帶來誤碼和載波漂移等問題。現有方案中,也有采用外部振蕩源產生載波,然后用CPU的GP1 口發生紅外編碼,用調制電路對載波和紅外編碼進行調試后控制紅外發射管發射的方案,但是這種方案存在電路復雜,載波頻率不能調整,無法適合手機控制多種被遙控設備的要求。
[0052]本實施例考慮到手機常用的CPU —般都有一個或者多個PWM發生器,在對特定的寄存器設置后,專用的引腳可以輸出特定頻率的PWM波形,一旦設置成功后,CPU不需要再介入即可工作。同時用CPU的一個GP1 口輸出紅外編碼,這個紅外編碼和CPU產生的PWM波形經過調制器的調制后,產生調制波形對紅外發射管進行控制。這種方案即避免了直接用GP1產生調制波形的CPU占用率高、誤碼和載波漂移等問題,把微秒級的定時要求降低到了幾百微秒級的定時要求。這種設計方案簡單而且靈活,只要修改PWM波的頻率就可產生各種頻率的載波,可適用于各種紅外遙控協議。
[0053]對于紅外學習功能,傳統方案都需要用CPU或者外部的ASIC、單片機或者FPGA解調出載波頻率和紅外編碼。而經過CPU解調,存在CPU占用率高,誤碼或者載波漂移的問題,實用性不高。用ASIC、單片機或者FPGA解調存在電路復雜、成本高的缺點。在本實例中,對紅外接收管或者類似等效電路(如紅外發射管加放大器)接收到紅外信號不再進行解調,在傳統的放大模塊后增加一個簡單的濾波整形模塊后即可直接獲取紅外編碼,而不從接收到的紅外信號提取載波頻率信息,由于紅外編碼的寬度一般是幾百微秒級的(如NEC協議高低電平最低寬度512us),這樣很容易通過CPU的GP1 口來識別讀取。
[0054]進一步參見圖6,所述學習電路300還包括放大模塊320,所述放大模塊320,與所述紅外接收模塊310相連,用于放大紅外信號。
[0055]所述CPU100包括PWM發生器、PWM輸出引腳、第一 GP1輸出引腳和第二 GP1輸入引腳,所述PWM發生器,用于產生紅外載波,并通過PWM輸出引腳輸出產生的紅外載波;所述第一 GP1輸出引腳,用于輸出紅外編碼;所述第二 GP1輸入引腳,用于接收紅外信號的紅外編碼。
[0056]進一步參見圖6,所述調解器210包括與門,所述與門的兩輸入端分別與所述CPU100的所述PWM輸出引腳和所述第一 GP1輸出引腳相連,用于接收所述CPU100輸出的紅外載波和紅外編碼;所述與門的輸出端與所述紅外發射模塊220相連,用于控制所述紅外發射模塊220。
[0057]進一步參見圖6,所述紅外發射模塊220包括紅外發射管D1,所述紅外發射管D1,與所述調制器210相連,用于發射紅外信號。所述紅外發射模塊220還包括電阻Rl和場效應管Q1,所述電阻Rl的一端與供電電壓VCC相連,所述電阻Rl的另一端與所述紅外發射管Dl的陽極相連;所述紅外發射管Dl的陰極與所述場效應管Ql的漏極相連,所述場效應管Ql的柵極與所述調制器210的輸出腳相連,所述場效應管Ql的源極與地相連。所述場效應管Ql為N型場效應管。
[0058]所述紅外接收模塊310包括紅外接收管D2,所述紅外接收管D2,與所述放大模塊320相連,用于接收遙控器發出的紅外信號。
[0059]所述濾波整形模塊320包括RC濾波單元和比較器,所述RC濾波單元,與所述放大模塊相連,用于對紅外信號進行濾波;所述比較器,與所述RC濾波單元相連,用于對濾波后的紅外信號進行比較后,判決高低電平。
[0060]本發明還進一步提供一種終端,包括上述的紅外遙控電路,在此不再贅述。
[0061]如圖7所述,圖7為本發明紅外遙控方法一實施例的流程示意圖,在一實施例中,所述紅外遙控方法包括步驟:
[0062]步驟S100、獲取遙控器型號。
[0063]終端獲取遙控器規格型號,所述遙控器為紅外遙控器,所述遙控器可以為電視、空調的遙控器。
[0064]步驟S200、根據獲取的遙控器型號和預設的紅外數據庫,判定獲取的遙控器型號是否為已知的遙控器型號。
[0065]終端根據獲取遙控器規格型號,從預設的紅外數據庫中查找是否有相符的遙控器規格型號,如果所述遙控器規格型號在預設的紅外數據庫中能夠找到,則判定遙控器型號為已知的遙控器型號。
[0066]步驟S300、若是,則從預設的紅外數據庫中獲取所述遙控器對應的載波頻率和紅外編碼;若否,則在學習第一個按鍵時嘗試用預置的載波頻率和所識別到的紅外編碼來遙控所述被遙控設備,如果所述被遙控設備有反應,則確定所述預置的載波頻率為所述遙控器的載波頻率。若所述被遙控設備無反應,則更換載波頻率后再次進行嘗試。
[0067]終端根據判定的結果,如果遙控器型號為已知的遙控器型號,則從預設的紅外數據庫中獲取所述遙控器對應的載波頻率和紅外編碼;如果遙控器型號為未知的遙控器型號,則在學習第一個按鍵時嘗試用預置的載波頻率和所識別到的紅外編碼來遙控所述被遙控設備,如果所述被遙控設備有反應,則確認所述預置的載波頻率為所述遙控器的載波頻率。若所述被遙控設備無反應,則更換載波頻率后再次進行嘗試。所述預置的載波頻率為38kHz,40kHz和56kHz,因為常用的紅外遙控載波頻率只有38kHz、40kHz和56kHz等幾種,這個嘗試過程非常快。對于一款完全未知的遙控器,即終端上的遙控軟件的預置紅外編碼數據庫或者網絡紅外編碼數據庫都沒有這款遙控器的載波頻率和紅外編碼信息,那么在學習此遙控器的第一個按鍵時,當通過紅外控制電路提取到第一個按鍵的紅外編碼后,讓用戶確認此按鍵時需要向被遙