用户工具

站点工具


基于arm_fpga的高速ad采集传输实验_ad9226

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
基于arm_fpga的高速ad采集传输实验_ad9226 [2020/01/14 16:34]
zgf 创建
基于arm_fpga的高速ad采集传输实验_ad9226 [2022/03/18 15:49] (当前版本)
sean
行 2: 行 2:
 |技术支持电话|**0379-69926675-801**||| |技术支持电话|**0379-69926675-801**|||
 |技术支持邮件|Gingko@vip.163.com||| |技术支持邮件|Gingko@vip.163.com|||
-|技术论坛|http://​www.eeschool.org||| 
 ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^ ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^
-| V1.0 |2020-01-14| gingko | 初次建立 |+ V1.0   2020-01-14 ​  gingko ​  初次建立 ​ |
  
  
行 15: 行 14:
 ==== 二、实验设备及平台 ==== ==== 二、实验设备及平台 ====
  
-  - iCore3 双核心板( FPGA型号为EP4CE10F17,ARM型号为STM32F407IGT6)。 +  - iCore3 双核心板( FPGA型号为EP4CE10F17,ARM型号为STM32F407IGT6)。[[https://​item.taobao.com/​item.htm?​spm=a1z10.5-c.w4002-251734908.16.351d704dx6vdgW&​id=524229438677|点击购买]] 
-  - 高速AD转换模块ADM9226。 +  - 高速AD转换模块ADM9226。[[https://​item.taobao.com/​item.htm?​spm=a1z10.5-c.w4002-251734908.34.4113769ffqyiV5&​id=555671202016|点击购买]] 
-  - Blaster(或相同功能的)仿真器和USB线缆。+  - Blaster(或相同功能的)仿真器和USB线缆。[[https://​item.taobao.com/​item.htm?​id=554869837940|点击购买]]
   - QuartusII开发软件(本实验中使用的是13.1版本)和commix.exe。   - QuartusII开发软件(本实验中使用的是13.1版本)和commix.exe。
    
-31-1 核心板和ADM9226模块连接图+{{ :​icore3:​icore3_fpga_33_1.png?​direct&​700 |33-1 核心板和ADM9226模块连接图}}
  
 **注意事项1:** 注意FPC转接板和核心板之间引脚要对齐(如图31-1中红圈中细节图所示,转接板和核心板排针连接处下边缘要对齐)。\\ ​ **注意事项1:** 注意FPC转接板和核心板之间引脚要对齐(如图31-1中红圈中细节图所示,转接板和核心板排针连接处下边缘要对齐)。\\ ​
行 30: 行 29:
   * ADM9226模块是一款双通道高速AD采样模块,采用了两片12位精度、65Msps的高速AD转换芯片AD9226。关于AD9226芯片的相关细节,建议大家仔细查阅芯片手册。阅读过手册可以看到如下的数据采样时序图。也就是只需为AD9226提供时钟信号,便可在芯片的数据输出引脚得到二进制的转换数据,驱动较为方便。   * ADM9226模块是一款双通道高速AD采样模块,采用了两片12位精度、65Msps的高速AD转换芯片AD9226。关于AD9226芯片的相关细节,建议大家仔细查阅芯片手册。阅读过手册可以看到如下的数据采样时序图。也就是只需为AD9226提供时钟信号,便可在芯片的数据输出引脚得到二进制的转换数据,驱动较为方便。
    
-31-3 ADM9226 采样时序图+{{ :​icore3:​icore3_fpga_33_2.png?​direct |33-2 ADM9226 采样时序图}}
   * iCore 3开发板是ARM+FPGA架构。FPGA采用的cyclone IV 系列,负责AD芯片的驱动和数据的存储。FPGA调用IP核在内部构建两个存储深度为1024的RAM作为数据缓存,且输出时钟信号驱动两路AD9226对模拟信号进行采样。在接收到STM32F407发送的“写”指令后将采样数据分别存储在两个RAM中。ARM采用的是STM32F407IGT6,一款基于Cortex-M4内核的高性能微控制器,具有丰富的外设。STM32F407芯片将FPGA内RAM作为外挂存储器,通过FSMC分别对两个RAM里的值进行读取和指令的传输,然后通过UART将从RAM中读取的数据上传至PC。   * iCore 3开发板是ARM+FPGA架构。FPGA采用的cyclone IV 系列,负责AD芯片的驱动和数据的存储。FPGA调用IP核在内部构建两个存储深度为1024的RAM作为数据缓存,且输出时钟信号驱动两路AD9226对模拟信号进行采样。在接收到STM32F407发送的“写”指令后将采样数据分别存储在两个RAM中。ARM采用的是STM32F407IGT6,一款基于Cortex-M4内核的高性能微控制器,具有丰富的外设。STM32F407芯片将FPGA内RAM作为外挂存储器,通过FSMC分别对两个RAM里的值进行读取和指令的传输,然后通过UART将从RAM中读取的数据上传至PC。
   * 系统框图如下图所示:   * 系统框图如下图所示:
    
-31-2 高速AD采样系统框图+{{ :​icore3:​icore3_fpga_33_3.png?​direct |33-3 高速AD采样系统框图}}
   * STM32的FSMC以及和PC通信的UART可以通过STM32CubeMX进行配置,包括引脚、时钟、电压的配置。   * STM32的FSMC以及和PC通信的UART可以通过STM32CubeMX进行配置,包括引脚、时钟、电压的配置。
   * 这里主要讲一下FPGA部分。   * 这里主要讲一下FPGA部分。
行 45: 行 44:
  
   * 本实验是基于ARM+FPGA系统的,因此在代码的实现上也包括ARM程序和FPGA程序,ARM程序主要是对串口接收数据的处理以及指令的传输。详细的代码讲解请参考对应的ARM例程,这里主要讲解一下FPGA的代码实现。   * 本实验是基于ARM+FPGA系统的,因此在代码的实现上也包括ARM程序和FPGA程序,ARM程序主要是对串口接收数据的处理以及指令的传输。详细的代码讲解请参考对应的ARM例程,这里主要讲解一下FPGA的代码实现。
-  * **FPGA代码讲解**+=== FPGA代码讲解 ​=== 
 +{{ :​icore3:​icore3_fpga_33_4.png?​direct |图33-4 FPGA代码RTL视图}}
   * 首先看一下FPGA综合的RTL视图,从图中可以看到,主要功能模块有三个,分别是fsmc_ctrl模块和ad9226_store模块。其中fsmc_ctrl模块负责和ARM通信, ad9226_store则负责采样数据的存储。   * 首先看一下FPGA综合的RTL视图,从图中可以看到,主要功能模块有三个,分别是fsmc_ctrl模块和ad9226_store模块。其中fsmc_ctrl模块负责和ARM通信, ad9226_store则负责采样数据的存储。
   * 这里主要讲解一下ad9226_store文件和fsmc_ctrl文件。先看一下fsmc_ctrl文件,这个文件中主要是对fsmc接口信号的处理以及对ARM发送的指令进行解析。因为ARM的fsmc外设是连接到FPGA内的RAM上的,所以这里FPGA将fsmc接口和RAM的相关信号建立连接。   * 这里主要讲解一下ad9226_store文件和fsmc_ctrl文件。先看一下fsmc_ctrl文件,这个文件中主要是对fsmc接口信号的处理以及对ARM发送的指令进行解析。因为ARM的fsmc外设是连接到FPGA内的RAM上的,所以这里FPGA将fsmc接口和RAM的相关信号建立连接。
行 158: 行 158:
   - 在串口软件发送区输入“set:​1\CR\LF”字符,并点击发送,可以看到接收区返回的指令以及采样数据,如下图红框所示:   - 在串口软件发送区输入“set:​1\CR\LF”字符,并点击发送,可以看到接收区返回的指令以及采样数据,如下图红框所示:
    
- + {{ :​icore3:​icore3_fpga_33_5.png?​direct |图33-5 ​ 串口发送指令及数据接收效果图}}
 ==== 六、拓展实验 ==== ==== 六、拓展实验 ====
  
基于arm_fpga的高速ad采集传输实验_ad9226.1578990842.txt.gz · 最后更改: 2020/01/14 16:34 由 zgf