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.

MCF8316A: EEPROM cannot be written

Part Number: MCF8316A

Tool/software:

Hello, I am having the following problems with the MCF8316A driver motor:
1. is it possible to use Motor Studio to write EEPROM directly through USB connecting computer and MCF8316A driver board, so that the driver board can run independently after re-powering?
2. If it is possible to write, what are the specific operation steps?
3. After writing EEPROM, how to verify that it has been written?
4. How to change the motor speed after independent operation?

  • Hello,

    I can provide a procedure for you tomorrow.

    Regards,

    Andy

  • Hello,

    Please review attachment. I will also summarize in this post.

    Yes, you can write to EEPROM using Motor Studio. Please ensure that the USB is connected to the MCF8316A EVM and to a computer. Make sure at least 6V is being supplied to VM and that the motor is not spinning.

    Modify any registers/parameters that need to be changed and after all shadow registers have been updated with the required values, write 0x8A500000 into register 0x0000EA to write the shadow register values into the EEPROM.

    Please refer to section 7.6.1.1 in the MCF8316A Sensorless Field Oriented Control (FOC) Integrated FET BLDC Driver datasheet (Rev. C) for more details on specific registers.

    TI recommends a minimum wait time of 750ms after issuing an EEPROM write to ensure the EEPROM write has completed
    before issuing a motor run command.
    After 750ms, TI recommends reading 0xEA register to ensure it has been reset to 0x0. This confirms that the EEPROM write process has been completed successfully.

    MCF8316A provides four options to configure the input speed command.
    • PWM input on SPEED pin by varying duty cycle of input signal
    • Frequency input on SPEED pin by varying frequency of input signal
    • Analog input on SPEED pin by varying amplitude of input signal
    • Over I2C by configuring SPEED_CTRL

    Configure the speed input [SPEED_MODE] register to select the appropriate speed input mode.
    If PWM input on SPEED pin is chosen as the speed input, configure SPEED_RANGE_SEL to select the PWM
    frequency range.
    If Frequency input on SPEED pin is chosen as the speed input, configure INPUT_MAXIMUM_FREQ to select
    the maximum PWM frequency. For example, if 10 kHz is chosen as maximum PWM frequency, 10 kHz PWM
    signal on SPEED pin will correspond to 100% speed command.
    To command the speed via I2C, toggle the “Enable Speed Control via I2C” in the I2C Control Section in GUI.

    NOTE: TI does not recommend writing to EEPROM during every power-up due to aging/write cycle limitations on number of EEPROM writes (20k write cycles at 850C as per datasheet). Repetitive register settings change can be done at shadow/RAM locations (and not written to EEPROM); only default configurations need to be written to EEPROM (at first power-up only)

    Regards,

    Andy

    7651.MCx EEPROM Write Procedure Recommendations.pdf

  • Hello, I still have the following doubts about your answer:


    First, please tell me if the steps I expressed in the picture are correct? Maybe I am not familiar with motor studio, please guide me.
    1. Write 0x8A500000 to register 0x0000EA after configuring all registers.
    2. Click read all to save.
    3. Click EEPROM and select Read From EEPROM to check if it is written.

    Second,how do I change the speed of the motor after independent operation? By rotating the potentiometer?

    Third, I followed the steps in my picture to write and read, but the motor does not rotate when I re-power it up. I tried to turn the potentiometer knob and the motor does not respond either.

    Can you give me a specific step-by-step diagram of the process

  • Hello,

    I understand you would like the motor to run independently after power-up, but first I want to check if you are able to get the motor to spin using Motor Studio and EVM at all by following the 'Quick Spin' steps in the GUI?

  • I am able to get the motor to spin using Motor Studio and EVM at all by following the 'Quick Spin' steps in the GUI, But I can't get it to run independently. Please tell me the exact steps using pictures. Please help me.

  • I will try to replicate on my side and I will get back to you with step by step instructions.

  • I was able to replicate on my side.

    • First, make sure J1 on EVM has jumper set to POT. This will allow the EVM to be controlled by the potentiometer.
    • Then power up the EVM and make sure PIN_CONFIG register is set to Analog Mode.
    • Now, make the motor spin. Once the motor is able to spin, stop spinning the motor and make sure potentiometer is set to zero (rotated fully clockwise).
    • Write 0x8A500000 to register 0x0000EA, same as you did before, to write to EEPROM.
    • Afterwards, you can also use the EEPROM controls (Write to EEPROM) to write to make sure EEPROM was written.
    • Now, the MCF8316A device will have the new register settings written to EEPROM so now you can power cycle the EVM and turn the potentiometer counter-clockwise and the motor should now spin without Motor Studio.

    These are the steps I followed to get the board to independently after re-powering.

    Regards,

    Andy

  • Thank you for the help you provided, I have solved this problem .But I have a new problem.

    In this graph you can see that our motor efficiency is only 68%, but we are able to reach 80% with other driver boards, so we think that we are not using motor studio debugging accurately, and I have the following questions:

    1.What are the factors that are causing my load speed to not reach the desired speed (I'm using closed loop)?

    2.How do I adjust the dead time?

    3.What size is the sampling resistor on the driver board?

    4.What parameters can we change on Motor Studio?

    Please try to use pictures to know how I should do it. I would appreciate it if you could get back to me quickly.

  • Hello,

    This question seems unrelated to the original post so please create a new post with your new question. By doing this, it will help other people easily find and solve their similar issues in the future.

    Thanks,

    Andy