主题中讨论的其他器件:WMBUS、
您好!
我的目标是能够使用基于 RTL2832 SDR 的软件狗读取来自基于 CC1101的无线电的 wmbus 数据包。
首先、为了确保 SDR 正常工作、我使用第三方的434.475 MHz 无线电和 RC1140-MBUS3模块对其进行了测试。 两个都工作正常。 我使用 xaelsouth 软件对 T1模式数据包进行解调和解码。
我还可以使用 RC1140-MBUS3模块读取来自 CC1101的 wmbus 数据包。
问题是我无法使用 RTL2832 SDR 读取数据包。 我不知道发生了什么。
这是我的 CC1101配置->
//产品= CC1101
//芯片版本= A (版本= 0x04)
//晶体精度= 10ppm
// X 射频频率= 26MHz
//射频输出功率=+ 10dBm
// RX 滤波器带宽= 325.000000 kHz
//偏差= 38kHz
//数据速率= 32.630920 kBaud (在 T1模式下运行时将更改为100kbaud)
//调制=(0) 2-FSK
//曼彻斯特启用=(0)曼彻斯特禁用
//射频频率= 434.475MHz (这是在我所在国家/地区运行时 wmbus 的 fc)
//通道间距= 199.951172kHz
//通道编号= 0
//优化=-
//同步模式=(5) 15/16 +载波侦听高于阈值
// RX/TX 数据格式=(0)正常模式, 使用 FIFO 进行 RX 和 TX
// CRC 操作=(0)为 TX 和 RX 禁用 CRC
//正向纠错=(0) FEC 禁用
//长度配置=(0)固定长度数据包,长度在 PKTLEN 寄存器中配置。
//封装长度= 255
//前导码计数=(2) 4字节
//追加状态= 0
//地址检查=(0)无地址检查
// FIFO 自动刷新= 0
//器件地址= 0
const RF_CONFIG_T tModeRfConfig ={
0x08、// FSCTRL1频率合成器控制。
0x00、// FSCTRL0频率合成器控制。
0x10、//0x21、// FREQ2 频率控制字、高字节。
0xB5、//0x6B、// FREQ1 频率控制字、中间字节。
0xE8、//0xD0、// FREQ0 频率控制字、低字节。
0x5C、// MDMCFG4调制解调器配置。 -103 kBaud
0x04、// MDMCFG3调制解调器配置。
0x05、// MDMCFG2调制解调器配置.05
0x22、// MDMCFG1调制解调器配置。
0xf8、// MDMCFG0调制解调器配置。
0x00、// CHANNR 通道编号。
0x44、// DEVIATN 调制解调器偏差设置
0xB6、// FREND1前端 RX 配置。
0x10、// FREND0前端 RX 配置。
0x18、// MCSM0 主无线电控制状态机配置。
0x2E、// FOCCFG 频率偏移补偿配置。
0xBF、// BSCFG 位同步配置。
0x43、// AGCCTRL2 AGC 控制。
0x09、// AGCCTRL1 AGC 控制。
0xB5、// AGCCTRL0 AGC 控制。
0xEA、// FSCAL3频率合成器校准。
0x2A、// FSCAL2频率合成器校准。
0x00、// FSCAL1频率合成器校准。
0x1f、// FSCAL0频率合成器校准。
0x59、// FSTEST 频率合成器校准。
0x81、// TEST2 各种测试设置。
0x35、// TEST1 各种测试设置。
0x09、// TEST0 各种测试设置。
0x06、// IOCFG2 GDO2输出引脚配置。
0x00、// IOCFG0D GDO0输出引脚配置。 有关详细的伪寄存器说明,请参阅 SmartRF
Studio 用户手册。
0x00、// PKTCTRL1数据包自动化控制。
0x00、// PKTCTRL0数据包自动化控制。
0x00、// ADDR 器件地址。
0xFF // PKTLEN 数据包长度。
};
const uint8_t tModePaTable[]={0xC0};
const uint8_t tModePaTableLen = 1;
这些值与 TI wmbus 堆栈相同、我刚刚将 FC 更改为434.475MHz。
出于测试目的、RTL2832连接到 Raspberry PI、我使用此软件来解码数据包: github.com/xaelsouth/rtl-wmbus
这是我使用的 RTL_SDR 设置:RTL_SDR -f 434425000 -s 1600000 -2>/dev/null | build/RTL_wmbus
在 CC1101中是否必须进行任何其他配置?
提前感谢!