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.

[参考译文] MSP432E401Y:TI-RTOS:Analog Devices ADN4612 和 MSP432E401Y 之间的 I2C 通信问题

Guru**** 2763585 points

Other Parts Discussed in Thread: MSP432E401Y, LMH1297

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1616048/msp432e401y-ti-rtos-i2c-communication-issues-between-analog-devices-adn4612-and-msp432e401y

器件型号: MSP432E401Y
主题 LMH1297 中讨论的其他器件

我使用 TI-RTOS 配置 MSP432E401Y、以帮助以以下方式传递 SDI 视频:  

视频输入-> TI LMH1297(EQ 模式)-> Analog Devices ADN4612 交叉点开关-> TI LMH1297(CD 模式)->显示输出

该流水线复制了 9 个、因为尽管硬件上只有一个交叉点开关、但视频流应在输出之间切换。  

通过 I2C 与 LMH1297 器件通信已成功、但尚未通过 I2C 与 ADN4612 通信。 两个外设均调用相同的 I2C_TRANSFER (I2C_Handle、I2C_Transaction*) 函数。 MSP432E 尝试发送消息、但在发送从器件地址后在总线上看到/接收到 NACK。 与 LMH1297 器件相比、ADN4612 位于其自己独立的 I2C 总线上、因此总线仲裁不是问题。 我使用适用于 MSP432E SDK 的 SimpleLink 裸机软件通过 I2C 与 ADN4612 进行通信、这成功了、但出于某种原因、TI-RTOS 提供了完全不同的结果。  

TI-RTOS 是否专门针对 TI 器件而打造? 例如、由于 ADN4612 由 Analog Devices 制造、而不是 TI、Code Composer Studio 和/或 TI-RTOS “知道“和“拒绝通信“??? 但如果是这种情况、我还希望 SimpleLink SDK 在与 ADN4612 通信时出现相同的问题。  

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

    实际上、I2C 主器件无法辨别 I2C 从器件的供应商。

    由于您使用的是 2 条总线、我第一个猜测是该请求会错的。 (我个人怀疑我错误键入了从器件地址。)

    ADN4612 数据表(修订版 C)第 38 页表明读取需要重复启动、但鉴于第 (5) 步规定指针寄存器在停止后保留、我有疑问。 不过、这是需要检查的。