主题中讨论的其他器件:CC1101、
我们正在开发用于检测窗口句柄位置的窗口触点和传感器。 对于我们的一个客户、我们需要传输 EnOcean 数据包。 EnOcean 数据包必须以125kbit/s 的比特率进行 ASK (OOK)调制
我们可以通过 CC1101轻松传输这些类型的数据包、但使用 CC1310是不可能的。
我们是否必须为此使用不同的收发器、或者是否有机会通过 CC1310传输这些数据包?
我们只需传输这些数据包-无需接收 !
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我们正在开发用于检测窗口句柄位置的窗口触点和传感器。 对于我们的一个客户、我们需要传输 EnOcean 数据包。 EnOcean 数据包必须以125kbit/s 的比特率进行 ASK (OOK)调制
我们可以通过 CC1101轻松传输这些类型的数据包、但使用 CC1310是不可能的。
我们是否必须为此使用不同的收发器、或者是否有机会通过 CC1310传输这些数据包?
我们只需传输这些数据包-无需接收 !
感谢您的回复。 我认为设置有问题。 我使用 SmartRF Studio 生成的设置。 我认为 HW_REG_OVERRIDE (0x6098、0x6E00)和有问题
// TI-RTOS 射频模式对象 RF_Mode RF_PROP = { rfMode = RF_MODE_Proprietary"子模式1、 .cpePatchFxn =&rf_patch_cpe_genook、 .mcePatchFxn =&rf_patch_mce_genook、 .rfePatchFxn =&rf_patch_rfe_genook }; //覆盖 CMD_PROP_RADIO_DIV_SETUP UINT32_t pOverrides[]= { // override_use_patch_prop_genook_nrz.xml // PHY:使用 MCE RAM 补丁、RFE RAM 补丁 MCE_RFE_OVERRIDE (1、0、0、1、0、0)、 // override_synth_prop_863_930_div5.xml //合成:将推荐的 RTRIM 设置为7 HW_REG_OVERRIDE (0x4038、0x0037)、 //合成:将频率设置为4MHz (uint32_t) 0x000684A3、 //合成:配置精细校准设置 HW_REG_OVERRIDE (0x4020、0x7F00)、 //合成:配置精细校准设置 HW_REG_OVERRIDE (0x4064、0x0040)、 //合成:配置精细校准设置 (uint32_t) 0xB1070503、 //合成:配置精细校准设置 (uint32_t) 0x05330523、 //合成:将锁定后的环路带宽设置为20kHz (uint32_t) 0x0A480583、 //合成:将锁定后的环路带宽设置为20kHz (uint32_t) 0x7AB80603、 //合成:配置 VCO LDO (在 ADI1中、设置 VCOLDOCFG=0x9F 以使用电压输入基准) ADI_REG_OVERRIDE (1、4、0x9F)、 //合成:配置同步 LDO (在 ADI1中、设置 SLDOCTL0.COMP_CAP=1) ADI_HALFREG_OVERRIDE (1、7、0x4、0x4)、 //合成:使用24MHz XOSC 作为同步时钟、启用额外的 PLL 滤波 (uint32_t) 0x02010403、 //合成:配置额外的 PLL 滤波 (uint32_t) 0x00108463、 //合成:增加同步编程超时(0x04B0 RAT 节拍= 300us) (uint32_t) 0x04B00243、 // override_synth_disable_bias_div5.xml //合成:将分频器偏置设置为禁用 HW32_array_override (0x405C、1)、 //合成:将分频器偏置设置为禁用(特定于 loder=5) (uint32_t) 0x18000200、 // override_phy_rx_aaf_bw_0xd.xml // Rx:将抗混叠滤波器带宽设置为0xD (在 ADI0中、设置 IFAMPCTL3[7:4]=0xD) ADI_HALFREG_OVERRIDE (0、61、0xF、0xD)、 // override_phy_agc_reflevel_0x19.xml // Rx:将 AGC 基准电平设置为0x19 HW_REG_OVERRIDE (0x6088、0x0019)、 // override_phy_ook_rx.xml // Rx:将 LNA 偏置电流修整偏移设置为3 (uint32_t) 0x00038883、 // Rx:在发现同步事件时冻结 RSSI HW_REG_OVERRIDE (0x6084、0x35F1)、 // override_phy_ook_rx_filter_iir_k_1div4.xml // Rx:将数据过滤器设置为 IIR,k=1/4。 解释:0x0000:K=1 (无滤波器)、0x0001:K=1/2、0x0002:K=1/4、0x0003:K=1/8。 HW_REG_OVERRIDE (0x5204、0x0002)、 // override_phy_ook_tx_power_10dbm.xml // Tx:将符号形状斜升至+10dBm PA 级别(0x6E00)。 说明:最小 PA 级别=0x6100、...、最大 PA 级别=0x7200。 位[15:13]设置每个 PA 斜坡级别的等待延迟。 位[12:8]设定从斜升 LUT (范围1-18)使用的 PA 电平的数量。 保留位[7:0]。 HW_REG_OVERRIDE (0x6098、0x6E00)、 // Tx:设置符号斜降到0xA7 (=168)之前的符号占空比延迟。 这意味着符号斜降将在到达(T_symbol/2)+等待(167/2)=83us 的延迟后开始。 HW_REG_OVERRIDE (0x52B8、0x80A7)、 // override_phy_rx_rssi_offset_5db.xml // Rx:设置 RSSI 偏移以将报告的 RSSI 调整+5dB (默认值:0)、针对外部偏置和差分配置进行了修整 (uint32_t) 0x00FB88A3、 (uint32_t) 0xFFFFFFFF }; // CMD_PROP_RADIO_DIV_SETUP //针对所有频带的专有模式无线电设置命令 RFC_CMD_PROP_RADIO_DIV_SETUP_t RF_PropcmdletRadioDivSetup = { .commandNo = 0x3807、 .status = 0x0000、 .pNextOp = 0、//插入适用的指针:(uint8_t*)&xxx .StartTime = 0x00000000、 .startTrigger.triggerType = 0x0、 .startTrigger.bEnaCmd = 0x0、 .startTrigger.triggerNo = 0x0、 .startTrigger.PastTrig = 0x0、 .condition.rule = 0x1、 .condition.nSkip = 0x0、 modulation .modType = 0x2、 .modulation.deviation = 0x0、 symbolRate.prescale = 0xF、 symbolRate.rateWord = 0x14000、 .symbolRate.decimMode = 0x0、 .rxBw = 0x2B、 .PreambBytes = 0x4、 .Conf.前置 放大器模式= 0x0、 .formatConf.nSwBits = 0x20、 .formatConf.bBitVersal = 0x0、 .formatConf.bMsbFirst = 0x1、 formatConf.fecMode = 0x0、 formatConf.whitenMode = 0x0、 .config.frontEndMode = 0x0、 config.biasMode = 0x1、 config.analogCfgMode = 0x0、 config.bNoFsPowerUp = 0x0、 TxPower = 0x38D3、 .pRegOverride = pOverrides、 .centerFreq = 0x0364、 .intFreq = 0x8000、 .loDivider = 0x05 }; // CMD_FS //频率合成器编程命令 RFC_CMD_FS_t RF_cmdF = { .commandNo = 0x0803、 .status = 0x0000、 .pNextOp = 0、//插入适用的指针:(uint8_t*)&xxx .StartTime = 0x00000000、 .startTrigger.triggerType = 0x0、 .startTrigger.bEnaCmd = 0x0、 .startTrigger.triggerNo = 0x0、 .startTrigger.PastTrig = 0x0、 .condition.rule = 0x1、 .condition.nSkip = 0x0、 .frequency = 0x0364、 .fractFreq = 0x4CCD、 synthConf.bTxMode = 0x0、 .synthConf.refFreq = 0x0、 .__dummy0 = 0x00、 .__dummy1 = 0x00、 .__dummy2=0x00, .__dummy3 = 0x0000 }; // CMD_PROP_TX //专有模式发送命令 RFC_CMD_PROP_TX_t RF_cmdPropTx = { .commandNo = 0x3801、 .status = 0x0000、 .pNextOp = 0、//插入适用的指针:(uint8_t*)&xxx .StartTime = 0x00000000、 .startTrigger.triggerType = 0x0、 .startTrigger.bEnaCmd = 0x0、 .startTrigger.triggerNo = 0x0、 .startTrigger.PastTrig = 0x0、 .condition.rule = 0x1、 .condition.nSkip = 0x0、 .pktConf.bFsOff = 0x0、 .pktConf.bUseCrc = 0x1、 .pktConf.bVarLen = 0x1、 .pktLen = 0x14、 syncdWord = 0x930B51DE、 .pPKT = 0 //插入适用的指针:(UINT8_t*)&xxx };
我可以看到、CC1310使用以下设置传输一个脉冲(宽度~84us):
如果我只将波特率更改为4.8kbaud、那么信号如下所示:
如果我将 HW_REG_OVERRIDE (0x6098、0x6E00)更改为 HW_REG_OVERRIDE (0x6098、0x0E00)、输出如下所示: 
以下是 CC1101设置:
const uint8_t CC1101_settings[]= { 0x06、// 00 GDO2 0x2E、// 01 GDO1 0x0D、// 02 GDO0 0x47、// 03 FIFOTHR 0xAA、// 04 SYNC1 0xAA、// 05 SYNC0 0x15、// 06 PKTLEN 0x04 、 0x04、0x04、0xAN08/TRTRTRTRUDR1 0x08、0x04、0x04、0x0、0x0、0x0、0x0、0x0、0x0、0x0、0x0、0x0 / TRTRTRN0 // 0B FSCTRL1 0x00、// 0C FSCTRL0 0x21、// 0D FREQ2 0x65、// 0E FREQ1 0x6A、// 0F FREQ0 0x5C、// 10 MDMCFIATG4 0x3B、// 11 MDMCFG3 0x30、// 12 MDMCFG2 0x03、// 0F 14 、0x13、0xMMCF61、// MMCF16、0x07、0x24 MMCFMCF16、0x14 / MMCFMCG13、0x14、0xMMCF16 / MMCFMCG0 // 17 MCSM1 0x18,// 18 MCSM0 0x2E,// 19 FOCCFG 0xBF,// 1A BSCFG 0x03,// 1B AGCCTRL2 0x00,// 1C AGCCTRL1 0x91,// 1D AGCCTRL0 0x87,// WORKEVT1 0x6B,// EWORFB EVT0 0x11 ,// END1 0x20,// ECCTRL 0x11,// // 23 FSCAL3 0x2A,// 24 FSCAL2 0x00,// 25 FSCAL1 0x1F,// 26 FSCAL0 0x41,// 27 RCCTRL1 0x00,// 28 RCCTRL0 0x59,// 29 FSTEST 0x7F,// 2A ptest 0x3F,// 27 RCCTRL1 0x00,// TEST2 0x09 0x22,// TEST2 0x22,TEST2,0x21 0x22