灵犀LXB对讲机软件使用帮助文档

修订时间:2024-10-29

频段说明

频段频率范围NdivREG2<15:13>
Band1384MHz~512MHz40
Band2128MHz~170MHz121
Band343MHz~57MHz364
Band435MHz~46MHz445
Band524MHz~32MHz646

AT指令表

指令格式为AT+{指令}[=参数1,参数2,...]

单条命令最大长度为255字节,最大参数个数为128

16进制数据使用16进制字符串表示,例如"0x0400","0400","400"均为16进制的0x0400

* 仅型号LXB可用

指令 说明 参数 示例 响应示例 备注
AT+EEPR=<addr> 读取EEPROM数据 <addr> 数据地址 AT+EEPR=0x0400 01
AT+EEPE=<addr> 擦除EEPROM数据 <addr> 数据地址 AT+EEPE=0x0400 以512字节为单位擦除,0x0400/0x0434/0x0500/0x05FF均表示擦除0x0400~0x05FF这512字节
AT+EEPW=<addr>,<data> 写入EEPROM数据 <addr> 数据地址
<data> 要写入的数据
AT+EEPW=0x0400,0xFF
AT+BKR=<reg> 读取BK4802寄存器 <reg> 寄存器地址 AT+BKR=27 4802
AT+BKW=<reg>,<data> 写入BK4802寄存器 <addr> 寄存器地址
<data> 要写入的数据
AT+BKR=23,0xAED0
AT+OLEDC=<cmd> * OLED写命令 <cmd> 要写入的命令 AT+OLEDC=0xAF
AT+OLEDD=<x>,<y>,<data> * OLED写数据 <x> 横坐标0~127
<y> 纵坐标0~7
<data> 要写入的数据
AT+OLEDD=64,1,0xFF
AT+SETR 读取设置 0C1300015500019923284D21C17F4D285B8E000003000C04F140ED0017E0E0E485430700A066FFFFFFE0061F9E3C1F00D1D1200F01FFE0000340ACD001FF7C000004AED0 读取基本设置+BK4802寄存器设置,数据结构参考基本设置数据说明BK4802寄存器设置数据说明
AT+SETW=<setting> 写入设置 <setting> 逗号分隔的字节数据 AT+SETW=0C,13,00,01,55,00,01,99,23,28,4D,21,C1,7F,4D,28,5B,8E,00,00,03,00,0C,04,F1,40,ED,00,17,E0,E0,E4,85,43,07,00,A0,66,FF,FF,FF,E0,06,1F,9E,3C,1F,00,D1,D1,20,0F,01,FF,E0,00,03,40,AC,D0,01,FF,7C,00,00,04,AE,D0 写入基本设置+BK4802寄存器设置,数据结构参考基本设置数据说明BK4802寄存器设置数据说明
AT+FREQ=<setting> 自定义频率/写频 <setting> 逗号分隔的字节数据 AT+FREQ=01,99,23,28,4D,21,C1,7F,4D,28,5B,8E,00,00 频率显示文本数据+BK4802频率寄存器,数据结构参考频率显示文本数据说明BK4802频率寄存器计算
AT+BR=<value> * 设置OLED亮度 <value> 亮度值,0-0x00 1-0x33 2-0x66 3-0x99 4-0xCC 5-0xFF AT+BR=0
LXB: AT+VOL=<value>
LXBE: AT+VOL
LXB: 设置音量
LXBE: 读取音量
LXB: <value> 音量值,0-0x00 1-0x33 2-0x66 3-0x99 4-0xCC 5-0xFF LXB: AT+VOL=5 LXBE: 0~1023
AT+LOCK=<value> * 锁定/解锁SET键频率切换 <value> 0-解锁 1-锁定 AT+LOCK=1
AT+CH=<channel> * 设置频道 <channel> 频道索引,0开始 AT+CH=0
AT+NEXTF * 切换下一频率
AT+PREVF * 切换上一频率
AT+RX 设置为接收模式
AT+TX 设置为发射模式
AT+TYPE 读取设备型号 LXB
AT+VER 读取固件版本 1.0
AT+RSTR 重启设备
AT+RST 恢复默认设置并重启设备

EEPROM数据说明

STC8G1K17单片机程序空间为17KB,EEPROM大小为动态分配,本项目中分配大小为2KB,共4个扇区,每个扇区512字节,地址为0x0000~0x07FF,其中每个扇区存储数据说明如下:

扇区地址说明
0~10x0000~0x03FF存放BK4802频率寄存器设置,单个频率存储接收模式REG0~REG1、发射模式REG0~REG1、REG2,占用10字节,设计为最多存储99个频率,数据结构参考BK4802频率寄存器计算
20x0400~0x05FF存放频率显示文本,单个频率占用4字节,设计为最多存储99个频率,数据结构参考频率显示文本数据说明
30x0600标记是否为新设备需要写入默认设置,0x01-不需要写入 其他-需要写入
30x0601~0x063F存放基本设置,数据结构参考基本设置数据说明
30x0640~0x07FF存放BK4802寄存器设置,数据结构参考BK4802寄存器设置数据说明

