你好,
用单片机对SLG46826芯片进行电路编程。SLG46826芯片没有使用工厂I2C地址0x08进行编程。
但是,当我擦除页面的某些部分,比如页面0xc0(页面可以用来更改I2C地址设置)后,芯片将自己锁定,所有寄存器值都更改为0xff(包括页面0xe0)。
附件显示了我所做的动作和芯片的响应:
1.从0xc0页读取,值正常(I2C地址0x08)
2.删除页面0 xc0
3.重置芯片
4.尝试用I2C地址0x08从0xc0页读取,如预期读取失败
5.用I2C地址0x00从0xc0页读取。所有寄存器值都更改为0xff
我没有在附件中显示页0xe0中的值,但是所有寄存器值也都更改为0xff,这用写保护锁住了芯片。
你能告诉我是什么导致了这个问题吗?
谢谢你!
最好的问候,
乔
设备:
设备数量:
SLG46826
嗨乔,
请确认您的I2C协议是否使用了重启(附件中绿色高亮显示)场景?
谢谢你的问题!
一个问题:
括号里是什么代码(请见附件)?
感谢和问候,
Pavlo
嗨PavloZ,
感谢您的回复。
我可以确认我的I2C协议使用重启。
这不是我们的第一个SLG46826项目。我们有擦除和编程芯片电路在生产之前在一个不同的电路。虽然我们也看到芯片可能锁自己在程序中,它很少发生。
至于PN号,由于芯片在电路中,我可能需要一段时间才能弄清楚如何读出它。你的意思是有些芯片很容易自动锁定吗?
谢谢你!
最好的问候,
乔
嗨PavloZ,
括号中的代码是附加的0x1。
最好的问候,
乔
嗨PavloZ,
我今天有更详细的检查。NVM实际上没有被锁定。
有时,该值将成功从NVM加载,因此芯片工作正常,但其他时候,芯片没有正确配置的值在NVM,因此从寄存器数据配置(A10=A9=A8=0)的读取都是0xff。
您是否有任何线索,可能导致内部或外部?
谢谢你!
最好的问候,
乔
嗨乔,
现在还不知道是什么原因造成的。
数据传输过程中芯片的供电电压是多少?
你能拿那个通信的逻辑分析仪波形吗?