Code of Fixed Code Programmable Remote Controller
好玩的固定碼拷貝式遙控器
編碼方式
2007 / 03 / 30
手上有幾個舊的拷貝型車庫門遙控器 ( Remocon B-01, RMC509, Jenius...),因為換新的遙控主機,不再使用了。好奇的想知道是否可以自己改為適用其他的主機,但是網路上找不到相關資料;所以就把它拆了,用以前介紹過的 JDM 燒錄器,將 93C46 的資料讀出看看。
看了幾天,看出一點眉目,但不一定對,有興趣就試試玩吧。
.....................
首先,用 JDM 燒錄器讀 93C46 須先將 JDM 內的 8V 穩壓二極體短路,使原有的 13.3V MCLR 變成 5.1V,否則可能會燒毀遙控器。
我是用一個 jumper 來跳線,只要將 jumper 拿開就可恢復原有的 13.3V,很方便。
做一條 6 pin的連接線,將遙控器與 JDM 燒錄器連接,用 ICProg 105D 來寫讀 93C46 。寫讀時要先將遙控器的12V電池拿開,不要用。
JDM pin no. | name | 93C46 pin |
4 | MCLR | CS |
5 | GND | GND |
12 | Clock | SK/CK |
13 | Data I/O | DI / DO (two wires) |
14 | Vcc | Vcc |
遙控器插座的接腳圖由正面看如下,注意 : CS, CK 接腳不同。
DI、DO兩條線都接在 JDM 的 13 pin。
========================================
Fix code 的大廠牌為 HT12E,由原廠 datasheet看到下列資料:
總結 HT12E 的格式:
每一 bit 由 1 個脈衝組成,每一 frame 共有 13 個脈衝。(12+1)
每一 bit 的長度是脈衝的 3 倍
編碼方式--低電位在高電位之前,One =2/1 Zero=1/2
Sync在前,Sync之前低電位的長度是脈衝的 36 倍
===========================================
這是 Remocon 讀出的Data,拷貝自一個使用 HT12E 為編碼器的4鍵遙控器。
上圖可以看出 4組編碼,我分別用不同顏色標出。
第一組 : 2818 0000 0000 8D02 0D14 3900
第二組 : 2810 0000 0000 9602 0D14 3A00
第三組 : 2818 0000 0000 9002 0D13 3900
第四組 : 2810 0000 0000 9802 0D14 3A00
每一組編碼對應一個按鈕,由上可知這個 4 鍵遙控器其實只存有兩個編碼。 第一、三鍵是一樣的,第二、四鍵是一樣的。
2818 0000 0000 為對應 HT12E 的 Sync, A0, A1,.....AD10, AD11. 的資料內容,二進位等於 0010 1000 0001 1......共13 Bits。這個值一定不能有誤差。
8D02 0D14 3900 則對應 HT12E 的編碼方式 ,
8D02 等於 028D 等於十進位的 653,代表 Sync 訊號 (pilot period) 之前的低電位時間長度約為 ( 0.02 mS * 653) = 13.06 mS (實際上應該是一個基本脈衝的36倍, 0.4mS*36=14.4mS)
0D14的 0D 等於十進位的 13 ,代表共有 13 Bits資料。這個值一定不能有誤差。
0D14 的14 代表一個pulse的時間長度約為 ( 0.02 mS * 20) = 0.4 mS ,這裡的 0.02 mS 是反推出來的,可能有點誤差,還好遙控器對時脈誤差的容忍度很高,一般的機子正負30%都還可以。
3900的 39 代表一個 bit ( 含高電位及低電位 ) 的時間總長度約為 ( 0.02 mS * 57) = 1.14 mS ,注意這約為 0.4mS 的 3倍。
3900的 00 代表HT12E 的編碼方式--低電位在高電位之前。這個值一定不能有誤差。(參考下圖)
現在我們可以知道,除了 "這個值一定不能有誤差。" 的值上以外,其他的值有些許誤差是可以接受的。把你手上的遙控器拿來看看,如果是從 copy版一拷再拷的,其他的值可能會越來越大,這樣的遙控器距離會變短,偶而會沒動作,把誤差消除掉後就可很正常了。
另一會使遙控距離變短的原因是頻率跑掉了,需要把遙控器的半固定電容調一調。
=============================================
再來我們看另一廠牌 Jenius 對應 HT12E 的資料編碼方式
第一組 : 1E88 0000 0000 8302 0D12 3800 4488 0000 0000 0000
第二組 : 1E90 0000 0000 7271 0D12 3800 4490 0000 0000 0000
第三組 : 1EA0 0000 0000 8402 0D12 3800 44A0 7271 0000 0000
第四組 : 1EC0 0000 0000 8502 0D12 3800 44C0 8402 0000 0000
每一組編碼對應一個按鈕,由上可知這個 4 鍵遙控器每鍵都是不一樣的。
1E88 0000 0000 為對應 HT12E 的 Sync, A0, A1,.....AD10, AD11. 的資料內容,二進位等於 0001111010001......共13 Bits。這個值一定不能有誤差。
8302 0D12 3800 則對應 HT12E 的編碼方式 ,
8302 等於 0283 等於十進位的 643,代表 Sync 訊號 (pilot period) 之前的時間長度約為 ( 0.02 mS * 643) = 12.86 mS (實際上應該是一個基本脈衝的36倍, 0.36mS*36=12.96mS)
0D12的 0D 等於十進位的 13 ,代表共有 13 Bits資料。這個值一定不能有誤差。
0D12 的12 代表一個pulse的時間長度約為 ( 0.02 mS * 18) = 0.36 mS ,這裡的 0.02 mS 是反推出來的,可能有點誤差。
3800的 38 代表一個 bit ( 含高電位及低電位 ) 的時間總長度約為 ( 0.02 mS * 56) = 1.12 mS 約為 0.36mS 的 3倍。(實際上應該是一個基本脈衝的 3 倍, 0.36mS*3=1.08mS)
3800的 00 代表HT12E 的編碼方式--低電位在高電位之前。這個值一定不能有誤差。
到這裡為止 Jenius 與 Remocon 的編碼完全一樣,但是最後 3 碼 4488 0000 0000 是不一樣的地方,Jenius 似乎為了降低 copy 的遙控器萬一把 address & data 拷錯的機率,多了一組資料內容,但是這一組可能稍有不確定,這樣可以提高copy成功率,但是也要付出代價。
代價是距離會變短,偶而會沒動作。當然,如果備用的這組與前頭的一組編碼 完全一樣就不會有問題。
5 鍵遙控器編碼與 4 鍵遙控器每鍵 完全一樣。
=============================================
Fix code 的另一個大牌為 PT2262
與 HT12E 不同的地方有 4 :
每一 bit 由兩個脈衝組成,每一 frame 共有 25 個脈衝。((12*2)+1)
每一 bit 的長度是脈衝的 4 倍
編碼方式--高電位在低電位之前,One =3/1 Zero=1/3
Sync在後,Sync之後低電位的長度是脈衝的 31 倍
看..............
第一組 : 33C3 CC00 0000 0002 1910 4201
33C3 CC00 0000 為對應 PT2262 的 A0, A1,.....AD10, AD11, Sync. 的資料內容,二進位等於 0011 0011 1100 0011 1100 1100 0......共 25 脈衝。對應 010110011010 12 碼。
0002 1910 4201 則對應 PT2262 的編碼方式 ,
0002 等於 0200 等於十進位的 512,代表 Sync 訊號 (pilot period) 之前的時間長度約為 ( 0.02 mS * 512) = 10.24 mS (實際上應該是一個基本脈衝的31倍, 0.32mS*31=9.92mS)
1910 的 19 等於十進位的 25 ,代表共有 25 脈衝。這個值一定不能有誤差。
1910 的10 代表一個pulse的時間長度約為 ( 0.02 mS * 16) = 0.32 mS ,這裡的 0.02 mS 是反推出來的,可能有點誤差。
4201 的 42 代表一個 bit ( 含高電位及低電位 ) 的時間總長度約為 ( 0.02 mS * 66) = 1.32 mS 約為 0.32mS 的 4倍。(實際上應該是一個基本脈衝的 4 倍, 0.32mS*4=1.28mS)
4201 的 01 代表 PT2262 的編碼方式--高電位在低電位之前。這個值一定不能有誤差。
第二組 : 類推............
=====================================================
好了,我的推論說完了;當然,應該不只這樣,還有其他 fix code .............
這是以 Oscilloscope 2.51從 PC 上看到的遙控器輸出波形............
如果本文有錯或是你知道更多,請email 給我,我會非常感激你。
別忘了,還有頻率的半固定電容要調一調,頻率不對一定是不會動的。
======================================================================================
歡迎拷貝、轉載、引用、修改或出售本網站資訊,請註明出處。
注意 : 因使用本網站所導致的任何傷害或損失,本人概不負責。
Philip Sun / TAIWAN
ilufa@yahoo.com
copyright 2004