差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
analog_circuit_learning_kit [2023/03/11 13:35] gongyu [5. 实验] |
analog_circuit_learning_kit [2024/06/30 14:00] (当前版本) gongyu [2019年电赛文档汇总] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | ## 模拟/数字系统学习/实训平台 | + | ## 基于FPGA的虚拟仪器 - 模拟/数字系统学习/实训平台 |
这是一套专为模拟电路工程化设计学习而设计的学习、训练套件,基于小脚丫FPGA做核心控制,涵盖了模拟电路的主要知识点。 | 这是一套专为模拟电路工程化设计学习而设计的学习、训练套件,基于小脚丫FPGA做核心控制,涵盖了模拟电路的主要知识点。 | ||
{{ :alk1.png? 600 |3D效果图}} | {{ :alk1.png? 600 |3D效果图}} | ||
行 178: | 行 178: | ||
#### 3.2 信号发生电路 | #### 3.2 信号发生电路 | ||
{{drawio>hsdac_lpf_block.png}}<WRAP centeralign>DAC + LPF部分</WRAP> | {{drawio>hsdac_lpf_block.png}}<WRAP centeralign>DAC + LPF部分</WRAP> | ||
- | {{ :dds_analog.png |}} | + | {{ :dds_analog.png |}}<WRAP centeralign>DDS模拟部分</WRAP> |
- | {{ :dds_sch.png |}} | + | {{ :dds_sch.png |}}<WRAP centeralign>DDS部分的电路原理图</WRAP> |
- | {{ ::hsdac_46k_out.png |}} | + | ##### 3.2.1 高速DAC + 差分电流转单端电压 |
- | {{ ::hsdac_46k_freq.png |}} | + | 电路中采用了3Peaks公司的10位精度、最高转换率达125Msps的高速DAC - [[http://file.3peakic.com.cn:8080/product/Datasheet_3PD5651E.pdf|3PD5651]],在本设计中我们同时支持WebIDE编译环境(FPGA的内部时钟只能到12MHz)、Lattice或Altera的官方编译工具(通过PLL内部逻辑能够工作到200MHz)以及ICE40 FPGA的Radiant,ICE40 FPGA最高只能运行在48MHz,因此我们DAC的转换率最大设定为48Msps、生成的模拟信号的带宽为5MHz,后续的滤波器电路也是按照5MHz来设计。 |
- | {{ ::hsdac_3m_out.png |}} | + | |
- | {{ ::hsdac_out.png |}} | + | |
- | {{ ::lpf_b_3m_freq.png |}} | + | |
- | {{ ::lpf_e_3m_freq.png |}} | + | |
- | {{ ::lpf_e_3m.png |}} | + | |
- | {{ ::lpf_b_3m.png |}} | + | |
- | {{ ::lpf_b_750k.png |}} | + | |
- | {{ ::lpf_e_750k.png |}} | + | |
+ | 关于3PD5651E: | ||
+ | * 125MSPS转换率 | ||
+ | * 10-Bit分辨率 | ||
+ | * 线性度: 1/4 LSB DNL | ||
+ | * 线性度: 1/2 LSB INL | ||
+ | * 差分输出电流: 2mA到20mA | ||
+ | * 到40MHz奈奎斯特输出的SFDR: 62 dBc | ||
+ | * 快速建立时间: 35ns满量程设置到0.1% | ||
+ | * 片内1.10V基准电压 | ||
+ | * 边沿触发锁存 | ||
+ | * 功耗: 175 mW @ 5 V to 45 mW @ 3 V | ||
+ | * 休眠模式: 20 mW @ 5 V | ||
+ | * 单+5V或+3V供电 | ||
+ | * 28脚TSSOP封装 | ||
+ | |||
+ | 我们通过一个模拟开关SGM3719来切换为3PD5651E提供基准电流的外置电阻,分别为2K和8K,在这两种配置下,DAC的满量程输出为: | ||
+ | * 2KΩ:1.1V/2K * 32 = 17.6mA | ||
+ | * 8KΩ: 1.1V/8K * 32 = 4.4mA | ||
+ | |||
+ | 这两种配置,满足3PD5651最大满量程为2mA到20mA之间的要求,不会带来系统失真。 | ||
+ | |||
+ | DAC后面接了一个差分电流转单端电压输出的电路,在使用两种不同电阻配置的情况下,对应的最大电压信号输出: | ||
+ | * 2KΩ:1.1V/2K * 32 * 30 * 2 * 2 = 2.112Vpp | ||
+ | * 8KΩ: 1.1V/8K * 32 * 30 * 2 * 2 = 0.528Vpp | ||
+ | |||
+ | 电路仿真结果: | ||
+ | {{ :dac_amp_simu_wave.png |}}<WRAP centeralign>高速DAC输出电压的波形仿真</WRAP> | ||
+ | {{ :dac_amp_simu_freq.png |}}<WRAP centeralign>高速DAC输出电压的频谱响应</WRAP> | ||
+ | |||
+ | 我们看一下使用12Msps转换率生成的正弦波的波形: | ||
+ | {{ ::hsdac_3m_out.png |}}<WRAP centeralign>高速DAC输出3MHz正弦波信号的波形,12Msps转换率</WRAP> | ||
+ | {{ ::hsdac_out.png |}}<WRAP centeralign>高速DAC输出750KHz正弦波信号的波形,12Msps转换率</WRAP> | ||
+ | {{ ::hsdac_46k_out.png |}}<WRAP centeralign>高速DAC输出46.875KHz正弦波信号的波形,12Msps转换率</WRAP> | ||
+ | {{ ::hsdac_46k_freq.png |}}<WRAP centeralign>高速DAC输出46.875KHz正弦波时的频谱</WRAP> | ||
+ | |||
+ | ##### 3.2.2 5阶低通滤波器 | ||
+ | {{ :bwfilter.png |5阶巴特沃斯滤波器响应}}<WRAP centeralign>5阶巴特沃斯滤波器的频率响应</WRAP> | ||
+ | {{ :ellipticfilter.png |5阶椭圆滤波器响应}} <WRAP centeralign>5阶椭圆滤波器的频率相应</WRAP> | ||
+ | {{ ::lpf_b_3m_freq.png |}}<WRAP centeralign>3MHz的信号通过5阶巴特沃斯滤波器后的频谱</WRAP> | ||
+ | {{ ::lpf_e_3m_freq.png |}}<WRAP centeralign>3MHz的信号通过5阶椭圆滤波器后的频谱</WRAP> | ||
+ | {{ ::lpf_b_3m.png |}}<WRAP centeralign>3MHz的信号通过5阶巴特沃斯滤波器后波形</WRAP> | ||
+ | {{ ::lpf_e_3m.png |}}<WRAP centeralign>3MHz的信号通过5阶椭圆滤波器后波形</WRAP> | ||
+ | {{ ::lpf_b_750k.png |}}<WRAP centeralign>750KHz的信号通过5阶巴特沃斯滤波器后波形</WRAP> | ||
+ | {{ ::lpf_e_750k.png |}}<WRAP centeralign>750KHz的信号通过5阶椭圆滤波器后波形</WRAP> | ||
#### 3.3 信号采集电路 | #### 3.3 信号采集电路 | ||
行 236: | 行 272: | ||
{{ :pwm_awg_freq.png |}}<WRAP centeralign>用LTSpice仿真的频域效果</WRAP> | {{ :pwm_awg_freq.png |}}<WRAP centeralign>用LTSpice仿真的频域效果</WRAP> | ||
+ | **实际测试:** | ||
+ | 12MHz输入时钟,经过PLL后得到396MHz的内部时钟,用于PWM信号的生成。 | ||
+ | AWG信号的幅度采用10位精度,因此DDS的转换时钟为396MHz/1024 ~ 386.71875Ksps | ||
+ | 要得到20KHz的模拟信号,24位的相位累加字为24'H0D3D56 | ||
+ | |||
+ | {{ ::pwm_awg_20khz_wave.png |}}<WRAP centeralign>396MHz主频生成20KHz的模拟信号波形</WRAP> | ||
+ | {{ ::pwm_awg_20khz_spec.png |}}<WRAP centeralign>396MHz主频生成20KHz的模拟信号频谱</WRAP> | ||
+ | |||
+ | 在频谱上可以看到在386.71875KHz左右各有一个20KHz的镜像频率366.71875KHz和406.71875KHz的频率分量,这是因为我们低通滤波器在366KHz ~ 406MHz的抑制度比较低,如果采用更高阶的低通滤波器,可以将这部分的频率分量压制下来。 | ||
+ | {{ ::pwm_awg_20khz_sim.png |}}<WRAP centeralign>使用simDDS查看生成信号的频谱 - 没有加低通滤波器</WRAP> | ||
+ | {{ ::pwm_awg_20khz_lpf.png |}}<WRAP centeralign>使用simDDS查看添加了2阶低通滤波器后的频谱</WRAP> | ||
+ | {{ ::pwm_awg_20khz_lpf1.png |}}<WRAP centeralign>使用simDDS查看添加了2阶低通滤波器后的杂散信号表</WRAP> | ||
+ | {{ ::pwm_awg_20khz_lpf2.png |}}<WRAP centeralign>使用simDDS查看添加了5阶低通滤波器后的频谱</WRAP> | ||
#### 3.5 可调直流电压生成 | #### 3.5 可调直流电压生成 | ||
行 283: | 行 332: | ||
### 5. 实验 | ### 5. 实验 | ||
- | - [[dds_verilog|DDS信号产生]]:通过小脚丫FPGA逻辑设计搭配板上10位精度、最高120Msps的高速DAC(使用WebIDE,转换速率为12Msps),可以生成最高频率达5MHz的任意波形,可以通过ADALM2000的示波器功能来查看生成波形的时域信号及频谱构成;通过ADALM2000的数字IO观察送往DAC的数据总线上的数据以及DAC的时钟信号,以及这些数据和时钟之间的时序关系。涉及到的知识点: | + | - [[dds_verilog|DDS信号产生]]:通过小脚丫[[FPGA]]逻辑设计搭配板上10位精度、最高120Msps的高速[[DAC]](使用[[WebIDE]],转换速率为12Msps),可以生成最高频率达5MHz的任意波形,可以通过ADALM2000的示波器功能来查看生成波形的时域信号及频谱构成;通过ADALM2000的数字IO观察送往[[DAC]]的数据总线上的数据以及DAC的时钟信号,以及这些数据和时钟之间的时序关系。涉及到的知识点: |
- DAC的工作原理及使用 | - DAC的工作原理及使用 | ||
- 使用运放做差分转单端信号 | - 使用运放做差分转单端信号 | ||
行 298: | 行 347: | ||
- 宽带放大器的增益设置 | - 宽带放大器的增益设置 | ||
- 带宽和压摆率的关系。 | - 带宽和压摆率的关系。 | ||
- | - 通过PWM产生任意波形,可以利用PWM的可调占空比用作DAC,产生波形可调、频率可调的任意信号,包括可调的直流电压,并通过RC低通滤波器和放大器得到频率较低的任意波形,并同高速DAC产生的任意波形进行比较。可以使用ADALM2000的示波器功能查看生成的信号波形,使用ADALM2000的频谱分析功能来查看生成的信号波形的频谱构成,通过ADALM2000的数字IO或示波器功能来查看PWM的数字波形。 | + | - 通过[[pwm_verilog|PWM产生任意波形]],可以利用[[PWM]]的可调占空比用作[[DAC]],产生波形可调、频率可调的任意信号,包括可调的直流电压,并通过RC低通滤波器和放大器得到频率较低的任意波形,并同高速[[DAC]]产生的任意波形进行比较。可以使用[[ADALM2000]]的示波器功能查看生成的信号波形,使用ADALM2000的频谱分析功能来查看生成的信号波形的频谱构成,通过ADALM2000的数字IO或示波器功能来查看PWM的数字波形。 |
- 基准电压的产生和利用 | - 基准电压的产生和利用 | ||
- | - 串行DAC的使用 - FPGA通过SPI总线设置DAC的输出电压 | + | - 串行DAC的使用 - [[FPGA]]通过[[SPI]]总线设置[[DAC]]的输出电压 |
- 采用比较器 + FPGA逻辑制作的Sigma Delta ADC | - 采用比较器 + FPGA逻辑制作的Sigma Delta ADC | ||
- 高速ADC数据采集 | - 高速ADC数据采集 | ||
行 308: | 行 357: | ||
- 线性稳压/LDO稳压器 | - 线性稳压/LDO稳压器 | ||
- 电荷泵/负电压生成 | - 电荷泵/负电压生成 | ||
+ | |||
+ | ### 6. 开机测试 | ||
+ | 使用Lattice XO2-4000HC FPGA小脚丫,下载测试程序:{{:acdlk_test_impl1.rar|模拟信号训练学习平台FPGA代码}},解压后生成jed文件可以下载。 | ||
+ | 连接方式见图片:{{ :acdlk_test_setup.jpg |测试连接方式}} | ||
+ | |||
+ | 板上的跳线除以下的跳线不连接之外,其它都连接: | ||
+ | - 用于扩展测试的管脚信号: | ||
+ | - J4的Vb - 对外提供5V直流电压,跳线两端都连接J2安装的FPGA核心板的+5V供电电压,用于对外供电 | ||
+ | - J4的X1 - 对外提供一个IO,跳线两端都连接J2安装的FPGA的IO39,用于对外提供数字接口信号 | ||
+ | - J4的GND - 对外提供GND,跳线两端都已经接地 | ||
+ | - J5的3.3V - 对外提供3.3V直流电压,跳线两端都已经连接在J2安装的FPGA核心板的3.3V上 | ||
+ | - J5的X2 - 对外提供一个IO,跳线两端都连接J2安装的FPGA的IO2,用于对外提供数字接口信号 | ||
+ | - J5的GND - 对外提供GND,跳线两端都已经接地 | ||
+ | - 用于信号输入的管脚信号 | ||
+ | - J7 - 用于模拟信号输入,左侧为用Sigma Delta测试的模拟信号电压,右侧为GND | ||
+ | |||
+ | 二选一跳线: | ||
+ | - JP3:连接左侧两个管脚,使得在J6上输出的信号来自高速DAC生成的模拟信号 | ||
+ | |||
+ | |||
+ | ### 2019年电赛文档汇总 | ||
+ | * {{::陈瑜_电子科技大学竞赛培训分享.pdf|}} | ||
+ | * {{::邓建国—模拟电磁曲射炮(H题)解析与交流.pdf|}} | ||
+ | * {{::韩力—纸张计数显示装置(F题)解析与交流.pdf|}} | ||
+ | * {{::胡仁杰—寻找机器人(B题)交流及2020年模拟邀请赛介绍.pdf|}} | ||
+ | * {{::李玉柏—语音同传的无线收发系统(G题)解析与交流.pdf|}} | ||
+ | * {{::刘开华—多功能液体容器(K题)解析与交流.pdf|}} | ||
+ | * {{::潘再平—电动小车动态无线充电系统(A题)解析与交流.pdf|}} | ||
+ | * {{::吴振宇—大连理工大学创新创业教育及竞赛经验分享.pdf|}} | ||
+ | * {{::王承宁—TI产品与技术助力全国大学生电子设计竞赛.pdf|}} | ||
+ | * {{::岳继光—2019年电赛专家组工作总结报告.pdf|}} |