標題: 拆解一個無線門鈴,學習EV1527芯片的編解碼 附單片機程序仿真 [打印本頁]
作者: 51heizlxz 時間: 2023-9-30 23:37
標題: 拆解一個無線門鈴,學習EV1527芯片的編解碼 附單片機程序仿真
EV1527發(fā)送接收程序Proteus仿真:
EV1527收發(fā)Protesu.zip
(260.28 KB, 下載次數(shù): 37)
2023-10-1 22:41 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
EV1527實際硬件接收發(fā)送程序:
EV1527_收發(fā).zip
(149.18 KB, 下載次數(shù): 40)
2023-10-9 20:47 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
EV1527數(shù)據(jù)手冊:
鏈接:https://pan.baidu.com/s/1RARhTqEsCnwZW7-pIqdTZg
提取碼:qmos
通過拆解一個無線門鈴,分析EV1527芯片的編碼,利用單片機接收并解碼。用單片機模擬EV1527數(shù)據(jù)格式發(fā)送
1.jpeg (108.21 KB, 下載次數(shù): 59)
下載附件
2023-9-30 23:21 上傳
中間那個聲表穩(wěn)頻器件是315M的,可知這個門鈴的載波頻率是315MHz。
2.jpeg (151.05 KB, 下載次數(shù): 36)
下載附件
2023-9-30 23:21 上傳
8腳SOP封裝芯片就是EV1527,它的3腿是GND,4腿就是數(shù)據(jù)發(fā)送端,分別連接兩根導線,接邏輯分析儀。
3a.png (15.42 KB, 下載次數(shù): 47)
下載附件
2023-9-30 23:23 上傳
資料上的EV1527數(shù)據(jù)格式是這樣的:
4.png (165.95 KB, 下載次數(shù): 38)
下載附件
2023-9-30 23:23 上傳
1個T是1個OSC,它由與EV1527芯片相連的特定電阻和電壓決定,有個相關表格可以進行查詢,見手冊。
怎么表示0,1,f,和同步碼。
位0: 【4T高+12T低】 + 【4T高+12T低】
這里,可以將4T稱為窄脈沖,將12T稱為寬脈沖,還有一種長的寬脈沖,是124T。用它們就可以表示所有數(shù)據(jù)了。
位1: 【12T高+4T低】 + 【12T高+4T低】
懸空碼F:【4T高+12T低】 + 【12T高 + 4T低】
同步碼: 【4T高 + 124T低】
再寫得簡單些:
窄=4T,寬=12T,長寬=124T
位0:00 窄寬,窄寬
位1:11 寬窄,寬窄
懸空嗎F:01 窄寬,寬窄
同步碼:窄+長寬
實際測量到的波形:
使用邏輯分析儀測量輸出波形,每按下一次電鈴按鍵,出現(xiàn)這樣的波形
5.png (38.46 KB, 下載次數(shù): 45)
下載附件
2023-9-30 23:25 上傳
可以看出,每次按鈴,由同步碼引導的數(shù)據(jù)被發(fā)送了8次。
測量得到窄脈沖=346us,長寬脈沖=10.732ms,寬脈沖=1.04ms
6.png (37.27 KB, 下載次數(shù): 41)
下載附件
2023-9-30 23:27 上傳
EV1527的發(fā)碼格式:
7.png (21.7 KB, 下載次數(shù): 40)
下載附件
2023-9-30 23:27 上傳
首先發(fā)送一個同步碼:窄脈沖+長寬脈沖
8.png (17.44 KB, 下載次數(shù): 48)
下載附件
2023-9-30 23:27 上傳
接著發(fā)送20位地址碼:
9.png (87.94 KB, 下載次數(shù): 34)
下載附件
2023-9-30 23:27 上傳
接著發(fā)送4位數(shù)據(jù)碼:
10.png (89.55 KB, 下載次數(shù): 44)
下載附件
2023-9-30 23:27 上傳
解讀一下邏輯分析儀測量的數(shù)據(jù):
經過實際解讀,發(fā)現(xiàn),它和資料上介紹的不太一樣。實際硬件的發(fā)碼方式是同樣的數(shù)據(jù)發(fā)8遍,每一遍由同步碼,地址碼20位,數(shù)據(jù)碼4位組成,而且不重復,也就是0bit,就用窄+寬表示,1bit,用寬+窄表示,沒有地址懸空碼F。
解讀一下這些信息:
11.png (88.17 KB, 下載次數(shù): 43)
下載附件
2023-9-30 23:27 上傳
其中綠色的是C0---C19共20位地址碼:0100 1011 0001 1010 0110
由于發(fā)送數(shù)據(jù)的時候是從最低位開始發(fā)送的,因此真正的地址碼應該反過來看,也就是:01100101100011010010 就是十六進制數(shù)字 Addr=0x658D2;
黃色是D0,D1,D2,D3,共4位數(shù)據(jù)碼: 0001,反過來就是1000就是0x08;
每按下一次電鈴按鍵,相同的信息發(fā)送8次,這就是實際硬件的輸出信息。
下面使用單片機來模擬信號的發(fā)送。
12.png (69.95 KB, 下載次數(shù): 43)
下載附件
2023-9-30 23:27 上傳
超再生發(fā)送模塊的1接P3.2,2接Vcc,3接地,連接超再生315M發(fā)射模塊
使用STC15W4K56S4芯片,11.0592MHz
地址和數(shù)據(jù)均從最低位開始發(fā)送。
編寫接收程序:
規(guī)定EV1527一共發(fā)送8次數(shù)據(jù),接收其中的5次,如果有3次相同,就認為收到了正確的數(shù)據(jù)。
一定要注意,發(fā)送時,無論地址還是數(shù)據(jù)都是從最低位開始發(fā)送的,因此,接收的時候,需要將它們反序,才能得到正確的地址碼和數(shù)據(jù)碼。
例如這里的地址碼是 0x0658D2
十六進制: 6 5 8 D 2
二進制: 0110 0101 1000 1101 0010
接著發(fā)送數(shù)據(jù)碼:0x02
二進制: 0010
接收時將它們從一個unsigned long 型變量的最高位依次右移,得到:
十六進制: 2 6 5 8 D 2 0 0
二進制: 0010 0110 0101 1000 1101 0010 0000 0000
數(shù)據(jù)碼是橙色的,右移28位得到。
地址碼,首先屏蔽掉最高的4位,與0x0FFFFFFFL做與,長整形要寫L,然后右移8位得到。
接收使用STC15W4K56S4,硬件連接使用P3.2,也就是中斷INT0。接收模塊使用超外差(超再生)接收模塊。
13.png (35.85 KB, 下載次數(shù): 49)
下載附件
2023-9-30 23:27 上傳
作者: wkman 時間: 2023-10-4 21:02
記得以前調試過,在無信號時接收模塊也有雜亂無章的數(shù)據(jù)出來
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |