#来自学渣的问候
这个是一个学完之后的总结
DAC——数模转换器,将数字信号转换成模拟信号(电压、电流)。
模拟信号:信号的频率、幅值、相位随时间连续变化。在一定时间内,任意取值都能得到一个瞬间的数量。
数字信号:信号是离散的,不连续的。信号的整体都用有限的数字位去处理。
数字信号的好处在于它容易被处理,电路的搭建也更加容易,信号抗干扰的能力也更强,比模拟信号更容易加密。
模拟信号最好的地方就是它的信号非常直观、易于实现,但是它容易受到干扰、也容易被窃听。
但是,在生活中,我们还是有很多使用到模拟信号的地方,因此我们需要将数字信号转换为模拟信号(比如耳机),这个时候就需要一个转换器,将数字信号转换为模拟信号。
这个就是DAC,在FPGA中,因为FPGA它的特性,所以DAC的速度比较高,我们一般叫高速DA。
这里是一个高速ADDA,既有数模转换,也有模数转换,但是今天就讲数模转换。
数模转换器的原理是这样的:数字量是通过代码按位数组合起来表示的,对于有权码,每位代码都有自己的位权,在转换的时候,必须要将代码按位权大小转换成相应的模拟量,然后让模拟量相加,就能得到相应的和数字量对应的模拟量。
在硬件电路上,这个转换是利用权位电阻网络来实现的。
拿黑金这块DA芯片(AD9708来说)
AD9708是亚德诺(ADI)半导体生产的TxDAC系列数模转换器,具有高性能低功耗的特点,转换位数为8位,最大转换速度是每秒125MSPS
在图中可以看到,AD9708有一根接入的时钟线,和8位的数据线。这个芯片需要FPGA去给一个时钟信号,然后输入8位的数据,芯片内置一个1.2V的参考电压,然后是电流源和锁存器。IOUTA、IOUTB就是模拟的一个差分电流。数模转换之后,整个模块电路还会经过一个低通滤波器、以及幅度调节电路,因为最后我们从输出口检测到的是一个**-5V–+5V**的单端模拟电压值。
这个时钟给入的信号是50MHz,官方例程给的就是这样。
这是芯片的时序图
这是一个上升沿将数字信号转换为模拟信号,在下降沿的时候将数据写入进去,这样芯片在上升沿采数据才是一个稳定的时刻。
从原理图来看的话,除了供电,我们只需要给CLOCK和DATA就可以了。
高速DAC的原理就是这样的。换个看程序。