与您对 DAC8811的回答相关:DAC 输出更新时序
前面的回答指出、如果数据无效、则会丢弃。 在这种情况下、什么是无效数据? 在/CS 为低电平时、DAC8811是否对时钟边沿进行计数以验证数据传输中是否已接收到16个(并且只有16个)? 当/CS 从低电平转换为高电平时、串行寄存器中的任何数据似乎都将应用于 DAC 输出寄存器。
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.
Paul、您好、 感谢您的回答。 我对数据表中的文档感到困惑。
第14页
表1 "/CS↑+移位寄存器数据传输到 DAC 寄存器。"
第15页
'在串行时钟的第16个上升沿上、最后一个数据位被计时并且已编程的功能被执行(这是什么)。
此时、CS 线路可保持低电平或拉高。 在任何一种情况下、都必须在下一个写入序列之前使其保持高电平至少20ns、以便 CS 的下降沿可以启动下一个写入序列。"
因此、16时钟边沿或/CS 正转换似乎会导致输出更新。 我在表1中投注的是正确的信息。 我们还使用非常相似的器件(AD5543看起来与引脚兼容)、它可以接受未定义长度的串行流。 它只使用最后的16位时钟输入并更新/CS 的正转换。
我无法在我的系统中进行实验、因此无法更改时钟脉冲数或延长/CS 持续时间。 我希望 TI 技术人员能够介入这个问题并解释 DAC8811的内部。
感谢所有贡献。 该主题数据表已证明是初级和高级人员的难题。 我发现、高级人员认为该器件的运行方式与其他 SPI 器件的运行方式类似。 基本上、有人认为器件在/CS 处于活动状态时接受数据、并且在/CS 正转换后将数据传输到输出。 高级人员似乎不关心时钟的数量、只是假设它按广告的方式工作。 另一方面、初级工程师没有预先考虑的操作方法。 他们试图解释会导致冲突的数据表。 如果有与以下数据表类似的直接陈述、是否会很好?
"数据传输从/CS 的负转换开始、并在/CS 的正转换终止。 少于16个正时钟转换的数据传输将被忽略(模拟输出不会改变)。 具有16个或更多正时钟转换的数据传输将忽略过多前导数据位、并在/CS 正转换时将最后接收到的16个数据位传输到 DAC 寄存器(模拟输出将发生变化)。"
同样、对于在/CS 保持逻辑假状态时加电的情况:
'加电时、串行寄存器位计数器将设置为零、DAC 寄存器将清零至全零状态。' 或"串行位计数器在/CS 的负转换时设置为零。"
由于有些应用同时使用突发和连续时钟模式、因此需要了解接口的详细操作。