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.

[参考译文] CC1120:器件型号寄存器问题

Guru**** 2391415 points
Other Parts Discussed in Thread: CC1125, CC1120

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1101915/cc1120-questions-on-registers-of-part-number

器件型号:CC1120
主题中讨论的其他器件:CC1125

您好的团队,

我的一位客户正在从 CC1125迁移到 CC1120、他们现在正在读取器件型号以 区分这两个器件。

但是、当它们读取器件型号寄存器时、该值有时读取为0x00、应为0x48。

您能否帮助解释可能的原因并提供其他方法来区分这两个器件?

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

    您好的团队,

    需要添加的另一点是、器件版本的寄存器是正确的。

    而且、由于客户在家办公、他们现在禁用了对 SPI 线路图的测试。 您能否提供一些建议来帮助他们检查问题?

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

    区分这些器件的唯一方法(从软件角度)是读取器件型号。  

    此外、如果它们读取到意外值、则表示 SPI 设置不正确。 他们是否有机会握住逻辑分析仪或示波器来检查 SPI 接口(我认为从实际角度来看这很困难)

    这是唯一的寄存器、它们在读取时遇到问题吗? 如果它们复位芯片并读回各种寄存器的值、它们应该读取复位值。 是这样吗?  

    他们以前是否在使用 CC1125时遇到过问题? 从 SPI 接口的角度来看、这两个器件是相等的、这意味着如果它们的代码与 CC1125一起运行、这也应该与 CC1120一起运行。 唯一的区别是、如果它们在 CC1125上使用了40MHz xtal、则时间可能不同、因为 CC1120使用32MHz xtal。   

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

    您好、Ter、

    感谢您的快速响应!

    这是唯一一个寄存器、它们在读取时遇到问题、它们设置的晶体为32MHz。

    他们在 CC1125中发现了相同的问题、您以前是否听说过相同的问题?

    除了读取器件型号之外、您是否有关于区分这两种产品的建议?

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

    我们以前从未听说过这种情况、没有其他方法可以区分这些部件。  

    他们是否使用示波器监视其 SPI 总线、以查看这是否符合频谱?

    您能否提供 SPI 通信图(全部4行)以显示 从该寄存器读取的值为0?

    Siri

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

    您好、Siri、

    我已将您的答案传递给客户。

    还有一个问题是  ,由于 Busrt 连续写入,寄存器是否可能被其他写入寄存器覆盖?

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

    PARTNUMBER 寄存器为只读、不能覆盖。

    Siri

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

    您好、Siri、

    他们使用逻辑分析仪观察  所附的 SPI 图。

    他们读取寄存器的逻辑如下:

    1.从总线的器件编号寄存器地址开始读取四个寄存器;

    启动的第一条指令依次从器件型号开始读取四个寄存器、器件型号和器件版本正常、逻辑分析仪捕获的数据包的屏幕截图如下所示。

    之后 、继续从器件型号开始读取四个寄存器。 器件型号值为0x00 (不正常)、器件版本正常、捕获数据包屏幕截图的逻辑分析仪如下所示。

    我们总结法律:
    1、读取这个器件型号 ID 寄存器必须确保它是 cc112x 操作的第一条指令、只要它被放置在后面、它将失败、这是非常奇怪的。
    2、为了延长后面指令的间隔时间、间隔时间较短、第一条指令也容易发生故障、我们现在要确保在超过2S 间隔后的学位段数和指令的运行;

    CC1125也是一样的。

    您能帮助解释一下这个问题吗?

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

    e2e.ti.com/.../DSLogic_2D00_la_2D00_220521_2D00_150704.dsl

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

    你好、Zoey

    您在.DSL 文件中发送给我的图中有很多内容、因此、如果您能够简化测试、并且只发送4条 SPI 线的图(而不是我不知道的所有其他内容)、我会很感激:

    另外、在发送的图中清楚显示哪条线是 SCLK、CSn 等

    我对 CC1120进行了快速测试、代码所做的唯一工作是在循环中读取两个寄存器:

    void main(void) {
    
        // Initialize MCU and peripherals
        initMCU();
        
        trxSpiCmdStrobe(CC112X_SRES);
    
        while(1) {
            cc112xSpiReadReg(CC112X_PARTNUMBER, &dummy, 1);
            cc112xSpiReadReg(CC112X_PARTVERSION, &dummy, 1);
        }
    }

    我正在从 PARTNUM 寄存器中重复读取0x48、从 PARTVERSITION 寄存器中重复读取0x21。

    逻辑分析仪如下所示:

    如果我执行猝发读取:

    void main(void) {
    
        // Initialize MCU and peripherals
        initMCU();
        
        trxSpiCmdStrobe(CC112X_SRES);
        
        while(1) {
            cc112xSpiReadReg(CC112X_PARTNUMBER, &dummy[0], 2);
        }
    }

    它如下所示:

    请提供类似的图。

    另外、请确保您首先重置器件(SRES)。

    Siri