TI中文支持网
TI专业的中文技术问题搜集分享网站

DAC71416: SPI的时钟信号SCLK为25MHz时,一半端口没输出

Part Number:DAC71416

已经对DAC71416进行了寄存器的配置,用示波器看输出波形没问题,但结果是只有单数通道有输出,双数通道无数出。VIO是3.3V

SPI的总波形,从上到下分别为SCLK,CS,SDI。

单个spi周期的波形

主要问题应该不是spi不行,因为有一半端口是正常输出的,但时钟频率不算高,说明书能到50MHz。修改时钟到12.5MHz就所有端口都正常。

xiaoqun yu:

示波器1234波形分别对应芯片1234通道的输出。配置的输出电压范围是0-20V(0A-0Dh寄存器为0x2222)。03h为0x0A84;04h为0x3F00;05h为0x0000;09h为0x0000。

,

Amy Luo:

您好,

03h您配置的FSDO bit 为0,在读和菊花链(Daisy-Chain)操作时,SCLK最大频率是20MHZ,您是否使用了菊花链模式?

,

xiaoqun yu:

我的SCLK是共用的,但CS和SDI是每个芯片分开的,用了4块DAC71416,用示波器看了两块DAC,都是一半端口正常一半异常

,

Amy Luo:

您是像SPI总线上挂接多个从设备的方式使用的DAC71416,是吗?那您是怎样写入的0x10h~0x1Fh寄存器的值?您为什么没有使用 Streaming Mode?另外,您是否验证了寄存器可以正常读写,即寄存器写入后可以正确读出写入值?

,

xiaoqun yu:

一次写入1个寄存器的值,没有用 Streaming Mode是因为程序上spi设定24个sclk后拉高(详细可以看图1波形,每写1个寄存器就拉高),就没改,想着应该没区别,感觉都能用。可以正常读写,之前测过SDO输出,而且正常的那一半是可以按我想要的输出波形的可以看图3的波形,如果无法写入是不会输出电压的吧。

,

Amy Luo:

xiaoqun yu 说:一次写入1个寄存器的值,没有用 Streaming Mode是因为程序上spi设定24个sclk后拉高(详细可以看图1波形,每写1个寄存器就拉高),就没改,想着应该没区别,感觉都能用。

功能上是没什么区别,我这里是担心双通道寄存器写入时会不会出现问题?使用Streaming 模式时,寄存器的写入是一惯的,出现单双通道不同的概率小一些。

xiaoqun yu 说:可以正常读写,之前测过SDO输出,而且正常的那一半是可以按我想要的输出波形的可以看图3的波形,如果无法写入是不会输出电压的吧。

我担心您寄存器不能完全正确写入,所以希望您写入后再读出来以验证寄存器已按期望值写入;但是读取操作支持的SCLK速率低一些。

另外,时钟频率越高,通信波形的质量会差一些,也不能排除是信号质量的问题。

单双通道的后端负载有区别吗?您是否可以单独配置一下一个双通道,看下双通道是否可以正确输出? 以验证下双通道没有损坏可以正常工作。

,

xiaoqun yu:

早上抱着试一试的心态使用了Streaming Mode,03h寄存器是0x0088,其他寄存器与之前相同,0A-0Dh写入是0x2222,即范围设定为0-20V。

在25MHz SCLK情况下,结果是0、1通道固定输出10V电压,我设定的是一个输出正弦波一个输出锯齿波。其他14个通道正常输出。比之前好了,但是依旧很奇怪。

信号质量问题目前没法确定,示波器带宽只有200M,看到的波形如之前发过的图片,大问题是看不出。后端目前没有接负载,还在测试阶段,测试结果异常还没开始使用,现在是直接输出后接的示波器。在12.5M的情况下所有通道都正常,应该可以排除损坏,而且现在除了0、1通道,其他都正常了,更加验证了芯片应该是正常的。

,

xiaoqun yu:

主要是想跑到50MHz,但现在25M都跑不了,不知道哪里 出了问题。

试了一下50M的只有通道0正常。

,

Amy Luo:

这样看程序上寄存器读写是没有问题的,感觉应该是信号质量的问题。您是否有办法改善下通信信号的质量?SPI 信号线走线有多长?是否可以串联22Ω或33Ω电阻,串联电阻后示波器查看信号质量是否有改善?

,

xiaoqun yu:

已解决,不是信号质量的问题。

再次看了好几次说明书,发现DAC输出更新之间需要至少1u的等待时间,详细可看8.3.1.2.1

我的理解是DAC输出更新之后(CS上升沿之后)需要至少1us等待时间,在这期间写入寄存器是无效的。所以在每次更新之后(异步为写入通道寄存器,流模式为cs上升沿,同步为sync信号之后)的1us不要写入,有可能无效。

这很好解释了为什么0、2、4…通道正常,而1、3、5…无输出,时钟较快时,还没到1us等待时间,再次写入导致异常。流模式情况下0、1通道异常也是因为这个原因。

赞(0)
未经允许不得转载:TI中文支持网 » DAC71416: SPI的时钟信号SCLK为25MHz时,一半端口没输出
分享到: 更多 (0)