Other Parts Discussed in Thread: MSPM0G1507
部件号: MSPM0G1507
尊敬的专家:
我的客户已经使用 MSPM0G1507 创建了原型板、但他们观察到 I2C 控制器中存在未解释的行为。
这种现象是、一旦通信失败、后续尝试就会失败、或者传输的值与预期值不同。
问题 1: 在 I2C 控制器模式下、您能否解释该过程未完成(移位寄存器中仍有数据)且状态转换为空闲的情况?
如果已知案例相似、请分享这些案例。
如下所示:(+) MSPM0G3507:I2C 控制器模式处理 NACK — 基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛
问题 2: 此外、当 Q1 中所述的状态发生时、建议的恢复过程是什么?
目前、在进入 I2CController_ Read/Write() 后、他们添加了以下复位过程。
DL_I2C_reset(I2C1_INST);
DL_I2C_enablePower(I2C1_INST);
SYSCFG_DL_I2C1_init();
根本原因仍在调查中、但我们怀疑电源存在问题。
我们假设通信期间发生了一些错误、将数据留在移位寄存器中、并且该过程提前退出。
代码结构会监测 I2C 控制器状态、并等待状态变为空闲状态、然后再结束过程。
他们还添加了对 TxDONE 等标志的检查、但这种现象并没有改变。
如果需要任何其他信息、请告知我们。
此致、
正常