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.

[参考译文] CC1101:额外的第##39位;1&#39位;在末尾添加

Guru**** 2348710 points
Other Parts Discussed in Thread: CC1101
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1479332/cc1101-extra-bit-1-added-at-the-end

器件型号:CC1101

工具与软件:

您好!

我注意到了 CC1101模块的一个问题-最后传输的位是正常宽度的两倍。 当数据中的最后一位为"1"时会发生此问题、但如果最后一位为"0"、则模块不会附加额外的"1"。 我已经通过各种 Arduino 库以及使用带有 CC 调试器的 SmartRF Studio 测试了这种行为、但问题仍然存在。  这可能是什么原因呢?

设置:

调制:OOK/ASK
频率:443.8 MHz
固定大小、无前导码/同步、无 CRC、曼彻斯特关闭、白化关闭

数据:0x01 0x01 0x01

数据:0x01 0x01 0x02

SmartRF Studio 中的寄存器值:

//
// Rf settings for CC1101
//
halRfWriteReg(IOCFG2,0x29);        //GDO2 Output Pin Configuration
halRfWriteReg(IOCFG1,0x2E);        //GDO1 Output Pin Configuration
halRfWriteReg(IOCFG0,0x06);        //GDO0 Output Pin Configuration
halRfWriteReg(FIFOTHR,0x47);       //RX FIFO and TX FIFO Thresholds
halRfWriteReg(SYNC1,0xD3);         //Sync Word, High Byte
halRfWriteReg(SYNC0,0x91);         //Sync Word, Low Byte
halRfWriteReg(PKTLEN,0x03);        //Packet Length
halRfWriteReg(PKTCTRL1,0x04);      //Packet Automation Control
halRfWriteReg(PKTCTRL0,0x00);      //Packet Automation Control
halRfWriteReg(ADDR,0x00);          //Device Address
halRfWriteReg(CHANNR,0x00);        //Channel Number
halRfWriteReg(FSCTRL1,0x06);       //Frequency Synthesizer Control
halRfWriteReg(FSCTRL0,0x00);       //Frequency Synthesizer Control
halRfWriteReg(FREQ2,0x11);         //Frequency Control Word, High Byte
halRfWriteReg(FREQ1,0x11);         //Frequency Control Word, Middle Byte
halRfWriteReg(FREQ0,0xB9);         //Frequency Control Word, Low Byte
halRfWriteReg(MDMCFG4,0xF5);       //Modem Configuration
halRfWriteReg(MDMCFG3,0x83);       //Modem Configuration
halRfWriteReg(MDMCFG2,0x30);       //Modem Configuration
halRfWriteReg(MDMCFG1,0x02);       //Modem Configuration
halRfWriteReg(MDMCFG0,0xF8);       //Modem Configuration
halRfWriteReg(DEVIATN,0x15);       //Modem Deviation Setting
halRfWriteReg(MCSM2,0x07);         //Main Radio Control State Machine Configuration
halRfWriteReg(MCSM1,0x30);         //Main Radio Control State Machine Configuration
halRfWriteReg(MCSM0,0x18);         //Main Radio Control State Machine Configuration
halRfWriteReg(FOCCFG,0x16);        //Frequency Offset Compensation Configuration
halRfWriteReg(BSCFG,0x6C);         //Bit Synchronization Configuration
halRfWriteReg(AGCCTRL2,0x03);      //AGC Control
halRfWriteReg(AGCCTRL1,0x40);      //AGC Control
halRfWriteReg(AGCCTRL0,0x91);      //AGC Control
halRfWriteReg(WOREVT1,0x87);       //High Byte Event0 Timeout
halRfWriteReg(WOREVT0,0x6B);       //Low Byte Event0 Timeout
halRfWriteReg(WORCTRL,0xFB);       //Wake On Radio Control
halRfWriteReg(FREND1,0x56);        //Front End RX Configuration
halRfWriteReg(FREND0,0x11);        //Front End TX Configuration
halRfWriteReg(FSCAL3,0xE9);        //Frequency Synthesizer Calibration
halRfWriteReg(FSCAL2,0x2A);        //Frequency Synthesizer Calibration
halRfWriteReg(FSCAL1,0x00);        //Frequency Synthesizer Calibration
halRfWriteReg(FSCAL0,0x1F);        //Frequency Synthesizer Calibration
halRfWriteReg(RCCTRL1,0x41);       //RC Oscillator Configuration
halRfWriteReg(RCCTRL0,0x00);       //RC Oscillator Configuration
halRfWriteReg(FSTEST,0x59);        //Frequency Synthesizer Calibration Control
halRfWriteReg(PTEST,0x7F);         //Production Test
halRfWriteReg(AGCTEST,0x3F);       //AGC Test
halRfWriteReg(TEST2,0x81);         //Various Test Settings
halRfWriteReg(TEST1,0x35);         //Various Test Settings
halRfWriteReg(TEST0,0x09);         //Various Test Settings
halRfWriteReg(PARTNUM,0x00);       //Chip ID
halRfWriteReg(VERSION,0x14);       //Chip ID
halRfWriteReg(FREQEST,0x00);       //Frequency Offset Estimate from Demodulator
halRfWriteReg(LQI,0x05);           //Demodulator Estimate for Link Quality
halRfWriteReg(RSSI,0x80);          //Received Signal Strength Indication
halRfWriteReg(MARCSTATE,0x01);     //Main Radio Control State Machine State
halRfWriteReg(WORTIME1,0x00);      //High Byte of WOR Time
halRfWriteReg(WORTIME0,0x00);      //Low Byte of WOR Time
halRfWriteReg(PKTSTATUS,0x00);     //Current GDOx Status and Packet Status
halRfWriteReg(VCO_VC_DAC,0x94);    //Current Setting from PLL Calibration Module
halRfWriteReg(TXBYTES,0x00);       //Underflow and Number of Bytes
halRfWriteReg(RXBYTES,0x00);       //Overflow and Number of Bytes
halRfWriteReg(RCCTRL1_STATUS,0x00);//Last RC Oscillator Calibration Result
halRfWriteReg(RCCTRL0_STATUS,0x00);//Last RC Oscillator Calibration Result

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    在 SmartRF Studio 中使用其中一个默认 OOK PHY 设置(如果需要、可以使用其中一个 CC11xL PHY)时、您还会观察到这一点吗?

    此致、

    Zack

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、还有一个问题:

    请在中查看以下项  CC1101器件勘误表 (https://www.ti.com/lit/swrz020): 在 TX 中传输额外字节(第10页)。

    如果在任何默认设置下均未观察到这一点、并且是在使用自定义 OOK PHY 设置时、请检查详细信息和权变措施、并查看它是否适用于您的方案。

    重要的是、您如何退出 TX?

    此致、

    Zack

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 ZC:

    我已使用 ASK 调制的默认 SmartRF Studio 设置对此进行了测试、但仍然会出现问题。 我所做的唯一更改是禁用 CRC 校验并提供0x01 0x01 0x01作为数据。

    这不太可能与 TX 的终止方式有关、因为该问题出现在 SmartRF Studio 以及多个 Arduino 库中。 当我尝试自行实现时、我在 FIFO 中填充数据、切换到 TX 模式、并等待循环、直到模块转换到空闲状态。

    数据:0x01 0x01 0x01


    数据:0x01 0x01 0x02

    SmartRF 屏幕截图:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 ZC:

    这方面有什么更新吗?