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.

[参考译文] CC1125:IOCFGx 寄存器写入错误

Guru**** 2538930 points
Other Parts Discussed in Thread: CC1125

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/870124/cc1125-iocfgx-registers-bad-write

器件型号:CC1125

你(们)好

我正在使用 cc1125芯片并尝试将其置于睡眠模式

加电后、我将使用复位引脚复位芯片、并使用状态读取芯片状态、并验证芯片是否处于空闲模式。

我的问题是 IOCFGx 的值(1-3)。

在将0x30 (HiZ)写入 IOCFGx 寄存器并读回这些值后,没有任何变化(它们在默认值中),但如果我写入0x31,我可以从所有4个寄存器读回0x31。

原因可能是什么?

此致

Yossi

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

    没有理由不能将0x30写入 IOCFG0寄存器并读回相同的值。

    请参阅下图:

    在这里、我将0x30写入 IOCFG0并从同一寄存器读回0x30。

    如果您需要进一步的帮助、请在尝试写入和读取寄存器时发布 SPI 通信图。

    BR

    Siri

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

    还可以。。。 我会再次检查...

    进入芯片睡眠模式的正确方法是什么?

    选通信号空闲

    等待、直到处于空闲状态

    向 IOCFGx 写入一些值。 什么价值...

    选通睡眠

    请提供建议

    此致

    Yossi

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

    无需输入任何特定的寄存器即可进入睡眠模式。 唯一需要的是发送 SPWD 选通信号。 我认为可以从活动状态(RX 和 TX)选通 SPWD、但无线电将始终通过空闲状态进入睡眠状态。

    上电后、对讲机默认处于空闲状态、一旦 CHP 断言 RDYn、您就可以在 SPI 接口上发送 SPWD 选通脉冲。

    BR

    Siri

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

    你(们)好

    这不是发生的

    如果寄存器未配置为48值、则芯片不会进入休眠状态...

    请对其进行测试、并检查仅睡眠频闪灯是否足够...

    作者在论坛上写道、还有其他事情

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

    您是否有指向我在中撰写其他内容的帖子的链接?  

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

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

    我看不到我在旧帖子中所做的评论与您的案例有何关系、更重要的是、您认为必须设置 IOCFG 寄存器?  

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

    我执行了以下操作:

    寄存器设置:

    //地址配置=无地址检查
    //位速率= 1.2
    //载波频率= 868.000000
    //偏差= 3.997803
    //器件地址= 0
    //曼彻斯特启用= false
    //调制格式= 2-FSK
    // PA 斜升= true
    //数据包位长度= 0
    //数据包长度 = 255
    //数据包长度模式=可变
    //性能模式=高性能
    // RX 滤波器带宽= 10.000000
    //符号速率= 1.2
    // TX 功率= 15
    //白化=假
    
    静态常量寄存器 Seting_t preferredSettings[]=
    {
    CC112X_SYNC_CFG1、 0x0B}、
    {CC112X_DCFILT_CFG、 0x1C}、
    {CC112X_IQIC、 0xC6}、
    {CC112X_MDMCFG0、 0x05}、
    {CC112X_AGC_REF、 0x20}、
    {CC112X_AGC_CS_THR、 0x19}、
    {CC112X_AGC_CFG1、 0xA9}、
    {CC112X_AGC_CFG0、 0xCF}、
    {CC112X_FIFO_CFG、 0x00}、
    {CC112X_FS_CFG、 0x12}、
    {CC112X_PKT_CFG0、 0x20}、
    {CC112X_PKT_LEN、 0xFF}、
    {CC112X_IF_Mix _CFG、 0x00}、
    {CC112X_FREQOFF_CFG、 0x22}、
    {CC112X_FREQ2、 0x6C}、
    {CC112X_FREQ1、 0x80}、
    {CC112X_FS_DIG1、 0x00}、
    {CC112X_FS_DIG0、 0x5F}、
    {CC112X_FS_CAL1、 0x40}、
    {CC112X_FS_CAL0、 0x0E}、
    {CC112X_FS_DIVTWO、 0x03}、
    {CC112X_FS_DSM0、 0x33}、
    {CC112X_FS_DVC0、 0x17}、
    {CC112X_FS_PFD、 0x50}、
    {CC112X_FS_PRE、 0x6E}、
    {CC112X_FS_REG_DIV_CML、0x14}、
    {CC112X_FS_SPARE、 0xAC}、
    {CC112X_FS_VCO0、 0xB4}、
    {CC112X_XOSC5、 0x0E}、
    {CC112X_XOSC1、 0x03}、
    }; 

    软件:

    void main (void)
    {
    uint8 writeByte;
    
    //初始化 MCU 和外设
    initmc();
    
    
    while (1)
    {
    TrxSpiCmdStrobe (CC112X_SPWD);
    候补女士(2);
    trxSpiCmdStrobe (CC112X_Sidle);
    候补 Ms(3);
    }
    } 

    器件按预期进入和退出睡眠模式。

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

    IOCFGx (1-3)的值是多少?

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

    复位后的默认值(请参阅用户指南)