紅外遙控器的編碼格式通常有兩種格式:NEC和RC5
NEC格式的特征:
1:使用38 kHz載波頻率
2:引導碼間隔是9 ms + 4.5 ms
3:使用16位客戶代碼
4:使用8位數據代碼和8位取反的數據代碼
下面的波形是從紅外接收頭上得到的波形:(調制信號轉變成高低電平了)


不過需要將波形反轉一下才方便分析:

NEC 協議通過脈沖串之間的時間間隔來實現信號的調制(英文簡寫PPM)。邏輯“0”是由0.56ms的38KHZ載波和0.560ms的無 載波間隔組成;邏輯“1”是由0.56ms的38KHZ載波和1.68ms的無載波間隔組成;結束位是0.56ms的38K載波。

下面實例是已知NEC類型遙控器所截獲的波形:
遙控器的識別碼是Address=0xDD20;其中一個鍵值是Command=0x0E;

注意波形先是發低位地址再發高位地址。所以0000,0100,1011,1011反轉過來就是1101,1101,0010,000十六進制的DD20;
鍵值波形如下:

也是要將0111,0000反轉成0000,1110得到十六進制的0E;另外注意8位的鍵值代碼是取反后再發一次的,如圖0111,0000 取反后為1000,1111。
最后一位是一個邏輯“1”。
RC5編碼相對簡單一些:
下面的遙控器地址是1A,鍵值是0D的波形
同樣由于取自紅外接收頭的波形需要反相一下波形以便于分析:

反相后的波形:
根據編碼規則:

得到一組數字:110,11010,001101
根據編碼定義

第一位是起始位S 通常是邏輯1
第二位是場位F通常為邏輯1,在RC5擴展模式下它將最后6位命令代碼擴充到7位代碼(高位MSB),這樣可以從64個鍵值擴充到128個鍵值。
第三位是控制位C 它在每按下了一個鍵后翻轉,這樣就可以區分一個鍵到底是一直按著沒松手還是松手后重復按。
如圖所示是同一按鍵重復按兩次所得波形,只有第三位是相反的邏輯,其它的位邏輯都一樣。

其后是五個系統地址位:11010=1A
|