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.

[参考译文] RF430FRL152H:I2C 对于旧芯片批次不起作用

Guru**** 2455490 points
Other Parts Discussed in Thread: RF430FRL152H

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

https://e2e.ti.com/support/wireless-connectivity/other-wireless-group/other-wireless/f/other-wireless-technologies-forum/1055199/rf430frl152h-i2c-non-functional-for-old-batch-of-chips

器件型号:RF430FRL152H

我们正在开发一款使用 RF430上的 I2C 接口的产品。 该产品适用于较新的 TI 芯片批次。  由于 RF430FRL152H 现已缺货、我们决定使用~5年的旧批次。 我们看到固件是读取此芯片上的 I2C 接口的错误工具。
我们已读取芯片上的寄存器(7.52固件版本寄存器)、指示固件版本、这与之类似。  TI 能否提供 一个指示、说明过去几年中固件或硬件是否发生了变化、从而使 I2C 总线更可靠? 我们想了解这批芯片为何不可靠。

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

    约斯特、您好!

    RF430FRL152H 的 IC 硬件和固件从未改变。

    请检查固件系统控制寄存器(块0xFF、请参阅固件用户指南中的第7.54章)。

    您是否对旧 IC 批次有更多详细信息? (生产日期代码标签)

    此致、

    Andreas。

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

    谢谢 Adreas、  

    我将要求我的制造工程师为我提供正确的代码。

    同时、我认为问题出在 UCB0CTLW0寄存器中。 在无线上传代码期间不会重置此寄存器、该寄存器通过某种方式设置为10位 i2c 模式。 在初始化期间、我们必须清除该寄存器。

    通过略微更改 TI 示例代码、形成'slac691f.zip':  

    UCB0CTLW0 |= UCMODE_3  + UCMST + UCSYNC + UCTR; 

    至:

    UCB0CTLW0 = UCMODE_3  + UCMST + UCSYNC + UCTR;   

    现在、旧一批芯片也在工作。 不过、有一点奇怪、因为寄存器应该在初始化后复位、不知为何不执行该操作。  我们放置了所有去耦电容器、因此不会发生毛刺脉冲。   

    谢谢、

    此致、

    约斯特


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

    约斯特、您好!

    很高兴看到您找到了解决方案。

    可能缺少复位与编程序列相关。 需要进行下电上电或手动复位、以初始化编程的固件。

    总之、我不知道旧器件在这种行为上有何差异。

    如果您有进一步的问题或我们是否可以关闭此主题、请告诉我。

    此致、

    Andreas。

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

    尊敬的 Andreas:

    我们已经看到、通过从读取器中移除标签来进行无线编程与下电上电周期的结合不足以复位 I2C 寄存器"UCB0CTL"。 为什么我们仍然不知道这种情况,这不符合我们的利益。  

    示例代码 'slac691f.zip'的微小变化 极大地改变了 I2C 接口的运行。 从一对一的 I2C 接口工作到 一个完全正常工作的 I2C 通信。  

    谢谢!

    此致、

    约斯特