標題: 拆解一個無線門鈴,學習EV1527芯片的編解碼 附單片機程序仿真 [打印本頁]

作者: 51heizlxz    時間: 2023-9-30 23:37
標題: 拆解一個無線門鈴,學習EV1527芯片的編解碼 附單片機程序仿真
EV1527發(fā)送接收程序Proteus仿真:
EV1527收發(fā)Protesu.zip (260.28 KB, 下載次數(shù): 37)

EV1527實際硬件接收發(fā)送程序: EV1527_收發(fā).zip (149.18 KB, 下載次數(shù): 40)

EV1527數(shù)據(jù)手冊:
鏈接:https://pan.baidu.com/s/1RARhTqEsCnwZW7-pIqdTZg
提取碼:qmos

通過拆解一個無線門鈴,分析EV1527芯片的編碼,利用單片機接收并解碼。用單片機模擬EV1527數(shù)據(jù)格式發(fā)送


中間那個聲表穩(wěn)頻器件是315M的,可知這個門鈴的載波頻率是315MHz。




8腳SOP封裝芯片就是EV1527,它的3腿是GND,4腿就是數(shù)據(jù)發(fā)送端,分別連接兩根導線,接邏輯分析儀。


資料上的EV1527數(shù)據(jù)格式是這樣的:


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)這樣的波形

可以看出,每次按鈴,由同步碼引導的數(shù)據(jù)被發(fā)送了8次。


測量得到窄脈沖=346us,長寬脈沖=10.732ms,寬脈沖=1.04ms



EV1527的發(fā)碼格式:



首先發(fā)送一個同步碼:窄脈沖+長寬脈沖



接著發(fā)送20位地址碼:



接著發(fā)送4位數(shù)據(jù)碼:



解讀一下邏輯分析儀測量的數(shù)據(jù):


       經過實際解讀,發(fā)現(xiàn),它和資料上介紹的不太一樣。實際硬件的發(fā)碼方式是同樣的數(shù)據(jù)發(fā)8遍,每一遍由同步碼,地址碼20位,數(shù)據(jù)碼4位組成,而且不重復,也就是0bit,就用窄+寬表示,1bit,用寬+窄表示,沒有地址懸空碼F。


解讀一下這些信息:


其中綠色的是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ā)送。



超再生發(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。接收模塊使用超外差(超再生)接收模塊。










作者: wkman    時間: 2023-10-4 21:02
記得以前調試過,在無信號時接收模塊也有雜亂無章的數(shù)據(jù)出來




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1