我想向存储器数据寄存器写入数据、但无论我写入存储器数据寄存器的值是多少、我读取的值都是默认值、这意味着我没有成功写入存储器数据寄存器。 我找到了存储器数据寄存器的说明、它表明写入存储器数据寄存器受 KEY 寄存器保护。 因此我希望能看到 KEY-CFG 寄存器的描述、但在芯片手册中找不到关于 KEY-CFG 寄存器的任何内容。 您能帮助我找到有关 KEY-CFG 寄存器的任何说明吗?

谢谢!
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.
我想向存储器数据寄存器写入数据、但无论我写入存储器数据寄存器的值是多少、我读取的值都是默认值、这意味着我没有成功写入存储器数据寄存器。 我找到了存储器数据寄存器的说明、它表明写入存储器数据寄存器受 KEY 寄存器保护。 因此我希望能看到 KEY-CFG 寄存器的描述、但在芯片手册中找不到关于 KEY-CFG 寄存器的任何内容。 您能帮助我找到有关 KEY-CFG 寄存器的任何说明吗?

谢谢!


尊敬的 Liguidong:
当我完成编写 CE 后再写 EC
这是 PROTECT_KEY? 当您对 PROTECT_KEY 进行该写入(CE、然后是 EC)并且读取 PROTECT_KEY 的值仍然为00时?
您是否可以尝试写入其他 KEY_CFG 保护寄存器而不是 存储器数据、并查看这些是否也会产生相同的结果?
我知道您说您在使用示波器、但您是否有一个可捕获事务并提供给我的 Saleae? 这将有助于辨别波形以及发送的内容。
谢谢。
字段
高场,
这是为了 protect_key? 当您对 PROTECT_KEY 执行该写入(CE、然后是 EC)并且读取 PROTECT_KEY 的值仍然是00?
是的、这是对 PROTECT_KEY 寄存器的 写入(CE、然后是 EC)和读取 PROTECT_KEY 时、该值为00。
您能否尝试写入其他 key_CFG 受保护的寄存器而不是 存储器数据,并看看这些寄存器是否也产生相同的结果? [/报价]是的、我尝试向由 KEY_CFG 保护的其他寄存器写入数据。 例如、存储器地址寄存器也受 KEY_CFG 寄存器的写保护。 我写入和从存储器地址寄存器读取的数据是一致的。(芯片在制造过程中可能已经过 OTP)一次性编程 可配置电源序列编程、所以无法成功地将数据写入存储器数据寄存器来修改电源序列。 这种怀疑是否有效? 如果这种怀疑存在、您能否帮助我确认 TPS65950是否在实际制造过程中经过了 OTP?谢谢。字段
您好,Matt M ü,
您能告诉我确切的器件型号以及您从何处订购吗?
我从第三方购买、芯片的具体器件型号为 TPS65950A2ZXN。
是的,我尝试向其他受 key_CFG 保护的寄存器写入数据。 例如、存储器地址寄存器也受 KEY_CFG 寄存器的写保护。 我写入存储器地址寄存器和从存储器地址寄存器读取的数据是一致的。

您能解释一下为什么当(KEY -CFG)读取的值为00时、我仍然可以成功地将数据写入其他受保护的寄存器、例如(存储器地址)、但无法成功地将数据写入(存储器数据)寄存器吗?
谢谢,
理工大学
您好、Matt、
您能否分享您写入和读取的确切顺序以及在每个步骤中读取的数据?
我当然可以。
这是一个将从活动状态到睡眠状态的转换写入电源序列存储器的示例。

例如、我要开始为上面用红色圈出的器件配置电源序列的寄存器、并且要将电源序列配置从 Activate 配置为 SLEEP。
(1)首先、将数据写入 SEQ-ADD-A2S 寄存器、其中 SEQ-ADD 位应等于上述用红色圈出的 MSB 地址(6位)值。 所以 SEQ-ADD-A2S 寄存器应写入0x2B

(2)

根据上面的表5-31、我们可以列出下列32位数据。

我们首先将存储器地址数据写入为0xAC、然后连续写入0x14、0x78、0x02、0x2C、0x1A、 向存储器数据寄存器添加0x78、0x02和0x3F。
因此、整个寄存器的配置应为:
(器件地址、寄存器地址、写入数据)
(__LW_AT__0x4B,0x55,0x2B)
(__LW_AT__0x4B,0x59,0xAC)
(__LW_AT__0x4B,0x5A,0x14)
(__LW_AT__0x4B,0x5A,0x78)
(0x4B,0x5A,0x02)
(__LW_AT__0x4B,0x5A,0x2C)
(__LW_AT__0x4B,0x5A,0x1A)
(__LW_AT__0x4B,0x5A,0x78)
(__LW_AT__0x4B,0x5A,0x02)
(__LW_AT__0x4B,0x5A,0x3F)
这是我的完整配置过程。 您能帮我检查一下是否有任何问题吗?
谢谢。
利格东
您好、Matt、
我列出了我在不向寄存器写入任何值的情况下读取的值、寄存器地址、写入寄存器的值以及在写入以下寄存器后读取的值。
(器件地址,寄存器地址、读取的默认值、写入寄存器的数据,写入数据后读取的值)
(__LW_AT__0x4B,0x55,0x3F,0x2B,0x3F)
(__LW_AT__0x4B,0x59,0x00,0xAC,0xAC)
(__LW_AT__0x4B,0x5A,0x00,0x14,0x00)
(__LW_AT__0x4B,0x5A,0x00,0x78,0x00)
(__LW_AT__0x4B,0x5A,0x00,0x02,0x00)
(__LW_AT__0x4B,0x5A,0x3F,0x2C,0x3F)
(__LW_AT__0x4B,0x5A,0x00,0x1A,0x00)
(__LW_AT__0x4B,0x5A,0x00,0x78,0x00)
(__LW_AT__0x4B,0x5A,0x00,0x02,0x00)
(__LW_AT__0x4B,0x5A,0x3F,0x3F,0x3F)0x3F
您能回答一下为什么无法成功写入 SEQ-ADD-A2S 和存储器数据寄存器?
谢谢,
利格东
尊敬的 Liguidong:
遗憾的是、自15年多以前由不同团队开发此器件以来、我们的团队没有这方面的经验。
我不知道这里的 Linux 驱动程序是否有用: https://www.ti.com/product/TPS65950#software-development
另外、还有一些可能提供线索的旧线程、不确定这些线索是否有用:
马特