This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MCT8316AEVM: Device not work, after write register value to EEPROM

Part Number: MCT8316AEVM
Other Parts Discussed in Thread: MCT8316A

Hi Team

MCT8316AEVM stopped working, after write register value to EEPROM for the first time.

Situation:

  • Motors not turn by any control method, PWM, Analog, I2C. There no fault status.
  • The values of EEPROM registers cannot be rewritten.
    After reboot and the EEPROM is read, the data before rewriting is seen.
  • No error while writing EEPROM. I got this message.
  • I don't know if it's related, but after turning on the power, ALARM and nFAULT blink.
    These LEDs turn off when  connect the USB. This phenomenon does not occur in PMCT8316AEVM.


I will send the register value (JSON file), which is loaded after power on the device.

regs.zip

Question:

  • Is there any way to solve this problem?
  • The board has just arrived. Is it possible to exchange it if it is defective?
  • Hi Team

    Additional Information.
    I alternately connected the msp430 and motor driver of MCT8316AEVM and PMCT8316AEVM as below figure.

    As a result, it seems that the MCT836A is not working properly.

    Check result:

    msp430 motor driver motor spin EEPROM rewrite
    PMCT8316AEVM PMCT8316AEVM ok ok
    PMCT8316AEVM MCT8316AEVM not spin cannot be rewritten
    MCT8316AEVM PMCT8316AEVM ok ok
    MCT8316AEVM MCT8316AEVM not spin cannot be rewritten
  • Hi Kenji,

    Did you manually edit the register JSON file? I noticed that the ALGO_CTRL1 register is set to 0xCA500000 in the JSON file. And ALGO_RESERVED2 and ALGO_RESERVED3 have non-zero values. These should all be 0 if the JSON file is configured and saved from the MCT8316A_GUI directly. 

    When I tried the register JSON that you sent, I eventually also ran into the same problem where the algorithm state gets stuck in MOTOR_BRAKE and the device EEPROM cannot be re-written. It appears that the internal control algorithm is getting stuck in a bad state on powerup due to certain configurations in internal/reserved registers that were written to the EEPROM.

    Unfortunately, I don't yet know how to restore the MCT8316A in this state or whether it's even possible. Please give me a few days while I investigate this with our design team, and will get back to you as soon as I can.

    I will contact you offline regarding getting you a replacement EVM.

    However, for future reference, I would recommend starting from the default register settings in the Guided Tuning Section in the MCT8316A_GUI:

    Afterwards, you can then change the settings in the All Tuning Setting page.

    Regards,
    Eric C.

  • Hi 

    I will explain the situation in a little more detail.

    Since motor not turned for the first start-up, I wrote recommended default values of "Default Fast Acceleration Robotic Vacuums". I got the message of "EEPROM write_cmd successful", so I tried to press the "READ FROM EEPROM" -> "READ ALL REGISTERS" button to make sure if it is written correctly.

    But I got this message.

    After reconnecting the serial without turning off the power of MCT8315AEVM, when I press "READ FROM EEPROM" -> "READ ALL REGISTERS", the default value was read, so I judged that it was written correctly, but the motor not turn and EEROM is no longer writable.



    Please let me know if you find a solution.

    Thank you for your help.

  • Hi Kenji-san,

    I may have found the cause of your problem. Could you please help confirm the following:

    1. Power up and connect your MCT8316AEVM to MCT8316A_GUI and do a "Read all registers"
    2. Check whether the Algorithm State is stuck in "MOTOR_BRAKE"
    3. Check if BRAKE_INPUT is set to Hardware Pin Brake
    4. Check if BRAKE switch on MCT8316AEVM is pushed to the right position (RUN)

    If the above scenario is true, then the root cause is likely due to the STL_ENABLE bit being set to 1 inside the DEVICE_CONFIG register. The combination of the STL_ENABLE bit and the BRAKE_INPUT being set to "Hardware Pin BRAKE" results in the algorithm state being stuck in MOTOR_BRAKE after power-up regardless of the BRAKE pin voltage. The MCT8316A only allows EEPROM write when the algorithm state is in MOTOR_IDLE.

    You can resolve this and reset the EEPROM simply with the following steps:

    1. Power up/connect EVM to GUI and perform a "Read all registers". You should see the Algorithm State stuck in "MOTOR_BRAKE"
    2. Navigate to the Guided Tuning section and restore the Default register settings:
    3. Go to All Tuning Settings page and change BRAKE_INPUT to "Override Hardware pin with brake functionality disabled"
    4. Perform a "Read all registers". You should see the Algorithm State is now "MOTOR_IDLE"
    5. Click on "Write to EEPROM" button
    6. Power cycle EVM

    Hopefully this resolves your issue. Going forward, I would suggest avoid setting the STL_ENABLE bit altogether, and also keeping all reserved bits/registers and internal registers to 0. We will also be sure to update our documentation to address this issue.

    Regards,
    Eric C.

  • Hi 

    I try 5 times, but unfortunately I couldn't solve.

    When the power line is connected, following the steps above behaves as if the EEPROM was successfully re-write.
    However, when the power is turned on again, it returns to its original EEPROM value.

    Are there any other steps to do, in above instruction?

  • Hi Kenji-san,

    Ah sorry, I had give you a slightly incorrect order in the steps. Restoring the Default register settings will set the BRAKE_INPUT to "Hardware Pin BRAKE" and cause Algorithm State to go back into "MOTOR_BRAKE". Therefore, step 1 needed to be moved to after step 3.

    I've corrected my previous post above, so please try again and let me know the result.

    Regards,
    Eric C.

  • Hi -san

    Thanks to your help, the EEPROM rewriting problem has been solved!

  • Hi Kenji-san,

    Glad to hear that. Please let me know if you have further tuning issues.

    Regards,
    Eric C.