项目参与人员及分工:



功能要求

  • 设计一个双通道的高速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板:完成模拟信号到数字信号的转换 基于项目要求,我们将此项目划分为三大功能板来实现,分别为ADC板,FPGA 板,树莓派板。首先是设计一个双通道的高速ADC采集卡能够通过Mini-PCIe连接器同小脚丫FPGA扩展板连接,其次是一个树莓派HAT板,通过其上的Mini-PCIe插座将高速ADC的数据传递到板子上的FPGA芯片,经过FPGA进行数据处理后,再通过树莓派上的SPI总线跟树莓派进行连接,由树莓派进行波形的显示。

1. ADC子板

整块ADCpcb板进行模拟到数字信号的转变,如图所示,一共由滤波电路、输入信号是否衰减选择模块、信号放大模块、外加偏置电压模块以及ADC模块组成。由于项目要求模拟宽带为DC-10MHz,因此前面的滤波电路要将10MHz频率以上的信号滤除。被采集模拟信号的范围要求为±5mV-±10V,ADC的共模输入电压范围为0.4A-1.4A,因此要对滤波后的模拟信号进行一个衰减处理,利用4通道单独控制的ADG611实现双路是否衰减控制。衰减处理后的信号在进行相关的放大,按照是否衰减将信号分为不同的区间,对不同的区间选择不同的放大倍数。因此在后面利用多路开关选择器TS3A5017实现不同区间的不同放大倍数。经过放大处理后的信号还有要提供一个外部直流偏置,该直流偏置将信号偏置到满足ADC处理范围的信号。最终经过ADC将模拟信号转变为数字信号。

  • ADC芯片:选择美信公司 MAX19506的ADC芯片
    • ADC的选型对比与选择
    • ADC的连接
  • 信号调理模块
    • 滤波器
    • 衰减
    • 选择放大
  • 电源设计
    • 电源供电
      • 直流偏置
      • 放大器
      • 滤波器
    • 芯片选择

  • PCIE接口槽
2. FPGA板:
  • FPGA
    • 触发模块
    • 驱动模块
    • 参数设计模块
    • JTAG
    • 按键控制模块
    • 树莓派接口
      • SPI总线
    • PCIE接口槽

3. 树莓派板
  • 波形显示
  • SPI接口

关键元器件

  • AD8061 滤波器设计中的运放器
  • CPC1017N 光耦
  • TMUX1511 具有 1.8V 逻辑的低电容、1:1 (SPST) 4 通道断电保护开关
  • ADC MAX19506
  • TS3A5017 多路选择开关器,通过控制不同通路来选择信号的不同放大倍数,对信号进行放大
  • ADA4940-1 用作驱动差分放大器 之后接入ADC芯片
  • ADM8660
  • LT3032EDE
  • LMV721 运放
  • 树莓派

实施计划:


  • 系统电源的设计
  • FPGA与ADC之间的通信
  • PCIe接口引脚定义
  • FPGA内部数据处理
  • FPGA与树莓派之间的数据传输
  • 树莓派上波形显示

  • 第一周:查找相关资料,确定总体项目方案。
  • 第二周:学习PCB,设计与制造PCB。完成信号调理模块的放大器与滤波的设计,设计ADC板。
  • 第三周:学习FPGA与Verilog编程,设计FPGA板,确定电源的设计参数。
  • 第四周:实现树莓派通过SPI与FPGA模块连接,焊制板卡,系统测试调连。

PCB设计

PCB制造

ADC
  • ADC PCB

  • ADC 3D

FPGA板
  • FPGA PCB图

  • FPGA 3D

LOGO设计

BOM表
  • FPGA BOM表

  • ADC BOM表

PCB焊接、调试

  • ADC板的焊接完成

  • FPGA焊接完成

FPGA连接和Verilog编程

系统测试


项目简要总结

  • 完成FPGA板的焊接与调试,FPGA能够正常工作,烧录程序,实现与外部ADC之间的控制,以及与外部UART的通信。
  • 完成ADC板中的ADC芯片的输出数据的调试,ADC芯片能够正常完成采集数据与量化。
  • 未完成ADC板的模拟电路调试部分,最后得到的差分电压不能够达到项目需求。

项目出现的问题

在该项目中,我们所遇到的主要问题是在ADC板的模拟电路调试部分。调试过程当中:

  • 已完成部分
    • 光耦控制的交直流耦合部分正常工作
    • 多路开关选择经调试后正常工作,实现交流电压输入之后选择是否衰减40倍的效果
    • AD8061正常完成运放作用
    • ADC芯片正常工作,能够输出0.9V的输出共模电压。
  • 未完成的部分及出现的问题
    • 在下图所示的开关控制放大倍数的部分,在低电压幅度范围内能够正常完成放大倍数,而加大了电压幅度值之后,放大后的电压底部会出现失真变形的现象,未找到解决方案
    • 在下图所示的实现转换差分信号输出的部分,得到的差分电压幅度值未能达到要求。不论我们给出的输入信号为多大,得出的差分信号电压差始终处于3.8V左右,未找到解决方案

项目改进及方案

基于对模拟电路的调试遇到了瓶颈,经过和老师的讨论之后,我们修改了项目的部分方案。 首先我们将信号发生器的信号电压加在ADC芯片所对应的管脚上,再将ADC板搭建在cyc10的开发板上,通过cyc10开发板上的8个LED指示灯的亮灭来观看ADC芯片是否正常完成采样。

测试视频如下:

这是加入正电压差的情况,可以得出加到0.7V时,LED灯的线性变化。

这是加入负电压差的情况,同样也可得出加到0.7V时,LED灯的线性变化。

上图中0代表LED灯亮,1代表LED灯灭。正电压差的高位始终为0,负电压差的高位始终为1。根据芯片手册,ADC芯片的输出数据格式为二进制补码,可表示的有效数据为7位。可得出,当正负压差都达到0.7V左右之后,达到饱和,由此可以推断出ADC的处理电压差在0.75V左右。

ADC正常完成采样之后,用UART串口配置后在计算机中的串口程序中查看接收到的ADC采样数据。