LT8900 2.4G 射频芯片 芯片特点 包括射频前端和数字基带的单芯片解决方案 支持跳频 支持 SPI 和 I2C 接口 内置 auto_ack 功能 数据率 1Mbps 极低功耗 支持信号能量检测 支持 QFN4*4 和 SSOP16 的封装 芯片简介 LT8900 是一款低成本, 高集成度的 2.4GHZ 的无线收发芯片, 片上集成发射机, 接收机, 频率综合器, GFSK 调制解调器 发射机支持功率可调, 接收机采用数字扩展通信机制, 在复杂环境和强干扰条件下, 可以达到优良的收发性能 外围电路简单, 只需搭配 MCU 以及少数外围被动器件 LT8900 传输 GFSK 信号, 发 射功率最大可以到 6dBm 接收机采用低中频结构, 接收灵敏度可以达到 -87dBm 数字信道能量检测可以随时监控信道质量 片上的发射接收 FIFO 寄存器可以和 MCU 进行通信, 存储数据, 然后以 1Mbps 数据率在空中传输 它内置了 CRC,FEC,auto-ack 和重传机制, 可以大大简化系统设计并优化性能 典型应用 数字基带支持 4 线 SPI 和 2 线 I2C 接口, 此外还 有 Reset,Pkt_flag, Fifo_flag 三个数字接口 遥控 无线键盘鼠标 无线组网 智能家居 工业和商用近距离通信 IP 电话, 无绳电话 机器间相互通信 为了提高电池使用寿命, 芯片在各个环节都降低功耗, 芯片最低工作电压可以到 1.9V, 在保持寄存器值条件下, 最低电流为 1uA 芯片采用 QFN24 4*4mm 和 SSOP16 封装, 符合 RoHS 标准
1. 模块方框图... 4 2. 极限值... 5 3. 电气特性... 6 4. 典型应用... 9 5. 管脚描述... 11 6. SPI 接口... 13 6.1. SPI 默认格式... 13 6.2. SPI Optional Format... 13 6.3. SPI 时序要求... 14 7. IIC 接口... 15 7.1. I2C 命令格式... 15 7.2. I2C 特性... 15 7.3. I2C 器件地址... 16 8. 状态机框图... 17 9. 寄存器信息... 18 9.1. Register 3 Read only... 18 9.2. Register 6 Read only... 18 9.3. Register 7... 18 9.4. Register 9... 19 9.5. Register 10... 19 9.6. Register 11... 19 9.7. Register 23... 19 9.8. Register 27... 20 9.9. Register 29 Read only... 20 9.10. Register 30 Read only... 20 9.11. Register 31 Read only... 20 9.12. Register 32... 21 9.13. Register 33... 23 9.14. Register 34... 23 9.15. Register 35... 23 9.16. Register 36... 24 9.17. Register 37... 24 9.18. Register 38... 25 9.19. Register 39... 25 9.20. Register 40... 25 Page 2
9.21. Register 41... 25 9.22. Register 42... 26 9.23. Register 43... 26 9.24. Register 48 Read only... 27 9.25. Register 50... 27 9.26. Register 52... 27 10. 寄存器推荐值... 29 11. 注意事项... 30 11.1. 上电和寄存器初始化数据... 30 11.2. 进入 sleep mode 和唤醒... 31 11.3. 数据包格式... 31 11.4. 清空 FIFO 指针... 31 11.5. Packet Payload Length... 31 11.6. 状态机决定包长度... 33 11.6.1. 发射时序... 33 11.7. 接收时序... 35 11.8. MCU/ 应用决定包长度... 37 11.8.1. FW_TERM_TX= 1... 37 11.8.2. FW_TERM_TX= 0 ( 发射状态 )... 39 11.8.3. FW_TERM_TX= 0 (RX)... 41 11.9. 晶体振荡器... 43 11.9.1. Quartz crystal application... 43 11.9.2. 外部时钟输入... 43 11.9.3. 减小管脚数... 44 11.9.4. CKPHA... 44 12. 封装形式... 45... 46 13. IR Reflow Standard... 47 14. 文档更新历史... 48 Page 3
1. 模块方框图 VDD LDO_OUT LDO_VDD VDD_IO 1 2 5 6 7 19 22 21 20 10 power connections Low Dropout Voltage Reg. 11 14 digital baseband interface SPI_SS CLK ANTb ANT Balanced RF in/out 3 4 2 T R 2 2.4 GHz GFSK Transmitter RF Synthesizer Analog PLL (APLL) Clk Tx Data Freq. control Digital State Machine and Register Block Data Framing Buffer and Logic Incl. CRC, FEC, whitening Incl. AutoAck, Auto retry 17 16 15 8 13 MISO/12C_DAT MOSI/A4 I2C_SEL FIFO PKT 2 RSSI 18 RST_n 2.4 GHz GFSK Receiver Cik Data Xtal trim 12 23 BRCLK XTALO Ground Connections oscillator/ buffer 24 XTALI 9 Vss Exposed Pad Vss Page 4
2. 极限值 Table 1. 极限值 Parameter Symbol MIN TYP MAX Unit 工作温度. TOP -40 +85 ºC 存储温度. TSTORAGE -55 +125 ºC 工作电压 VIN_MAX +3.7 1.8V 电压 VDD_MAX +2.5 VDC IO 电压 VOTHER -0.3 +3.7 VDC 输入射频信号强度 PIN +10 dbm Notes: 1. 极限值表示芯片在超出此条件工作时, 可能会损坏 芯片在建议工作值范围内功能正常 2. 芯片对静电比较敏感, 在运输和存储时, 最好使用防静电设备, 用机器或手工焊接时要有良好的接地 Page 5
3. 电气特性 Table 2. 电气特性 下面的电气特性都是在 TA = 25 C, LDO_VDD= VDD_IO = 3.3 VDC 条件下得到的 Parameter Symbol MIN TYP MAX Units Test Condition and Notes 工作电压 直流工作电压 1.9 3.6 VDC` 工作电流 TX 工作电流 IDD_TXH 18 ma POUT =2dBm Input to VDD_IO and LDO_VDD pins. IDD_TXL 12 ma POUT = low power setting RX 工作电流 IDD_RX 17 ma Idle mode 工作电流 IDD_IDLE1 1.4 ma IDD_IDLE2 1.1 ma Sleep mode 工作电流 IDD_SLP 1 ua 数字输入 高电平电压 VIH 0.8 VDD_IN 1.2 VDD_IN 低电平电压 VIL 0 0.8 V 输入电容 C_IN 10 pf 输入漏电 I_LEAK_IN 10 ua 数字输出 高电平电压 VOH 0.8 VDD_IN VDD_IN 低电平电压 VOL 0.4 V 输出电容 C_OUT 10 pf 输出漏电 SPI 电平边沿时间 时钟信号 I_LEAK_OU T T_RISE_OU T V V 10 ua 5 ns SPI 时钟沿上升下降时间 Tr_spi 25 ns SPI 时钟速度 FSPI 0 12 MHz 收发器特性 工作频率 F_OP 2400 2482 MHz 天线端口差异 VSWR_I <2:1 VSWR Receive mode. Configured for BRCLK output running. Configured for BRCLK output OFF. Requirement for error-free register reading, writing. (Z0=50Ω) VSWR_O <2:1 VSWR Transmit mode. Page 6
Parameter Symbol MIN TYP MAX Unis Test Condition and Notes Receive Section Measured using 50 Ohm balun. For BER 0.1%: 接收灵敏度 -87 dbm FEC off. 最大输入功率 -20 1 dbm 数据率 Ts 1 us 抗干扰特性 For BER 0.1% 同频干扰 CI_cochanne l +9 db -60 dbm desired signal. 1MHz 相邻信号干扰 CI_1 +6 db -60 dbm desired signal. 2MHz 相邻信号干扰 CI_2-12 db -60 dbm desired signal. 3MHz 相邻信号干扰 CI_3-24 db -67 dbm desired signal. 30 MHz to OBB_1-10 dbm 2000 MHz Meas. with ACX 2000 MHz to BF2520 ceramic OBB_2-27 dbm 2400 MHz filter 2 on ant. pin. 带外干扰 2500 MHz to OBB_3-27 dbm 3000 MHz Desired sig. -67 3000 MHz to OBB_4-10 dbm dbm, BER 0.1%. 12.75 GHz Transmit Section Measured using 50 Ohm balun3: POUT= maximum output power PAV 6 Reg09=0x4800 POUT = nominal output power, 发射功率 2 dbm Reg09=0x1840 POUT=minimum output -17 power,reg09=1fc0 二次谐波 -50 dbm Conducted to ANT pin. 三次谐波 -50 dbm Conducted to ANT pin. 调制特性 最大频偏 带内辐射 00001111 pattern 01010101 pattern f1avg 280 khz f2max 225 khz 2MHz 频偏 IBS_2-40 dbm >3MHz 频偏 IBS_3-60 dbm 带外辐射 Note: OBS_O_1 < -60-36 dbm 30 MHz ~ 1 GHz OBS_O_2-45 -30 dbm 1 GHz ~ 12.75 GHz, excludes desired signal and harmonics. OBS_O_3 < -60-47 dbm 1.8 GHz ~ 1.9 GHz OBS_O_4 < -65-47 dbm 5.15 GHz ~ 5.3 GHz 1. 测试是在 2460MHz 频率下进行, 干扰信号以 1MHz 间隔测试 同时因为干扰信号的谐波会影响性能, 所以要对其进行良好的滤波 2. 在一些应用中, 天线前端会加上滤波器, 或者受到天线有效带宽的限制 Page 7
Parameter Symbol MIN TYP MAX Unit Test Condition and Notes 射频 VCO 和 PLL PLL 锁定范围 FLOCK 2366 2516 MHz 发射接收机频偏 -- ppm Same as XTAL pins frequency tolerance 信道宽度 1 MHz dbc/h -95 z 单边带相位噪声 dbc/h -115 z 晶体频率 12.00 0 MHz 550kHz offset 2MHz offset Designed for 12 MHz crystal reference freq. See Register 27 description. 芯片内部晶体调节范围 ±20 ppm Amount of pull depends on crystal spec. and operating point. PLL 稳定时间 THOP 75 150 us Settle to within 30 khz of final value. 辐射 OBS_1 < -75-57 dbm 30 MHz ~ 1 GHz IDLE state, Synthesizer and OBS_2-68 -47 dbm 1 GHz ~ 12.75 GHz VCO ON. LDO 电压 压降范围 Vdo 0.17 0.5 V Measured during Receive state Page 8
4. 典型应用 使用 SPI 接口的无线收发器 Figure 1. LT8900 典型应用电路 C3 22pF C2 22pF X1 12MHz R2 680K R1 2.2K VDD1.8V VDD_IO C1 1uF VSS 24 23 22 21 20 19 VDD33 1 VDD 2 VDD XTALI XTALO VDD LDO_OUT LDO_VDD VDD RESET_n RST_n 18 SPI_miso MISO/I2C_DAT 17 SPI_miso RESET_n SPI_CLK SPI_mosi 3 ANTb 25 MOSI/A4 16 SPI_mosi SPI_SS 4 ANT I2C_SEL 15 R3 10K 5 VDD SPI_CLK/I2C_CLK 14 SPI_CLK PKT_flag 6 VDD VDD FIFO VSS VDD_IO SPI_SS BRCLK 7 8 9 10 11 12 PKT 13 PKT_flag VSS VDD1.8V FIFO_FLAG VDD_IO SPI_SS BRCLK LT8900 QFN24 电路图 SPI_mosi 1 MOSI SPI_CLK SPI_CLK 16 SPI_miso 2 MISO VSS 15 VSS VDD33 3 VDD_DIG SPI_SS SPI_SS 14 SPI_miso RESET_n R1:2.2K C2:22pF C3:22pF X1:12MHz R2:680K 4 RST_n 5 LDO_OUT 6 XTALO 7 XTALI PKT_flag PKT 13 VDD33 LDO_IN 12 RF_VDD 11 ANT 10 R3:10 K RESET_n SPI_CLK SPI_mosi SPI_SS PKT_flag 8 PLL_VDD ANTb 9 C1: 1uF VSS VDD18 LT8900 SSOP16 电路图 Page 9
注 :10K 电阻主要是为了让 ANT 脚 DC 为 0V, 如果是倒 F 型天线, 就不用这种加 10K 电阻了 Page 10
5. 管脚描述 Table 3. 管脚描述 QFN24 Pin No. Pin Name Type Description 1, 2, 5, 6, 7, 19, 22 VDD PWR 电源. 3, 4 ANTb, ANT Balanced RF 射频输入输出 8 FIFO O FIFO 状态标志 9 GND GND 地 10 VDD_IO PWR 数字 IO 电源 11 SPI_SS I 12 BRCLK O 内部时钟输出 13 PKT O 发射 / 接收状态支持位 14 SPICLK I SPI/I2C 时钟输入脚 15 I2C_SEL I 16 MOSI/A4 I 17 MISO/I2C_DA T 18 RST_n I I/O 20 LDO_VDD PWR 片上 LDO 输入电压 21 LDO_OUT PWR 23 XTALO A O 晶体振荡器输出脚 24 XTALI A I 晶体振荡器输入脚 25 (Exposed pad) GND GND 地 SPI: 使能 SPI 信号, 低有效, 也可以使芯片进入 sleep mode I2C: 使芯片进入 sleep mode 模式选择 0: SPI 模式 1: I2C 模式 SPI:SPI data 输入脚 I2C: 设置 I2C 地址位 A4. SPI: SPI data 输出脚 I2C: 数据输出输入脚当 RST_n 为低时, 将关闭芯片, 电流 <1uA, 数字部分的值也会失去 如果想保留数字寄存器的值, 可以进入 sleep 模式 当 RST_n 为高时, 将开启芯片, 寄存器将回复复位值 片上 LDO 输出电压,1.8V 通常会和芯片上其他 VDD 脚连在一起, 提供干净的电源 不要再接其他负载 Page 11
Table 4. 管脚描述 SSOP16 Pin No. Pin Name Type Description 1 MOSI Input SPI:SPI data 输入脚 2 MISO output SPI: SPI data 输出脚 3 VDD_DIG Power 1.8V 电源 4 RST_n Input 5 LDO_OUT Power 6 XTALO A O 晶体振荡器输出脚 7 XTALI A I 晶体振荡器输入脚 8 PLL_VDD Power 1.8V 电源 9 10 Balanced RF 射频输入输出 Balanced RF 11 RF_VDD Power RF 单元供电电源 12 LDO_IN Power 片上 LDO 输入电压 当 RST_n 为低时, 将关闭芯片, 电流 <1uA, 数字部分的值也会失去 如果想保留数字寄存器的值, 可以进入 sleep 模式 当 RST_n 为高时, 将开启芯片, 寄存器将回复复位值片上 LDO 输出电压,1.8V 通常会和芯片上其他 VDD 脚连在一起, 提供干净的电源 不要再接其他负载 13 PKT output 发射 / 接收状态标志位可通过设置为高或低有效 14 SPI_SS input 15 GND GND 地 16 SPICLK Input SPI/I2C 时钟输入脚 SPI_SS 为 0, 使能 SPI 信号, 低电平有效, 也可以使芯片进入 sleep mode Page 12
6. SPI 接口 6.1. SPI 默认格式 Figure 2. 当 CKPHA=1 时,SPI 为下降沿采样 ( 为封装片的标准格式 ) SPI_SS T2a(>41.5nS) T6(>83nS) T2b T1 SPI_CLK T3 (>41.5nS) T4 T5 (>250nS) SPI_MOSI RW A6 A5 A4 A3 A2 A1 A0 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D15 D14 D13 SPI_MISO S7 S6 S5 S4 S3 S2 S1 S0 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D15 D14 D13 6.2. SPI Optional Format Figure 3. 当 CKPHA=0 时,SPI 为上升沿采样 ( 在 COB 时可以选择 ) SPI_SS T2a T6 T2b T1 T3 T4 T5 SPI_CLK SPI_MOSI RW A6 A5 A4 A3 A2 A1 A0 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D15 D14 D13 SPI_MISO S7 S6 S5 S4 S3 S2 S1 S0 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D15 D14 D13 Notes: 1. SPI 读写位 : 写 = 0, 读 = 1. 2. 访问 FIFO 寄存器 50 时, 可以一字节一字节读 (8-bits 的整数倍 ) 访问多个 FIFO 数据时可以用一个 SPI_SS 周期 3. 访问除 FIFO 外的其他寄存器时, 一次要读 16-bits 4. 访问除 FIFO 外的其他多个寄存器时, 可以用一个 SPI_SS 周期 此时, 地址只要写一次, 然后是 16-bits 当写完一个寄存器值后,LT8900 会自动增加寄存器地址 5. MISO 输出的 S7:S0 和寄存器 48 是一样的 ( 包括 CRC 结果,FEC 错误标志和状态机指针 ) Page 13
6.3. SPI 时序要求 Table 4. SPI 时序要求 Name Min Typ. Max Description T1 250ns 两次 SPI 访问的间隔时间 T2a, T2b 41.5ns SPI_SS 和 SPI_CLK 的间隔 T3 Note 1 地址和数据间隔时间 T4 Note 1 高位字节和低位字节的时间间隔 T5 Note 2 两个寄存器数据的时间间隔 T6 83ns SPI_CLK 时钟周期 Notes: 1. 在访问寄存器 50 中的 FIFO 数据时, 芯片需要 450nS 去找到正确的读 FIFO 读取的指针地址 2. 当读寄存器 50 中的 FIFO 数据时, 至少需要等 450nS 读其他寄存器时, T5min = 41.5ns. Page 14
7. IIC 接口 7.1. I2C 命令格式 Figure 4. I2C 数据传输 Example I2C Data Transfers: Master write 1 or more data byes to LT8900 FIFO register: start device_addr[6:0] W A byte_addr[7:0] A data[7:0] A A data[7:0] A stop Master writes 1 byte to LT8900 to specify FIFO register, then reads one or more bytes from LT8900 FIFO: start device_addr[6:0] W A byte_addr[7:0] A Sr device_addr[6:0] R A data[7:0] A A data[7:0] A stop Master may continue reading LT8900 FIFO: start device_addr[6:0] R A data[7:0] A data[7:0] A A data[7:0] A stop Sr: Repeated Start A: Acknowledge Master to Slave Slave to Master 7.2. I2C 特性 Table 5. I2C 特性列表 I2C device Slave Mode Optional Feature List LT8900 Support? Standard-mode 100 kbps Fast-mode 400 kbps Fast-mode Plus 1000 kbps High-speed mode 3200 kbps Clock Stretching 10-bit slave address general call address software reset device ID Yes Yes Yes No No No No No No Page 15
7.3. I2C 器件地址 在 I2C 条件下, 芯片器件地址如下 : A6 A5 A4 A3 A2 A1 A0 R/W Read=1 0 1 由 PIN15 MOSI/A4 决定 1 0 0 0 Write=0 Page 16
8. 状态机框图 Wake up Sleep sleep OFF VCO_cal VCO_wait Wake up IDLE VCO_sel no auto_ack ACK received no auto_ack TX_en RX_en no CRC error NACK TX packet RX packet packet error auto_ack RX ack auto_ack TX ack Page 17
9. 寄存器信息 下面的寄存器可以通过 SPI 或者 I2C 访问 有些寄存器是内部调试使用, 所以这里没有公开, 应保持初始化值 9.1. Register 3 Read only Bit No. Bit Name Description 15:13 (Reserved) (Reserved) 12 RF_SYNTH_LOCK Table 6. Register 3 information RF 频率综合器锁定标志位 1: 锁定 0: 没锁定 11:0 (Reserved) (Reserved) 9.2. Register 6 Read only Bit No. Bit Name Description Table 7. Register 6 information 15:10 RAW_RSSI[5:0] RSSI 原始数据 9:0 (Reserved) (Reserved) 9.3. Register 7 Table 8. Register 7 information Bit No. Bit Name Description 15:9 (Reserved) (Reserved) 8 TX_EN 7 RX_EN 使芯片进入 TX 状态,1 有效注意 : 不能使 TX_EN 和 RX_EN 同时为 1, 同时为 0 时, 芯片为 idle 状态使芯片进入 RX 状态,1 有效注意 : 不能使 TX_EN 和 RX_EN 同时为 1, 同时为 0 时, 芯片为 idle 状态 6:0 RF_PLL_CH_NO [6:0] 设定 RF 频道, 空中频率为 :f=2402+ RF_PLL_CH_NO Page 18
9.4. Register 9 Table 9. Register 9 information Bit No. Bit Name Description 15:12 PA_PWCTR[3:0] PA 电流控制 11 (Reserved) (Reserved) 10:7 PA_GN[3:0] PA 增益控制 6:0 (Reserved) (Reserved) 9.5. Register 10 Table 10. Register 10 information Bit No. Bit Name Description 15:1 (Reserved) (Reserved) 0 XTAL_OSC_EN 1: 开启晶体振荡器. 0: 关闭晶体振荡器 9.6. Register 11 Table 11. Register 11 information Bit No. Bit Name Description 15:9 (Reserved) (Reserved) 8 RSSI_PDN 1: 关闭 RSSI 0: 开启 RSSI 7:0 (Reserved) (Reserved) 9.7. Register 23 Table 12. Register 23 information Bit No. Bit Name Description 15:3 (Reserved) (Reserved) 2 TxRx_VCO_CAL_EN 1: 在 TX/RX 开启前重新校准 VCO 0: 在 TX/RX 开启前不校准 VCO 1:0 (Reserved) (Reserved) Page 19
9.8. Register 27 Bit No. Bit Name Description 15:0 (Reserved) (Reserved) Table 13. Register 27 information 9.9. Register 29 Read only Table 14. Register 29 information Bit No. Bit Name Description 15:8 (Reserved) (Reserved) 7:4 RF_VER_ID [3:0] RF 版本号 3 (Reserved) (Reserved) 2:0 Digital version 数字版本号 9.10. Register 30 Read only Bit No. Bit Name Description Table 15. Register 30 information 15:0 (Reserved) (Reserved) 9.11. Register 31 Read only Table 16. Register 31 information Bit No. Bit Name Description 15:12 (Reserved) (Reserved) 11:0 (Reserved) (Reserved) Page 20
9.12. Register 32 Table 17. Register 32 information Bit Name R/W Description default 15:13 PREAMBLE_LEN R/W 12:11 SYNCWORD_LEN R/W 10:8 TRAILER_LEN R/W 7:6 DATA_PACKET_TYPE R/W 000: 1byte, 001: 2bytes, 010: 3 bytes, 111: 8 bytes 11: 64 bits {Reg39[15:0],Reg38[15:0],Reg37[15:0],Reg36[15:0]} 10: 48bits, {Reg39[15:0],Reg38[15:0],Reg36[15:0]} 01: 32bits, {Reg39[15:0],Reg36[15:0] 00: 16 bits,{reg36[15:0]} 000: 4 bits, 001: 6bits, 010: 8 bits, 011: 10 bits. 111: 18 bits 00: NRZ law data 01: Manchester data type 10: 8bit/10bit line code 11: Interleave data type 010B 11B 000B 00B 5:4 (Reserved) R/W (Reserved) 00B Page 21
Bit Name R/W Description default 选择时钟输出频率 3 b000: 置低 3 b001: 晶体频率输出 3:1 BRCLK_SEL R/W 3 b010: 晶体频率除 2 3 b011: 晶体频率除 4 3 b100: 晶体频率除 8 3 b101: 1MHz 3 b110: APLL_CLK (12MHz) 3 b111: 置低 011B 0 (Reserved) W/R (Reserved) 0B Page 22
9.13. Register 33 Table 18. Register 33 information Bit Name R/W Description Default 15-8 VCO_ON_DELAY_CNT[7:0] R/W 在每次进入 RX 或者 TX 后, 等待内部 VCO 稳定的时间, 单位为 1uS 63H 7-6 TX_PA_OFF_DELAY[1:0] R/W PA 关闭的等待时间, 单位是 1uS, 基数是 4uS. 00 表示 4uS 00B 5:0 TX_PA_ON_DELAY[5:0] R/W 在 VCO_ON 以后, 等待内部 PA 开启的时间, 单位为 1uS 07H 9.14. Register 34 Table 19. Register 34 information Bit Name R/W Description Default 15 Bpktctl_direct R/W 在 direct mode 中, 它控制 TX 的 PA 和 RX 的宽带 / 窄带模 式 0B 14-8 TX_CW_DLY[6:0] R/W 在发射数据前, 传输 CW 调制信号的时间 03H 7-6 Reserved R/W 0B 5:0 TX_SW_ON_DELAY[5:0] R/W VCO_ON 后, 等待 RF switch 开启的时间, 单位 1uS 0BH 9.15. Register 35 Table 20. Register 35 information Page 23
Bit Name R/W Description default 15 POWER_DOWN W 1: 先关闭晶体振荡器, 再关闭 LDO ( 寄存器值将丢失 ) 0: Leave power on. 0B 14 SLEEP_MODE W 1: 进入 sleep mode, 晶体关闭, 保持 LDO 工作 ( 寄存器值将保留 ) 当 SPI_SS 为低时, 芯片将重新工作 0: idle mode 0B 13 (Reserved) (Reserved) 1: 在 sleep mode 开启晶体振荡器 12 BRCLK_ON_SLEEP R/W 11:8 RE-TRANSMIT_TIMES R/W 7 MISO_TRI_OPT R/W 耗电但能快速启动 0: 在 sleep mode 关闭晶体振荡器 省电但启动速度慢 在 auto-ack 功能开启是, 最多的重发次数 设为 3 时, 为重发 2 次 1: 当 SPI_SS=1 时,MISO 保持低阻. 0: 当 SPI_SS=1 时,MISO 保持三态. 1B 3H 0B 6:0 SCRAMBLE_DATA R/W Scramble data 的种子, 收发两边必须一致. 00H 9.16. Register 36 Table 21. Register 36 information Bit Name R/W Description default 15:0 SYNC_WORD[15:0] R/W LSB bits of sync word is sent first. 0000H 9.17. Register 37 Table 20. Register 37 information Bit Name R/W Description default 15:0 SYNC_WORD[31:16] R/W LSB bits of sync word is sent first. 0000H Page 24
9.18. Register 38 Table 21. Register 38 information Bit Name R/W Description default 15:0 SYNC_WORD[47:32] R/W LSB bits of sync word is sent first. 0000H 9.19. Register 39 Table 22. Register 39 information Bit Name R/W Description default 15:0 SYNC_WORD[63:48] R/W LSB bits of sync word is sent first. 0000H 9.20. Register 40 Table 23. Register 40 information Bit Name R/W Description default 14:1 FIFO_EMPTY_THRESHOLD R/W 认为 FIFO 为空的阈值 0100B 1 9:6 FIFO_FULL_THRESHOLD R/W 认为 FIFO 为满的阈值 0100B 5:0 SYNCWORD_THRESHOLD R/W 认为 SYNCWORD 为正确的阈值 07 表示可以错 6bits,01 表示 0bit 可以错 0bits 07H 9.21. Register 41 Table 24. Register 41 information Bit Name R/W Description default 15 CRC_ON R/W 1: 开启 CRC 0: 关闭 CRC 1B 14 (Reserved) R/W (Reserved) 0B 13 PACK_LENGTH_EN R/W 1: 第一字节表示 payload 的长度 如要写 8 个 byte 有效字节, 那第一个字节应写 8, 总长 9 1B Page 25
Bit Name R/W Description default 12 FW_TERM_TX R/W 1: 当 FIFO 的读指针和写指针相等时,LT8900 将关闭发射 0: 由 MCU 确定长度并关闭发射 1B 11 AUTO_ACK R/W 1: 当接收到数据, 自动回 ACK 或者 NACK 1B 0: 接收数据后, 不回 ACK, 直接进 IDLE 10 PKT_FIFO_POLARITY R/W 1: PKT flag, FIFO flag 低有效. 0B 0: 高有效 9:8 (Reserved) R/W (Reserved) 00B 7:0 CRC_INITIAL_DATA R/W CRC 计算初始值 00H 9.22. Register 42 Table 25. Register 42 information Bit Name R/W Description default 15:1 0 SCAN_RSSI_CH_NO R./W RSSI 扫描的信道数量,RSSI 值将保留到 FIFO 中 00H 9:8 (Reserved) R/W (Reserved) 01B 7:0 Rx_ACK_TIME[7:0] R/W 等待 RX_ACK 的时间,1 表示 1uS 6BH 9.23. Register 43 Table 26. Register 43 information Bit Name R/W Description default 15 SCAN_RSSI_EN R./W 1: 开始扫描 RSSI 0B 通常 RSSI 从 2402MHz 开始扫描 (0 信道 ) 14:8 SCAN_STRT_CH_OFFST[6: 0] R/W 这里可以开始的信道数 如设为 10, 将从 2412MHz 开始扫描 01B 7:0 WAIT_RSSI_SCAN_TIM[7:0] R/W 设置在扫描不同信道 RSSI 时,VCO&SYN 稳定时间 6BH Page 26
9.24. Register 48 Read only Table 27. Register 48 information Bit Name R/W Description default 15 CRC_ERROR R CRC 错误标志位,1 表示错误,0 表示正确 14 FEC23_ERROR R FEC23 错误标志位,1 表示错误,0 表示正确 13:8 FRAMER_ST R Framer 状态 7 SYNCWORD_RECV R 1: 表示收到 syncword, 只在接收时有效 跳出接收状态时, 为 0 6 PKT_FLAG R PKT flag 标志 5 FIFO_FLAG R FIFO flag 标志 4:0 (Reserved) R (Reserved) 9.25. Register 50 Table 30. Register 50 information Bit Name R/W Description default 15:0 TXRX_FIFO_REG R/W MCU 读取 FIFO 数据的接口 00H 9.26. Register 52 Table 31. Register 51 information Bit Name R/W Description default 15 CLR_W_PTR W 1: 清空 TX FIFO 指针为 0, 但不清空 TX FIFO 中的数据 0B 14 (Reserved) W 13:8 FIFO_WR_PTR R FIFO 写指针 7 CLR_R_PTR W 1: 清空 RX FIFO 指针为 0.. 但不清空 RX FIFO 中的数据 0B 6 (Reserved) Page 27
Bit Name R/W Description default FIFO 读指针 5:0 FIFO_RD_PTR R 当使用 auto-ack 功能时, 此位可以做为标志位 当 PKT 拉高后, 读此寄存器, 如果为 0, 即收到 ack 如果不为 0, 而是发射总 byte 数 +1, 即没收到 ack Page 28
10. 寄存器推荐值 下面的寄存器值是推荐值 Table 32. 寄存器推荐值 Register number Power-up reset value (hex) 0 6fef 6fe0 1 5681 5681 2 6619 6617 4 5447 9cc9 5 f000 6637 7 0030 0030 Recommended value for many applications (hex) Notes Use for setting RF frequency, and to start/stop Tx/Rx packets. 8 71af 6c90 9 3000 1840 Sets Tx power level 10 7ffd 7ffd Crystal osc. enabled. 11 4008 0008 RSSI enabled. 12 0000 0000 13 4855 48bd 22 c0ff 00ff 23 8005 8005 Calibrate VCO before each and every Tx/Rx. 24 307b 0067 25 1659 1659 26 1833 19e0 27 9100 1300 No crystal trim. 28 1800 1800 29 00x0 read-only Stores p/n, version information. 30 f413 read-only Stores p/n, version information. 31 1002 read-only Stores p/n, version information. 32 1806 4800 Packet data type: NRZ, no FEC, BRCLK=12 div. by 4= 3MHz 33 6307 3fc7 Configures packet sequencing. 34 030b 2000 Configures packet sequencing. 35 1300 0300 AutoAck max Tx retries = 3 36 0000 Choose unique sync words 37 0000 for each over-the-air 38 0000 network. Similar to a MAC address. 39 0000 40 2107 2102 Configure FIFO flag, sync threshold. 41 b800 b000 CRC on. SCRAMBLE off. 1st byte is packet length. 42 fd6b fdb0 43 000f 000f Configure scan_rssi. Page 29
11. 注意事项 LT8900 可以给很多现有的应用添加无线功能. 下面主要回答了在使用过程中遇到的问题 11.1. 上电和寄存器初始化数据 Figure 5. 上电和寄存器初始化顺序 VDD RST_n BRCLK SPI_SS T1 T2 T3 1. 当 VDD 稳定后, 确保在 RST_n 脚上有 reset 信号 2. 当 RST_n =1, BRCLK 输出 12MHz 时钟 3. 等待 T1(1 到 5ms), 使晶体稳定, 然后由 MCU 初始化寄存器 4. 寄存器初始化完成后,LT8900 可以开始发射或者接收 Figure 6. 初始化流程图 Initialize LT8900 at power up Set RST_n=1 Wait crystal enable time Initialize registers Initialization done Page 30
11.2. 进入 sleep mode 和唤醒 当 MCU 写寄存器并且拉高 SPI_SS 后,LT8900 进入 sleep mode, 此时功耗很低, 电流为 1uA. 当 SPI_SS 拉低后,LT8900 自动唤醒 MCU 要拉低 SPI_SS 一段时间 ( 等待晶体稳定 )1~2mS, 再写 SPI 数据 11.3. 数据包格式 空中数据包格式 Preamble SYNC Trailer Payload CRC Preamble: 1~8 bytes, programmable. SYNC: 16/32/48/64 bits, programmable as device syncword. Trailer: 4~18 bits, programmable. Payload: TX/RX data. There are 4 data types: Raw data 8 bit / 10 bit line code Manchester Interleave with FEC option CRC: 16-bit CRC is optional. 11.4. 清空 FIFO 指针 在发射前, 要将 FIFO 写指针清空 这可以通过在寄存器 52<15> 写入 0 来实现 当接收到数据包, 读指针将指示 FIFO 中有多少 bytes 数据 当接收器收到 SYNC 时,FIFO 写指针会自动清 0. 当接收器收到 SYNC 或发射器发送完 SYNC 后,FIFO 读指针会自动清 0. 11.5. Packet Payload Length LT8900 提供两种方式去确定 TX/RX 包长度 当寄存器 41[13]=1 时, 内部状态机会根据 payload 第一个 byte 数据来检测包长度 如要发 8 个 byte, 第一个 byte 应写 8, 总字长为 9 个 byte 当寄存器 41[13]=0, 第一个 Page 31
byte 数据没什么特殊意义 数据包长度将由 TX FIFO 何时为空或者何时清空 TX_EN 来决定, 见下表 Table 33. 数据包长度 Register 41[13] PACK_LENGTH_EN Register 41[12] FW_TERM_TX 0 (MCU/application handles packet length) 0 1 当 TX_EN=0 时, 终止发射 当 RX_EN=0 时, 终止接收 当 FIFO 为空时, 自动终止发射 当 RX_EN=0 时, 终止接收 1 (LT8900 framer handles packet length) X (don t care) Payload 第一个字节表示包长度,0 到 255bytes 当发完 0 到 255bytes 后, 发射自动终止 下面显示具体时序图 Page 32
11.6. 状态机决定包长度 当寄存器 41[13]=1 时,payload 的第一个 byte 表示包长度, 最大长度是 255 bytes 11.6.1. 发射时序 下面显示 TX 时序. 当 MCU 将寄存器 7[8] 写为 1 后, 同时设定好发射信道, 芯片将自动根据 payload 来产生包 MCU 需要在发射 trailer 前写入发射数据 如果包长度超过 FIFO 长度,MCU 需要多次写 FIFO 数据 FIFO flag 表示 FIFO 是不是为空 SPI_SS Write reg 7 Figure 7. TX 时序图 PKT 和 FIFO flags 高有效 Internal TX on 2us Transmit data VCO on delay Reg33<15:8> PA on delay Reg33<5:0> Tx package PKT_flag PKT_flag=1 after Tx packet has been sent FIFO_flag MCU fills FIFO before framer sends trailer bits FIFO_flag=1 when FIFO is empty Page 33
Figure 8. TX 发包流程图 where FIFO and PKT flags are interrupt signals to MCU. TX start FIFO_flag interrupt Write Reg 7 TX_EN=1 and select TX channel PKT_flag interrupt Disable FIFO_flag interrupt Clear FIFO write point Disable PKT_flag interrupt More data to TX? Write transmit data to FIFO RETI Write data to FIFO Enable PKT interrupt Enable FIFO_flag interrupt RETI Page 34
11.7. 接收时序 下面显示 RX 接收时序 当 MCU 将寄存器 7[7] 写为 1 并且选择好接收器信道,LT8900 将打开 RX 并等待正确的 syncword 当收到正确的 syncword,lt8900 将自动开始处理数据包 当数据包处理完毕,LT8900 状态机将进入 IDLE 当接收到的数据包长度长于 63 bytes,fifo flag 将起作用, 意味着 MCU 必须从 FIFO 中读取数据 在弱信号, 多径和远距离时, 不一定能收到正确的 syncword 为了避免出现死机情况,MCU 需要做一个定时器 在大多数应用中, 数据包是在一定时间窗口内可以收到的, 如果没收到, 系统要有定时器恢复到正常模式 Figure 9. RX 时序图 PKT and FIFO flags 高有效 Write reg 7 SPI_SS Internal Rx on 2us VCO on delay Reg33<15:8> Received data Rx package PKT_flag PKG_flag=1 when Rx packet has been received by framer FIFO_flag FIFO_flag=1 when FIFO is full Page 35
Figure 10. RX 流程图 where FIFO and PKT flag signals interrupt MCU. RX Start Write Reg7 as RX on and select RX channel Wait 10us Set RX timeout timer RX timeout interrupt Disable PKT_flag interrupt Write Reg7 RX_EN=0 RETI Enable interrupt FIFO_flag interrupt PKT_flag interrupt Disable FIFO_flag interrupt Disable PKT_flag interrupt No More data to read in? Read FIFO No Yes Yes Read FIFO Read FIFO Enable FIFO_flag interrupt Enable FIFO_flag interrupt RETI RETI Page 36
11.8. MCU/ 应用决定包长度 当寄存器 41[13]=0 时,payload 第一个 byte 没有特殊意义 此时, 包长度由寄存器 41[12] 决定 11.8.1. FW_TERM_TX= 1 当寄存器 41[12]=1, 在发射数据时,LT8900 将比较 FIFO 的写指针和读指针, 如果 MCU 停止朝 FIFO 写数据, 芯片将会最终探测到 FIFO 何时为空,LT8900 将会自动退出发射状态 时序图如下 SPI_SS Write reg 7 Figure 11. TX 时序图 (Register 41[13:12]= b01). PKT 和 FIFO flags 高有效. Internal TX on Internal Tx Data 2us VCO on delay Reg33<15:8> 8us PA on delay Reg33<5:0> Framer with terminate TX when FIFO Tx point equals FIFO Rx point Tx package PKT_flag PKT_flag=1 after Tx packet has been sent FIFO_flag MCU fills FIFO before framer sends trailer bits FIFO_flag=1 when FIFO is empty Note: 当寄存器 41[13]=0, 不要让 FIFO 过空或过满 FIFO full/empty 阈值可以通过寄存器 40 FIFO full/empty threshold 来设置 最优值是由 SPI 速度和 MCU 读写 FIFO 速度决定. Page 37
Figure 12. 寄存器 41[13:12]=`b01 时发射的流程图 using interrupts for PKT and FIFO flags. TX start FIFO_flag interrupt Write Reg7 as TX on and select TX channel PKT_flag interrupt Disable FIFO_flag interrupt Clear FIFO write point Disable PKT_flag interrupt No More data to TX? Write transmit data to FIFO RETI Yes Enable interrupt Write data to FIFO Enable FIFO_flag interrupt RETI Page 38
11.8.2. FW_TERM_TX= 0 ( 发射状态 ) 当 Reg41[13:12] = b00, LT8900 只会在 Reg7[8] TX_EN=0 时停止发射 Figure 13. 当 Reg41[13:12]= b00 时,TX 时序图 PKT and FIFO flags are shown high active. Write Reg7 Write Reg7 SPI_SS 2us Internal TX on Internal Tx Data 2us VCO on delay Reg<15:8> 8us PA on delay Reg33<5:0> Framer terminates TX when MCU/Application writes Reg7 TX_EN=0 Tx packet PKT_flag PKT_flag=1 after Tx packet has been sent FIFO_flag MCU fills FIFO before framer sends trailer bits FIFO_flag=1 when FIFO is empty Page 39
Figure 14. 当 Reg41[13:12]= b00 是 TX 流程图 using interrupts for PKT and FIFO flags. TX start Write Reg7 as TX on and select TX channel FIFO_flag interrupt Clear FIFO write point Disable FIFO_flag interrupt Write transmit data to FIFO No More data to TX? Enable interrupt NO FIFO_W_ptr= FIFO_R_ptr? YES Yes Write data to FIFO PKT_flag interrupt Wait one byte data TX time Enable FIFO_flag interrupt Disable PKT_flag interrupt Write Reg7 Tx Off RETI RETI Page 40
11.8.3. FW_TERM_TX= 0 (RX) 当 Reg41[13]=0 时, 芯片将会在 Reg7[7] RX_EN=1 时开始接收包, 此时, 芯片将会自动将 RX 设定到固定的频道接收 在等待一定时间使内部时钟和 RX 电路稳定后,LT8900 开始在收到的信号中寻找 syncword. 一旦找到, 它将拉高 PKT flag, 并向 FIFO 里写收到的数据 PKT flag 将一直为高, 直到 MCU 将 FIFO 中的数据读完 当 MCU 把数据读完后,PKT flag 将拉低直到下个 TX/RX 周期 当 Reg41[13:12]= b00 or b01 时, 必须由 MCU 将 Reg7[7] 写为 0 才能退出 RX 状态 Figure 15. 当 Reg41[13:12] = b00 or b01 时,RX 时序图. PKT_flag 和 FIFO_flag 高有效. Write reg 7 Write reg 7 SPI_SS Internal Rx on 2us VCO on delay Reg33<15:8> 2us Internal Rx data Rx package PKT_flag PKT_flag=1 when syncword received. PKT_flag=0 when MCU/Application reads first byte from FIFO register. FIFO_flag FIFO_flag=1 when FIFO is full Page 41
Figure 16. 当 Reg41[13:12]= b00 or b01 时,RX 流程图 using interrupts for PKT and FIFO flags. RX Start Write Reg7 as RX on and select RX channel Wait 10us Set RX timeout timer Enable interrupt FIFO_flag interrupt PKT_flag interrupt Disable FIFO_flag interrupt Disable PKT_flag interrupt No More data to read in? Read one byte data Yes Read FIFO Read more FIFO? No Enable FIFO_flag interrupt Yes Read FIFO RETI RETI Page 42
11.9. 晶体振荡器 LT8900 支持外接晶体或者外部时钟输入 11.9.1. Quartz crystal application 串联电阻 R2 限制了晶体振荡的能量, 并且为起振提供了相位余度 晶体的负载电容 C1 和 C2 应与晶体的定义相符 这些电容值可以微调, 从而保证振荡频率的准确性 自偏置电阻 R1, 为片上的增益级提供偏置, 从而达到最大增益 11.9.2. 外部时钟输入 自偏置电阻 R1 还是需要的, 但外部时钟需要通过一个隔直电容从 XTALI 来输入 如下图所示 输出电阻 R0 用来对现有振荡器进行采样 R0 的具体值需要根据实验来决定,3K 是个合适的参考值 在 PCB layout 时,CLK 线需要尽量短和直, 并且远离干扰 LT8900 接收的时钟信号是以地为参考的, 所以也要保持有一个干净的地 Figure 17. 外部时钟输入应用图 C2 Crystal C1 Rf Cc GND CLK Ro GND Rf Rs XTALI XTALO Xtal_Out Xtal_In LT8900 MCU Digital Interface MCU GND BRCLK Test Point To Freq. Counter 注意事项 : 1. 时钟占空比最好是 50% 2. 如果 BER 过高, 可能是时钟驱动不够造成的 3. 当参考时钟相位噪声很高的时候, 也会造成 BER 变高 Page 43
11.9.3. 减小管脚数 当用低成本的 MCU 来驱动 LT8900 时,MCU 的管脚有限 可以通过以下的办法来节省管脚数 : FIFO: 只有当包长度超过 63bytes 时, 才需要 PKT: 当收发包时, 给 MCU 一个硬件中断 这个数据也可以通过 Reg48 来读取, 这样 PKT_flag 就不需要了 SPI lines: 这 4 个接口是需要的. RST_n: 这个接口可以用 RC 来做上电复位电路, 从而省掉一个 MCU 管脚 I2C lines: 相比 SPI, 可减少管脚数 11.9.4. CKPHA 在 LT8900 中, 有个 CKPHA 管脚, 在 QFN 和 SSOP 的封装中, 这个管脚通常是拉高的,SPI 为下降沿采样 在 SSOP 封装中, 不支持 I2C 如果有特殊要求,CKPHA 也可接 0 Page 44
12. 封装形式 QFN 24 Lead Exposed Pad Package, 4x4 mm, 0.5mm pitch. Dimensions in mm. Table 28. Package Outline Dimension Dim. Min. Nom. Max. Dim. Min. Nom. Max. A 0.70 0.75 0.80 L 0.30 0.40 0.50 A1 0 0.02 0.05 y 0.08 A3 0.203 REF B 0.18 0.25 0.30 D/E 3.90 4.00 4.10 D2/E2 1.90 2.00 2.10 E 0.50 BSC Page 45
Page 46
13. IR Reflow Standard Follow : IPC/JEDEC J-STD-020 B Condition : Average ramp-up rate (183ºC to peak): 3 ºC/sec. max. Preheat: 100~150ºC 60~120sec Temperature maintained above 183ºC: 60~150 seconds Time within 5ºC of actual peak temperature: 10 ~ 30 sec. Peak temperature: 240+0/-5 ºC Ramp-down rate: 6 ºC/sec. max. Time 25ºC to peak temperature: 6 minutes max. Cycle interval: 5 minutes Figure 18. IR Reflow Diagram Peak: 240+0/-5 ºC Slope: Max 3ºC/sec. (183ºC to peak) Ramp down rate: Max. 6ºC/sec 183ºC Preheat: 100 ~ 150ºC 10~30 sec 25ºC 60 ~ 120 sec. 60 ~ 150 sec. Page 47
LT8900 应用指南 1.5 14. 文档更新历史 2011 年 1 月, 初始文档.1.0 2011 年 4 月 28 日, 正式发布 1.3 修改有 : 1. 增加 auto ack 使用方法 2. 增加自动重传使用方法 3. 对寄存器追加说明 4. 增加 FAQ 问题 5. 增加应用指南中 PCB layout 注意事项 2011 年 5 月 30 日, 发布 1.4 修改有 : 更改寄存器初始化值 Reg27 从 1200 改为 1300 Reg32 从 1806 改为 4000 Reg40 从 2107 改为 4401 Reg41 从 e000 改为 b000 2011 年 6 月 30 日, 发布 1.5 修改有 : 修改 AP1110 的电路图 1.6K 改为 0.6K 3.9K 改为 1.2K 2011 年 2 月 15 日, 发布 1.6 修改有 : 修改 CLR_W_PTR 和 CLR_R_PTR 的描述, 清指针但不清 FIFO 数据 Reg40 的推荐值从 4402 到 2102, 这个主要在使用 fifo_flag 的模式下, 对可靠性有改善 Page 48
LT8900 应用指南 1.5 LT8900 应用指南 1.5 Page 49
LT8900 应用指南 1.5 1. EVB 和模组应用说明 QFN 封装和 SSOP 封装 DEMO Board 的接口定义 (14Pin) QFN24 EVB Page 50
LT8900 应用指南 1.5 SSOP16 EVB EVB PIN 定义 Page 51
LT8900 应用指南 1.5 2. PA 功率测试 1. 上电, 初始化 LT8900 所有寄存器 ( 参考 LT8900 datasheet) 2. Reg32 改为 1807, Reg34 改为 830b, Reg11 改为 8008, Reg07 改为 0130 3. 此时可以从频谱分析仪上测试 PA 的输出频谱, 只有载波, 无调制 2442MHz 4884MHz 7326MHz Power(dBm) 2-49 -49 PA 功率控制位 LT8900 可以用寄存器控制 PA 功率, 分别为 09[15:12] PA_PWCTR[3:0] 为 PA 电流控制, 09[10:7] PA_GN[3:0] 为 PA 增益控制 09[15:0] Power@2442MHz Power@4884MHz (dbm) (dbm) 4800 5.5-37 -45 1840 2-56 -48 18c0 1.7-47 -52 1940 1-44 -55 19c0-0.3-44 -55 1a40-1.4-44 -57 1ac0-2.2-46 -58 1b40-3 -46-59 1bc0-4 -47-59 1c40-6.5-49 -67 1cc0-7.3-50 -70 1d40-8.2-51 -70 1dc0-9.5-52 -70 Power@7326MHz (dbm) Page 52
LT8900 应用指南 1.5 1e40-10.7-54 -70 1ec0-12.2-56 -70 Page 53
RSSI 值 LT8900 应用指南 1.5 3. RSSI 测试 : 1. 上电, 初始化 LT8900 所有寄存器 ( 参考 LT8900 datasheet) 2. 将芯片置于 RX 状态,07 改为 00b0 3. 读取 06<15:10>, 为 RSSI 能量大小 input power(dbm) 03<15:10> -75 0-70 4-65 17-60 20-55 27-50 30-45 37-40 39-35 41-30 40-25 40 RSSI 0-80 -60-40 -20 0 输入功率 (dbm) 45 40 35 30 25 20 15 10 5 系列 1 Page 54
LT8900 应用指南 1.5 4. LT8900 和其他芯片比较 LT8900 BK2411(beken) A7105(AMIC) ARF2496(aplus) nrf24l01(nordic) RX current(ma) 17 21 16 18 11.8 TX current(ma)@0dbm 16 14 19 13 11.3 Idle current(ma) 1.4 1.4 1.5 None Don t know Sleep current(ua) 1 3 1 1 1 TX power(dbm) -6~ 6-5~5 0-20~0 0~5 RX sensitivity(dbm) -87@1Mbps -90@1Mbps -96@500Kbps -85@1Mbps -85@1Mbps Data rate(bps) 1M 1M,2M 500K,250K 250K,500K 1M,2M Auto ACK Yes Yes Don t know Don t know Yes Auto retransmit Yes Yes Don t know Don t know Yes Off chip components No inductor 7 RC 1 crystal 3 inductors 9 RC 1 crystal 3 inductors 18 RC 1 crystal 4 inductors 9 RC 1 crystal 3 inductors 11 RC 1 crystal QFN 4*4 Yes Yes Yes Yes Yes SSOP16 Yes No No No No 相比其他 2.4G 芯片,LT8900 的 RF 性能非常健壮, 几乎不用做任何调整就可实用多种 PCB, 无需外围匹配, 节省了 BOM 成本 同时, 因为强大的 RF 性能,LT8900 提供 SSOP16 的封装形式, 大大方便客户焊接, 生产 Page 55
LT8900 应用指南 1.5 5. 收发流程初始化寄存器 : 按照我们提供的 datasheet 表中推荐值设置 发送过程 : 设置 reg 52 -- 0x8000, 先将发送的 fifo 清空, 对 reg 50 fifo 寄存器操作, 填入需要的数据, 按 byte 操作设置 reg 7--- 二进制 0x10xxxxxxx, 其中 xxxxxxx 为低 7 位选择通道号等待 pkt 标志位拉高 接收过程 : 设置 reg 52 -- 0x0080, 先将发送的 fifo 清空, 对 reg 50 fifo 寄存器操作, 填入需要的数据, 按 byte 操作设置 reg 7--- 二进制 0x1xxxxxxx, 其中 xxxxxxx 为低 7 位选择通道号等待 pkt 标志位拉高若是拉高, 则对 reg 50 寄存器操作, 读出相应数据, 按 byte 操作 Page 56
LT8900 应用指南 1.5 6. auto-ack 使用方法 LT8900 有 auto-ack 功能, 工作流程如下 将 reg41<11> 设为 1, 使能 auto-ack 功能 将 reg35<11:8> 设为 3, 表示在没有收到 RX ack 条件下,TX 最多会发 3 次 将 reg42<7:0> 设为 B0, 表示 TX 发射完成会用 176uS 的时间等待 RX 发出的 ack 信号, 如果没有等到, 会重发 对于使能和不使能 auto-ack 功能, 主要区别在于 PKT_FLAG 拉起的时间 如下图所示 TX PKT_FLAG w/o auto-ack TX PKT_FLAG with auto-ack TX PKT_FLAG with auto-ack And retransmit 1 time TX ACK Re-TX+ACK A CK 时间约为 150uS, 和具体 syncword,preamp 等长度设置有关在 PKT_FLAG 拉高之后, 去读 Reg52<5:0>, 如果为 0, 即收到 ack 信号 如果不为 0, 为发送总字长 +1, 即没收到 ack 信号, 是重发次数完毕后拉高 如要发射 8 个 byte 有效数据, 那么第一个字节应写 8, 总字长为 9, 此时如果收到 ack, 应读到 0, 如果没收到 ack, 应读到 10 以上工作全部由 LT8900 内部电路完成, 对 MCU 无影响 Page 57
LT8900 应用指南 1.5 7. 如何排查 SPI 不工作的问题 如果 SPI 不工作, 请按下面步骤来排查问题 1. 测试 VDD33 有没有 3.3V 电压 (QFN:pin10,20,SSOP16:pin12) 2. 测试 VDD18 上有没有 1.8V 电压 ( QFN: pin1,2,5,6,7,19,22, SSOP16: pin3,5,8,11) 3. 测试晶体有没有振荡 因为示波器表笔有电容, 可能出现搭上之后就不振荡的情况, 此时有两个办法来做 : 一 将表笔达到 1 二 将测试晶体两端电压, 应为 0.9V 左右 4. 在上电后, 默认是在 IDLE 状态, 此时电流应为 1mA 左右 5. 让程序开始运行, 看数字接口是不是有信号 6. reset 后先读取寄存器, 此时寄存器里有 reset 值, 比如 Reg[9] 在 reset 后为 3000, 修改为 1840, 再读取, 看是否为 1840 Page 58
LT8900 应用指南 1.5 8. 如何使用硬件重发功能 为提高抗干扰性能, 可以启用自动重发功能, 主要步骤如下 : 1. 将发射方 reg41<11> 设为 1, 使能 auto-ack 功能, 接收方 reg41<11> 设为 0, 禁用 auto-ack 功能 如发射方 reg41 寄存器设置为 0XE800, 接收方寄存器设置为 0XE000 2. 通过设置 reg42<7:0> 参数值, 将 TX 发射完成后等待 RX 发出的 ack 信号时间设为 150us-256us 之间, 3. 设置自动重发次数, 改变 reg35<11:8> 中的参数即可设置重发次数 最大可设置 16 次 如 reg35 寄存器设置 为 0X0320, 可重发 2 次, 一共发三次 4. 因为 RX 禁用 auto ack 功能,TX 必然会重发 重发的数据一样, 所以收到一次正确的数据就可以 假定 TX 发三次,RX 都可以收到, 那么波形应图如下所示 : 以鼠标工作为例, 通常鼠标每 8ms 发射一个包, 其中 4ms 睡眠,2ms 处于 Idle 状态,2ms 处于发射状态 一般情况下, 发射端每成功发射一个包大约需要 350uS, 设置等待接收方 ACK 时间为 150uS, 那么第二次包重发时间间隔为 500uS, 这样发射方 2ms 将有足够的时间发三次包, 当接收方收到第一个包后 (PKT 拉高, 假定高电平有效 ), 同时进行 CRC 检验位读取, 如果正常, 则判定成功正确接收到一个数据包, 之后的第二个, 第三个重发包, 将不再处理. 如果第一个包收到, 但 CRC 错误, 此时应先将 RXEN 设为 0, 进入 Idle 状态, 再清 FIFO, 之后将 RX EN 设为 1, 接收方可通过软件设定在 2 ms 以内, 接收三个包, 一旦有一个包接收正常, 之后的相同重发包将不再处理, 此时只有在三个包都丢失的情况下, 鼠标才会丢失一个包, 大大提高了包数率的稳定性 Page 59
LT8900 应用指南 1.5 9. 如何抗电源干扰 VCC 电源为电路电源,VDD 为芯片正常工作芯片输出 LDO 的电压, 约为 1.8V 在电路设计中应确保 RF 供电电源很好的滤波, 在电路设计时采用 DC-DC 转换电路时, 因为其开关频率的原因 导致其电源噪声很大, 远比 LDO 大的多, 应考虑对 RF 电源产生影响, 要增加 RC 滤波电路来消除对直流线路的影 响 也可以使用针对 RF 线路的专用 LDO 建议尽可能采用对 RF 电源单独供电 采用 DC DC 电路时使用 RC 滤波电路 电解电容推荐值为 100Uf, 精度为 10%, 电阻推荐阻值为 10R, 精度为 5% DC-DC 10ohm 100uF LT8900 RC 滤波电路 Page 60
LT8900 应用指南 1.5 10. PCB 布线注意事项电源线 由于电源 地线的考虑不周到而引起的干扰, 会使产品的性能下降, 有时甚至影响到产品的成功率, 对 电 地线的布线要认真对待, 把电源 地线所产生的噪音干扰降到最低限度, 以保证产品的质量 尽量加宽电源 地线宽度, 最好是地线比电源线宽, 它们的关系是 : 地线 > 电源线 > 信号线, 通常信号 线宽为 :0.2~0.3mm, 细线宽度可达 0.05~0.07mm, 电源线为 1.2~2.5 mm 对数字电路的 PCB 可用宽的地 导线组成一个回路, 即构成一个地网来使用 用大面积铜层作地线用, 在印制板上把没被用上的地方都与地相连接作为地线用 或是做成多层板, 电源, 地线各占用一层 晶振电路布线 响, 晶振电路尽量靠近 XTALO,XTALI, 连接晶振的印制线尽量短, 以减少噪声干扰及分布电容对晶振的影 晶振电容地线应使用尽量宽而短, 印制线连接至器件上离晶振最近的数字地引脚, 应尽量减少过孔, 实 际设计中由于空间受限, 晶振放在顶层走线下面, 如果空间允许, 应尽量避免 天线 为固定晶振, 减少对外幅射, 提高抗干扰能力, 晶振外壳应良好接地 天线 Layout 时需要注意 : 天线 top 部分及对应 bottom 层都需要净空, 不能铺铜 ; 天线短路臂连到地以后, 至少有两个对地过孔直接到 bottom 层 ; 天线与 PCB 铺铜地之间的距离应大于 0.5mm, 靠近天线沿着地平面应该打一排对地过孔 ; 天线周围最好不要有金属结构或元器件 铺地平面等, 最多在其中一面距离一定间隔 ( 至少 5mm ) 可 以放一些元器件 Page 61
LT8900 应用指南 1.5 11. LT8900+AP1110 原理图 Page 62
LT8900 应用指南 1.5 FAQ: 1. 为什么出现收错数据, 掉包等奇怪错误? 答 : 遇到这种情况, 优先检查是否将寄存器全部初始化, 一定要上电后将寄存器全部写一遍 2. 为什么修改 syncword 后, 还能收到数据? 答 : 在 Reg40<5:0> 有个寄存器 syncword _threshold, 这个寄存器可以设置容许 syncword 的错误 bit 数, 默认值是 7, 即 syncword 错 6 个 bits 也会收到数据 3. 从 sleep 模式醒来要花多少时间? 答 : 当在 sleep 模式中关闭 crystal 时, 启动到稳定的时间为 2mS 当未关闭 crystal 时, 启动到稳定的时间为 200uS 4. syncword 设为多少合适? 答 :syncword 可以作为产品的标识来用, 如果对不可重复性要求不高,syncword 可以设置短些,16bit 或者 32bit, 配上 syncword threshold 设为 1, 即不允许都错误, 此时通信效果较好 5. 为什么要 10K 电阻接地 答 :10K 电阻是为了让 RF 输入输出端 DC 电压为 0, 所以在使用蛇形天线时需要加 10K 电阻, 在使用倒 F 天线时, 因为天线本身已经接地, 就不用加 10K 电阻了 6. 发射状态时 PKT 是怎么样电平变化? 答 :TX 初始状态时 PKT 为低电平, 发射成功 PKT 高电平, 当只有再次发射时才会拉低, 因为拉高时间不定, 与用户发包间隔有关, 然而拉低时间相对稳定,IDLE 时,PKT 保持之前状态 7. LT8900 SSOP 封装的芯片输出功率会比 QFN 封装大吗? 答 : 不会, 两个封装功率相同, 接收灵敏度,SSOP16 比 QFN 小 1~2dB 8. LT8900 SSOP 封装的芯片输出功率会比 QFN 封装大吗? 答 : 不会, 两个封装功率相同, 接收灵敏度,SSOP16 比 QFN 小 1~2dB 9.LT8900 的灵敏度如何测试的, 有没有参考程序? 答 : 假定一个发射, 一个接收, 首先测量发射功率, 假设是 0dBm, 然后加衰减器连接到接收板上 用 MCU 编程, 发射 100 个包, 看 RX 能接收到多少, 同时分析接收到包里的数据, 看 BER, 以 0.1% 为标准, 测试灵敏度 10. 若调制频偏幅度调整为 160KHz, 是否会对 LT8900 的接收灵敏度产生影响? 答 : 不会产生影响 Reg1<8>=0 时,160K 调制带宽,Reg1<8>=1 时,320K 调制带宽 11.LT8900 是否能够直接输出解调的 bit 位数据? 答 : 可以, 将 Reg20<0>=1, Reg20<3:1>=101, 此时即可 bypass digital baseband, 对 modem 进行操作 SPI 接口及 BnPWR(Reset_n) 与 FIFO Mode 操作相同,TXRXDATA 即数据收发接口,BRCLK 可用于发射的 1M clock,rxclk 可用于接收时的 1M clock Page 63
LT8900 应用指南 1.5 12.LT8900 启动发射到发出前导的间隔时间为多长? 答 : 从启动发射到真正发射 Payload 的时间大约 250us. 这个时间跟 Reg33[15:8][5:0],Reg34[14:8][6:0] 以及 Peamable,SYNC_word 等的长度有关 13. LT8900 0dbm 通信距离大体是多少? 答 :0dBm 时约为 10m,3dbm 时约为 20m,6dBm 时约为 40m, 但实际使中与天线和周围环境有关系 14. 如何快速进入睡眠与唤醒? 答 : 当单片机通过 SPI_MISO 给 LT8900 的寄存器 Reg35 BIT14 位写 1 同时 SPI_SS 拉高,LT8900 将进入睡眠状态, 此时电流消耗约 1uA. 当 SPI_SS 被拉低时,LT8900 会从睡眠状态自动唤醒 15. 当发生 CRC 错误时, 是否有相应的指示? 答 : 一旦发生错误, 寄存器 Reg48 bit15 位 CRC_ERROR 将被自动置 1, 在下次开始 RX 或 TX 时它将被清除 12. 如何避免 FIFO 溢出导致收发异常? 答 : 当单片机处理发收数据或接收数据包长度时, 绝不能让 FIFO 产生上溢或下溢 可通过 Reg40 寄存器 FIFO_EMPTY_THRESHOLD 与 FIFO_FULL_THRESHOLD 来设置 13. LT8900 工作模式有哪些? 答 : 主要有三种工作模式 Idle 模式 : 当 LT8900 的 RESET_n 口被单片机设置为 1 时,LT8900 内部寄存器处于空闲状态 空闲状态模式下芯片部分电路断电, 晶振仍在工作以缩短芯片启动时间从而快速进入收发模式, 空闲状态只是一种睡眠与收发模式的指令转换, 不可以接收数据 Sleep 模式 : 在收发模式下, 单片机给 LT8900 的寄存器 Reg35 BIT14 位写 1 同时 SPI_SS 电平拉高,LT8900 芯片内部寄存器从空闲模式进入睡眠模式, 晶振停止工作, 此时电流消耗约为 1uA, 收发模式 : 发射流程在睡眠模式下单片机对芯片 SPI_SS 口设置为 0, 对 SPI_mosi 口写指令, 芯片从睡眠状态转为发送模式, 数据进入寄存器自动加字头,CRC 检验码 ( 开启 CRC 检验功能时 ) 等信息打包发射 发射完毕后 LT8900 芯片自动进入 idle 模式 接收流程在睡眠状态下单片机对芯片 SPI_SS 口设置为 0 时, 启动接收模式, 接收前导码和同步信号, 当接收到正解的同步码后开始接收数据包, 然后判断 CRC 正确后将数据送到单片机 Page 64
LT8900 应用指南 1.5 14 在设计 RF 的 PCB 时的基本原则是什么? 答 : 使 EMC 最小化,EMI 改善的常见方法接地 屏蔽和滤波 15. 如何解决 RF 的电源干扰? 答 : 必须确保 RF 电源已经很好地滤波 最好对不同的 RF 线路使用单独的电源 16. 从 sleep 到 RX 或者 TX 要多少时间? 答 : 这里主要时间是晶体的稳定时间, 约 1mS~2mS 17. RTX 切换时间有多少? 答 : 这个时间主要是 PLL 的锁定时间, 约为 100uS 18. 射频开发有哪些常见工具? 答 : 射频开发常用的工具有 : 直流电源, 万用表, 硬件仿真器, 示波器, 逻辑分析仪, 频谱仪, 网络分析仪 等 19. 当我使用第一个字节表示字长时应写多少? 答 : 假设要发射 8 个字节, 那么第一个字节应写 8, 总字节数是 9. 20. LT8900 的传输距离有多少? 在最大功率 6dBm 条件下, 空旷地带可到 50 米 LT8900+PA 对 LT8900, 可到 200 米 LT8900+LNA 对 LT8900, 可到 100 米 LT8900+PA 对 LT8900+LNA, 可到 500 米 Page 65
LT8900 应用指南 1.5 使用 LT8900 做无线鼠标注意事项 1. 天线 Nano dongle 端普遍 PCB 较小, 所以天线使用极为重要 推荐下面两款天线 其中 A: 0.15mm,B:0.25mm,C:0.4mm 或者 正面 Page 66
LT8900 应用指南 1.5 反面 板才为两层 FR4, 板厚为 0.6mm Mouse 端空间较大, 可以放比较大的天线, 如图 2. RC 电容滤波 在 mouse 端, 普遍使用升压芯片, 升压芯片自身有几十 KHz 到几百 khz 的干扰, 最好在进入 8900 的 3.3V 电源前加个 RC 滤波电路, 如图 Page 67
LT8900 应用指南 1.5 DC-DC 10ohm 100uF LT8900 如果条件允许, 滤波电容尽量用 100uF 的电解电容, 如果是做成 module, 由于封装的限制, 请尽量用 0603 封装的 10uF 电容 3. 在 nano dongle 端加电感 一般情况下,nano 端主要是接收,mouse 发射, 在这种条件下, 可在 nano 端串联 2.7nH 的电感, 如图所示, 这样可以增加灵敏度 2dB 左右, 但会减小发射功率 1dB, 但在 mouse 实际使用中, 可以明显增加 2~3m 的使用距离 C3 22pF C2 22pF X1 12MHz R2 680K R1 2.2K VDD1.8V VDD_IO C1 1uF VSS 24 23 22 21 20 19 VDD33 XTALI 1 VDD 2 VDD XTALO VDD LDO_OUT LDO_VDD VDD RST_n 18 MISO/I2C_DAT 17 RESET_n SPI_miso SPI_ miso RESET_n SPI_ CLK SPI_ mosi L1 2.7nH 3 ANTb 25 MOSI/A4 16 SPI_mosi SPI_ SS 4 ANT I2C_SEL 15 R3 10K 5 VDD SPI_CLK/I2C_CLK 14 SPI_CLK PKT_flag 6 VDD VDD FIFO VSS VDD_IO SPI_SS BRCLK PKT 13 PKT_flag VSS 7 8 9 10 11 12 VDD1.8V FIFO_FLAG VDD_IO SPI_SS BRCLK Page 68
LT8900 应用指南 1.5 4. 寄存器设置 寄存器设置对距离影响很大, 请严格按照推荐值初始化寄存器 寄存器推荐值 Register number Power-up reset value (hex) 0 6fef 6fe0 1 5681 5681 2 6619 6617 4 5447 9cc9 5 f000 6637 7 0030 0030 Recommended value for many applications (hex) Notes Use for setting RF frequency, and to start/stop Tx/Rx packets. 8 71af 6c90 9 3000 1840 Sets Tx power level 10 7ffd 7ffd Crystal osc. enabled. 11 4008 0008 RSSI enabled. 12 0000 0000 13 4855 48bd 22 c0ff 00ff 23 8005 8005 Calibrate VCO before each and every Tx/Rx. 24 307b 0067 25 1659 1659 26 1833 19e0 27 9100 1300 No crystal trim. 28 1800 1800 29 00x0 read-only Stores p/n, version information. 30 f413 read-only Stores p/n, version information. 31 1002 read-only Stores p/n, version information. 32 1806 4800 Packet data type: NRZ, no FEC, BRCLK=12 div. by 4= 3MHz 33 6307 3fc7 Configures packet sequencing. 34 030b 2000 Configures packet sequencing. 35 1300 0300 AutoAck max Tx retries = 3 36 0000 Choose unique sync words 37 0000 for each over-the-air 38 0000 network. Similar to a MAC address. 39 0000 40 2107 4402 Configure FIFO flag, sync threshold. 41 b800 B000 CRC on. SCRAMBLE off. 1st byte is packet length. 42 fd6b fdb0 43 000f 000f Configure scan_rssi. 其中需要注意的是 Syncword 的长度问题, 它和 syncword 容错相关, 推荐设置是 64 个 bit 允许错 3 个,reg32:5800,reg40:4404 48 个 bit 允许错 2 个,reg32:5000,reg40:4403 32 个 bit 允许错 1 个,reg32:4800,reg40:4402 16 个 bit 不允许错 reg32:4000,reg40:4401 如果希望鼠标不串码, 又要求 syncword 够长, 请用 32bit 不允许错 Reg32:4800, reg40:4401 Page 69
LT8900 应用指南 1.5 和之前寄存器推荐值不一样的地方还有 Reg27 从 1200 改为 1300, 这个是增大 48uA 的 LDO 电流, 但 sleep 状态还是 1uA reg41 从 E000 改为 B000, 关掉 scramble 5. 10K 下拉电阻的取舍 天线端 10K 下拉电阻主要是为了使 ANT 的 DC 电位为 0V, 保证 RF switch 能正常开关, 当使用倒 F 型天线时, 因为天线本身电位已经为 0, 所以可以去掉这颗电阻 6. 芯片周边的切割槽有地, 打线的时候需要注意, 最好能将打线点内移, 防止出现打线与地短路的情况 Page 70