差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
tproject1.2 [2019/05/18 00:00] jiahao |
tproject1.2 [2019/05/23 17:58] (当前版本) jiahao |
||
---|---|---|---|
行 1: | 行 1: | ||
- | 支持树莓派和小脚丫FPGA的双通道高速数据采集系统 | + | #### 支持树莓派和小脚丫FPGA的双通道高速数据采集系统 |
--- | --- | ||
+ | 项目参与人员: | ||
+ | * 复旦大学硕士研究生[[page_jiahao.li|李佳豪]] | ||
+ | * 即将就读南昌大学硕士研究生的[[page_yue.zhang|张玥]] | ||
+ | * 中国矿业大学硕士研究生[[page_shuai.liu|刘帅]] | ||
- | 项目参与人员及分工: | + | {{ :pnqlu6rgqwmoh7sxfibwsq.jpg |}} |
- | * [[page_shuai.liu|刘帅]] | + | |
- | * [[page_jiahao.li|李佳豪]] | + | |
- | * [[page_yue.zhang|张玥]] | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
--- | --- | ||
行 31: | 行 26: | ||
- 树莓派接口,尺寸合适、布局合理; | - 树莓派接口,尺寸合适、布局合理; | ||
- 电源及PCB满足系统要求; | - 电源及PCB满足系统要求; | ||
- | |||
- | #### 资源要求 | ||
- | #### 进度要求 | ||
- | #### 成本要求 | ||
- | #### 其它要求 | ||
--- | --- | ||
行 43: | 行 33: | ||
--- | --- | ||
- | #### 方案综述: | + | #### 方案综述 |
- | - 项目分为三个部分 | + | ##### 项目分为三个部分: |
- | - 1.ADC板:完成模拟信号到数字信号的转换 | + | * 第1部分(ADC板):完成模拟信号到数字信号的转换 |
- | 基于项目要求,我们将此项目划分为三大功能板来实现,分别为ADC板,FPGA 板,树莓派板。首先是设计一个双通道的高速ADC采集卡能够通过Mini-PCIe连接器同小脚丫FPGA扩展板连接,其次是一个树莓派HAT板,通过其上的Mini-PCIe插座将高速ADC的数据传递到板子上的FPGA芯片,经过FPGA进行数据处理后,再通过树莓派上的SPI总线跟树莓派进行连接,由树莓派进行波形的显示。 | + | * 第2部分(FPGA板):控制ADC板的模拟信号处理,并对采集到的数字信号进行处理 |
+ | * 第3部分(树莓派板):将FPGA处理完的数字信号显示出来 | ||
+ | |||
+ | 项目总体框图如下: | ||
{{ :项目系统框图.png |}} | {{ :项目系统框图.png |}} | ||
+ | #### 一、各部分说明 | ||
+ | ##### 1. ADC子板:完成模拟信号到数字信号的转变,如下图所示。 | ||
+ | {{ :adc设计.jpg |}} | ||
- | ##### 1. ADC子板 | + | ##### 2. FPGA板: FPGA板功能框图如下。 |
+ | {{ :fpga板.png |}} | ||
- | 整块ADCpcb板进行模拟到数字信号的转变,如图所示,一共由滤波电路、输入信号是否衰减选择模块、信号放大模块、外加偏置电压模块以及ADC模块组成。由于项目要求模拟宽带为DC-10MHz,因此前面的滤波电路要将10MHz频率以上的信号滤除。被采集模拟信号的范围要求为±5mV-±10V,ADC的共模输入电压范围为0.4A-1.4A,因此要对滤波后的模拟信号进行一个衰减处理,利用4通道单独控制的ADG611实现双路是否衰减控制。衰减处理后的信号在进行相关的放大,按照是否衰减将信号分为不同的区间,对不同的区间选择不同的放大倍数。因此在后面利用多路开关选择器TS3A5017实现不同区间的不同放大倍数。经过放大处理后的信号还有要提供一个外部直流偏置,该直流偏置将信号偏置到满足ADC处理范围的信号。最终经过ADC将模拟信号转变为数字信号。 | + | ##### 3.树莓派板 |
- | + | * 波形显示 | |
- | + | * SPI接口 | |
- | + | ||
- | {{ :adc设计.jpg |}} | + | |
- | + | ||
- | * ADC芯片:选择美信公司 MAX19506的ADC芯片 | + | |
- | * ADC的选型对比与选择 | + | |
- | {{ :adc选择对比.png |}} | + | |
- | * ADC的连接 | + | |
- | + | ||
- | * 信号调理模块 | + | |
- | * 滤波器 | + | |
- | * 衰减 | + | |
- | * 选择放大 | + | |
- | {{ ::衰减与放大倍数选择.png |}} | + | |
- | + | ||
- | * 电源设计 | + | |
- | * 电源供电 | + | |
- | * 直流偏置 | + | |
- | * 放大器 | + | |
- | * 滤波器 | + | |
- | * 芯片选择 | + | |
- | + | ||
- | {{ :ldo与dc-dc.png |}} | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | * PCIE接口槽 | + | |
- | + | ||
- | + | ||
- | + | ||
- | ##### 2. FPGA板: | + | |
- | + | ||
- | * FPGA | + | |
- | + | ||
- | * {{ :fpga板.png |}} | + | |
- | + | ||
- | * 触发模块 | + | |
- | * 驱动模块 | + | |
- | * 参数设计模块 | + | |
- | * JTAG | + | |
- | * 按键控制模块 | + | |
- | + | ||
- | + | ||
- | + | ||
- | * 树莓派接口 | + | |
- | * SPI总线 | + | |
- | + | ||
- | * PCIE接口槽 | + | |
- | {{ http://www.stepfpga.com/doc/_media/pcie_baseboard_for_rpi_pcie%E5%BC%95%E8%84%9A%E5%88%86%E9%85%8D%E5%9B%BE.png?w=320&tok=e4f889 |}} | + | |
- | + | ||
- | {{ http://www.stepfpga.com/doc/_media/pcie_baseboard_for_rpi_pcie%E5%BC%95%E8%84%9A%E5%88%86%E9%85%8D%E5%9B%BE2.png?w=440&tok=6fa33e |}} | + | |
- | + | ||
- | + | ||
- | + | ||
- | ##### 3. 树莓派板 | + | |
- | + | ||
- | * 波形显示 | + | |
- | * SPI接口 | + | |
- | + | ||
- | #### 关键元器件 | + | |
- | + | ||
- | * AD8061 滤波器设计中的运放器 | + | |
- | * CPC1017N 光耦 | + | |
- | * TMUX1511 具有 1.8V 逻辑的低电容、1:1 (SPST) 4 通道断电保护开关 | + | |
- | * ADC MAX19506 | + | |
- | * TS3A5017 多路选择开关器,通过控制不同通路来选择信号的不同放大倍数,对信号进行放大 | + | |
- | * ADA4940-1 用作驱动差分放大器 之后接入ADC芯片 | + | |
- | * ADM8660 | + | |
- | * LT3032EDE | + | |
- | * LMV721 运放 | + | |
- | * 树莓派 | + | |
+ | #### 二、关键元器件选择 | ||
{{ :芯片采购清单.png |}} | {{ :芯片采购清单.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板图 |
- | * FPGA与ADC之间的通信 | + | * ADC子板: {{ :adc_pcb.png?600 |}} |
- | * PCIe接口引脚定义 | + | * FPGA子板:{{ :fpga_pcb.png?600 |}} |
- | * FPGA内部数据处理 | + | |
- | * FPGA与树莓派之间的数据传输 | + | |
- | * 树莓派上波形显示 | + | |
- | --- | ||
- | |||
- | ### 项目实施 | ||
- | |||
- | * 第一周:查找相关资料,确定总体项目方案。 | ||
- | * 第二周:学习PCB,设计与制造PCB。完成信号调理模块的放大器与滤波的设计,设计ADC板。 | ||
- | * 第三周:学习FPGA与Verilog编程,设计FPGA板,确定电源的设计参数。 | ||
- | * 第四周:实现树莓派通过SPI与FPGA模块连接,焊制板卡,系统测试调连。 | ||
- | --- | ||
- | |||
- | #### PCB设计 | ||
- | |||
- | |||
- | |||
- | * PCB sheet | ||
- | |||
- | * ADC板子原理图PDF | ||
- | {{:shiboqi.pdf|}} | ||
- | * FPGA板子原理图PDF | ||
- | {{:fpga_project.pdf|}} | ||
- | |||
- | |||
- | #### PCB制造 | ||
- | |||
- | ##### ADC | ||
- | |||
- | * ADC PCB | ||
- | |||
- | {{ :adc_pcb.png |}} | ||
- | |||
- | * ADC 3D | ||
- | |||
- | {{ :adc_3d.png |}} | ||
- | |||
- | ##### FPGA板 | ||
- | |||
- | * FPGA PCB图 | ||
- | |||
- | {{ :fpga_pcb.png |}} | ||
- | |||
- | * FPGA 3D | ||
- | |||
- | {{ :fpga_3d.png |}} | ||
##### LOGO设计 | ##### LOGO设计 | ||
+ | * ADC子板: {{ :logo设计.png?600 |}} | ||
+ | * FPGA子板: {{ :logo设计1.png?600 |}} | ||
- | {{ :logo设计.png |}} | ||
- | |||
- | {{ :logo设计1.png |}} | ||
- | |||
- | ##### BOM表 | ||
- | |||
- | * FPGA BOM表 | ||
- | |||
- | {{ :fpga_bom.png |}} | ||
- | |||
- | * ADC BOM表 | ||
- | |||
- | {{ :adc_bom.png |}} | ||
#### PCB焊接、调试 | #### PCB焊接、调试 | ||
- | * ADC板的焊接完成 | + | * 焊接完成后的ADC板 |
- | {{ :adc焊接.jpg |}} | + | {{ :adc焊接.jpg?400 |}} |
- | * FPGA焊接完成 | + | * 焊接完成后的FPGA |
- | {{ :fpga焊接.jpg |}} | + | {{ :fpga焊接.jpg?400 |}} |
#### FPGA连接和Verilog编程 | #### FPGA连接和Verilog编程 | ||
- | * FPGA控制衰减放大电路 {{:fpga_control_adc_tcr.dir.zip|}} | + | * FPGA控制衰减放大电路 {{:fpga-control-adc.zip|}} |
- | * ADC采集 | + | * ADC采集 {{:fpga-adc.zip|}} |
* UART串口 {{:uart.zip|}} | * UART串口 {{:uart.zip|}} | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | #### 系统测试 | ||
### 项目报告 | ### 项目报告 | ||
行 269: | 行 142: | ||
#### 项目改进及方案 | #### 项目改进及方案 | ||
- | + | * step1:将信号发生器的信号电压加在ADC芯片所对应的管脚 | |
+ | * step2:将ADC板搭建在cyc10的开发板 | ||
+ | * step3:通过cyc10开发板上的8个LED指示灯的亮灭来观看ADC芯片是否正常完成采样 | ||
- | 基于对模拟电路的调试遇到了瓶颈,经过和老师的讨论之后,我们修改了项目的部分方案。 | ||
- | 首先我们将信号发生器的信号电压加在ADC芯片所对应的管脚上,再将ADC板搭建在cyc10的开发板上,通过cyc10开发板上的8个LED指示灯的亮灭来观看ADC芯片是否正常完成采样。 | ||
{{:信号发生器.jpg?300 |}} | {{:信号发生器.jpg?300 |}} | ||
行 278: | 行 151: | ||
{{ :adc调试板.jpg?300 |}} | {{ :adc调试板.jpg?300 |}} | ||
- | 测试视频如下: | + | #### 系统测试 |
+ | |||
+ | * ADC芯片测试 | ||
{{ :led11.mp4 |}} | {{ :led11.mp4 |}} | ||
- | |||
- | |||
- | 这是加入正电压差的情况,可以得出加到0.7V时,LED灯的线性变化。 | ||
- | |||
{{ :led2.mp4 |}} | {{ :led2.mp4 |}} | ||
- | |||
- | |||
- | 这是加入负电压差的情况,同样也可得出加到0.7V时,LED灯的线性变化。 | ||
- | |||
{{ :led灯变化.png |}} | {{ :led灯变化.png |}} | ||
+ | 当正负压差都达到0.7V左右之后,达到饱和,由此可以推断出ADC的处理电压差在0.75V左右。 | ||
- | 上图中0代表LED灯亮,1代表LED灯灭。正电压差的高位始终为0,负电压差的高位始终为1。根据芯片手册,ADC芯片的输出数据格式为二进制补码,可表示的有效数据为7位。可得出,当正负压差都达到0.7V左右之后,达到饱和,由此可以推断出ADC的处理电压差在0.75V左右。 | + | * FPGA串口通信测试: |
- | ADC正常完成采样之后,用UART串口配置后在计算机中的串口程序中查看接收到的ADC采样数据。 | + | {{ :串口数据.png |}} |
- | + | ||
- | {{ :uart连接.jpg |}} | + | |
- | {{ :串口数据接受.png |}} | + | |
--- | --- | ||
行 353: | 行 220: | ||
* JTAG | * JTAG | ||
* [[http://www.stepfpga.com/doc/jtag|]] | * [[http://www.stepfpga.com/doc/jtag|]] | ||
- | * 滤波器运放的选择AD8651 | + | * [滤波器运放的选择AD8651](https://www.analog.com/cn/products/ad8651.html) |
- | * [[https://www.analog.com/cn/products/ad8651.html]] | + | * [4通道单独控制双路信号ADG611](https://www.analog.com/media/en/technical-documentation/data-sheets/ADG611_612_613.pdf) |
- | * 4通道单独控制双路信号ADG611 | + | * [多路开关选择器TS3A5017](https://www.sparkfun.com/datasheets/BreakoutBoards/TS3A5017.pdf) |
- | * [[https://www.analog.com/media/en/technical-documentation/data-sheets/ADG611_612_613.pdf]] | + | * [高速缓冲器LMH6559](http://www.ti.com/lit/ds/symlink/lmh6559.pdf) |
- | * 多路开关选择器TS3A5017 | + | * [差分放大器ADA4932](https://www.analog.com/media/en/technical-documentation/data-sheets/ADA4932-1_4932-2.pdf) |
- | * [[https://www.sparkfun.com/datasheets/BreakoutBoards/TS3A5017.pdf]] | + | |
- | * 高速缓冲器LMH6559 | + | |
- | * [[http://www.ti.com/lit/ds/symlink/lmh6559.pdf]] | + | |
- | * 差分放大器LMH6559 | + | |
- | * [[https://www.analog.com/media/en/technical-documentation/data-sheets/ADA4932-1_4932-2.pdf]] | + |