主题中讨论的其他器件: DRV8811
您好!
我是新手、因此首先让我介绍这个问题的背景。
- 我需要对产品执行一些测试。
- 此产品需要驱动3个电机。 (不同时)
- U1是 TM4C123GH6PM、可通过向电机驱动 IC (DRV8811)发送 PWM 信号来进行控制。
- 在启动电机测试序列时、装置将不响应、并且在取出装置后也无法重新编程
即使在完成电源序列后、CAN 通信也会中断。 - 请注意、此设计自2018年开始使用、不存在任何问题。 但这个问题发生在标记为"26C3D6W"的 TM4C123G 上。
日期是2022年6月、 此后此问题一直存在。 - 首先、 我怀疑测试系统有问题、并测量了电源电压和连接、一切 正常。
- 接下来检查测试顺序、这也正常。 我还尝试使用 LM 闪存编程器解锁微控制器、但没有发生任何情况。
- 现在、我们怀疑另一个团队正在使用的 TM4C 批次和固件。
所以,现在我正在调查中. 并请参阅 SYSCTL_API 文档。 文档中提到、启用 GPIO 后需要经过5个时钟周期才能避免总线故障。
https://software-dl.ti.com/simplelink/esd/simplelink_msp432e4_sdk/2.30.00.14/docs/driverlib/msp432e4/html/group__sysctl__api.html#ga2fbae61db465e1d861a62785d28e3ad6
以下是代码示例
ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); ROM_GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3); ROM_GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3, 0x04); ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); ROM_GPIOPinTypeGPIOOutput(GPIO_PORTB_BASE, GPIO_PIN_6); ROM_GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_6 , 0x00); ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); ROM_GPIOPinTypeGPIOInput(GPIO_PORTB_BASE, GPIO_PIN_7);
这可能正好是5个锁定周期。 请参阅以下网站的"Programmingthe Cortex-M4 in Assembly - Circuit Cellar"和"Cortex-M4Technical Reference Manual r0p0 (arm.com)")
这可能会导致 TM4C 损坏吗?
接下来、我只是想获取"26C3D6W"批次中 TM4C123GH6PM 任何变化的信息吗?