1.簡介
LPRX315超低功耗遙控模塊與滾碼遙控器配合,實現遙控開門等操作。
2.產品特點?超低功耗,特別適合于電池供電的場合;
?支持極低功耗模式:如果遙控模塊里沒有添加遙控器,則上電1分鐘后就進入極低功耗模式,電流<5uA;
?支持雙窗口滾碼遙控,真正防止重放攻擊(市面上很多遙控器用了滾碼芯片,但是接收模塊卻沒有做防重放攻擊處理,其效果就跟固定碼遙控器一樣了);
?支持自定義協議通信,不占用主機的串口;
3.性能參數
工作電壓 |
DC4~7 V |
靜態電流 |
<35uA |
工作電流 |
<10mA |
支持遙控器 |
HCS301滾碼遙控器 |
遙控器數量 |
120 |
遙控距離 |
開闊地40米 |
外圍尺寸 |
41mm x 30mm x 5mm |
環 境 |
工作溫度:-20~70℃ 儲存溫度:攝氏-30~125℃ 相對濕度:5%~95% |
管腳標號 |
管腳名稱 |
描述 |
1 |
VIN |
電源正極 |
2 |
GND |
電源負極 |
3 |
RXD |
遙控模塊接收腳,主控MCU→遙控模塊 |
4 |
TXD |
遙控模塊發送腳,遙控模塊→主控MCU |
5 |
- |
未定義 |
6 |
- |
未定義 |
7 |
- |
未定義 |
LPRX315支持3種通信模式:
l UART通信:使用TXD和RXD腳進行雙向全雙工通信;
l 自定義協議:類似單總線,用兩根線進行雙向通信;
l 按鍵模式:無需跟主機通信,用遙控模塊上的設置按鍵來啟動遙控器添加和刪除,接收到有效遙控器時就發送一個脈沖給主機。
遙控模塊會保留最后一次添加遙控器時的通訊模式,此后接收到有效遙控器就會采用此通訊模式,即使重新上電也是如此。所以,如果采用UART或者自定義協議通訊,就請不要用按鍵添加遙控器。
1.UART通信協議1.1 UART通信接線圖
l 串口波特率:9600。
l 主控MCU和遙控模塊的RXD/TXD交叉連接。
l 主控MCU的RXD腳需要有下降沿中斷喚醒功能,用以遙控接收到有效遙控器后喚醒主控MCU。如果此引腳沒有喚醒功能,可以把RXD腳同時并接到其他具有喚醒功能的引腳,如下圖所示(INT0具有下降沿喚醒功能)。
1.2幀結構
通信幀結構:
0 |
1 |
2… |
||
同步字節 |
長度 |
命令 |
校驗和取反 |
|
0x5A |
N |
1字節 |
N字節 |
1字節 |
l 同步字節:作為一條命令的開始;
l 長度:指出后續字節,從命令字節開始包括校驗字節在內的長度;
l 命令:一個字節;
l 參數:N字節,例如可能是遙控器編號等;
l 校驗和:從命令字節的所有字節的累加和取反;
l 主機→遙控模塊和遙控模塊→主機都遵循上述幀結構。
特別注意:
l 主機→遙控模塊:LPRX315平時處于低功耗睡眠狀態,因此在發送數據之前,請先發送0x00用來喚醒遙控模塊,然后等待3毫秒再發送數據。
l 遙控模塊→主機:同樣是先發送0x00用來喚醒主機,延時3毫秒再發送數據。
2.自定義通訊協議2.1接線圖
l IO_2必須具有下降沿喚醒的功能;
2.2時序圖主機與遙控模塊之間的雙向通信都遵守下面的時序。
l 在發送數據前,先拉低通訊線4ms,然后發送數據;
l 高電平80us低電平160us代表數據位0;
l 高電平160us低電平80us代表數據位1;
l 高電平在前,低電平在后;
l 一個字節中,先發低位LSB,再發高位。
2.3幀結構通信幀結構:
1 |
2… |
|
命令 |
參數 |
校驗和取反 |
1字節 |
N字節 |
1字節 |
l 命令:一個字節;
l 參數:N字節,例如可能是遙控器編號等;
l 校驗和:從命令字節的所有字節的累加和取反;
l 主機→遙控模塊和遙控模塊→主機都遵循上述幀結構。
l 自定義通訊幀結構跟UART幀結構不同之處在于,這里沒有同步字節0x5A和字節數,其它都是一樣的。
3.按鍵模式如果不想修改主控MCU程序來與遙控模塊通訊,那么最簡單的辦法就是用按鍵模式。
1) 添加遙控器:短按一次遙控模塊上的設置按鍵,則遙控模塊上的藍燈開始閃爍。在此閃爍期間,按一下需要設置的遙控器上的任何一個按鈕,就可以添加到遙控模塊里。添加成功是藍燈長亮1秒鐘;
2) 刪除遙控器:長按遙控模塊上的設置按鍵5秒鐘,看到藍燈閃爍3次時,松開按鍵,然后會看到藍燈長亮2次,就表示所有的遙控器都被刪除了。不支持刪除單個遙控器;
3) 接收到有效遙控器:RXD腳平時為低電平,TXD腳平時為高電平。接收到有效遙控器后,RXD腳輸出500mS高電平,TXD腳輸出500mS低電平。
二、通信命令詳解
1.命令列表
主機發送 |
遙控模塊應答 |
||
添加遙控 |
0xC0 |
該命令發出后,模塊接收到之后馬上應答0x08,然后等待遙控信號10秒,收到有效遙控信號則添加 |
|
0xE0 |
接收成功 |
||
0xE1 |
添加成功,可繼續添加下一個 |
||
0xE2 |
存儲滿,并退出 |
||
0xE3 |
遙控已存在(不退出) |
||
0xE4 |
指定位置非空,已經有遙控器 |
||
修改 |
0xC1 |
跟添加遙控器的應答相同 |
|
刪除單個遙控 |
0xC2 |
該命令發出后,模塊接收到之后馬上應答0x08,然后等待遙控信號10秒,收到有效遙控信號自動刪除 |
|
0xE5 |
刪除成功,可繼續刪除下一個 |
||
0xE6 |
遙控器不存在(可能已刪除),可繼續刪除下一個 |
||
刪除所有遙控 |
0xC3 |
||
0xE8 |
所有遙控刪除成功 |
||
提取已存遙控器數量 |
0xC4 |
||
0xEA |
已注冊遙控器數量 |
||
提取空位數量 |
0xC5 |
||
0xEB |
空余位置數量 |
||
退出 |
0xCF |
用于退出正在進行添加或刪除過程 |
|
其他 |
0xE9 |
接收到有效遙控 |
|
0xEC |
參數錯誤 |
||
0xED |
超時退出 |
||
0xEF |
通用返回 |
用于添加新的遙控器,并保存到遙控模塊中。
主機→模塊
0 |
1 |
2… |
||
同步字節 |
長度 |
命令 |
參數 |
校驗和取反 |
0x5A |
4 |
0xC0 |
0xxxyy遙控編號,0x0000表示不指定組號 |
1字節 |
例如:0x00 延時3ms 0x5A 04 C0 00 00 3F
C0+00+00=C0 /C0=3F
l 遙控編號為0x0000表示不指定組號,由遙控模塊自動分配遙控器的組號。可以連續添加多個遙控器;
l 如果遙控編號不為0,則表示指定把遙控器添加到哪個組號,添加成功后就退出添加模式,不可連續添加。
l 如果指定的編號已經存在,則提示參數錯誤;
2.2修改遙控用于修改指定編號的遙控器。
主機→模塊
0 |
1 |
2… |
||
同步字節 |
長度 |
命令 |
參數 |
校驗和取反 |
0x5A |
4 |
0xC1 |
0xxxyy遙控編號,0x0000表示不指定組號 |
1字節 |
例如:0x00 延時3ms 0x5A 04 C1 00 05 39
l 如果遙控編號為0,則功能跟添加遙控器相同,可以連續添加多個遙控器;
l 如果編號不為0,則新的遙控器會覆蓋掉指定編號的遙控器。修改成功后自動退出。
2.3刪除單個遙控器用于刪除遙控器,可直接刪除指定編號的遙控器。
主機→模塊
0 |
1 |
2… |
||
同步字節 |
長度 |
命令 |
參數 |
校驗和取反 |
0x5A |
4 |
0xC2 |
0xxxyy遙控編號 |
1字節 |
例如:0x00 延時3ms 0x5A 04 C2 00 05 38
l 如果遙控編號為0,表示連續單個刪除模式,接收到有效遙控器后(按遙控器按鈕),則刪除該遙控器;
l 如果遙控編號不為0,表示直接刪除指定編號的遙控器(不需要按遙控器按鈕),刪除成功后退出。
2.4刪除所有遙控器主機→模塊
0 |
1 |
2… |
||
同步字節 |
長度 |
命令 |
參數 |
校驗和取反 |
0x5A |
2 |
0xC3 |
無 |
1字節 |
例如:0x00 延時3ms 0x5A 02 C3 3C
2.5提取已存遙控器數量主機→模塊
0 |
1 |
2… |
||
同步字節 |
長度 |
命令 |
參數 |
校驗和取反 |
0x5A |
2 |
0xC4 |
無 |
1字節 |
例如:0x00 延時3ms 0x5A 02 C4 3B
2.6提取空余位置數量主機→模塊
0 |
1 |
2… |
||
同步字節 |
長度 |
命令 |
參數 |
校驗和取反 |
0x5A |
2 |
0xC5 |
無 |
1字節 |
例如:0x00 延時3ms 0x5A 02 C5 3A
2.7退出用來退出添加態或者刪除態,進入低功耗休眠模式。
主機→模塊
0 |
1 |
2… |
||
同步字節 |
長度 |
命令 |
參數 |
校驗和取反 |
0x5A |
2 |
0xCF |
無 |
1字節 |
例如:0x00 延時3ms 0x5A 02 CF 30
3.遙控模塊→主機應答詳解下面主要講解帶參數的應答,不帶參數的應答請參考“接收成功”。
3.1接收成功表示成功接收到主機命令。
模塊→主機
0 |
1 |
2… |
||
同步字節 |
長度 |
命令 |
參數 |
校驗和取反 |
0x5A |
2 |
0xE0 |
無 |
1字節 |
例如:0x00 延時3ms 0x5A 02 E0 1F
3.2添加成功模塊→主機
0 |
1 |
2… |
||
同步字節 |
長度 |
命令 |
參數 |
校驗和取反 |
0x5A |
4 |
0xE1 |
0xxxyy遙控編號:添加的遙控器被保存到此編號 |
1字節 |
例如:0x00 延時3ms 0x5A 04 E1 00 01 1D
3.3刪除成功模塊→主機
0 |
1 |
2… |
||
同步字節 |
長度 |
命令 |
參數 |
校驗和取反 |
0x5A |
4 |
0xE5 |
0xxxyy遙控編號:成功刪除此編號的遙控器 |
1字節 |
例如:0x00 延時3ms 0x5A 04 E5 00 01 19
3.4返回已注冊遙控器數量模塊→主機
0 |
1 |
2… |
||
同步字節 |
長度 |
命令 |
參數 |
校驗和取反 |
0x5A |
4 |
0xEA |
0xxxyy遙控器數量,高字節在前 |
1字節 |
例如:0x00 延時3ms 0x5A 04 EA 00 60 B5,0x60表示96個遙控器
3.5返回空余編號數量模塊→主機
0 |
1 |
2… |
||
同步字節 |
長度 |
命令 |
參數 |
校驗和取反 |
0x5A |
4 |
0xEB |
0xxxyy空余編號數量,高字節在前 |
1字節 |
例如:0x00 延時3ms 0x5A 04 EB 00 18 FC,0x18表示24個空余編號
3.6接收到有效遙控器模塊→主機
0 |
1 |
2… |
||
同步字節 |
長度 |
命令 |
參數 |
校驗和取反 |
0x5A |
4 |
0xE9 |
0xxxyy:遙控器編號 |
1字節 |
例如:0x00 延時3ms 0x5A 04 E9 00 05 11
三、聲光提示表遙控模塊采用藍色LED來指示各種狀態。
藍燈 |
含義 |
短閃2次 |
l 指定編號已存在(指定編號添加) l 刪除未注冊過的遙控器 l 重復添加遙控器 l 存儲器已滿 |
短閃3次 |
l 準備刪除全部遙控器(長按設置按鍵5秒鐘) l 無效的遙控器 |
長亮1次 |
l 添加成功 l 檢測到有效遙控器(遙控開門) |
長亮2次 |
l 刪除成功 |
-
智能門鎖
+關注
關注
17文章
1856瀏覽量
43136 -
同欣智能科技
+關注
關注
3文章
49瀏覽量
1619
發布評論請先 登錄
相關推薦
評論