radiolink-XM9816S

Part #radiolink-XM9816S
Download 
radiolink-XM9816S
XM9816S
芯片说明书
V1.3  
XM9816S  
——2.4GHz
高集成度无线收发芯片  
应用领域:  
功能描述:  
工业传感器及无线工控设备  
频率范围
2402~2530MHz
,提供
128  
无线游戏设备  
遥感勘测  
个
channel  
无线速率:
1Mbps  
支持
SPI
或
I2C
接口  
自动应答及自动重传  
快速频道切换,支持跳频算法  
支持
RSSI
功能  
安防系统  
智能运动设备  
智能电视遥控器  
无线标签  
无线门禁  
支持软件复位  
安防系统  
简单低成本外围元器件  
低工作电压:
1.9V~3.6V  
遥控装置  
无线玩具  
SSOP16
封装  

XM9816S
中文手册
V1.3  
目录  

XM9816S
中文手册
V1.3  
1.
概述  
XM9816S
是一款工作在
2.4GHz
世界通用
ISM
频段的单片集成无线收发芯片
。
该
芯片集  
成了射频接收器、射频发射器、频率综合器、
GFSK
调制器、
GFSK
解调器等功能模块。通过  
SPI
或
I2C
接口可以对输出功率、频道选择以及协议进行灵活配置,并且内置
CRC
、
FEC
、自  
动应答和自动重传机制
,
可
以大大简化系统设计并优化性能
。
外
围电路简单
,
只
需搭配极少  
的被动器件就能达到优良的收发性能。  
芯片的优点
:  
低功耗  
当工作在发射模式下(发射功率为
0dBm
)时电流消耗为
14mA
;  
当工作在接收模式时电流消耗为
16mA
;  
当工作在休眠模式时电流消耗低于
1uA
。  
低成本  
低成本系统解决方案;  
外围元器件低于
5
个;  
内部集成上电复位和软件复位功能,外围控制简单;  
采用双层
PCB
,可以采用印制板天线方式;  
高性能  
工作频率
2402MHz~2530MHz
;  
最高数据码率
1Mbps
;  
最大输出功率
6dBm
,灵敏度可达
-89dBm  
正常配置下(发射功率
6dBm
),空旷地带通信距离大于
80
米  

XM9816S
中文手册
V1.3  
2.
极限值  
表
2.1
参数极限值  
参数  
工作温度  
符号  
Top  
最小值  
-40  
最大值  
100  
125  
3.7  
单位  
℃
存储温度  
Tstor  
-55  
℃
工作电压  
VDD  
-0.3  
V
输入射频信号强度  
ESD(
人体模型
)  
Pin_max  
ESD_HBM  
+10  
2
dBm  
KV  
*
注意:强行超过一项或多项极限值使用会导致器件永久性损坏。  
*
小心:芯片为静电敏感器件,操作时请遵守防护规则。  
3.
主要电特性  
表
3.1
芯片主要电特性  
特
性
条件
(
除另有规定外,
VCC  
= 3.3V
,
TA=25
℃
)  
休眠模式  
参数值  
典型  
0.8  
单位  
最小  
最大  
uA  
uA  
待机模式  
600  
14  
发射模式
(0dBm)  
接收模式  
mA  
mA  
ICC  
16  
系统指标  
f

OP  

f

XTAL  

工作频率  
晶振频率  
PLL
稳定时间  
码率  
2402  
2530  
MHz  
MHz  
us  
12  
150  
1
PLL_stable  
Mbps  
MHz  
FCH

1
M
 

频道间隔  
1
发射模式指标  
最大输出功率  
典型输出功率  
输出功率范围  
6
0
dBm  
dBm  
dBm  
MHz  
PRF  
PRF  
-18  
6
PRFC  
PBW
1  
载波调制的
20dB
带宽  
(
1Mbps
)  
1
1.1  

XM9816S
中文手册
V1.3  
接收模式指标  
接收灵敏度(
0.1%BER
)  
抗干扰特性  
同道干扰  
-89  
dBm  
RXSENS
2  
C
/

CO  

C
/

1
ST  

C
/

2
ND  

C
/

3
RD  

9
dBc  
dBc  
dBc  
dBc  
第
1
相邻道干扰  
第
2
相邻道干扰  
第
3
相邻道干扰  
5
-12  
-24  
操作条件  
1.9  
供电电压  
芯片地  
3
0
3.6  
V
V
VDD  
VSS  
V

OH  

高电平输出电压  
低电平输出电压  
高电平输入电压  
低电平输入电压  
输入电容  
VDD-0.3  
VSS  
VDD  
VSS+0.3  
3.6  
V
V

OL  

V

IH  

V

IL  

V
2.0  
3
V
VSS  
VSS+0.3  
10  
V
Cin  
pF  
℃
℃
工作温度  
-40  
-40  
27  
27  
+100  
+125  
储存温度  
Notes: 12MHz
 
晶振的负载电容为
22pF  
4.
系统结构方框图  
图
4.1
系统结构方框图  

XM9816S
中文手册
V1.3  
5.
引脚定义  
SPI_MOSI  
I2C_SEL  
RST_N  
SPI_MISO  
16  
15  
14  
1
2
3
SPI_CLK  
SPI_CS  
VDD33  
XO  
13  
12  
4
5
PKT_FLAG  
NC  
SSOP16  
11  
10  
9
6
7
8
XI  
RF_VDD  
ANT  
NC  
VSS  
ANTB  
图
5.1 SSOP16
 
引脚图  
表
5.1 SSOP16
 
引脚功能说明  
序号  
Pin Name  
SPI_MOSI  
Type  
DI  
Description  
1
SPI
数据输入脚  
接口模式选择  
2
3
I2C_SEL  
RST_N  
DI  
DI  
0
:
SPI  
1
:
I2C  
芯片复位脚,低电平有效
;
复位后寄存器数值丢失,  
全部变为默认值。  
4
5
VDD33  
XO  
PWR  
AO  
3.3V
电源出入  
晶体振荡器输出  
6
XI  
AI  
晶体振荡器输入  
7
NC  
NC  
NC  
8
VSS  
GND  
RF I  
RF I  
PWR  
NC  
地
射频输入
1  
9
ANTB  
ANT  
10  
11  
12  
13  
14  
15  
16  
射频输入
2  
RF_VDD  
NC  
内部
1.8V
电源输出  
NC  
PKT_FLAG  
SPI_CS  
SPI_CLK  
SPI_MISO  
DO  
DI  
发射接收状态标志位  
使能信号
,
低
有效
,
拉
低可使芯片退出
sleep mode  
SPI/I2C
时钟输入脚  
SPI
数据输出脚
/I2C
数据脚  
DI  
D I/O  

