Other Parts Discussed in Thread: MCF8329A-Q1, MCF8329RRYEVM, MCF8329A
器件型号: MCF8329A-Q1
主题中讨论的其他器件: MCF8329RRYEVM、 MCF8329A
尊敬的 TI 专家:
目前、我的工程将 MCF8329A-Q1 用于电机控制应用。 我们首先使用 MCF8329RRYEVM 评估模块进行测试。 在我的应用中、4 个 MCF8329A-Q1 器件使用同一条 I2C 总线。 因此、我需要配置 MCF8329A-Q1 的目标地址、以区分总线上的器件。
我按以下顺序执行目标地址:
1、设置 DRV_OFF = HIGH 以禁用驱动器输出、SPEED / WAKE = HIGH 以唤醒器件。
2、通过将 0x30000000 写入寄存器 0xEA (ALGO_CTRL1) 来清除故障。 (I2C 命令成功)
执行步骤 2 后、不会设置故障标志。
3、使用新的目标地址写入寄存器 0xA6 (DEVICE_CONFIG1)、其他字段不会改变。 (I2C 命令成功)
4、将 0x8A500000 写入寄存器 0x0000EA、以将影子寄存器 (0x000080-0x0000AE) 值写入 EEPROM。 (I2C 命令成功)
5、等待延迟一段时间 (>1s)
6、当我回读寄存器 0x0000EA 时、该值仍为 0x8A500000(无论我们必须等待多长时间)
7、设置速度/ WAKE = LOW、等待几秒钟、然后设置速度/ WAKE = HIGH。
但在序列之后、目标地址无法更新、我只能使用默认地址 (0x1) 与 MCF8329A-Q1 通信。
当我检查故障状态寄存器时、仅设置 MPET_BEMF_FAULT。 我尝试通过步骤 2 通过标志清除故障、但无法清除。 我认为一些错误的步骤可能会导致故障、然后导致 EEPROM 写入失败。
请帮助我回顾我需要如何检查和执行序列。
谢谢、此致、
Dung Nguyen Duc