紅外遙控編碼格式及學習模式
1、編碼格式
現有的紅外遙控包括兩種方式:PWM(脈沖寬度調制)和PPM(脈沖位置調制)。
兩種形式編碼的代表分別為NEC和PHILIPS的RC-5、RC-6以及將來的RC-7。
PWM(脈沖寬度調制):以發射紅外載波的占空比代表“0”和“1”。為了節省能量,一般情況下,發射紅外載波的時間固定,通過改變不發射載波的時間來改變占空比。例如常用的電視遙控器,使用NEC upd6121,其“0”為載波發射0.56ms,不發射0.56ms;其“1”為載波發射0.56ms,不發射1.68ms;此外,為了解碼的方便,還有引導碼,upd6121的引導碼為載波發射9ms,不發射4.5ms。upd6121總共的編碼長度為108ms。
但并不是所有的編碼器都是如此,比如TOSHIBA的TC9012,其引導碼為載波發射4.5ms,不發射4.5ms,其“0”為載波發射0.52ms,不發射0.52ms,其“1”為載波發射0.52ms,不發射1.04ms。
PPM(脈沖位置調制):以發射載波的位置表示“0”和“1”。從發射載波到不發射載波為“0”,從不發射載波到發射載波為“1”。其發射載波和不發射載波的時間相同,都為0.68ms,也就是每位的時間是固定的。
通過以上對編碼的分析,可以得出以某種固定格式的“0”和“1”去學習紅外,是很有可能不成功的。即市面上所宣傳的可以學習64位、128位必然是不可靠的。
另外,由于空調的狀態遠多于電視、音像,并且沒有一個標準,所以各廠家都按自己的格式去做一個,造成差異更大。比如:美的的遙控器采用PWM編碼,碼長120ms左右;新科的遙控器也采用PWM編碼,碼長500ms左右。如此大的差異,如果按“位”的概念來講,應該是多少位呢?64?128?顯然都不可能包含如此長短不一的編碼。
2、學習模式
現在用來學習紅外的CPU,無外乎以下幾種:
MCS-51系列、microchip pic16系列、winbond w741系列、holtek ht48系列
以上的CPU由于價格便宜、使用量大,被廣泛使用在遙控器上。
以上的CPU的基本點是:執行速度在1us左右,數據存儲器一般為256個字節。如果按固定格式學習,一般可以學到128位(其他程序會占用一些數據存儲器);如果不按固定的格式,需要找出編碼的最小公約數作為基本單位,則可以學習到的位數大大降低,達不到實用的效果。但是,即使如此,找到的最小公約數不可能滿足所有的紅外設備,除非最小單位為26us(1000000/38k)。如果達到這個速度,以上CPU的速度遠遠不夠,并且由于存儲量的加大,數據存儲器也遠遠不夠用。
對于電視、音響等,一般使用專用的遙控芯片,比如nec,philips,toshiba,sanyo,mitsubish,panasonic的芯片,其編碼格式固定,一個鍵只有一個編碼,學習比較容易。
而空調不一樣,各家空調廠商都是按自己的要求用cpu做遙控芯片,編碼形式就有很多種。比如可能沒有引導碼(電視音響類都有)、校驗方式取累加和(電視音響類一般取反碼)等。因為空調的狀態多,必須一次發送完畢,有制冷、溫度、風速、自動、定時、加濕、制熱等,所以編碼很長,并且同一個按鍵,在不同狀態下發送的編碼不一樣,造成學習上的困難。
萬能遙控器相關文章:萬能遙控器代碼
pwm相關文章:pwm是什么
評論