XM9816S
中文手册
V1.3  
6.SPI
接口  
6.1 SPI
时序格式  
Notes:  
1. SPI
 
为下降沿采样数据
,
上
升沿改变数据
;
MCU
在控制
SPI_MOSI
时一定要在
SPI_CLK  
上升沿之后再改变数据。  
2. SPI
 
读写位: 写
=0
,读
=1
。  
3.
访问接
收
FIF
O
寄存
器
0X2
8
时
,
可
以按字节读
。
访
问多
个
FIF
O
数据时可以用一
个
SPI_CS  
周期。  
4.
访问除
FIFO
外的其他寄存器时,一次要读写
16bits
。  
5.
访问除
FIFO
个的其他多个寄存器时
,
可
以用一个
SPI_CS
周期
。
此
时
,
地
址只要写一次,  
然后是
16bit
数据,当写完一个寄存器值后,芯片会自动增加寄存器地址。  
6.2 SPI
时序要求  
Notes:  
1.
在访问寄存器
0x28
中的
FIFO
数据时,芯片需要
450ns
去找到正确的读
FIFO
读取的指  
针地址。  
2.
当读寄存器
0x28
中的
FIFO
数据时,至少需要等
450ns
。  
读其他寄存器时,
T5min=41.5ns  

XM9816S
中文手册
V1.3  
7. I2C
接口  
7.1 I2C
命令格式  
Master
写一个或多个字节到
FIFO
或
Register  
Master
写一个字节到指定的寄存器,然后从
FIFO
中读出
1
个或多个字节数据  
Master
可以连续读出
FIFO
数据  
7.2 I2C
特性  
I2C
设备从模式可选特性  
Standard mode
–
100kbps  
Fast mode
–
400 kbps  
Fast mode plus
–
1000 kbps  
High speed mode
–
3200 kbps  
Clock stretching  
是否支持  
Y
e
s  
Y
e
s  
Y
e
s  
No  
No  
10-bit slave address  
General call address  
Software reset  
No  
No  
No  
Device id  
No  
7.3 I2C
器件地址  
在
I2C
模式下,芯片器件地址如下:  
A6 A5
 
A4  
A3 A2
 
A1  
A0  
R/W  
0
1
1
0
0
0
Read=1  
Write=0  
由
SPI_MOSI
决定  

XM9816S
中文手册
V1.3  
8.
状态机控制图  
图
8.1
状态机控制图  
9.
部分寄存器描述  
RF Synthesizer TX/RX control
 
Register 0x00  
default : 0x0030  
Bit  
Name  
R/W Description  
Default  
15  
14  
TX_EN  
RX_EN  
R/W  
R/W  
0
0
使能芯片进入发送状态
,
1
有效  
使能芯片进入接收状态
,
1
有效  
注:
TX_EN
和
RX_EN
不能同  
时为
1
,同时为
0
时芯片处于  
IDLE
状态  
13-12 reserved  
11-7 S
W
A
LLOW[4:0]  
R/W  
R/W  
00  
00000  
当
RF_PLL_DIIRECT=1
时,  

XM9816S
中文手册
V1.3  
载波频率由寄存器直接设置:  
RF={reg0[6:0],reg0[13:9]}  
6-0  
RF_PLL_CH_NO[6:0] R/W  
110000  
当
RF_PLL_DIIRECT=0
时,载  
波频率由信道号设置:  
f=2450MHz  
RF=2402+RF_PLL_CH_NO[6:0]  
Miscellaneous configuration
 
Register 0x01
 
default: 0x2077  
Bit  
15  
Name  
R/W  
R/W  
Description  
Default  
Sleep_mode  
0
使能芯片进入
sleep
模式,
1
有  
效(
SPI_CS
需同时保持高电平)  
14  
13  
R/W  
R/W  
0
1
CRC_EN  
0: CRC
关闭
1: CRC
开启  
12  
11  
10  
RF_PLL_DIRECT R/W  
0
0
0
当
RF_PLL_DIIRECT=1  
RF={reg0[6:0],reg0[13:9]}
否则  
RF=2402+RF_PLL_CH_NO[6:0]  
1: PKT/FIFO flag
 
低有效  
0: PKT/FIFO flag
 
高有效  
0: SPI_CS=1
时
SPI_MISO
为高  
阻态输出  
9
8
Pkt_hint_pority  
Miso_tri_opt  
R/W  
R/W  
1: SPI_CS=1
时
SPI_MISO
为低  
电平输出  
7
Reset_system  
W/R  
0
1
:使能芯片进行软件复位  
注:复位前必须先把
reg0x1e[0]  
写为
1  
6-4  
1:
接收到数据后发送
ACK  
0:
接收到数据后不发送
ACK ,  
直接进入
IDLE  
3
2
Auto-ack  
R/W  
R/W  
0
1
Pack_lenth_en  
1: payload
的第一个字节作为包  
长度  

XM9816S
中文手册
V1.3  
1
0
Fw_term_tx  
R/W  
R/W  
1
0:
由
MCU
控制何时终止
TX
状  
态
1:
当
FIFO
写指针等于读指针  
时,芯片自动结束
TX
状态  
0: scramble off
 
1: scramble on  
SCRAMBLE_EN  
1
PA Power Control
 
Register 0x02
 
default: 0x3080  
Bit  
Name  
R/W  
Description  
Default  
15-12 reserved  
R/W  
R/W  
R/W  
0011  
0000  
1000  
11-8  
7-4  
reserved  
reserved  
rev  
PA
输出功率控制:  
1111: min  
3-0  
P
A
_PW_SET[4:0]  
R/W  
0000  
1000: med  
0000: max  
Operation configuration
 
Register 0x03
 
default: 0x5800  
Bit  
Name  
R/W  
Description  
Default  
000: 1 byte, 10101010  
15-13 Preamble_len[2:0]  
R/W  
001: 2 byte, 10101010 10101010
 
