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.

MCF8315A: MCF8315A

Part Number: MCF8315A

Tool/software:

Hello,
I'm working on a project with four MCF8315A Driver chips mounted on the same PCB and controlled by a microcontroller through a common I2C bus.
I had no problems establishing communication with the Drivers, changing their I2C_SLAVE_ADDR, SPEED_MODE and BUS_VOLT settings and saving them to the EEPROM.
I also read all the other Driver Registers - their contents correspond to the defaults values taken from the TI documentation.

Then I tried to start the MPET procedure on one of the MCF8315A Drivers.
According to the Documentation, this can be done:
  1) either through the MPET_CMD bit in ALGO_DEBUG2 Register, provided that MPET_R = 1b or MPET_L = 1b
  2) or by applying a non-zero Speed Reference through the OVERRIDE and DIGITAL_SPEED_CTRL fields of ALGO_DEBUG1 Register,
     provided that in CLOSED_LOOP2 Register MOTOR_RES = 0 or MOTOR_IND = 0, which are the default values of these parameters

I tried both ways, but there was neither visual/acoustic reaction, nor any change in the Driver Registers, except that the MPET_CMD bit went back from '1' to '0' swiftly in the first case.

I have no idea how to proceed further as I can't see any reason for such behavior.
The only probable cause I can imagine is the SYS_INIT_DONE bit in the ALGO_STATUS Register which stays '0', which according to the Documentation "indicates firmware is still copying EEPROM to shadow memory".
There are no more explanations for this bit in the Documentation, and of course, "copying EEPROM to shadow memory" is complete as I can read the entire shadow memory.

Please, help me figure out what could be the cause of this problem and how I could solve it.
Thanks in advance!

  • Hi

    Thanks for posting your question. 

    We are travelling this week, we will aim to reply by Friday 

    Thanks and Best Regards 

    Venkatadri S 

  • Hi Krum,

    For the first case, the MPET will run very quickly which lasts in ms . This stage drive current pulses and measures R, L. This will not run the motor, for KE and speed loop we need to run the motor.

    I will plan to share the reference JSON which is configured for the MPET.

    Please share the motor ratings of current, Voltage, max speed (number of poles and rpm).

    Are you using EVM or custom board?

    Thanks and Best Regards 

    Venkatadri S 

  • Hi Venkatadri.

    Thanks for your reply.

    Here are the details of my attempt to launch the MPET procedure.

    I'm using a custom borard with four MCF8315a drivers connected to a common I2C bus.

    The I2C bus master is a small NXP microcontroller which communicates with my PC over an RS232 connection.

    I can read/write all the MCF8315a registers on all the four drivers and I'm trying to run the MPET on one of the drivers, to which a small motor is connected.

    I'm using my own configuration/monitoring software where all the EEPROM and RAM registers are read and displayed in a FlexGrid control, so I have the entire MCF8315a state at a glance.

    Unfortunately, I have no data about the motor parameters presently, but the main issue is that the MPET does not start at all and I don't understand what's the problem.

    When I set the MPET_R and MPET_L bits in ALGO_DEBUG2 register and then set the MPET_CMD bit, nothing happens except MPET_CMD returns back to '0'. Motor resistance and inductance are not measured and this is evidenced by the state of the two SYSTEM STATUS registers MTR_PARAMS and ALGO_STSTUS_MPET, where the corresponding fields retain their zero values - MOTOR_R, MOTOR_L, MPET_STATUS_R, MPET_STATUS_L all remain zero.

    I would at least expect the NO_MTR or MPET_IPD_FAULT bit to go high, but the CONTROLLER_FAULT STATUS register remains zero too.

    I also tried to start then MPET through applying a speed reference both in the I2C and in analog SPEED_MODE, but with the same result.

    It looks like the MPET_CMD is ignored but I can't see where I'm making a mistake.

    Do you have any suggestions, what could I do more than the describerd above?

    Thanks in advance and Best Regards.

  • Hi Krum,

    Thanks for providing details. I will look into this thread and reply to you by tomorrow.

    Thanks and Best Regards

    Venkatadri S

  • Hi Krum,

    Can you provide me motor current rating, max speed information?

    For MPET Following setting are important

    1. Max speed -- This is used for KE and Mechanical speed measurements

    2. Current rating so that we can push current into winding to measure R, L 

    3. There are other setting like - Sleep condition, Speed Pin condition to Sleep / Idle state 

    If you provide max current rating of your motor I will share the basic JSON using which you can test MPET and spin the motor

    Thanks and Best Regards

    Venkatadri S