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.

[参考译文] BUF16821:无法写入 BUF16821非易失性寄存器

Guru**** 2409930 points
Other Parts Discussed in Thread: BUF16821, MSP430F5529

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/658006/buf16821-cannot-write-buf16821-nonvolatile-registers

器件型号:BUF16821
主题中讨论的其他器件: MSP430F5529

大家好、团队、

我可以读取/写入所有 DAC 寄存器、也可以读取寄存器60、61和63。 通用采集也起作用。 但是、写入非易失性存储器不起作用。

-写入任何 DAC 寄存器数据0x0000和0x03ff 会更新寄存器、但不会更新输出。

-写入任何 DAC 寄存器数据0x8000和0x83ff 都会更新寄存器和输出。

-写入任何 DAC 寄存器数据0x4000和0x43ff 都不会执行任何操作。 寄存器或输出无变化。 根据数据表、这两个值应同时更新。

-还尝试写入0xc000和0xc3ff。 寄存器和输出已更新、但非易失性存储器未更新。

电源电压为13..15V。 我有两个具有相同行为的器件。 多次写入尝试后、最大组读数为零。 诀窍是如何写入非易失性存储器?

谢谢

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

    感谢您的申请。 我们将尽快查看它。

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

    谢谢 Ilona。

    我可能做了一些错误、数据表对我不太清楚(网站上当前的最新版本)。 已检查具有非易失性存储器的其他类似器件的数据表、其中的文本和图像完全相同。

    文本为:

    发送 DAC/VCOM 指针地址字节。 设置位
    D7 = 0和 D6 = 0。 D5–D0位是
    DAC/VCOM 地址。

    在图像中、稍后会显示一些页面:

    DAC 地址指针。 D7-D0必须为000。

    这不匹配、我的逻辑显示寻址与读取/写入易失性寄存器完全相同。

    和时序:

    是否应在最后一个字节期间更改 I2C 时钟频率? 这对于硬件 I2C/TWI 控制器而言是非常不可能的。 还是该器件采用时钟拉伸? (在数据表中的某处、SCL 是只输入的、所以我猜不是这样)我尝试设置一个满足这些要求的极低速度(虽然它不是很清楚测量的边沿)、但在我的系统中、不可能低于62500Hz SCK 频率。 最近的停止条件可以延迟或完全删除、但这似乎没有帮助。

    欢迎关于如何使其发挥作用的任何想法。 谢谢。

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

    感谢您提到这种不一致之处。 我们需要更新 D7-D5的数字、必须为000。 对于可以写入 D5的所有寄存器、也是0。

    您指的是什么时间?

    您能否将要发送到器件的数据流发送到我可以检查出什么问题的器件?

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

    您好、Brigitte、

    感谢您的快速响应。
    我尝试将图片复制到我的回复中、但没有完成。 数据表第17页的图13如下: http://www.ti.com/lit/gpn/buf16821I'm,介绍了 T1>20us 和<t2<2ms requirements. 文本中没有对它们进行解释、从图像中我不清楚它们是如何测量的。 但是、硬件 I2C 控制器似乎无法实现此计时。 希望我错了、有一个解决方案。

    我认为这是将0x0123写入通道5的 NV 存储器的正确数据流:

    启动
    0xe8 (地址+R/w=0)
    0x05 (通道)
    0x41 (数据高电平+更新/写入标志)
    0x23 (数据低电平)
    停下

    BUF16821可正确确认地址和数据字节。 我可以写入18个易失性寄存器中的任何一个(带/不带输出更新)、也可以读回所有这些寄存器和状态寄存器。 通用采集也起作用。 除了更新 NV 寄存器之外、一切似乎都正常。

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

    您的数据流是用于为通道6写入 NVM 的数据流。
    为了完全确定、我使用了100kHz 和400kHz 的 MSP430F5529来再次检查它、它工作正常。

    是否知道 BUF16821是否确认 I2C 地址?

    我将检查计时的含义。

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

    您好、Brigitte、

    在文档中、通道从1开始计数、但地址从0开始。 正确、5表示通道6。

    是的、BUF16821可正确确认 I2C 地址、通道地址和两个数据字节。 但当位14被置位时、数据不会写入任何位置。 经过数百次尝试后、MAXBANK 仍然为零。

    那么、您使用的是100/400kHz 的普通 I2C 通信、没有特殊计时? 真是个好消息。 我将尝试在明天下午接近20V 的高电源电压下工作、可能13V 还不够。 我的硬件是采用硬件 I2C 接口的 Smartfusion2 SoC FPGA、时钟为62.5kHz 或234kHz。

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

    您好、Brigitte、

    好消息:写入非易失性存储器的工作电压为15-16V! 我认为、在我之前的尝试中、电源过低或出现故障。

    无需任何技巧、它是62.5kHz 的简单 I2C。 数据表有点误导、最好进行修复。

    再次感谢您的快速支持。