Programming MTP for MPM3695-20

We are attempting to program the MPM3695-20 in a custom board using on-board software in a production test fixture. We have no problem connecting to, writing commands, and reading back registers over the I2C bus. However when programming the MTP using the procedure described in the datasheet, the register values change during the process, and the incorrect values are stored to MTP. Below is our MTP programming process and some notes:

  1. I2C write all commands to our desired values. We can read them back over I2c – they all match the desired values.
  2. Write the erase command (E7h = 2000h). We see the VCC rise to 5V then fall back to 3.3V. (Wait one second).
  3. Write the load command (E7h = 1000h). (Wait one second)
  4. Write the program command (E7h = 4000h). We see the VCC rise to 5V then fall back to 3.3V

After this procedure, the register values have all changed. The changed values are stored in MTP, if we cycle power the changed values remain.
The test fixture supplies +12V to Vin and pulls En pin to GND.

During debugging we read back the registers after each step. It appears that the load command (E7h = 1000h) is what changes the registers. Any ideas as to what is going wrong?

Thanks for any help!

Mark Carlin

Any response here on what to investigate? We have been able to figure out some of the bits on the E7h 16-bit command: It appears that bit 11 is used to elevate VCC to 5V for programming. We are guessing the lsbs are used to possibly select a page? The msbs are clearly defined for the operation (Erase Cell, Load pre-write, Write)

We have managed to get our devices programmed (we think) with a combination of enabling VCC → 5V early, programming parts first to a known state first(-0022 or -3333) and multiple write commands. Sometimes the programming mostly works except for a few bits that are flipped. One thin theory that we have is that the VCC caps are too big, we are using 4.7uF caps instead of the recommended 1.0 uF. We were trying to account for voltage de-rating.

If you have any additional information regarding the programming sequence, paging, VCC → 5V, etc it would be much appreciated.

BR,

Mark

Hi @mcarlin ,

Closing this topic since it’s being handled over email.

Thanks,
Rubas