您好!
我最近看到过这种行为。
我的设备正像这样干扰线路。
另一个器件正在发送我们观察到的消息。 完成消息后、我的设备会尝试发送一些内容、然后永远拉低线路。 我已经检测到是我的器件在下拉线路。
如何检测自己的设备是否堵塞线路? 我看到没有碰撞中断。
发送前、我用
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.
您好!
我最近看到过这种行为。
我的设备正像这样干扰线路。
另一个器件正在发送我们观察到的消息。 完成消息后、我的设备会尝试发送一些内容、然后永远拉低线路。 我已经检测到是我的器件在下拉线路。
如何检测自己的设备是否堵塞线路? 我看到没有碰撞中断。
发送前、我用
更新:这是我为了把它发下来而做的。 我实施了超时传输、每次超时、我都会这样做
您好 Asiel;
您需要检查并确保以下几个问题:
1)。 从发送的图1可以看出 M0是目标器件。 主机器件将0x59写入 M0后、仍会出现七个时钟且发生七位传输。 但 I2C 传输的格式应为8位数据+ ACK、因此此处的 I2C 传输对于某些未完成。 级联结构。 你可以尝试找出原因。 可能是由主机器件造成的。
2)。 如果只想使用 M0将数据发送到主机器件、M0也可以在 I2C 目标模式下发送数据、只能控制 SCL。 但是、如果您希望让 M0控制 SCL 并将数据发送到其他器件、则应先将 I2C 切换到 GPIO 、然后再通过 IOMUX 将目标重新配置为主机、请参阅 MSPM0G 系列用户指南的"8.2.1章外设功能分配"。 我发现我的同事 Helic 已经在帖子"MSPM0G1106:I2C 干扰"中回复了您。 之后、您可以继续配置 I2C 主机配置(例如 DL_I2C_startControllerTransferAdvanced 等)。
3)。 在配置 I2C 时、我认为您不需要配置 Hi-Z、或许您可以尝试删除 Hi-Z 配置。 当输出逻辑为1时、 输出为高阻抗。 Hi-Z 不是高电平或低电平。 大家可以看到 Hi-Z 为"开路"、它的阻抗非常高。 Hi-Z 将使 I2C 主机器件对 I2C 目标器件没有影响。
4)。 您可以检查 SDA 和 SCL 线路的上拉寄存器。
5). I2C 支持一个主机<->乘法目标、但它不支持乘法主机<->一个目标。 因此、您应该检查"其中3个器件同时发送消息"的含义。
6)。 我们的 SDK 提供许多示例代码、可帮助您更正代码和配置。
此致、
K·扬茨
谢谢!
1.-这是一个 需要满足要求的多主机通道、因此在发送目标时不是什么选择、这就是我正在进行从主设备到目标设备的动态切换的原因。 但是、是的、我看到我的器件是尝试发送并随后保持线路的器件。
2.-我不知道我必须先更改引脚、然后才能从主设备切换到目标设备。 我没有将 GPIO 从目标更改为控制器。 GPIO 变化是因为、为了解决第一个问题、我强制 SCL 和 SDA 加电、然后回到 I2C 模式。 我不知道是否遵循正确的顺序来实现它。
我将删除高阻态。 只是我不知道如何在 I2C 和 GPIO 模式之间切换。 我只是基于自动生成的初始化。
4.-我如何以及为什么可以检查它?
5.-通信中的所有器件都是多主器件、
6.-我已经对它们进行了检查、我的代码便是基于这些检查的。
7.-是否可以中止传输? 即使它尚未开始或正在进行的事务?
感谢您的支持。
现在、我认为您需要做以下事情:
1)。 阐明整个操作流程的逻辑、这可以帮助您找到错误。
2)。 检查是否只有一个主机器件同时执行发送任务。 多个主机器件无法同时发送消息。
3)。 检查第一张图中发送的 M0是主机器件还是目标器件。 如果 M0在更改后是目标甚至是主机、也不可能因为没有第二条读取/写入指令而中断 M0发送过程。 请查看其他设备的发送过程中断的原因(我已在之前的回复中提到)。 如果 M0最初是主机、请检查 M0代码以确保发送过程不完整的原因。
3)。 但是、在主机模式和目标模式之间切换之前、最好先执行取消初始化、然后重新初始化。 这就是为什么 Helic 可以更改引脚功能。
4)。 I2C 支持一个主机<->乘法目标、但它不支持乘法主机<->一个目标。 因此、您应该检查"其中3个器件同时发送消息"的含义。
5). 您可以尝试根据我们的 SDK 示例代码构建您的项目。
6)。 如果您仍有问题、您可以向负责您或您所在地区的 AE/FAE 发送电子邮件。
希望您可以解决这个问题、此致、
K·扬茨