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.

[参考译文] TMS320F28069:当 NACK 不后跟停止条件时、I2C 问题

Guru**** 2546030 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1113486/tms320f28069-i2c-problem-when-nack-is-not-followed-by-a-stop-condition

器件型号:TMS320F28069
主题中讨论的其他器件:C2000WARE

提前感谢您为此问题提供支持!

 

在我们将 MCU (TMS320F28069PNT)用作简单 I2C 总线上的主器件的产品原型设计过程中、我们观察到、并非所有的 nack (由从器件发出)都后跟一个停止条件、每当这种情况发生时、下一个事务将会演示不必要的行为 (应该是 ACK 的 NACK)。  请参见随附的图。  我们认为固件代码中没有考虑一些极端情况。  您是否会为我们提供一些强大的 I2C 示例代码、用于在读取/写入期间处理 nack 和停止条件?  

 

如有需要、请随时向我们寻求更多的澄清、如果不是立即、我们将在24小时内回复您。  

 

蔡润玉

电气工程师

Acutronic Actuation Inc.

航空航天部件司

 

办事处: +1 737 241 0559

电子邮件:  rcai@acutronic.com

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

    您好 Runyu、

    您可以查看 C2000WARE、"i2c_Lib_EEPROM_INTERRUPT"或"i2c_Lib_EEPROM_POLLING"中的 I2C 示例。 目录位置:

    C:\ti\c2000\C2000Ware_4_01_00_00\device_support\f2806x\examples\c28

    最棒的

    Kevin

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

    感谢 Kevin、

    我在 LaunchPad (配备了相同的 MCU)上调试了示例代码[i2c_EEPROM]。  我使用目标从器件 AM4096芯片作为 I2C 总线交互的 EEPROM。  我捕获了一些非常奇怪的行为、如下图所示。

    下面是放大和标注的版本

        

    代码的核心功能与原始示例中相同、我只是将从器件地址更改为0x00、因为这是 AM4096的默认地址、 然后、我将 EEPROM 地址更改为0x01、将消息更改为0x0000和0x001b (以确认消息确实已发出)。

    我不明白为什么在执行写入操作(在第二个 START 信号/条件之前)后不会生成 STP 信号/条件、代码显示应该存在 STP 条件。

    此外、为什么总线在突发后被拉低、并且总线在我复位 LaunchPad 之前不会从低电平状态恢复。

    最后、为什么{从地址(7位)+读取/写入(1位)+ ACK (1位)}部分重复两次?

    谢谢!  

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

    您好 Runyu、

    AM4096 I2C 协议只使用单个存储器地址字节、其中原始示例使用两个(高/低)字节。 也许仍需要考虑这种差异。

    最棒的

    Kevin

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

    确实、谢谢 Kevin。  此外、如果我仔细观察、实际上还有一个 STP 位/条件。  由于从器件混乱、总线被停止。  

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

    您好 Runyu、

    不用客气! I2C 通信和总线行为现在是否符合预期? 如果您有任何疑问、请告诉我。

    最棒的

    Kevin