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