Other Parts Discussed in Thread: DRV8811
Hello,
I'm new here so first let me introduce the background of this issue.
- I need to perform some test with the product.
- This product needs to drive 3 motors. (Not the same time)
- U1 Which is TM4C123GH6PM use to control by sending PWM signal to motor drive IC (DRV8811).
- While starting Motor test sequence the unit will not respond and after taking the unit out it cannot be re-programmed also
CAN communication will be lost even after power sequence. - Note that this design is use since 2018 and no issues. But this issue was started to happen on TM4C123G with marking "26C3D6W".
Which is June of 2022, and this issue is continue since then. - First, I suspect the test system and have measure supply voltage and connection which everything is ok.
- Next is checking test sequence which is also ok. and I also try to unlock the microcontroller using LM Flash Programmer and nothing happen.
- Now we're suspect the TM4C batch and firmware that another team is using.
So, Now I'm in middle of investigations . and see Sysctl_API document. Document mention that needs to take 5 Clock cycles after enable the GPIO to avoid bus fault.
https://software-dl.ti.com/simplelink/esd/simplelink_msp432e4_sdk/2.30.00.14/docs/driverlib/msp432e4/html/group__sysctl__api.html#ga2fbae61db465e1d861a62785d28e3ad6
Here are the code sample
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);
Which is likely to be exact 5 5lock cycles. refer from this site "Programming the Cortex-M4 in Assembly - Circuit Cellar" and "Cortex-M4 Technical Reference Manual r0p0 (arm.com)"
Is this possible to cause TM4C to spoil?
Next, I just want an information that is anything of TM4C123GH6PM change in batch "26C3D6W" and after?