010  
111: 8 byte, 10101010………….  
00: 16 bits,{reg31[15:0]}  
01: 32 bits, {reg31[15:0],  
reg34[15:0]}  
10: 48 bits, {reg31[15:0],  
12-11 Syncword_len[1:0]  
R/W  
reg33[15:0], reg34[15:0]}  
11: 64 bits, {reg31[15:0],  
reg32[15:0], reg33[15:0],  
reg34[15:0]}  
11  
000: 4 bits, 1010  
10-8  
7-6  
Trailer_len[2:0]  
R/W  
R/W  
001: 6 bits, 101010  
…….  
000  
00  
111: 18 bits,101010……101010  
00: NRZ law data  
Data packet type[1:0]  
01:Manchester data type  
10: 8/10 line code  
11: interleave data type  

XM9816S
中文手册
V1.3  
00: No FEC  
5-4  
3
FEC type[1:0]  
R/W  
01: FEC 13  
00  
10: FEC 23  
11: reserve, same as 00  
000: brclk keep 0  
001: xtal_core out  
010: crystal divided by 6, 2M out  
011: crystal divided by 12, 1M  
out  
2-0  
brclk_sel[2:0]  
R/W  
000  
100: APLL_clk out  
101: clk_tx_out  
Operating configuration
 
Register 0x07
 
default: 0x7311  
Bit  
15  
Name  
R/W Description  
Default  
0
EN_VCO_CAL_IDLE  
R/W  
1:
在
IDLE
状态人工使能  
VCO
校准过程  
14  
TXRX_VCO_CAL_EN  
R/W  
1
1: TX/RX
 
状态下
,
VCO
自  
动进行校准  
TXRX
状态下
VCO
自动  
校准等待时间:  
0000: 12us  
0001: 14us  
…….  
13-10 TXRX_vco_tim[3:0]  
R/W  
1100  
1111: 42us  
9-0  
Timing configuration
 
Register 0x0b  
default: 0x837F  
Bit  
Name  
R/W  
Description  
Default  
1000  
PA
开启后,发送
CW
的时间:  
0000: 4us  
15-12  
TX_CW_D
L
Y
[3:0]  
R/W  
0001: 6us  
1111: 34us  

XM9816S
中文手册
V1.3  
ACK
功能开启时,最大重发次  
数:  
11-8  
Re_transmit_time  
R/W  
0011  
2H: 2 times  
3H: 3 times  
…….  
7-6  
5-0  
R/W  
R/W  
01  
发射机等待
ACK
返回的时间:  
T=16us x Rx_ack_time[5:0]  
Rx_ack_time[5:0]  
(超过这个时间如果还没收到  
返回的
ACK
信号
,
会
自动重发)  
111111  
Default  
Timing configuration
 
Register 0x0c
 
default: 0x3E11  
Bit  
Name  
R/W  
Description  
开启
TX/RX
状态后,等待  
VCO
稳定时间:  
000000: 4us  
000001: 8us  
………  
15-10 VCO_ON_D
L
Y
[5:0]  
R/W  
001111  
111111: 256us  
PA
关闭延时:  
00: 4us  
01: 6us  
9-8  
TX_PA_OFF_D
L
Y
[1:0]  
TX_PA_ON_D
L
Y
[3:0]  
R/W  
R/W  
10  
10: 8us  
11: 10us  
PA
开启延时:  
x000: 4us  
x001: 8us  
….  
7-4  
3-0  
0001  
x1111: 32us  
TX_SW
开启延时:  
0000: 8us  
0001: 12us  
….  
TX_SW_ON_DELAY[3:0] R/W  
0001  
11111: 68us  

XM9816S
中文手册
V1.3  
RSSI value
 
Register 0x11  
Read only  
Bit  
Name  
R
R
Description  
Default  
15-8  
RAW_RSSI[7:0]  
8 bit RSS
值
(
实时更新
,
保
留最  
大值)  
7-0  
rssi_lat[7:0]  
R
R
RSSI latch  
Block status
 
Register 0x12  
Read only  
Bit  
Name  
Description  
Default Optium  
15-14  
13  
FIFO_FLAG  
reserved  
R
R
1: FIFO
 
为空或满的标志位  
12  
11  
10  
VCO_CAL_ERROR  
R
1
:
VCO
校准失败  
9-0  
Main status
 
Register 0x16  
Read only  
Bit  
Name  
R
Description  
Default Optium  
15  
14  
CRC_error  
R
R
1
:
CRC
错误  
0: CRC
正确  
FEC23_error  
1
:
FEC23
错误
0: FEC23
正确  
Framer
状态:  
13-8  
Framer_st  
R
31H: ST_SLEEP  
33H: ST_
W
A
KE_U
P
.
……..  
……….  
7
6
Syncword_rev  
PKT_FLAG  
R
R
1:
接收到
syncword
,只在接收  
状态下有效  
Packet flag
 
标志位  
Transmit packet control state  
000: TX_IDLE  
5-3  
2-0  
Tx_st[2:0]  
Rx_st[2:0]  
R
R
001:TX_ID  
010: TX_CRC  
011: TX_D
A
TA  
110: TX_DONE  
Receive packet control state  
000: RX_IDLE  
001:RX_ID  

XM9816S
中文手册
V1.3  
010: RX_D
A
TA  
011: RX_TRAILER  
100: RX_DONE  
110: RX_CRC  
AMS TEST Control  
Register 0x1c  
default: 0x4008  
Bit  
Name  
R/W  
Description  
Default Optim  
0
15  
RSSI_PDN  
R/W  
1:
关闭
RSSI
功能  
0
:开启
RSSI
功能  
14-0  
R/W  
1
Operating Control  
Register 0x1e  
default: 0x7FF4  
Bit  
Name  
R/W  
Description  
Default Optim  
7FF4H  
15-14  
0
R/W  
R/W  
Reg_Reset_EN  
0
1:
开启软件复位功能,
1
有效。  
使能后再写
reg0x01[7]
为
1
就可  
完成对芯片的复位。  
SYN_WORD_1 Register
 
0x1f default: 0x0101  
Bit  
Name  
R/W  
R/W  
Description  
Default  
15-0  
SYNC_WORD[15:0]  
LSB bits of SYN_WORD is first
 
0101H  
SYN_WORD_2 Register
 
0x20 default:
 
0x0202  
Bit  
Name  
R/W  
R/W  
Description  
Default  
15-0  
SYNC_WORD[31:16]  
LSB bits of SYN_WORD is first
 
0202H  
SYN_WORD_3 Register
 
0x21 default:
 
0x0303  
Bit  
Name  
R/W  
R/W  
Description  
Default  
15-0  
SYNC_WORD[47:32]  
LSB bits of SYN_WORD is first
 
