工具与软件:
您好!
我正在处理一个项目、在同一 PCB 上安装了四个 MCF8315A 驱动器芯片、并由微控制器通过公共 I2C 总线进行控制。
在与驱动程序建立通信、更改 I2C_SLAVE_ADDR、SPEED_MODE 和 BUS_VOLT 设置并将它们保存至 EEPROM 时、我没有遇到问题。
我还读取所有其他驱动器寄存器-它们的内容对应于 TI 文档中的默认值。
然后、我尝试在其中一个 MCF8315A 驱动器上启动 MPET 过程。
根据文档、可以执行以下操作:
1) 1)通过 ALGO_DEBUG2寄存器中的 MPET_CMD 位进行编程、前提是 MPET_R = 1b 或 MPET_L = 1b
2)或通过 ALGO_DEBUG1寄存器的 OVERRIDE 和 DIGITAL_SPEED_CTRL 字段应用非零速度基准、
前提是在 CLOSED_LOOP2中、MOTOR_RES = 0或 MOTOR_IND = 0、这是这些参数的默认值
我尝试了两种方法,但是 驱动器寄存器既没有视觉/声学反应、也没有任何变化 、但在第一种情况下 MPET_CMD 位迅速从"1"返回到"0"。
我不知道如何继续下去,因为我看不到这种行为的任何原因。
我能想象的唯一可能的原因是 SYS_INIT_DONE ALGO_STATUS 寄存器中的"0"位、根据文档"表示 固件仍在将 EEPROM 复制到影子存储器 "。
本文档中没有关于该位的进一步说明、当然、"将 EEPROM 复制到影子存储器"是完整的、因为我可以读取整个影子存储器。
请帮我弄清楚这可能是什么原因、以及我如何解决这一问题。
提前感谢!