## 10MHz DDS信号发生器/双路可编程直流电压源开源学习平台 本平台设定为10MHz模拟信号输出,如调整输出端电阻、电容的参数可以实现更高频率波形的输出。 {{ :dds_labview.png? |}} --- #### 平台简介: * 能够生成0 - 10MHz的任意波形,包括正弦波、三角波、锯齿波、方波等; * 信号幅度+/-1.5V可调,直流偏置+/-1.5V可调; * 能够生成双路可调输出电压,电压输出范围+/-4V,电流50mA; * 能够输出固定的3.3V、1.5V直流电压; * 能够通过UART对板上的参数进行调节。 {{ :dds_awg_platform.png?800 |任意波形发生器直流电源平台}} 10MHz任意波形发生器/双路可调直流电源平台实物照片 {{ :dds_awg_blockdiagram.png?800 |任意波形发生器及可编程直流电源框图}} 10MHz任意波形发生器/双路可调直流电源平台框图 --- #### 原理图 {{ :dds_awg_v2.png?800 |任意波形发生器及可编程直流电源原理图}} 10MHz任意波形发生器/双路可调直流电源平台原理图 {{:r2r.pdf|10MHz任意波形发生器/双路可调直流电源平台原理图PDF文件下载}} --- #### R-2R构成的并行DAC --- #### 通过PWM产生直流电压 参见[[pwm_verilog]]中的详细介绍以及相关的技术文章。 --- #### 输出信号幅度的调整 由R-2R生成的波形幅度为3.3Vpp,本训练平台为运算放大器提供的直流供电电压是由USB端口输入的+5V和通过电荷泵由+5V产生的-5V电压,由于USB线上的压降以及电荷泵转换机制导致的压降,实际能够稳定供电的电压为+/-4.5V。 我们选用的运算放大器为ADA4851 - 双电压供电、支持轨到轨(Rail to Rail),在本平台上能够保证到的信号输出范围为+/-4V,也即8Vpp。 所以我们可以设定运算放大器的增益设定实现从3.3Vpp到8Vpp的调节(拿到板子的朋友可以通过改动输出放大器的电阻比例进行调整,参照下面的方法)。 为了满足多数场景的应用,我们出厂设置的输出信号的幅度为3Vpp,也即运算放大器的增益调节为3/3.3 ~ 0.91。 电阻的设置为: R36/(1kΩ+R26+R28+R31)= 4.3kΩ/(1kΩ+1kΩ+2.7kΩ+27Ω)= 0.91 {{ :r_2r_out_adjust.png |R_2R输出幅度调节}} R_2R输出信号的幅度和直流偏置调节 --- #### 直流偏移的调节方法 --- #### 双路可编程直流电压输出 --- #### 数据传输协议及参数控制 本板卡支持电子森林制定的[[openinstru_protocol|开源仪器传输协议]] {{ :open_dds_labview.png |}} 开源DDS平台同上位机的连接框图 需要设置的寄存器定义: ^用途|寄存器名字|位数|定义| ^工作模式|Mode|8位|固定频率/扫频/调制| ^波形|Waveform|8位|正弦、锯齿波、三角波、方波、其它| ^频率|Freq|24位|设置输出频率的控制字| ^幅度|Amp|8位|-1.5V ~ 1.5V,250级变化| ^直流偏移|Offset|8位|-1.5V ~ 1.5V,250级变化 ~ PWM电压从0.5V ~ 3.0V| ^直流电压1|DCout1|8位|-4V ~ +4V,250级变化,~ PWM电压从0.5V ~ 3.0V| ^直流电压2|DCout2|8位|-4V ~ +4V,250级变化,~ PWM电压从0.5V ~ 3.0V| --- #### 小脚丫FPGA编程管脚配置(以Lattice XO2-4000HC版本为例) ^FPGA管脚 | 小脚丫FPGA模块的管脚 | DAC的数据位| ^C1| x |ClkIn| ^G13|Pin 34|DA[9]| ^G14|Pin 33|DA[8]| ^H12|Pin 32|DA[7]| ^J13|Pin 31|DA[6]| ^J14|Pin 30|DA[5]| ^K12|Pin 29|DA[4]| ^K14|Pin 28|DA[3]| ^K13|Pin 27|DA[2]| ^J12|Pin 26|DA[1]| ^P3|Pin 25|DA[0]| ^M4|Pin 24|PwmOffset| ^E12|Pin 39|PwmDC1| ^F12|Pin 38|PwmDC2| ^N4|Pin 23|UartTxd| ^P13|Pin 22|UartRxd| --- #### 小脚丫FPGA编程管脚配置(以Intel MAX10M02/08的小脚丫FPGA版本为例) ^FPGA管脚 | 小脚丫FPGA模块的管脚 | DAC的数据位| ^J5| x |ClkIn| ^D7|Pin 34|DA[9]| ^B7|Pin 33|DA[8]| ^C8|Pin 32|DA[7]| ^B8|Pin 31|DA[6]| ^D10|Pin 30|DA[5]| ^A9|Pin 29|DA[4]| ^A11|Pin 28|DA[3]| ^A13|Pin 27|DA[2]| ^B11|Pin 26|DA[1]| ^A14|Pin 25|DA[0]| ^B13|Pin 24|PwmOffset| ^B4|Pin 39|PwmDC1| ^A5|Pin 38|PwmDC2| ^B14|Pin 23|UartTxd| ^B15|Pin 22|UartRxd|