0303H  
SYN_WORD_4 Register
 
0x22 default:
 
0x0404  
Bit  
Name  
R/W  
R/W  
Description  
Default  
15-0  
SYNC_WORD[63:48]  
LSB bits of SYN_WORD is first
 
0404H  
Register 0x23
 
default: 0x8001  
Bit Name  
R/W  
Description  
Default  

XM9816S
中文手册
V1.3  
15  
FIFO_share_en  
R/W  
1
1: RX/TX FIFO
共享,总长  
64bytes  
0
:
RX/TX FIFO
不共享,各自  
32bytes  
14:0  
FIFO threshold_reg
 
Register 0x24  
default: 0x4401  
Bit  
Name  
R/W  
Description  
Default  
15-11 FIFO_empty_threshold  
R/W  
R/W  
R/W  
01000  
10000  
000001  
认为
FIFO
为空的阈值  
10-6  
5-0  
FIFO_full_threshold  
Synword_threshold  
认为
FIFO
为满的阈值  
认为
syncword
正确的阈值
,  
XX
表示错
XX-1 bit
也认为是正  
确(设
1
表示全部正确)  
RX_FIFO_RD_PTR Register
 
0x25 default:
 
0x0000  
Bit  
Name  
R/W  
Description  
Default  
15  
14  
RXFIFO_CLR_W_PTR  
R/W  
R/W  
0
0
1:
清空
RX FIFO
写指针  
RX FIFO
写指针最高位,当  
fifo_share_en=1
有效  
RX_FIFO_WR_PTR
[6]  
13-8 RX_FIFO_WR_PTR
[5:0]  
R/W  
R/W  
0
0
RX FIFO
 
写指针低
6
位  
1:
清空
RX FIFO
读指针  
7
RXFIFO_CLR_R_PTR  
6
RX_FIFO_RD_PTR
[6]  
R/W  
R/W  
0
RX FIFO
读指针最高位,当  
fifo_share_en=1
有效  
5-0  
RX_FIFO_RD_PTR
[5:0]  
0H  
RX FIFO
 
读指针低
6
位  
TX_FIFO_RD_PTR Register
 
0x26 default:
 
0x0000  
Bit  
Name  
R/W  
Description  
Default  
15  
14  
TXFIFO_CLR_W_PTR  
R/W  
R/W  
0
0
1:
清空
TX FIFO
写指针  
TX FIFO
写指针最高位,当  
fifo_share_en=1
有效  
TX_FIFO_WR_PTR
[6]  
13-8 TX_FIFO_WR_PTR
[5:0]  
R/W  
R/W  
0
0
TX FIFO
 
写指针低
6
位  
1:
清空
RX FIFO
读指针  
7
TXFIFO_CLR_R_PTR  
6
TX_FIFO_RD_PTR
[6]  
R/W  
0
TX FIFO
读指针最高位,当  

XM9816S
中文手册
V1.3  
fifo_share_en=1
有效  
5-0  
TX_FIFO_RD_PTR
[5:0]  
R/W  
0H  
TX FIFO
 
读指针低
6
位  
TX_FIFO_REG Register
 
0x27 default:
 
0x0000  
Bit  
Name  
R/W Description  
Default  
0000H  
15-0  
TX_FIFO_REG R/W  
MCU
写
FIFO
数据的接口  
RX_FIFO_REG Register
 
0x28 default:
 
0x0000  
Bit  
Name  
R/W Description  
MCU
读
FIFO
数据的接口  
Default  
0000H  
15-0  
RX_FIFO_REG R/W  
10.
寄存器默认值和优化值  
芯片共有
42
个寄存器,复位后,所有寄存器均为默认值,如表
10.1
所示。正常工作时,只  
需要对少数几个寄存器的值进行优化即可,如表
10.2
所示。  
表
10.1
寄存器默认值  
Address reset
 
value Address reset
 
value  
0x00  
0x01  
0x02  
0x03  
0x04  
0x05  
0x06  
0x07  
0x08  
0x09  
0x0a  
0x0b  
0x0c  
Ox0d  
0x0e  
0x0f  
0x10  
0x11  
0x12  
0x13  
0x14  
0x0030  
0x2077  
0x15  
0x16  
0x17  
0x18  
0x19  
0x1a  
0x1b  
0x1c  
0x1d  
0x1e  
0x1f  
0x20  
0x21  
0x22  
0x23  
0x24  
0x25  
0x26  
0x27  
0x28  
0x29  
Read only  
Read only  
0x0000  
0x6FE1  
0x1300  
0x07F7  
0x1800  
0x4008  
0x0000  
0x7FF4  
0x0101  
0x0202  
0x0303  
0x0404  
0x8001  
0x4401  
0x0000  
0x0000  
0x0000  
0x0000  
0x0000  
0x3080  
0X5800  
0x4A00  
0x7126  
0x1988  
0x7311  
0x1659  
0x007B  
0x2433  
0x837F  
0x3E11  
0x6000  
0x4c00  
0x6609  
0x5F8F  
Read only  
Read only  
Read only  
Read only  

XM9816S
中文手册
V1.3  
表
10.2
寄存器优化值  
Address  
0x0a  
Opt value  
0x2403  
0x02  
0x4060  
0x03  
0x5810  
0x05  
0x7fa6  
0x0f  
0x661d  
0x0d  
0x6003  
0x1a  
0x00f7  

XM9816S
中文手册
V1.3  
11.
典型应用电路  
XM9816S
典型应用电路(
SPI
模式)  
spi_miso  
spi_clk  
spi_cs  
spi_mosi  
vdd33  
vss  
SPI_MOSI  
SPI_MISO  
SPI_CLK  
1
16  
15  
14  
2
I2C_SEL  
RST_N  
rst_n  
spi_miso  
spi_mosi  
rst_n  
3
4
SPI_CS  
PKT_FLAG  
NC  
spi_clk  
spi_cs  
pkt_flag  
13  
12  
VDD33  
XO  
pkt_flag  
c2 1uF  
SSOP16  
vss  
5
c1 1uF  
RF_VDD  
ANT  
11  
10  
9
6
7
8
XI  
NC  
ANTB  
VSS  
ANT  
图
11.2 XM9816S
(
SPI
)典型应用电路  
XM9816S
典型应用电路(
I2C
模式)  
vdd33  
R1  
sda  
vdd33  
vss  
SPI_MOSI  
SPI_MISO  
SPI_CLK  
16  
15  
14  
1
R2  
scl  
I2C_SEL  
rst_n  
sda  
2
rst_n  
spi_cs  
3
4
RST_N  
SPI_CS  
PKT_FLAG  
NC  
scl  
pkt_flag  
spi_cs  
13  
12  
VDD33  
XO  
pkt_flag  
c2 1uF  
SSOP16  
vss  
5
6
7
8
c1 1uF  
RF_VDD  
ANT  
11  
10  
9
XI  
NC  
ANTB  
VSS  
ANT  
图
11.3 XM9816S
(
I2C
地址
A4=1
)典型应用电路  
注
:
I2C
模式下
,
芯
片内部在
SPI_MISO
和
SPI_CLK
脚分别集成了
4.7K
上拉电阻
,
外
部上拉电阻可根据实  
际应用情况来加或不加。  

