## 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|