DAC7554可以同时输出多路不同信号吗?
可以利用fpga驱动DAC7554输出单路信号,四路单独输出,或者四路同时输出同样的信号都没有问题;
如果需要同时输出多路不同信号,该怎么实现呢?
图中红线框部分,什么时候应用,或者在什么样的场合要用到那种输出方式?个人认为,如果三个寄存器Input、DAC、output register不同时更新,这样肯定没法实时输出信号。
应该是可以实现的.
你先分别 update 4个 Input register
然而用 A-D 的 DAC register 同时 update 命令
看红线下面的寄存器1110的用法
当控制字为1110时,可以同时输出四路信号;但是输入口只有一个,所有只能输出四路相同的信号。我需要输入四路不同信号
我这样理解您的意思,您看对不对?
因为DAC7554是基于三线制SPI串行输入;
先写入控制字0000,0001,0010,0011加数据,分别更新4个Input register,需要4个写入周期;
再写入1101,同时更新四个output寄存器;
一共就需要5个写入周期,相当于DAC转换速率降低至1/5,所以同时输出四路不同信号,其实是以降低转换速率为代价
先用红线框里的头4个命令,把输入信号写入输入寄存器里。然后再用红线下面的1101命令,同时更新DAC和输出寄存器
不是这样的。换个角度,提高SPI速率呢?
我看datasheet有说道:
The 3-wire serial interface operates at clock rates up to 50 MHz and is compatible with SPI, QSPI,
Microwire, and DSP interface standards.
所以dac7554的输入时钟最多为50MHz,而每次转换大概需要20个clk,最高转换速率约为2.5MHz,所以如果需要同时输出四路不同信号,意味着dac7554所能输出的最高速率降低1/5
还有一个问题,每次转换周期包括写入命令和数据,前面四次分别更新input寄存器,可以在程序里输入对应的控制字和数据;
但是同时更新4个通道的输出寄存器,命令为1101,数据该怎么写呢?
还是每次转换周期可以多次写入数据和命令?