XM9816S
中文手册
V1.3  
12.
注意事项  
12.1
上电和寄存器初始化数据  
1.
芯片内部集成上电复位功
能
(
POR
)
(如果只用内部复位
,
RST_N
脚只需要拉高或悬空
)
,  
T1
时间为上电复位时间,约
0.5ms  
2. T2
 
是晶振稳定时间,约为
1.5ms
,然后由
MCU
初始化寄存器  
3.
寄存器初始化完成后,芯片可以开始发射或接收数据  
4.
除了内部自动复位,芯片还有其它两种复位方式:  
a
、
RST_N
引脚复位:
RST_N
为低时对芯片进行复位  
b
、
软
件复位
:
先
写
0x1e[0]
寄存器
为
‘
1
’
,
使
能软件复位功能
,
再
对
0x01[7]
寄存器
写
‘
1
’  
就可以完成复位操作。采用内部
POR
和软件复位功能,可以省去
RST_N
引脚以节省  
MCU
资源,此时
RST_N
悬空或上拉至
VDD33
即可。  
初始化流程(采用内部
POR
)  

XM9816S
中文手册
V1.3  
12.2
进入
sleep mode
 
和唤醒  
当
SPI_CS
拉高,并且
MCU
写寄存器
0x01[15]
为“
1
”后
,
芯片进入
sleep mode,
 
此时消  
耗电流
<1uA, sleep mode
下寄存器的值能够保持。当
SPI_CS
拉低后
,
芯片自动唤醒进入
IDLE  
状态。
MCU
要拉低
SPI_CS
一段时间
(
等待晶体稳定,约
1.5ms),
再写
SPI
数据。  
12.3
数据包格式  
空中数据包格式  
Preamble: 1~8 bytes,
 
可设置
.  
SYNC: 16/32/48/64 bits,
 
可设置
.  
Trailer: 4~18 bits,
 
可设置
.  
Payload: TX/RX data. There are 4 data types:  
ꢀ
Raw data  
ꢀ
8bit/10bitlinecode  
ꢀ
Manchester  
ꢀ
Interleave with FEC option  
CRC: 16-bit CRC is optional.  
12.4 FIFO
长度  
默认是
64
个字节,接收和发送共用,也可设置成分开使用各
32
个字节  
把
0x23[15]
设置为
0
即各使用
32
字节  
12.5
清空
FIFO
指针
ꢀ
 
接收
FIFO
和发送
FIFO
的读写指针可通过对
0x25
,
0x26
相应寄存器写‘
1
’来清除。  
当接收到数据包
,
读指针将指示
FIFO
中有多少
bytes
数据。  
当接收器收到
SYNC
时,接收
FIFO
写指针会自动清
0
。  
当发射器发送完数据后,发射
FIFO
读指针会自动清
0
。  
12.6
数据包
payload
长度  
两种方式去确定
TX/RX
包长度。当寄存器
0x01[2]=1
时,内部状态机会根据
payload
第  
一个
byte
数据来检测包长度
。
如
要发
8
个字节
,
第
一个字节应写
8
,
总
字长为
9
个 字节。  
当寄存器
0x01[2]=0
,
第
一个
byte
数据没什么特殊意义
。
数
据包长度将由
TX FIFO
 
何时为  

XM9816S
中文手册
V1.3  
空或者何时清空
TX_EN
来决定,见下表。  
数据包长度  
0x01[2]  
0x01[1]  
pack_length_en  
fw_term_tx  
0
0
当
TX_EN=0
时
,
终止发射。  
当
RX_EN=0
时
,
终止接收。  
当
FIFO
为空时
,
自动终止发射。  
当
RX_EN=0
时
,
终止接收。  
1
x
Payload
第 一 个 字 节 表 示 包 长  
度
,
0
到
255bytes
。
当
发完所有的  
数据后
,
发射自动终止。  
1
12.7
状态机决定包长度  
当寄存器
0x01[2]=1
时,
payload
的第一个
byte
表示包长度,最大长度是
255 bytes
。  
12.7.1
发射时序  
下面显示
TX
时序
.
:当
MCU
将寄存器
0x00[15]
写为
‘
1
’
后,同时写寄存器
0x00[6:0]
设定  
好发射信道,芯片将自动根据
payload
来产生包。
MCU
需要在发射
trailer
前写入发射数  
据。
ꢀ
如果包长度超过
FIFO
长度,
MCU
需要多次写
FIFO
数据。
FIFO flag (reg0x12[13])  
表示
FIFO
是不是为空。  
TX
时序图  

XM9816S
中文手册
V1.3  
MCU
发送数据包流程图  
FIFO
和
PKT flags
作为
MCU
的中断信号  
在上面的流程图中
,
先
使能发送状态机
,
再
写发送数据到发送
FIFO
中
,
这
样可以提高
MCU  
效率,但要保证数据包在发送
TRAILER
之前写入所有数据;如果要写入的时间需要很长,  
则应先写好所有数据再启动发送状态。  
////////////////
发射流程例子:  
1
, 初始化寄存器,即写入需要优化的寄存器值  
write reg[0x0a] = 0x2403;  
write reg[0x02] = 0x4060;  
write reg[0x03] = 0x5810;  
write reg[0x05] = 0x7fa6;  
write reg[0x0f] = 0x661d;  
write reg[0x0d] = 0x6003;  
write reg[0x1a] = 0x00f7;  
2,
清空发送
FIFO  
write reg[0x26] = 0x8080;  
3,
写数据到
FIFO
(假如发送数据:
0x05 0x01 0x02 0x03 0x04 0x05,
 
第一个字节表示长度)  
write reg[0x27] = 0x0501;  
write reg[0x27] = 0x0203;  
write reg[0x27] = 0x0405;  
4,
启动发送使能,同时设置频道  

