--> ENGLISH
0755-23080616

RF125系列125KHz無線模塊解說(四):串行通信與配置協(xié)議

2025-09-26 11:22

分享到:

本章將詳細(xì)闡述如何通過串行接口(UART)對(duì)RF125-TX發(fā)射模塊進(jìn)行配置和控制,為固件開發(fā)人員提供一份完整的操作指南。

 

UART接口規(guī)范

與RF125-TX模塊的通信遵循標(biāo)準(zhǔn)的異步串行協(xié)議。

  • 通信參數(shù):波特率為9600 bps,8位數(shù)據(jù)位,無奇偶校驗(yàn),1位停止位(即9600, 8, N, 1)。
  • 數(shù)據(jù)格式:所有指令和數(shù)據(jù)均使用十六進(jìn)制(HEX)格式發(fā)送。
  • 指令結(jié)束符:每條完整的指令都必須以回車換行符 0x0D 0x0A (\r\n) 結(jié)尾。
  • 指令間隔:連續(xù)發(fā)送兩條設(shè)置指令的最小時(shí)間間隔為100ms。這個(gè)延時(shí)是必要的,以確保模塊有足夠的時(shí)間處理前一條指令并更新內(nèi)部狀態(tài)。
  • 響應(yīng)機(jī)制:模塊會(huì)對(duì)接收到的指令進(jìn)行校驗(yàn)。如果指令格式正確且參數(shù)有效,模塊將返回ASCII字符串 "OK\r\n"(十六進(jìn)制為 0x4F 0x4B 0x0D 0x0A)。如果指令錯(cuò)誤,則返回 "ERROR\r\n"(十六進(jìn)制為 0x45 0x52 0x52 0x4F 0x52 0x0D 0x0A)。

 

配置指令集詳解

RF125-TX的指令集設(shè)計(jì)簡(jiǎn)潔,圍繞著配置發(fā)射參數(shù)和控制發(fā)射狀態(tài)兩大核心功能。

(1) 設(shè)置發(fā)射數(shù)據(jù)內(nèi)容 (CMD: 0x57)

  • 功能:設(shè)置模塊在啟動(dòng)發(fā)射后需要周期性發(fā)送的數(shù)據(jù)負(fù)載(Payload)。
  • 格式:0x57 | Length (1 Byte) | Payload (Length Bytes) | 0x0D 0x0A
  • 參數(shù):
    • Length:1字節(jié),表示Payload的長(zhǎng)度。其范圍是0到0x2D(十進(jìn)制45)。這個(gè)長(zhǎng)度值不包括命令字0x57、Length字節(jié)本身和結(jié)束符。
    • Payload:實(shí)際的數(shù)據(jù)內(nèi)容,長(zhǎng)度由Length字節(jié)決定。
  • 示例:設(shè)置發(fā)射數(shù)據(jù)為 0x01 0x02 0x03 0x04 0x05。
    • 發(fā)送:0x57 0x05 0x01 0x02 0x03 0x04 0x05 0x0D 0x0A
    • 成功返回:0x4F 0x4B 0x0D 0x0A

 

(2) 修改發(fā)射機(jī)ID (CMD: 0x58)

  • 功能:設(shè)置發(fā)射機(jī)的唯一標(biāo)識(shí)符(ID)。接收機(jī)在配對(duì)模式下會(huì)根據(jù)此ID來過濾數(shù)據(jù)包。
  • 格式:0x58 | ID (1 Byte) | 0x0D 0x0A
  • 參數(shù):
    • ID:1字節(jié),但有效位為7位。其范圍是0x00到0x7F。任何大于0x7F的值都將被視為錯(cuò)誤。
  • 示例:將發(fā)射機(jī)ID設(shè)置為0x01。
    • 發(fā)送:0x58 0x01 0x0D 0x0A
    • 成功返回:0x4F 0x4B 0x0D 0x0A

 

(3) 讀取發(fā)射機(jī)ID (CMD: 0x52)

  • 功能:查詢模塊當(dāng)前配置的發(fā)射機(jī)ID。
  • 格式:0x52 | 0x0D 0x0A
  • 返回:ID (1 Byte) | 0x0D 0x0A
  • 示例:假設(shè)當(dāng)前ID為0x01。
    • 發(fā)送:0x52 0x0D 0x0A
    • 返回:0x01 0x0D 0x0A

 

(4) 設(shè)置發(fā)射時(shí)間間隔 (CMD: 0x53)

  • 功能:設(shè)置自動(dòng)發(fā)射數(shù)據(jù)包之間的時(shí)間間隔。
  • 格式:0x53 | TIME_H (1 Byte) | TIME_L (1 Byte) | 0x0D 0x0A
  • 參數(shù):
    • TIME_H 和 TIME_L:共同組成一個(gè)16位的時(shí)間值(大端模式),單位為毫秒(ms)。
    • 范圍:0x00FA到0xEA60,即250ms到60000ms(60秒)。如果設(shè)置的值低于250ms,模塊會(huì)自動(dòng)將其更正為250ms。
  • 示例:設(shè)置發(fā)射間隔為1000ms(1000的十六進(jìn)制為0x03E8)。
    • 發(fā)送:0x53 0x03 0xE8 0x0D 0x0A
    • 成功返回:0x4F 0x4B 0x0D 0x0A

 

