主题中讨论的其他器件:CC1101
您好!
TI 已要求我在此处发布一份我的查询副本。
内置 CC1101收发器有一些问题、作为配置的基础、我使用 TI 的 Smart RF Studio 7软件为内部寄存器选择合适的值、下面列出了相应的值。
收发器配置为发送和接收固定长度的数据包。 我有两个 PCB 在彼此之间发送和接收数据包。 此配置在锁定之前大约可以工作30-40分钟。 问题似乎是发送器锁定、我无法确定发生这种情况的原因。 在频谱分析仪上、该值显示为中心频率处的连续载波。
下面、我按观察结果列出了相关内容。
1) 1)读取 TX 状态显示有超过15个字节可用并且系统处于 TX 模式。 这通过读取 MARCSTATE 寄存器来确认。
2) 2)读取 FIFO 中的 TX 字节数量显示了 TX 缓冲区中的0x0C 字节值。
3) 3)我可以通过强制收发器进入空闲状态、然后返回到接收状态来退出此状态。
3) 3)当两个收发器工作时、单元之间的 RSSI 在77至89范围内、而链路质量在45至49范围内。
4)有趣的是、Smart RF Studio 设置 MCSM0寄存器的位3、但数据表显示该位被保留。 改变这个位将阻止收发器运行。 请您澄清一下。
5) 5)我还注意到收发器在跳频模式下运行。 虽然用户手册说有跳频模式、但它不告诉我如何启用或禁用跳频模式。 请您澄清一下。
你有什么建议吗?
// Chipcon 默认射频设置
const RF_settings defaultRF_Settings ={
0x06、 // FSCTRL1 频率合成器控制。
// SmartRF_Studio 设置0x08
// FREQ_IF = 6 - FIF = 152.34375kHz
0x00、 // FSCTRL0 频率合成器控制。
// FREQOFF = 0 - Foffset = 0
0x10、 // FREQ2 频率控制字、高字节。
0xB1、 // FREQ1 频率控制字、中间字节。
0x3B、 // FREQ0 频率控制字、低字节。
// 频率控制字= 0x0010B13B = 1093947
// 中心频率= 433.999969 MHz
0xCA、 // MDMCFG4 调制解调器配置。
// CHANBW_E = 3
// CHANBW_M = 0 CHAN_BW = 101.5625kHz
// DRATE_E = 10
// ***// 0xCA:38.3835kBaud,0xC5:1.19948kBaud
0x83、 // MDMCFG3 调制解调器配置。
// DRATE_M = 131 RDATA = 38.3835kBaud
0x13、 // MDMCFG2 调制解调器配置。
// SmartRF_Studio 设置0x90
// DEM_DCFILT_OFF = 0 -过滤器打开
// MOD_FORMAT = 1 - 2GFSK
// Manchester _EN = 0 -编码器关闭
// SYNC_MODE = 3 - 30/32同步字位
0x22、 // MDMCFG1 调制解调器配置。
// SmartRF_Studio 设置0x00
// NUM_PREAMBLE = 4
// CHAN_SPC_E = 2
0xf8、 // MDMCFG0 调制解调器配置。
// CHAN_SPC_M = 248通道间距= 199.951172kHz
0x00、 // CHANNR 通道编号。
// CHAN = 0 -通道偏移= 0
0x35、 // DEVIATN 调制解调器偏差设置(当 FSK 调制为时
// 启用)。
// 偏差_E = 3
// 偏差_M = 5
// 偏差频率= 20.62988kHz
0x56、 // FREND1 前端 RX 配置。
// 注意:由 SmartRF_Studio 设置
// LNA_CURRENT = 1 - LNA 电流设置
// LNA2MIX_CURRENT = 1 - PTAT 电流设置
// Lodi_buff_current = 1 - LO 缓冲电流设置
// Mix_Current = 2 -混频器电流设置
0x10、 // FREND0 前端 TX 配置。
// 注意:由 SmartRF_Studio 设置
// LODIV_BUF_CURRENT_TX = 1 - CTX LO 电流设置
// PA_POWER = 0 -索引设置= 0
0x18、 // MCSM0 主无线电控制状态机配置。
// FS_AUTOCAL = 1 -从空闲转至时校准
// Rx 或 Tx
// 注意:位3被保留
// PIN_CTRL_EN = 0 -禁用引脚无线电控制
// XOSC_FORCEW_ON = 0 -睡眠时 XT2振荡器关闭
// 模式
0x16、 // FOCCFG 频率偏移补偿配置。
// FOC_BS_CS-GATE = 0 -无载波传感器锁定
// FOC_PRE_K = 2 -同步字= 3k 之前的环路增益
// FOC_POST_K = 1 -同步字= K/2后的环路增益
// FOC_LIMIT = 2 -频率偏移的饱和点
// 补偿=+/-BWchan/4
0x6C、 // BSCFG 位同步配置。
// BS_PRE_Ki = 1 - Clk 反馈环路积分增益
// 同步字前= 2Ki
// BS_PRE_KP = 2 - Clk 反馈环路成比例
//同步字前的增益= 2Kp
// bs_post_Ki = 1 - Clk 反馈环路积分
//同步字后的增益= KI/2
// bs_post_kp = 1 - Clk 反馈环路比例
//同步字= Kp 后的增益
// BS_LIMIT = 0 -无数据速率偏移补偿
0x43、 // AGCCTRL2 AGC 控制。
// MAX_DVGA_GAIN = 1 -最高增益设置不能为
// 已使用
// MAX_LNA_GAIN = 0 -最大可能 LNA + LNA2增益
// MAG_TARGET = 3 -数字滤波器目标
// 幅度= 33dB
// 0x40、 // AGCCTRL1 AGC 控制。
0x60、 // AGCCTRL1 AGC 控制。
// AGC_LNA_PRIORITY = 1 -先降低 LNA
// LNA2
// carrier_sense REL_THR = 0 -载波的阈值
// 检测被禁用
// carrier_sense _abs_thr = 0 -的绝对阈值
// 断言载波
// SENSE = MAGN_TARGET
// 设置
0x91、 // AGCCTRL0 AGC 控制。
// HYST_LEVEL = 2 -中等迟滞
// 小非对称死区
// 中等增益
// WAIT_TIME = 1 -滤波器样本数= 16
// AGC_FREEZE = 0 - AGC 冻结关闭
// filter_lenight = 1 -通道滤波器样本= 16
0xE9、 // FSCAL3 频率合成器校准。
// 注意:由 SmartRF_Studio 设置
// FSCAL3[7:6]= 0xC9 = 201 - Iout =
// CHP CURR_CAL_EN = 2 -启用电荷泵校准
// 当为1时的阶段
// FSCAL3[3:0]= 9 - Iout = 4.7567mA
0x2A 、// FSCAL2 频率合成器校准。
// 注意:由 SmartRF_Studio 设置
// VCO_CORE_H_EN = 1 =使能
// FSCAL2 = 10
0x00、 // FSCAL1 频率合成器校准。
// 注意:由 SmartRF_Studio 设置
// FSCAL1 = 0
0x1f 、// FSCAL0 频率合成器校准。
// 注意:由 SmartRF_Studio 设置
// FSCAL0 = 31
0x59 、// FSTEST 频率合成器校准。
// 注意:由 SmartRF_Studio 设置
// FSTEST = 0x59
0x81、 // TEST2 各种测试设置。
// 注意:由 SmartRF_Studio 设置
// TEST2 = 0x81
0x35、 // TEST1 各种测试设置。
// 注意:由 SmartRF_Studio 设置
// TEST1 = 0x35
0x09、 // TEST0 各种测试设置。
// 注意:由 SmartRF_Studio 设置
// TEST0[7:2]= 2
// VCO_CAL_EN = 0 - VCO 校准被禁用
// TEST0[0]= 1
// 0x47、 // FIFOHR RXFIFO 和 TXFIFO 阈值。
0x67、 // FIFOTHR RXFIFO 和 TXFIFO 阈值。
// ADC_Retention = 1 - TEST1 = 0x35且 TEST2 = 0x81
// 从睡眠状态唤醒
// Close_in_RX = 0 - Rx 衰减= 0dB
// FIFO_THR = 7 - Tx FIFO 阈值= 33、
// Rx FIFO 阈值= 32
0x29、 // IOCFG2 GDO2输出引脚配置。
// SmartRF_Studio 设置0x0B
// GDO2_INV = 0 -输出未反相
// GDO2_CFG = 0x29 - RF_RDYn
// 0x00、 // IOCFG1 GDO1输出引脚配置。
// GDO1_INV = 0 -输出未反相
// GDO1_CFG = 0x00 - RX FIFO 溢出
0x06、 // IOCFG0 GDO0输出引脚配置。 有关详细的伪寄存器说明,请参阅 SmartRFStudio 用户手册。
// SmartRF_Studio 设置0x0C
// GDO0_INV = 0 -输出未反相
// GDO0_CFG = 0x06 -发送同步字时生效
// 或收到
// 取消可选地址检查失败
// 断言 RX_FIFO 溢出
// 取消置位 TX_FIFO 下溢
0x04、 // PKTCTRL1 数据包自动化控制。
// PQT = 0 -同步字没有阈值计数器
// CRC_AUTOFLUSH = 0 -自动刷新关闭
// append_status = 1 -附加 RSSI、LQI 和 CRC 正常到结束
// Rx 数据包
// ADR_CHK = 0 -地址检查关闭
0x04、 // PKTCTRL0 数据包自动化控制。
// SmartRF_Studio 设置0x12
// white_data = 0 -白色数据发生器关闭
// PKT_format = 0 -正常模式
// CRC_EN = 1 -计算 Rx 和 Tx 数据包的 CRC
// length_config = 0 -固定数据包长度
0x00、 // ADDR 设备地址= 0。 未使用
RF_queue_MSG_SZ // PKTLEN 数据包长度。
};