XM9816S
中文手册
V1.3  
write reg[0x00] = 0x80XX;//
低
7
位为频道号  
5
,等待
pkt_flag
为高,表示发送完成  
12.7.2
接收时序  
下面显示
RX
接收时序。当
MCU
将寄存器
0x00[14]
写为
1
并且选择好接收器信道,芯  
片将打开
RX
并等待正确的
syncword
。当收到正确的
syncword
,芯片将自动开始处理数据  
包。当数据包处理完毕,状态机将进入
IDLE
。  
当接收到的数据包长度长于
63 bytes
,
FIFO flag
 
将起作用
,
意
味着
MCU
必须从
FIFO
中  
读取数据。  
在弱信号
、
多
径和远距离时
,
不
一定能收到正确的
syncword
。
为
了避免出现死机情况
,
MCU  
需要做一个定时器
。
在
大多数应用中
,
数
据包是在一定时间窗口内可以收到的
,
如
果没收到  
系统要有定时器恢复到正常模式。  
接收时序图  

XM9816S
中文手册
V1.3  
接收流程图  
/////////
接收流程例子:  
1
,初始化寄存器,即写入需要优化的寄存器值  
write reg[0x0a] = 0x2403;  
write reg[0x02] = 0x4060;  
write reg[0x03] = 0x5810;  
write reg[0x05] = 0x7fa6;  
write reg[0x0f] = 0x661d;  
write reg[0x0d] = 0x6003;  
write reg[0x1a] = 0x00f7;  
2,
清空接收
FIFO  
write reg[0x25] = 0x8080;  
4,
启动接收使能,同时设置频道  
write reg[0x00] = 0x40XX;
 
//
低
7
位为频道号  
5
,等待
pkt_flag
为高,表示接收到一帧数据,开始从接收
FIFO
读数据
,
读出的第一个字节  
为数据长度  
read reg[0x28]  
read reg[0x28],
 
。
。。。。。。  

XM9816S
中文手册
V1.3  
12.7.3
自动应答和自动重传  
该功能可配置的寄存器有:  
写寄存器
0x01[3] = 1
,使能
auto-ack
功能。  
写寄存器
0x0b[11:8]
,
设
置重发次数
,
默
认值是
3
,
即
第一次发送失败后
,
再
重发
2
次。  
写寄存器
0x0b[5:0],
设置等待
ACK
时间,默认是
0x3f,
每个
step
是
16us,
总共大约为  
1ms
,
表
示等
待
1ms
时间如果没收
到
AC
K
包且重发次数没有到最大值就会重新发送数据包。  
使能和不使能
AUTO-ACK
功能对应的
PKT_FLAG
的拉起时间也不一样:  
发射方收到
ACK
包后或未收到
ACK
包但重发次数已最大,这时会拉起
PKT_FLAG
,  
退出发射状态,
MCU
在
PKT_FLAG
拉高后,可读寄存器
0x16[7]
位,如果为
1
即收到
ACK  
包。  
接收方在收到数据包后再发出
ACK
包,然后退出接收状态,拉起
PKT_FLAG
信号。  
ACK
包的时间约为
150us,
这由
preamble
和
syncword
的长度决定。  
12.7.4 CRC16
 
校验  
该功能默认为开启。  
写寄存器
0x01[13]
开启或关闭
CRC
功能。  
CRC
开启但
AUTO-ACK
功能没有开启时,芯片接收状态不受
CRC
状态影响,但寄存器会  
有
CRC error
状态位
。
PKT_FLAG
拉起后
,
MCU
可读
0x16[15]
位判断
CRC
是否正确
,
来决  
定是否需要读该帧数据。  
CRC
开启且
AUTO-ACK
功能也开启,这时芯片会自动判断
CRC
是否正确,如果接收方  
PKT_FLAG
拉起,说明收到一帧数据包且
CRC
正确。  
12.8
应用层决定包长度  
当寄存器
0x01[2]=0
时,
payload
第一个字节没有特殊意义,包长度由寄存器
0x01[1]
的状态  
决定。  
12.8.1 fw_term_tx=1  
当寄存器
0x01[1]=1
,
在
发射数据时
,
系
统将比较发送
FIFO
的写指针和读指针
,
如
果
MCU  
停止向发送
FIFO
写数据
,
芯
片将会最终探测到
FIFO
何时为空
,
然
后自动退出发射状态。  
时序图如下:  
注意
:
当
寄存器
0x01[1]=1,
不要让
FIFO
过空或过满
,
FIFO full/empty
 
阀值可以通过寄存器  

XM9816S
中文手册
V1.3  
FIFO THRESHOLD
设置,最优值由
SPI
速度和
MCU
读写
FIFO
速度决定。  
寄存器
0x01[2:1]=2
’
b01
时发射的流程图  
12.8.2 fw_term_tx=0(TX)  
当寄存器
0x01[2:1]=2
’
b00
时,系统只有在写寄存器
0x00[15] tx_en=0
时停止发射。  
当寄存器
0x01[2:1]=2
’
b00
时,
TX
时序图  

XM9816S
中文手册
V1.3  
当寄存器
0x01[2:1]=2
’
b00
时,
TX
流程图  
12.8.3 fw_term_tx=0 (RX)  
当
Reg0x01[2]=0
时,芯片将会在
Reg0x00[14]
写为
1
(
RX_EN=1
) 时开始接收包,此时芯  
片将会自动将
RX
设定到固定的频道接收
。
在
等待一定时间使内部时钟和
RX
电路稳定后,  
芯片开始在收到的信号中寻找
syncword
,一旦找到,将拉高
PKT_FLAG
,并向
FIFO
里写  
收到的数据
。
PKT_FLAG
将一直为高直到
MCU
将
FIFO
中的数据读完
。
当
MCU
把数据  
读完后,
PKT_FLAG
将拉低直到下个
TX/RX
周期。  
当
Reg0x01[2:1
]= ‘b00 or ‘b01
 
时,必须由
MCU
将
Reg0x00[14]
写为
0
才能退出
RX
状  
态。  
当
Reg0x01[2:1]=
’
b00 or
‘
b01
时,
RX
时序图  

XM9816S
中文手册
V1.3  
当
Reg0x01[2:1]=
’
b00 or
‘
b01
时,
RX
流程图  
12.8.4 PA
 
