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