## FPGA + 高速DAC的任意波形发生器
### 基于LPC11U35的掌上信号发生器
{{drawio>mini_awg.png}}
功能:
- 通过DDS产生任意波形的模拟信号输出
- 最高20MHz模拟信号输出 - 使用AD9740 DAC芯片 + OPA820运放,DAC时钟通过锁相环设定为192MHz
- 最高10MHz模拟信号输出 - 使用3PD5651 DAC芯片 + SGM8301运放,DAC时钟通过锁相环设定为120MHz
- 输出信号幅度最大为5Vpp,内部通过乘法器可以调整幅度
- 输出信号的直流偏置-2.5V到2.5V之间可调,通过PWM + RC输出直流电压来控制
- 240 * 240 分辨率的TFT LCD屏幕显示波形的信息
- 2个开关按键 + 旋转编码器的3个按键来控制参数的设置以及菜单
- 一个MMCX输出产生的任意波形模拟信号
- 一个MMCX输出PWM信号,PWM的周期和占空比可调节
- 对上述的模拟信号以及PWM信号同时提供3Pin杜邦线插座输出
- USB提供板上电源并能够通过UART同上位机PC进行通信
{{ ::dds_amp_wave.jpg |}}模拟电路部分的仿真 - 波形
{{ :dds_amp_spred.jpg |}}模拟电路部分的仿真 - 频谱
### 基于CH573的掌上信号发生器
{{drawio>cy_dds_awg.png}} 采用CH573F的DDS信号发生器
### 输入控制及LCD信息显示界面
{{drawio>dds_amp_adjust.png}}
模拟输出的参数设置及信息显示
* 信号波形 - 正弦、三角波、锯齿波、方波、白噪声、自定义(以后可以添加,通过UART传输到FPGA的SRAM波表中)
* 信号的频率 - 从1Hz - 10MHz,如果采用28位的相位累加器,120MHz的DAC转换时钟频率,则频率分辨率为120MHz/(256 x 1024 x 1024)= 0.45Hz
* 信号的幅度 - 从100mV到5Vpp可调,其中DAC的基准电流可以通过模拟开关切换1:4变化,相当于2位的分辨率,要获得5bit分辨率的波形(相当于0-31的变化,30dB的SFDR,用于测试还可以使用),10位DAC + 2位 - 5位 = 7位(128)的变化范围,最小的模拟信号电压输出为5Vpp/128 = 40mV。幅度的调节除了借助模拟开关提供1:4的切换外,还可以通过系数(小于1) * 波表输出的信号幅度得到的数据送给DAC
* 直流偏移
* 数字输出的参数信息
{{ :ddsawg_protocol.png |}}任意波形发生器的控制协议格式
#### 要调节和设置的参数信息
{{drawio>awg_ui.png}}
* 波形类型
* 任意波形
* 正弦波
* 方波 - 占空比(%)
* 脉冲 - 宽度
* 锯齿波 - 对称性(%)
* 直流 - 只有偏置一个信息
* 噪声 - 幅度、偏置、高电平、低电平
* 正弦(x)/x
* 高斯
* 频率/周期,设置好一个,另一个自动计算得到
* 幅度 - 峰峰值,范围为100mV到5Vpp
* 偏置 - 峰峰值,范围为-2.5V到2.5V
* 添加噪声 - 百分比、Enable
* 输出 - Enable
{{drawio>LCDParaInput.png}}
数值的输入可以参考电视机屏幕遥控器的设置方式
{{drawio>lcdparaset.png}}