输出功率设置  
PA
的输出功率可以通过寄存器
PA_PW_SET[3:0]
,
即
reg0x02[3:0]
来设置
,
reg0x02[3:0]
是一  
个无符号数,数值越大,
PA
输
出功率越小。最大输出功率可到
6dBm
左
右,对应  
reg0x02[3:0]=0000
,最小输出功率约为
-18dBm
左右,对应
reg0x02[3:0]=1111
。  
12.8.5 RSSI  
XM9816S
支持
RSSI
检测功能,在
RX
状态下,可通过
reg0x11[15:8]
直接读取实时的
RSSI  
值,其检测方法如下:  
(1)
、将芯片设置在
RX
状态;  
(2)
、先将
reg0x1c[15]
写为
1
,关闭
RSSI
以消除之前留存的
RSSI
值。然后再将
reg0x1c[15]  
写为
0
,
开
启
RSSI
检测功能
,
等
待
60us
之后就可以通过
reg0x11[15:8]
读取当下的
RSSI
值。  
下图是芯片
RSSI
检测功能的实测性能:  

XM9816S
中文手册
V1.3  
13. FAQ  
1
、如何排查
SPI/I2C
接口不工作的问题  
a
、
先
检查芯片电源是否正常
,
VDD33
脚是否有电
压
(
3.3V
)
输
入
,
RF_VDD
脚是否有
1.8V  
左右的电压输出;  
b
、检查晶振是否起振,芯片上电复位后默认是
IDLE
状态,晶振开启,耗电约为
0.6mA
,  
此时用万用表量
XI
和
XO
脚的电压应该在
0.9V
左右
,
用
示波器探头点在
XOUT
脚上应  
该能看到
12MHz
正弦波(如果示波器探头电容过大、阻抗过低可能会导致晶振不起振,  
建议测量时将探头打在
X10
的档位
)
;  
c
、程序跑起来后,查看数字接口上是否有信号;  
d
、如果上述条件都正常,接口时序也没问题,应该就能正常读写寄存器。  
2
、芯片主要有哪几种状态  
芯片主要有
4
种状态:  
1
、
IDLE
状态:芯片上电(复位后)默认为
IDLE
状态,此时晶振开启,耗电约为
0.6mA
;  
2
、
RX
状态:写寄存器
reg0x00=0x40XX
(
XX
代表信道号)即可进入
RX
状态;  
3
、
TX
状态:写寄存器
reg0x00=0x80XX
(
XX
代表信道号)即可进入
TX
状态;  
4
、
Sleep
状态:将
reg0x01[15]
写为“
1
”然后拉高
SPI_CS
即可进入
sleep
状态,此时芯片耗  
电约为
1uA
,在
sleep
状态下,寄存器的值仍然可以保持。  
3
、如何验证
TX
功能正常以及如何测试
PA
输出功率  
a
、芯片上电复位,并按照说明书要求将优化值写入相应的寄存器(见表
10.2
)
;  
b
、写寄存器
reg0x01=0x2070
,并写寄存器
reg0x00=0x8030
启动
TX
,用频谱仪测,
ANT
脚  
上应该有
2.45GHz
的信号输出(也可以设置其它信道号进行测试
)
。  
c
、改变寄存器
reg0x02
的值可以调节
PA
输出功率的大小;  
4
、典型收发流程  
(1)
、发送过程
:  
a
、初始化寄存器,即写入需要优化的寄存器值  
write reg[0x0a] = 0x2403;  
write reg[0x02] = 0x4060;  

XM9816S
中文手册
V1.3  
write reg[0x03] = 0x5810;  
write reg[0x05] = 0x7fa6;  
write reg[0x0f] = 0x661d;  
write reg[0x0d] = 0x6003;  
write reg[0x1a] = 0x00f7;  
b
、清空发送
FIFO  
write reg[0x26] = 0x8080  
c
、写数据到
FIFO
,如发送的数据为:
0x05 0x01 0x02 0x03 0x04 0x05
(第一个字节表示长  
度,后面
5
个字节是数据,总长度为
6
个字节
)
,
则:  
write reg[0x27] = 0x0501;  
write reg[0x27] = 0x0203;  
write reg[0x27] = 0x0405;  
d
、启动发送使能,同时设置频道  
write reg[0x00] = 0x80XX;
 
//
低
7
位为频道号  
e
、等待
pkt_flag
为高,表示发送完成  
(2)
、接收过程
:  
a
、初始化寄存器,即写入需要优化的寄存器值  
write reg[0x0a] = 0x2403;  
write reg[0x02] = 0x4060;  
write reg[0x03] = 0x5810;  
write reg[0x05] = 0x7fa6;  
write reg[0x0f] = 0x661d;  
write reg[0x0d] = 0x6003;  
write reg[0x1a] = 0x00f7;  
b
、清空接收
FIFO  
write reg[0x25] = 0x8080;  
c
、启动接收使能,同时设置频道号  
write reg[0x00] = 0x40XX;
 
//
低
7
位为频道号  
d
、
等
待
pkt_flag
为高
,
表
示接收到一帧数据
,
此
时可以通过读取
reg0x16[15]
来判断
CRC
是  
否正确(
reg0x16[15]=0
表示
CRC
正确,如果
CRC
出错,该位会置为“
1
” ,但再次进  
入接收时
reg0x16[15]
会自动清零
)
,
如
果
CRC
正确
,
说
明接收到了正确的数据
,
则
MCU  
可以从接收
FIFO
中读取所需的数据,读出的第一个字节为数据长度。  
read reg[0x28]  
read reg[0x28]  
。。。。。。。  
注
:
CRC
开启但
AUTO_ACK
没有开启的条件
下
(
芯片复位后默认状态
)
,
接
收过程中
pkt_flag  
的拉高不受
CRC
影响,就是说
pkt_flag
拉高不能保证收到的数据包一定是正确的,在某些  
条件下
,
就
算没有发送方发送数据过来
,
接
收方接收到的噪声或干扰也可能刚好和同步码匹  
配从而拉
高
pkt_flag
。
因
此
,
pkt_fla
g
拉高
但
CRC
不正确时
,
应
该重新进入接收流
程
(
清
FIFO
、  
使能接收
。
。。。。。)。  
5
、
PKT_FALG
的状态如何变化  
启动
TX
后,
PKT_FLAG
会自动拉低,等数据发送完成后
PKT_FLAG
拉高,进入
IDLE  
之后
PKT_FLAG
依然保持为高直到再次启动
TX
或
RX
。  
在默认配置下,启动
RX
后,
PKT_FLAG
会自动拉低,然后芯片会一直搜索
syncword
,  
一旦接收到正确的
syncword
,
芯
片会继续接收
、
处
理后续的数据包
,
等
数据包接收完成后,  
PKT_FLAG
变高并一直维持高电平状态直到再次启动
TX
或
RX
。  
6
、
SYNCWORD
该如何设  
在接收状态下
,
芯
片只有收到正确的
syncword
后才会继续接收
、
处
理后续的数据包
,
因  
此
syncword
的设置对接收性能有一定影响
。
通
过
reg0x03[12:11]
可以设置
syncword
的长度,  

