This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TPS65218D0:TPS6521815的编程安全

Guru**** 2380580 points
Other Parts Discussed in Thread: TPS65218
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/933930/tps65218d0-programing-secuence-for-tps6521815

器件型号:TPS65218D0
主题中讨论的其他器件:TPS65218

您好 TI!

我需要对我的设计的 TPS2651815进行编程。 我正在使用 CC1312 Launchpad 通过 I2C 对 TPS65218进行编程。 我无法使用  BOOSTXL-TPS65218 、因为我的 TPS65218是板载的、

使用我的 CC1312 Launchpad 代码、我可以读取所有 TPS65218寄存 器、所有寄存器都具有默认值、寄存器芯片具有值0x15、但我无法写入任何寄存器。

我无法写入任何 regiter。 例如、我想将寄存器转换中的值0x86与地址(0x1A)进行求和。 我曾:


1)我在密码寄存器(地址0x10)中写入0x67 (0x1A XOR 0x7D)。


2) 2)我在转换寄存器(地址0x1A)中写入0x86

在我读取转换寄存器并得到0x06、默认值后。

问题:
1) 1 -)我做了什么错?

2) 2)对所有寄存器重复之前的步骤1和2后、我必须执行什么操作来永远保存此设置。 也许我必须在密码寄存器(地址0x10)中发送0x50 0x1A 0xCE?

3) 3)我必须如何发送编程 EEPROM 命令(0x50 0x1A 0xCE)? 一个 I2C 写入传输还是 三个 I2C 写入传输中的一对一?

我确实继续测试、我发现:

我无法写入任何寄存器,即使是无密码的 INT_MASK1 (地址0x03)寄存器也是如此。
我正在发送:
起始位+从器件地址(0x24)+写入位+寄存器地址(0x03)+新值+停止位

当我读取寄存 器 INT_MASK1后,它具有默认值:-()

这里是用于对 INT_MASK1 (地址0x03) 寄存器进行编程的代码:

I2C_Transaction i2cTransaction ={0};
writeBuffer[0]= 0x03;//要写入的地址寄存器  
writeBuffer[1]= 0x0C;//要写入的值
writeBuffer[2]= 0x00;//要写入的值

i2cTransaction.slaveAddress = 0x24;
i2cTransaction.writeBuf = writeBuffer;
i2cTransaction.writeCount = 2;
i2cTransaction.readBuf =空;
i2cTransaction.ReadCount = 0;

I2C_transfer (i2c、&i2cTransaction);

问题:

3) 3) 以下哪一项是在没有密码保护的情况下写入简单寄存器的正确顺序?

非常感谢。 最好的酒店

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我已经对 TPS65218进行了编程、


    编程完成后、我断电并加电、寄存器已更新。