一直基于单片机的任意波形发生器设计
扫描二维码
随时随地手机看文章
我最近设计了一个任意波形发生器(AWG)板,我一直在编写关于原理图的技术文章,作为在我们进入AWG项目之前探索相关设计细节的方法。前两篇文章介绍了微控制器和DAC,本文将讨论连接到DAC输出引脚的信号调理电路。
DAC(数字模拟转换器) 是一种电子设备或电路,用于将数字信号转换为相应的模拟信号。在现代电子系统中,DAC通常用于将数字信号转换为模拟电压或电流输出,以供模拟电路或外部设备使用。
DAC的基本工作原理是根据输入的数字信号值,在一定的时间间隔内产生相应的模拟输出。这个输出可以是连续的模拟电压或电流信号,也可以是离散的模拟量。DAC通常由一个数字信号输入端、一个模拟输出端和控制电路组成。
DAC的应用非常广泛,包括音频处理、通信系统、控制系统、测试与测量仪器等。在音频领域,DAC常用于数字音频播放器、音频接口、功放等设备中,将数字音频信号转换为模拟音频信号输出到扬声器或耳机。在控制系统中,DAC可用于生成模拟控制信号,控制电机、阀门、灯光等设备的运动或状态。
总之,DAC是数字电路与模拟电路之间的重要接口,它实现了数字信号到模拟信号的转换,为数字系统与模拟系统之间的数据交互提供了基础。
DAC(数字模拟转换器)的特性参数包括以下几个方面:
分辨率(Resolution):
分辨率是DAC能够生成的模拟输出的精度,通常以比特数(位)来表示。例如,一个12位的DAC可以产生4096个离散的输出电压级别,即2的12次方个级别。分辨率越高,DAC输出的模拟信号的精度越高。
建立时间(Settling Time):
建立时间是指DAC在输入信号发生变化后,输出信号稳定到指定精度所需的时间。它包括建立时间和保持时间两个部分。建立时间是从输入信号发生变化到DAC输出信号达到指定精度所需的时间,而保持时间是DAC输出信号保持在指定精度范围内的时间。建立时间的快慢直接影响DAC的动态性能。
精度(Accuracy):
DAC的精度表示DAC输出信号与理想输出信号之间的最大偏差。精度通常以百分比或者绝对电压值表示。DAC的精度受到多种误差源的影响,主要包括:
比例系统误差(Gain Error):表示输出信号与输入数字之间的比例误差。
失调误差(Offset Error):表示DAC输出信号的零点偏差,即输入数字为0时输出信号与理想零点之间的差异。
非线性误差(Nonlinearity Error):表示DAC输出信号的非线性程度,即输入数字变化时输出信号的非线性偏差。
这些误差源通常由元件参数误差、基准电压不稳定、运算放大器零漂等因素引起。
除了以上特性参数外,DAC的其他重要参数还包括动态范围、失真、抖动等。这些参数综合反映了DAC的性能水平,对于不同应用场景的设计和选择都具有重要意义。
电流到电压
AWG板中使用的DAC将数字数据转换为有点混乱的模拟数据形式。输出驱动电流而不是电压,输出信号是互补的(或平衡的,或差分 - 选择您喜欢的术语)。如果您已经阅读了上一篇文章,那么您应该对这些互补电流信号究竟是什么有充分的了解,但我们仍然有如何处理它们的问题。
我们假设您希望最终得到电压信号而不是电流信号。除此之外,你有选择权。
在我们查看我在AWG板中使用的电路之前,让我们讨论这些选项。
单端与差分
我的猜测是大多数应用程序都需要单端的最终DAC信号。但是,通过将差分DAC电流信号转换为缓冲差分电压,可以延长差分信号的优势。这不需要设计师的额外努力; 你真正需要做的就是使用差分输出放大器而不是典型的运算放大器。下图将指出您正确的方向。
这个应用笔记的图表,由ADI公司出版。
AC或DC,被动还是主动?
如果您使用DAC生成音频信号,您最终需要一个以0 V为中心的波形。如果您的信号链不需要总是在地面上的波形,您也可以转换为DAC直接输出到AC耦合信号。使用变压器很容易实现:
图来自AD9708 数据表。
我很欣赏无源元件的简单性,但如果有源解决方案更适合放大,则可以使用产生双极性输出信号的双电源运算放大器电路。这种方法的不便之处在于您需要正负电源电压。另一方面,它是有利的,因为它实际上不是AC耦合的 - 它产生以0V为中心的输出信号,但同时它与低频(或DC)信号兼容。相比之下,变压器严格用于交流应用。下图给出了双极运算放大器方法的示例。
这个应用笔记的图表,由ADI公司出版。
如果您不仅需要直流耦合,还需要保持高于地的波形,则需要配置运算放大器电路,以便为输出信号添加适当的直流偏移。这种做法是非常方便的,因为它工作正常,当你只有一个电源电压(和讨论这里,单电源电路是非常流行的这些天)。
单电源输出电路的一个例子。图来自AD9708 数据表。
忽略其中一个输出
如果您愿意为了简单而交易性能,您可以假装DAC是单端设备。将其中一个输出接地,然后获取另一个输出产生的电流,并使用典型的运算放大器电流 - 电压转换器(也称为跨阻抗放大器)将其转换为电压。您可以在上面提到的应用笔记的第6页上阅读有关此方法的更多信息。
我的电路
我不想在我的电路板中加入负电源,我不想使用变压器(我不记得为什么......可能是为了确保与低频和直流信号的兼容性,或者可能因为我对运算放大器比较熟悉。我也不需要差分电压信号。因此,我最终得到了上面讨论的单电源,单端运算放大器配置。这是电路: