已经对DAC71416进行了寄存器的配置,用示波器看输出波形没问题,但结果是只有单数通道有输出,双数通道无数出。VIO是3.3V
SPI的总波形,从上到下分别为SCLK,CS,SDI。
单个spi周期的波形
主要问题应该不是spi不行,因为有一半端口是正常输出的,但时钟频率不算高,说明书能到50MHz。修改时钟到12.5MHz就所有端口都正常。
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.
一次写入1个寄存器的值,没有用 Streaming Mode是因为程序上spi设定24个sclk后拉高(详细可以看图1波形,每写1个寄存器就拉高),就没改,想着应该没区别,感觉都能用。
功能上是没什么区别,我这里是担心双通道寄存器写入时会不会出现问题?使用Streaming 模式时,寄存器的写入是一惯的,出现单双通道不同的概率小一些。
可以正常读写,之前测过SDO输出,而且正常的那一半是可以按我想要的输出波形的可以看图3的波形,如果无法写入是不会输出电压的吧。
我担心您寄存器不能完全正确写入,所以希望您写入后再读出来以验证寄存器已按期望值写入;但是读取操作支持的SCLK速率低一些。
另外,时钟频率越高,通信波形的质量会差一些,也不能排除是信号质量的问题。
单双通道的后端负载有区别吗?您是否可以单独配置一下一个双通道,看下双通道是否可以正确输出? 以验证下双通道没有损坏可以正常工作。
早上抱着试一试的心态使用了Streaming Mode,03h寄存器是0x0088,其他寄存器与之前相同,0A-0Dh写入是0x2222,即范围设定为0-20V。
在25MHz SCLK情况下,结果是0、1通道固定输出10V电压,我设定的是一个输出正弦波一个输出锯齿波。其他14个通道正常输出。比之前好了,但是依旧很奇怪。
信号质量问题目前没法确定,示波器带宽只有200M,看到的波形如之前发过的图片,大问题是看不出。后端目前没有接负载,还在测试阶段,测试结果异常还没开始使用,现在是直接输出后接的示波器。在12.5M的情况下所有通道都正常,应该可以排除损坏,而且现在除了0、1通道,其他都正常了,更加验证了芯片应该是正常的。
已解决,不是信号质量的问题。
再次看了好几次说明书,发现DAC输出更新之间需要至少1u的等待时间,详细可看8.3.1.2.1
我的理解是DAC输出更新之后(CS上升沿之后)需要至少1us等待时间,在这期间写入寄存器是无效的。所以在每次更新之后(异步为写入通道寄存器,流模式为cs上升沿,同步为sync信号之后)的1us不要写入,有可能无效。
这很好解释了为什么0、2、4…通道正常,而1、3、5…无输出,时钟较快时,还没到1us等待时间,再次写入导致异常。流模式情况下0、1通道异常也是因为这个原因。