How to reset MMPF0100 I2C module.

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

How to reset MMPF0100 I2C module.

跳至解决方案
1,898 次查看
satoshishimoda
Senior Contributor I

Hi community,

I want to know how to reset MMPF0100 I2C module.
Actually, a problem is occurred with MMPF0100 uncorrect I2C finishing when i.MX6 Android is reboot.

(in other words, a problem is occurred if i.MX6 reboots Android suddenly in I2C communication)

If I2C communication is not finished correctly, I think MMPF0100 seems that misunderstand I2C data by combining the data on previous I2C access and the data on next access, and it sets incorrect value to MMPF0100 register by the misunderstanding.

So I prevent this problem by MMPF0100 I2C module reset.
Could you let me know how to do it?

Best Regards,
Satoshi Shimoda

0 项奖励
回复
1 解答
1,524 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Satoshi, it is not possible

to reset only MMPF0100 I2C module, you can just initiate

new power up sequence to reset whole MMPF0100. In general if I2C

slave is hanging, master (i.MX6) can send additional clocks (9 max) then

generate STOP condition (MSTA bit in i.MX6 I2CR register).

Then I2C slave should recover. If MMPF0100 does not hang you

can just rewrite wrong settings sending another I2C data.

在原帖中查看解决方案

0 项奖励
回复
2 回复数
1,525 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Satoshi, it is not possible

to reset only MMPF0100 I2C module, you can just initiate

new power up sequence to reset whole MMPF0100. In general if I2C

slave is hanging, master (i.MX6) can send additional clocks (9 max) then

generate STOP condition (MSTA bit in i.MX6 I2CR register).

Then I2C slave should recover. If MMPF0100 does not hang you

can just rewrite wrong settings sending another I2C data.

0 项奖励
回复
1,524 次查看
satoshishimoda
Senior Contributor I

Hi chipexpert,

Thank you for your quick response.

OK, I understand MMPF0100 I2C module cannot reset without new power up sequence.

So I will find other solution.

> If MMPF0100 does not hang you

> can just rewrite wrong settings sending another I2C data

Unfortunately, sometimes i.MX6 is stalled when the wrong setting is written to MMPF0100.

For example, there was a case 0x03 was set to Adress = 0x20 (SW1ABVOLT), in this case SW1AB output was changed to 0x375V and i.MX6 was stalled.

So I think "rewrite" is not suitabale solution.

Best Regards,

Satoshi Shimoda

0 项奖励
回复