差别
这里会显示出您选择的修订版和当前版本之间的差别。
后一修订版 | 前一修订版 | ||
top190518 [2019/05/18 22:18] gongyu 创建 |
top190518 [2019/05/18 22:50] (当前版本) gongyu |
||
---|---|---|---|
行 3: | 行 3: | ||
--- | --- | ||
+ | |||
+ | 项目参与人员及分工: | ||
+ | * 中国矿业大学硕士研究生[[page_shuai.liu|刘帅]] | ||
+ | * 复旦大学硕士研究生[[page_jiahao.li|李佳豪]] | ||
+ | * 即将就读南昌大学硕士研究生的[[page_yue.zhang|张玥]] | ||
+ | |||
+ | {{ :pnqlu6rgqwmoh7sxfibwsq.jpg |}} | ||
+ | |||
+ | --- | ||
+ | |||
+ | ### 项目需求 | ||
+ | |||
+ | --- | ||
+ | |||
+ | #### 功能要求 | ||
+ | * 设计一个双通道的高速ADC采集卡能够通过Mini-PCIe连接器同小脚丫FPGA扩展板、同Cyclone 10的SoC板进行连接 | ||
+ | * 设计一个树莓派HAT板,通过其上的Mini-PCIe插座将高速ADC的数据传递到板子上的FPGA芯片(可以用XO2-1200 TQ100封装的FPGA),经过FPGA进行数据处理后,再通过树莓派上的SPI总线跟树莓派进行连接,由树莓派进行波形的显示 | ||
+ | |||
+ | #### 性能要求 | ||
+ | |||
+ | - 被采集的模拟信号的幅度范围±5mV ~ ±10V,模拟带宽DC - 10MHz | ||
+ | - 双路并行ADC,位宽10bit,采样率50MSPS; | ||
+ | - 树莓派接口,尺寸合适、布局合理; | ||
+ | - 电源及PCB满足系统要求; | ||
+ | |||
+ | --- | ||
+ | |||
+ | ### 项目方案 | ||
+ | |||
+ | --- | ||
+ | |||
+ | #### 方案综述 | ||
+ | ##### 项目分为三个部分: | ||
+ | * 第1部分(ADC板):完成模拟信号到数字信号的转换 | ||
+ | * 第2部分(FPGA板):控制ADC板的模拟信号处理,并对采集到的数字信号进行处理 | ||
+ | * 第3部分(树莓派板):将FPGA处理完的数字信号显示出来 | ||
+ | |||
+ | 项目总体框图如下: | ||
+ | |||
+ | {{ :项目系统框图.png |}} | ||
+ | |||
+ | |||
+ | #### 一、各部分说明 | ||
+ | ##### 1. ADC子板:完成模拟信号到数字信号的转变,如下图所示。 | ||
+ | {{ :adc设计.jpg |}} | ||
+ | |||
+ | ##### 2. FPGA板: FPGA板功能框图如下。 | ||
+ | {{ :fpga板.png |}} | ||
+ | |||
+ | ##### 3.树莓派板 | ||
+ | * 波形显示 | ||
+ | * SPI接口 | ||
+ | |||
+ | #### 二、关键元器件选择 | ||
+ | {{ :芯片采购清单.png |}} | ||
+ | |||
+ | #### 三、实施计划 | ||
+ | * 第1周:查找相关资料,确定总体项目方案。 | ||
+ | * 第2周:学习PCB,设计与制造PCB。完成信号调理模块的放大器与滤波的设计,设计ADC板。 | ||
+ | * 第3周:学习FPGA与Verilog编程,设计FPGA板,确定电源的设计参数。 | ||
+ | * 第4周:实现树莓派通过SPI与FPGA模块连接,焊制板卡,系统测试调连。 | ||
+ | |||
+ | |||
+ | --- | ||
+ | |||
+ | ### 项目实施 | ||
+ | |||
+ | --- | ||
+ | |||
+ | #### PCB设计 | ||
+ | * PCB原理图: | ||
+ | * ADC子板{{:shiboqi.pdf|}} | ||
+ | * FPGA子板{{:fpga_project.pdf|}} | ||
+ | |||
+ | |||
+ | #### PCB制造 | ||
+ | ##### BOM表 | ||
+ | * ADC子板BOM表{{:adc_bom.xlsx|}} | ||
+ | * FPGA子板BOM表{{:fpga_bom.xlsx|}} | ||
+ | |||
+ | ##### PCB板图 | ||
+ | * ADC子板: {{ :adc_pcb.png?600 |}} | ||
+ | * FPGA子板:{{ :fpga_pcb.png?600 |}} | ||
+ | |||
+ | |||
+ | |||
+ | ##### LOGO设计 | ||
+ | * ADC子板: {{ :logo设计.png?600 |}} | ||
+ | * FPGA子板: {{ :logo设计1.png?600 |}} | ||
+ | |||
+ | |||
+ | #### PCB焊接、调试 | ||
+ | |||
+ | * 焊接完成后的ADC板 | ||
+ | |||
+ | {{ :adc焊接.jpg?400 |}} | ||
+ | |||
+ | * 焊接完成后的FPGA | ||
+ | |||
+ | {{ :fpga焊接.jpg?400 |}} | ||
+ | |||
+ | #### FPGA连接和Verilog编程 | ||
+ | |||
+ | * FPGA控制衰减放大电路 {{:fpga_control_adc_tcr.dir.zip|}} | ||
+ | |||
+ | * ADC采集 {{:fpga_adc_tcr.dir.zip|}} | ||
+ | |||
+ | * UART串口 {{:uart.zip|}} | ||
+ | |||
+ | |||
+ | ### 项目报告 | ||
+ | |||
+ | --- | ||
+ | #### 项目简要总结 | ||
+ | |||
+ | * 完成FPGA板的焊接与调试,FPGA能够正常工作,烧录程序,实现与外部ADC之间的控制,以及与外部UART的通信。 | ||
+ | * 完成ADC板中的ADC芯片的输出数据的调试,ADC芯片能够正常完成采集数据与量化。 | ||
+ | * 未完成ADC板的模拟电路调试部分,最后得到的差分电压不能够达到项目需求。 | ||
+ | |||
+ | |||
+ | |||
+ | #### 项目出现的问题 | ||
+ | |||
+ | 在该项目中,我们所遇到的主要问题是在ADC板的模拟电路调试部分。调试过程当中: | ||
+ | |||
+ | * 已完成部分 | ||
+ | |||
+ | * 光耦控制的交直流耦合部分正常工作 | ||
+ | * 多路开关选择经调试后正常工作,实现交流电压输入之后选择是否衰减40倍的效果 | ||
+ | * AD8061正常完成运放作用 | ||
+ | * ADC芯片正常工作,能够输出0.9V的输出共模电压。 | ||
+ | |||
+ | * 未完成的部分及出现的问题 | ||
+ | |||
+ | * 在下图所示的开关控制放大倍数的部分,在低电压幅度范围内能够正常完成放大倍数,而加大了电压幅度值之后,放大后的电压底部会出现失真变形的现象,未找到解决方案 | ||
+ | {{ :问题1.png |}} | ||
+ | * 在下图所示的实现转换差分信号输出的部分,得到的差分电压幅度值未能达到要求。不论我们给出的输入信号为多大,得出的差分信号电压差始终处于3.8V左右,未找到解决方案 | ||
+ | {{ :问题2.png |}} | ||
+ | |||
+ | #### 项目改进及方案 | ||
+ | * step1:将信号发生器的信号电压加在ADC芯片所对应的管脚 | ||
+ | * step2:将ADC板搭建在cyc10的开发板 | ||
+ | * step3:通过cyc10开发板上的8个LED指示灯的亮灭来观看ADC芯片是否正常完成采样 | ||
+ | |||
+ | |||
+ | {{:信号发生器.jpg?300 |}} | ||
+ | {{ :cyc10.jpg?300|}} | ||
+ | {{ :adc调试板.jpg?300 |}} | ||
+ | |||
+ | #### 系统测试 | ||
+ | |||
+ | * ADC芯片测试 | ||
+ | |||
+ | {{ :led11.mp4 |}} | ||
+ | {{ :led2.mp4 |}} | ||
+ | |||
+ | {{ :led灯变化.png |}} | ||
+ | |||
+ | 当正负压差都达到0.7V左右之后,达到饱和,由此可以推断出ADC的处理电压差在0.75V左右。 | ||
+ | |||
+ | * FPGA串口通信测试: | ||
+ | |||
+ | {{ :串口数据.png |}} | ||
+ | |||
+ | |||
+ | | ||
+ | |||
+ | --- | ||
+ | |||
+ | ### 参考资料 | ||
+ | |||
+ | --- | ||
+ | |||
+ | * 示波器设计参考 | ||
+ | * [[http://www.stepfpga.com/doc/%E7%AE%80%E6%98%93%E7%A4%BA%E6%B3%A2%E5%99%A8|基于小脚丫FPGA学习模块+串行ADC+LCD显示制作简易的数字示波器]] | ||
+ | * [[https://ee.ofweek.com/2012-02/ART-8300-2817-28599243.html|基于FPGA的数字示波器设计]] | ||
+ | * {{:fpga示波器的采样存储和显示设计.pdf|}} | ||
+ | * {{:ds203_v2.72_schematic_20131106_.pdf|便携式示波器DS203的原理图}} | ||
+ | {{ ::ds203scope.jpg?600 |}} | ||
+ | |||
+ | {{ :dso203portatil.jpg?600 |}} | ||
+ | |||
+ | |||
+ | * FPGA | ||
+ | * [[http://www.stepfpga.com/doc/step-mxo2%E7%AC%AC%E4%BA%8C%E4%BB%A3|step-mxo2第二代]] | ||
+ | * [[http://www.stepfpga.com/doc/_media/step-max10_%E7%A1%AC%E4%BB%B6%E6%89%8B%E5%86%8Cv1.2.pdf|STEP-MAX10 硬件手册]] | ||
+ | * [[http://www.eetree.io/doc/_media/%E5%9F%BA%E4%BA%8Efpga%E7%9A%84%E5%A4%9A%E5%8A%9F%E8%83%BD%E6%95%B0%E6%8D%AE%E9%87%87%E9%9B%86%E7%B3%BB%E7%BB%9F%E8%AE%BE%E8%AE%A1.pdf|基于fpga的多功能数据采集系统设计]] | ||
+ | * 来自FPGA4FUN上的FPGA代码参考 | ||
+ | * [基于FIFO的设计](https://www.fpga4fun.com/digitalscope_hdl1.html) | ||
+ | * [基于双口RAM的设计](https://www.fpga4fun.com/digitalscope_hdl2.html) | ||
+ | * [触发机制的实现](https://www.fpga4fun.com/digitalscope_hdl3.html) | ||
+ | * [更多的功能](https://www.fpga4fun.com/digitalscope_hdl4.html) | ||
+ | |||
+ | |||
+ | * ADC | ||
+ | * ADC选型 | ||
+ | *[[https://www.maximintegrated.com/en/products/analog/data-converters/analog-to-digital-converters/MAX1182.html|美信公司 MAX1182]] | ||
+ | *[[https://www.maximintegrated.com/en/products/analog/data-converters/analog-to-digital-converters/MAX19516.html|美信公司 MAX19516]] | ||
+ | *[[http://www.ti.com/cn/lit/ds/symlink/adc10dl065.pdf|TI公司 ADS5237]] | ||
+ | *[[http://www.ti.com/cn/lit/ds/symlink/ads5237.pdf|TI公司 ADC10DL065]] | ||
+ | *[[https://www.analog.com/media/en/technical-documentation/data-sheets/ad9204.pdf|ADI AD9204]] | ||
+ | * [[https://www.analog.com/media/en/technical-documentation/data-sheets/AD9204.pdf|AD9204 Data Sheet]] | ||
+ | * [[http://www.elecfans.com/p/870408.html|AD9204 10位、20 MSPS/40 MSPS/65 MSPS/80 MSPS、1.8 V、双通道模数转换器]] | ||
+ | * 多路数据参考资料 [[http://www.eeeguide.com/multi-channel-data-acquisition-system/|]] | ||
+ | |||
+ | * 扩展板 | ||
+ | * [[http://www.stepfpga.com/doc/baseboard_rpi|支持树莓派接口的STEP FPGA扩展板]] | ||
+ | |||
+ | * scopefun | ||
+ | * [[https://www.scopefun.com/|]] | ||
+ | * {{:scopefun功能结构.pdf|}} | ||
+ | |||
+ | * 树莓派 | ||
+ | * [[https://www.zybuluo.com/SiberiaBear/note/337874|树莓派的SPI]] | ||
+ | * [[https://zh.wikipedia.org/wiki/%E5%BA%8F%E5%88%97%E5%91%A8%E9%82%8A%E4%BB%8B%E9%9D%A2|SPI]] | ||
+ | * [JTAG](http://www.stepfpga.com/doc/jtag) | ||
+ | * [滤波器运放的选择AD8651](https://www.analog.com/cn/products/ad8651.html) | ||
+ | * [4通道单独控制双路信号ADG611](https://www.analog.com/media/en/technical-documentation/data-sheets/ADG611_612_613.pdf) | ||
+ | * [多路开关选择器TS3A5017](https://www.sparkfun.com/datasheets/BreakoutBoards/TS3A5017.pdf) | ||
+ | * [高速缓冲器LMH6559](http://www.ti.com/lit/ds/symlink/lmh6559.pdf) | ||
+ | * [差分放大器ADA4932](https://www.analog.com/media/en/technical-documentation/data-sheets/ADA4932-1_4932-2.pdf) | ||
+ | |||
+ | --- | ||
+ | 关于硬禾实战营研究生技能培训更多的实战项目信息,参见[[handsontraining|硬禾实战营研究生技能培训项目第一期]] |