主题中讨论的其他器件: THS3095
您好!
我一直使用 DAC34SH84EVM 生成周期为400ns (2.5MHz)、每周期40个样本的锯齿波形。 作为 DAC EVM 的时钟输入、我使用来自信号发生器且振幅约为280mVpp 的800MHz 正弦信号。 根据 EVM 手册、数据和数据时钟从 Zynq ZC706板发送到 DAC。
使用 Xilinx SDK,我首先生成样本值和样本地址,然后将其写入内存,然后使用相应的 Xilinx 函数启动 DMA 传输(DMA 已设置为只读,长度为16位)。
最大 DMA 传输为8388608字节。 考虑到2个字节/样本、这将得到 4.194.304个样本(nr_samples)。 通过运行 nr_samplesTimes 的 for 循环来生成波形。 for 循环有一个 sampleIdx 计数器、每次递增一。 然后,sampleVal = sample_VAL - 819*sampleIdx 给出样本值,其中 sample_VAL 是一个常量值。 采样存储器地址的生成方式与 sampleAddr =(2 * sampleIdx)+ TX_BASK_ADDR + SAMPLE_RE_OFFSET 相似;
关于 DAC 接口、输入格式设置为偏移二进制、我已禁用 FIFO。 PLL 设置被设置为禁用。 下面的屏幕截图显示了我从 DAC 中获取的波形(所有四个 DAC 输出都使用相同的字、这就是它们看起来相同的原因)。
有人能否解释锯齿波形为什么看起来是"弯曲的"、并且在开始时出现这种振荡? 我发送的代码是否有误、还是由于另一个原因? 如何纠正此问题并生成高质量的锯齿?
此外、当我想持续输出波形时、我启动连续和顺序 DMA 传输。 波形的持续时间确实更长、但可以在波形之间看到"鬼影波形"。
提前感谢大家的回复、我随时准备为您提供任何澄清、以便我帮助您更好地了解问题。
此致、
Panos