内容介绍
视频
市场情况
我们生活在一个数字化和信息化的时代,各种数字化产品如手机通信、计算机系统、AI智能设备等无不影响着我们的生活。数字信号已经成为了人类社会生活中各方面的基石。
在其中,模拟与数字信号的相互转换显得尤为重要。因为自然界的信息量都是模拟的,例如声音、图像、位移等等。
由于数字信号在网络传输、计算机处理和存储方面的便利性,我们通常将这些模拟量转换为数字量,进行处理和传输完成后再转换为模拟量输出,例如声音和音乐、精密机床刀头的移动步进和速度等等。在这个过程中,DAC(数字转模拟芯片)发挥了重要的作用。DAC将数字信号转换为模拟信号,以便用于模拟电路中的各种应用。
在上次DAC的基础介绍中咱留了一个尾巴,本次我来带大家看看DAC如何玩出新花样,那么为了玩耍肯定是要选择一颗DAC了,我这里使用的是硬禾基于3Peak的3PD5651制作的高速DAC模块。
产品特点
产品特点3PD5651E*
产品说明:
3PD5651E支持高达125 MSPS的更新速率,单电源工作范围为+2.7V至+5.5V,功率耗散低,非常适合便携式和低功耗应用。通过降低满量程电流输出,其功率耗散可以进一步降低到45mW,而不会有明显的性能下降。此外,断电模式将待机功耗降低到约20mW。
3PD5651E采用先进的CMOS工艺制造,分段式电流源结构与专有的开关技术相结合,以减少杂散成分并提高动态性能。边缘触发输入锁存器和温度补偿带隙基准已被集成,可以提供一个完整的单片DAC解决方案。3PD5651E灵活的电源选项支持+3V和+5V CMOS逻辑系列。
3PD5651E是一款电流输出DAC,标称满量程输出电流为20mA,输出阻抗大于100kΩ。
它还能提供差分电流输出以支持单端或差分应用,电流输出可直接与输出电阻连接,以提供两个互补的单端电压输出,输出电压符合范围为1.25V。
3PD5651E包含一个1.10V的片上基准和基准控制放大器,这使得满量程输出电流可以通过一个电阻器简单地设置,可由各种外部参考电压驱动。
3PD5651E的满量程电流可在2mA至20mA的范围内调整,而不会造成动态性能的下降。
功能描述:
3PD5651E由一个能够提供20mA总电流的大型PMOS电流源阵列组成,该阵列被分为32个相等的电流,构成了5个高位(MSB)。剩下的3个LSB也用等权的电流源来实现,使其总和等于一个MSB电流源的7/8,可用电流源实现输出有助于保持DAC的高输出阻抗。所有这些电流源通过PMOS差分电流开关分配到一对差分输出节点。
3PD5651E的模拟和数字部分有独立的电源输入(即AVDD和DVDD),可以在2.7伏至5.5伏范围内独立工作。数字部分能够在125MSPS的时钟速率下工作,由边沿触发锁存器和分段解码逻辑电路组成。模拟部分包括PMOS电流源、相关的差分开关、一个1.10V带隙电压基准和一个基准控制放大器。
满量程输出电流由参考控制放大器调节,可以通过一个外部电阻RSET在2mA到20mA之间进行设置。这个外部电阻与参考控制放大器和电压基准VREFIO结合,设置参考电流IREF,并以适当的比例系数反映到分段电流源上。满量程电流,IOUTFS,是IREF值的32倍。
通过数据手册里提供的公式,芯片的电压输出范围可以这样设定,10位的DAC分成互补的两个输出,输出的电流是参考电流的32倍。由欧姆定律可知输出端的电压根据其负载变化,最终的差分电压输出是两个端口的压差,所以可以设计外部电阻来调节输出范围。
所以可以看出硬禾的DAC模块也经过了设计,可以输出2V的模拟电压范围。
想要在屏幕上画出二维的画面,一个DAC就有点不够了,所以咱们使用了两个。
利萨如图型:
李萨如曲线也是两个沿着互相垂直方向的振动的合成的轨迹。
它是参数方程描述的图形,它描述了不同角频率(a和b)的x和y方向上两个垂直振荡的叠加。
示波器最经典的用途是对时域波形进行测试,反映被测信号的电压随时间变化的情况。但如果将时基关闭,将经典模式下的电压-时间显示更改为电压-电压显示,即为示波器的X-Y模式。
X-Y模式具体来说,是将两个信号连接到两个单独的通道中,其中一个信号被加在垂直系统,第二个同步信号则被施加在示波器指定的另一个通道,同时记录两个信号的电压。以其中一个信号的电压作为X轴,另一个则作为Y轴,即将两个信号的电压值分别作为一个新的坐标系的X和Y。此变换产生的图像就叫做利萨如图形。
借由使用利萨茹图形可以测量出两个信号的频率比与相位差。在电工、无线电技术中,常利用示波器来观察利萨如图形,并用以测定频率或相位差。
利萨茹曲线 - 维基百科,自由的百科全书 (wikipedia.org)
设计体验
有了以上的背景相关知识以后,我们就可以用这块板子做一些比较有趣的事情啦!
比如我们可以将自己喜欢的图片显示在示波器上,我使用了小脚丫FPGA核心板的电赛训练板,板子上面可安装两个dac模块,一个通道输出X轴的信号,另一个输出Y轴的信号。
为了绘制图片,我们需要确定图片内容的边缘坐标:
将图像转换成灰度图:
再对图像进行黑白二值化,这样里面的内容的边缘就特别明显了:
最后将黑白边缘提取成坐标。
这里需要注意一下,进行二值化的过程中,阈值的选择非常重要!
如果没有选定恰当的阈值,会导致后续操作中无法正确勾勒出边缘。所以需要将转换后的灰度图图像信息调出来,确定阈值范围,得出正确的图像就可以勾勒边缘了。之后我们只需要将边缘坐标提取出来。这样我们就得到了X轴和Y轴的坐标信息,将其分别存入两个LUT(查找表,类似组织有序的仓库)中,通过查找表格的方式分别输出波形。
输出波形过程中,要确定时钟与dac转换时钟保持一致,不然会出现时序混乱的状况,导致输出的波形模糊的问题。
优势&局限
实际使用过程中,3PD5651模块使用方法十分简单,时钟同步好的并行数据输出到10个引脚上就可以了。
但因此也带来一个问题,高速情况下PCB的布线偏差会影响到输出波形,这个在高速转换的时候一定要注意,3PD5651模块上的10个数据节点到FPGA管脚的长度不同也就意味着每个节点发生电压变换的时间点是有差异的,如果不能对齐时钟线的上下边沿,会导致波形上出现一定的失真。