Note:
- EEPROM write should be issued only when device is in idle or fault state
(motor not driven by device). VM should be ≥ 6V throughout the EEPROM write
process to ensure that all power rails (AVDD, FB_BK and DVDD) stay within
datasheet specifications and EEPROM write is never interrupted due to any
UVLO condition.
- TI does not recommend writing to EEPROM during every power-up/wake-up due to
aging/write cycle limitations on number of EEPROM writes (20000 write cycles
at TJ = 85oC). Repetitive register settings change can
be done at shadow/RAM registers (0x000080-0x0000AE); only default
configurations need to be written to EEPROM (at first power-up)
In MCF8316D, EEPROM write procedure is as follows,
- Write register 0x000080
(ISD_CONFIG) with ISD and reverse drive configuration like resync enable,
reverse drive enable, stationary detect threshold, reverse drive handoff
threshold etc.
- Write register 0x000082
(REV_DRIVE_CONFIG) with reverse drive and active brake configuration like
reverse drive open loop acceleration, active brake current limit, Kp, Ki values
etc.
- Write register 0x000084
(MOTOR_STARTUP1) with motor start-up configuration like start-up method, IPD
parameters, align parameters etc.
- Write register 0x000086
(MOTOR_STARTUP2) with motor start-up configuration like open loop acceleration,
open loop current limit, first cycle frequency etc.
- Write register 0x000088
(CLOSED_LOOP1) with motor control configuration like closed loop acceleration,
overmodulation enable, PWM frequency, FG signal parameters etc.
- Write register 0x00008A
(CLOSED_LOOP2) with motor control configuration like motor winding resistance
and inductance, motor stop options, brake speed threshold etc.
- Write register 0x00008C
(CLOSED_LOOP3) with motor control configuration like motor BEMF constant,
current loop Kp, Ki etc.
- Write register 0x00008E
(CLOSED_LOOP4) with motor control configuration like speed loop Kp, Ki and
maximum speed.
- Write register 0x000090
(FAULT_CONFIG1) with fault control configuration software and hardware current
limits, lock current limit and actions, retry times etc.
- Write register 0x000092
(FAULT_CONFIG2) with fault control configuration like hardware current limit
actions, OV, UV limits and actions, abnormal speed level, no motor threshold
etc.
- Write registers 0x000094 –
0x00009E (SPEED_PROFILES1-6) with speed profile configuration like profile type,
duty cycle, speed clamp level, duty cycle clamp level etc.
- Write register 0x0000A0
(INT_ALGO_1) with miscellaneous configuration like ISD run time and timeout,
MPET parameters etc.
- Write register 0x0000A2
(INT_ALGO_2) with miscellaneous configuration like additional MPET parameters,
IPD high resolution enable, active brake current slew rate, closed loop slow
acceleration etc.
- Write registers 0x0000A4
(PIN_CONFIG1) with pin configuration for speed input mode (analog or PWM), BRAKE
pin mode etc.
- Write registers 0x0000A6 and 0x0000A8
(DEVICE_CONFIG1 and DEVICE_CONFIG2) with device configuration like DAC/SOX,
I2C target address, dynamic CSA gain enable, dynamic voltage gain
enable, clock source select, speed range select etc.
- Write register 0x0000AA
(PERI_CONFIG1) with peripheral configuration like dead time, bus current limit,
DIR input, SSM enable etc.
- Write registers 0x0000AC and
0x0000AE (GD_CONFIG1 and GD_CONFIG2) with gate driver configuration like slew
rate, CSA gain, OCP level, mode, OVP enable, level, buck voltage level, buck
current limit etc.
- Write 0x8A500000 into register 0x0000EA to write
the shadow/RAM register (0x000080-0x0000AE) values into the EEPROM.
- Wait for 750ms for the EEPROM write operation to
complete.
- After 750ms, read 0x0000EA register to ensure it has been reset to 0x0. This
confirms that the EEPROM write process has been completed successfully.
Steps 1-17 can be
selectively executed based on registers/parameters that need to be modified. After
all shadow/RAM registers have been updated with the required values, steps 18-20
should be executed to write the contents of the shadow/RAM registers into the
EEPROM.