基本设置数据说明

字节默认值说明
00x0CB07~B00: 当前频率索引
10x13B07~B00: 最大频率索引
20x00B06~B04: 屏幕休眠时间,0-不休眠 1-15秒 2-30秒 3-1分钟 4-2分钟 5-5分钟 6-10分钟 7-30分钟
B02~B00: 射频休眠时间,0-不休眠 1-5分钟 2-10分钟 3-30分钟 4-60分钟
30x01B01~B00: 闪屏显示时间(秒)
40x55B07~B04: 音量
B03~B00: 亮度
50x00B02: 1-使用自定义频率 0-使用内置频率
B01: 1-锁定SET键 0-解锁SET键
B00: 1-调试模式开 0-调试模式关
6~90x01, 0x99, 0x23, 0x28自定义频率的显示文本,数据结构参考频率显示文本数据说明
10~190x4D, 0x21, 0xC1, 0x7F, 0x4D, 0x28, 0x5B, 0x8E, 0x00, 0x00自定义频率的寄存器REG0~REG2设置,数据结构参考BK4802频率寄存器计算

BK4802寄存器设置数据说明

字节默认值对应BK4802寄存器
0~10x0300REG4
2~30x0C04REG5
4~50xF140REG6
6~70xED00REG7
8~90x17E0REG8
10~110xE0E4REG9
12~130x8543REG10
14~150x0700REG11
16~170xA066REG12
18~190xFFFFREG13
20~210xFFE0REG14
22~230x061FREG15
24~250x9E3CREG16
26~270x1F00REG17
28~290xD1D1REG18
30~310x200FREG19
32~330x01FFREG20
34~350xE000REG21
36~370x0340REG22
38~390xACD0REG23
40~410x01FFREG32
42~430x7C00REG4(发射模式)
44~450x0004REG5(发射模式)
46~470xAED0REG23(发射模式)

BK4802频率寄存器计算

BK4802频率由REG0~REG2三个寄存器决定,假设要计算的频率为fwanted,首先计算出Frac-N

FracN=(fwantedIFfXTAL21.25)Ndiv224fXTAL

其中fXTAL晶振频率,在本项目中为21.25MHz,公式简化为:

FracN=(fwantedIF)Ndiv224fXTAL(接收模式)

FracN=fwantedNdiv224fXTAL(发射模式)

注意,IF、fwanted、fXTAL的单位均为MHz

其中IF为中频,固定取值137KHz即0.137MHz;Ndiv频率对应的分频比,参考频段说明

得到Frac-N后,Frac-N的高16位为REG0,低16位为REG1,REG2的B15~B13为Ndiv分频比对应的寄存器值,其余位为0,即

REG0 = Frac-N >> 16

REG1 = Frac-N & 0xFFFF

REG2 = REGNdiv << 13

以下给出计算接收模式中频率409.9000MHz的完整过程:

计算Frac-N:Frac-N = ( fwanted - IF ) * Ndiv * 224 / fXTAL = ( 409.9 - 0.137 ) * 4 * 224 / 21.25 = 1294057855.9638588,向下取整为1294057855,16进制表示为0x4D21C17F

计算REG0:REG0 = Frac-N >> 16 = 0x4D21C17F >> 16 = 19745,16进制表示为0x4D21

计算REG1:REG1 = Frac-N & 0xFFFF = 0x4D21C17F & 0xFFFF = 49535,16进制表示为0xC17F

计算REG2:REG2 = REGNdiv << 13 = 0 << 13 = 0,16进制表示为0x0000

频率显示文本数据说明

本项目中频率使用单位为MHz,精确到小数点后4位,分辨率为0.0001MHz即100Hz,频率显示文本使用两个整数分别存储整数部分和小数部分

以频率409.9000MHz为例,将其拆分为整数部分409和小数部分9000后,分别使用2字节存储,则可表示为16进制0x0199和0x2328

静噪说明

语音质量提升到一定程度时,自动打开喇叭,开喇叭条件如下:

NOISE_LEVEL_AVG < ( SQ_THRESHOLD * SQ_N ) 且 RSSI > RSSI_THRESHOLD

其中NOISE_LEVEL_AVG为平均带外噪声,从REG26<12:00>获得

SQ_THRESHOLD为带外噪声阈值,由REG23<07:00>设置

SQ_N为静噪阈值系数,由REG22<11:10>设置,0x0-2 0x1-4 0x2-8 0x3-16

RSSI为接收信号强度,从REG24<07:00>获得

RSSI_THRESHOLD为信号强度阈值,由REG22<07:00>设置