(5) 設(shè)置發(fā)射機(jī)的發(fā)射狀態(tài)

  • 開啟發(fā)射 (CMD: "start")
    • 格式:0x73 0x74 0x61 0x72 0x74 | 0x0D 0x0A
    • 描述:發(fā)送此命令后,RF125-TX會(huì)根據(jù)預(yù)先設(shè)置好的數(shù)據(jù)內(nèi)容、ID和時(shí)間間隔,自動(dòng)、連續(xù)地發(fā)射數(shù)據(jù)包。
    • 成功返回:0x4F 0x4B 0x0D 0x0A
  • 關(guān)閉發(fā)射 (CMD: "stop")
    • 格式:0x73 0x74 0x6F 0x70 | 0x0D 0x0A
    • 描述:發(fā)送此命令后,RF125-TX將立即停止發(fā)射。
    • 成功返回:0x4F 0x4B 0x0D 0x0A

 

表2:RF125-TX UART指令集快速參考

功能

命令字 (HEX)

參數(shù)

描述

示例 (HEX)

設(shè)置數(shù)據(jù)

0x57

"Length (1B), Payload (nB)"

設(shè)置要發(fā)送的數(shù)據(jù)內(nèi)容,最大45字節(jié)。

57 05 01 02 03 04 05 0D 0A

設(shè)置ID

0x58

"ID (1B, 7-bit)"

設(shè)置發(fā)射機(jī)ID,范圍0x00-0x7F。

58 01 0D 0A

讀取ID

0x52

讀取當(dāng)前配置的ID。

52 0D 0A

設(shè)置間隔

0x53

"TIME_H (1B), TIME_L (1B)"

設(shè)置發(fā)射間隔,單位ms,范圍250-60000。

53 03 E8 0D 0A (1000ms)

開啟發(fā)射

73 74 61 0x72 0x74

啟動(dòng)自動(dòng)連續(xù)發(fā)射。

73 74 61 72 74 0D 0A

關(guān)閉發(fā)射

73 74 6F 0x70

停止發(fā)射。

73 74 6F 70 0D 0A

4.3 協(xié)議設(shè)計(jì)與系統(tǒng)行為分析

RF125-TX的UART協(xié)議設(shè)計(jì)體現(xiàn)了一種“狀態(tài)機(jī)”或“配置-執(zhí)行”分離的模式。與一些每次發(fā)送數(shù)據(jù)都需要將數(shù)據(jù)包完整傳給射頻模塊的“透?jìng)?rdquo;模式不同,RF125-TX的工作流程是先由主控MCU通過一系列指令(如0x57, 0x58, 0x53)對(duì)模塊的內(nèi)部狀態(tài)(數(shù)據(jù)緩沖區(qū)、ID寄存器、定時(shí)器周期)進(jìn)行配置,然后再通過一個(gè)獨(dú)立的指令(start)來觸發(fā)模塊進(jìn)入一個(gè)自主運(yùn)行的狀態(tài)。

 

這種設(shè)計(jì)模式具有顯著的工程優(yōu)勢(shì)。它將對(duì)時(shí)間精度要求很高的周期性發(fā)射任務(wù),從主控MCU完全卸載到了RF125-TX模塊自身。一旦配置完成并啟動(dòng),主控MCU就不再需要維護(hù)一個(gè)精確的定時(shí)器來決定何時(shí)發(fā)送下一包數(shù)據(jù)。MCU可以轉(zhuǎn)而去處理其他任務(wù),甚至進(jìn)入低功耗睡眠模式,從而大大簡(jiǎn)化了主控端的固件邏輯,降低了其實(shí)時(shí)性要求。RF125-TX在此架構(gòu)下扮演了一個(gè)智能協(xié)處理器的角色,而不僅僅是一個(gè)簡(jiǎn)單的UART轉(zhuǎn)RF的“調(diào)制解調(diào)器”。這種架構(gòu)對(duì)于資源有限的MCU系統(tǒng),或者需要MCU執(zhí)行復(fù)雜主業(yè)務(wù)邏輯的應(yīng)用來說,尤其有價(jià)值。

 

 

RF125系列125KHz無線模塊解說系列:

RF125系列125KHz無線模塊解說(一):RF125系列技術(shù)概述

RF125系列125KHz無線模塊解說(二):技術(shù)參數(shù)與規(guī)格

RF125系列125KHz無線模塊解說(三):硬件集成與電路設(shè)計(jì)指南

RF125系列125KHz無線模塊解說(四):串行通信與配置協(xié)議

RF125系列125KHz無線模塊解說(五):功能與操作模式

RF125系列125KHz無線模塊解說(六):RF物理層傳輸協(xié)議深度解析及總結(jié)

 

福安市| 高尔夫| 石狮市| 泾川县| 青岛市| 平湖市| 伽师县| 武山县| 昌都县| 临沧市| 上杭县| 安义县| 兰溪市| 临武县| 增城市| 南投市| 广汉市| 新建县| 谷城县| 错那县| 长武县| 华池县| 龙里县| 延吉市| 虎林市| 日土县| 泰和县| 秦皇岛市| 商洛市| 天台县| 汤原县| 苍山县| 益阳市| 黔南| 盐津县| 绥中县|