XM9816S
中文手册
V1.3  
通过
reg0x1f~reg0x22
可以设置
syncword
的具体数据,通过
reg0x24[5:0]
可以设置
syncword  
的容错
bit
数(如设为
2
,则收到的
syncword
错
1 bit
也会收到后续的数据
)
。
如果
syncword  
设得很长,容错设得很低,则有可能因为
syncword
出错而漏接发送端发过来的数据,如果  
syncword
设得很短,容错设得很高,则接收到的噪声或干扰容易和
syncword
匹配上而错接  
数据。因此,
syncword
的设置要根据具体的应用环境来定,一般情况下,长度设为
48bit
,  
容错
1bit
,效果较好。  
7
、如何使用
auto-ack
和重发功能  
写寄存器
0x01[3] = 1
,
使
能
auto-ack
功能
。
写
寄存器
0x0b[11:8]
,
设
置重发次数
,
默
认值  
是
3
次。开启该功能后,接收方在收到数据后会自动返回一个
ACK
信号给发送方,发送方  
发送完数据后会自动进入接收状态
,
等
待接收方返回的
ACK
信号
,
如
果在一定的时间
内
(
该  
时间可以通过
0x0b[5:0]
设置,默认值是
0x3f
,约
1ms
)没有收到
ACK
信号,则再次发送一  
遍数据直到接收到
ACK
信号或重发次数达到最大值。以上过程由芯片内部自动完成,无需  
MCU
干预。  
如果发送方开启了
auto-ack
和重发功能
,
但
接收方没有开启
,
则
发送方始终无法收到
ACK  
信号
,
等
待一定时间之后肯定会再次重发相同的数据直到重复次数达到最大值
。
该
设置可作  
为硬件重发功能。  
开启
auto-ack
和重发功能后
,
PKT_FLAG
拉高的时间和没开启该功能时的拉高时间不太  
一样:发送方在收到
ACK
信号或重发次数达到最大时才将
PKT_FLAG
拉高并退出发送状  
态,
PKT_FLAG
变高后可以读寄存器
0x16[7]
,如果为“
1
”则表示收到
ACK
信号。接收方  
在收到数据包并自动返回
ACK
信号后拉高
PKT_FLAG
,退出接收状态。  
在速率要求不高的情况下,建议打开
FEC
功能以提升性能。通过写寄存器
reg0x03[5:4]  
来开启
FEC13
或
FEC23
,
FEC13
比
FEC23
具有更好的性能,但效率也较低,收发同样的数  
据需要更长的时间。  
8
、
sleep
状态如何进入,如何唤醒,唤醒需要多少时间  
将
reg0x01[15]
写为“
1
”
,
然后拉高
SPI_CS
即可进入
sleep
状态。
SPI_CS
拉低一段时间  
就可从
sleep
状态唤醒进入
IDLE
状态,唤醒时间主要由晶振起振、稳定的时间决定,一般  
在
2ms
左右,待晶振起振稳定之后,就可以对芯片进行操作。  
9
、如何防止
FIFO
溢出  
在接收或发送长数据包时
,
为
了防止
FIFO
溢出
,
可
通过
reg0x2
4
寄存器设置相应的阈值,  
超过该阈值后,芯片会给出指示,该指示可以通过
reg0x12[13] (FIFO_FLAG)
来读取。  
10
、
RF
电路的
PCB
板需要注意什么  
首先要保
证
R
F
芯片的电源稳定
、
干
净
。
电
源上的稳压和去耦电容尽量靠近芯片的管脚,  
电源线和地线尽量粗短
。
可
用大面积的铜层作为地线用
,
没
有用到的地方可以和地线相连作  
为地线用
。
如
果
RF
芯片
3.3V
供电电源的噪声或干扰比较大
,
建
议经过
RC
或
LC
滤波之后  
再给
RF
芯片供电。  
晶振尽量靠近
XI
和
XO
脚,连接晶振的线尽量短以减小噪声干扰和分布电容对晶振的  
影响。晶振外壳应良好接地以减小对外辐射提高抗干扰能力。  
推荐几款天线如下:  
1
、板载天线  

XM9816S
中文手册
V1.3  
2
、导线天线  
注:导线天线的最佳长度和具体的
PCB
布局有关,可以通过实测找到最佳值。  
11
、提升芯片工作可靠性的说明  
为了提升芯片工作可靠性以及产品良率,建议做以下改进:  
1
、
0xoa
寄存器的优化值配置为
0x2403
;  
2
、
在
每次启动收发之前,
0x07
寄存器先为
0x3f11
,
再
写为
0x7f11
,确保每次接收或发  
送时,
VCO
都工作在最佳的
band
。  
示例:  
……
..  
write reg[0x07] = 0x3f11;  
write reg[0x07] = 0x7f11;  
write reg[0x00] = 0x80XX(TX)
 
或
write reg[0x00] = 0x40XX(RX)
 
[XX
是信道号
]  
……
..  

XM9816S
中文手册
V1.3  
14.
版本更新历史  
版本号  
V1.0  
V1.1  
创建时间  
2015.4.20  
2015.8.10  
创建内容  
创建者  
备注  
初始文档
V1.0  
寄存
器
0x0
a
优化值更新  
为:
0x2053  
V1.2  
V1.3  
2016.1.15  
1
、寄存器
0x03
优化值  
更新为:
0x5810  
2
、
完
善寄存器描述
、
增  
加
F
A
Q  
1
、 寄存器
0x0a
优化值  
更新为:
0x2403  
2
、 在每次启动收发之  
前,
0x07
寄存器先  
为
0x3f11
,再写为  
0x7f11  
2018.10.25  
具体见  
F
A
Q–11