磕磕碰碰 发表于 2022-3-28 15:46:50

【实验指导手册】AC620_AD9226_RGMII千兆以太网数据采集系统

# [基于FPGA的Ad9226数据采集系统设计与验证]

|工程源码                  ||----设计实例|--------AC620_AD9226_RGMII.zip| 设计文件附在帖子最后
| ---------------------------- | ----------------------------------------------------- |
|相关视频课程            |暂无相关视频课程                                 |
|本实验对各开发板支持情况|
|开发板型号                |AC620|

实验所涉及文件说明

本次实验配套的文件压缩包名为AC620_AD9226_RGMII.zip,解压后可得到配套的工程文件,说明文档和调试工具。

!(data/attachment/forum/202203/28/153638cuucu8rchcepw6de.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "1.png")

图 1项目文件

1、AC620_AD9226_RGMII.zip:基于AC620开发板(Cyclone IV E FPGA)QUARTUS II 13.0平台AD9226数据采集系统源工程

2、ADCdata_to_wave_v2_2.m:基于MATLAB的采样结果数据处理函数

3、sscom5.13.1: 网口调试工具

4、实验简易说明

导读

本节介绍了基于FPGA的AD9226数据采集系统实验步骤。本案例基于芯路恒Cyclone IV E FPGA,结合两片 ADI 公司的单芯片、12 位、65 MSPS 模数转换器(ADC)AD9226芯片,实现了利用网口对AD9226数据采样转换控制并输出。

## 工程目标

本工程通过利用学习开发板上资源,实现ACM9226模块的网口数据采集功能。

本工程在实验条件下,期望达到如下功能要求:

1、 实验通过数据采集模块实现模数转换,传递给开发板。在这里,我们采用ACM9226双通道数据采集模块作为数据采集卡进行数据采集。为了真实模拟数据采集的实验环境,我们借助信号发生器作为信号源,使用时可以通过设置其不同频率进行采样观察效果。

2、 使用相关的网口通信软件,通过网口下发指令,可以设定需要采集的字节数,选择采集通道号,启动采集。

3、 使用相关的网口通信软件,可以按设定的采集参数,接收采集的数据。数据通过网口发送到网口调试软件。将读取到的数据我们进行DAT文件的保存,便于后期分析。

4、 采集到的数据经过matlab波形分析,能够得到和输入波形一致的输出波形,无数据丢失,无杂波。

## 指令设置与管脚绑定

AD9226的控制指令,由8个字节的数据组成,前两个字节D0,D1用55 A5,最后一个字节D7帧尾用F0,标明这是一个接收的指令,第三个字节D2,标明的是控制存储地址,本工程中,我们定义00是发送启动命令,01是采样通道号,02是采样深度。

网口一次发送的数据内容为1个字节,为了实现通过网口修改这些寄存器的值,需要发送多个字节才能实现,为此,设计了简单的数据帧,该帧一帧数据共8个字节,包含帧头、帧尾、地址段(决定任务设定目标)、数据段。帧格式如下表 1所示:

表 1 指令帧格式


| 数据 | D0    | D1    | D2   | D3          | D4          | D5         | D6      | D7   |
| ------ | ------- | ------- | ------ | ------------- | ------------- | ------------ | ----------- | ------ |
| 功能 | 帧头0 | 帧头1 | 地址 | data | data | data | data | 帧尾 |
| 值   | 0x55| 0xA5| xx   | xx          | xx          | xx         | xx      | 0xF0 |

下面讲解一下典型的参数设置方法:

如果采512字节的数据,则设置为:55 A5 02 00 00 01 00 F0

如果采65536字节的数据,则设置为:55 A5 02 00 00 80 00 F0

采样速率如果是5k,整个字节为:55 A5 00 00 00 27 0F F0

采样通道如果是9226的第一通道,则设置为:55 A5 01 00 00 00 01 F0

采样通道如果是9226的第二通道,则设置为:55 A5 01 00 00 00 02 F0

这里对采样速率的设置做一个说明,这里是设置一个计数的值27 0F,而如果为0,采样和时钟保持一致50M时钟就是50M,设置计数值后就可以改变采样频率,设置为1就是25M。27 0F换算成十进制是9999,采样速率设置是5k,他们的关系如下:

** 设置计数值= Fclk/Fs - 1**

Fs是期望的采样率,Fclk是系统时钟。

在此再次特别提醒:在引脚绑定的时候,我们要特别注意ACM9226模块的LSB引脚和MSB引脚,AD9226的12位输出数据接口中,bit11为
LSB、bit0为MSB。这与我们FPGA中对于多位宽信号的高低位的处理恰好相反,ACM9226模块对应的LSB是数据位最高位,而对应的MSB是数据位的最低位。如果在绑定引脚芯片的时候没有注意,则有可能会得到没有规律的输出数据。所以使用时,要么在分配引脚时直接调换过来,要么在程序中对所有位的高低位置进行调换,不然采集到的数据将无法进行准确分析。下图 2为AD9226数据接口引脚分配图。

!(data/attachment/forum/202203/28/153855zpwtp2ro27dm15de.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "2.png")

图 2AD9226数据接口引脚分配图

表 2引脚分配表


| Signial Name | Pin NO. | Signial Name | Pin NO. |
| -------------- | --------- | -------------- | --------- |
| Clk          | PIN_E1| eth_gtxc   | PIN_B14 |
| ad_clk1      | PIN_R1| eth_mdc      | PIN_E11 |
| ad_clk2      | PIN_K5| eth_mdio   | PIN_D12 |
| ad_in1   | PIN_K6| eth_rst_n    | PIN_D14 |
| ad_in1   | PIN_L3| eth_rxc      | PIN_M15 |
| ad_in1    | PIN_L6| eth_rxd   | PIN_B13 |
| ad_in1    | PIN_J1| eth_rxd   | PIN_A14 |
| ad_in1    | PIN_J2| eth_rxd   | PIN_A13 |
| ad_in1    | PIN_K1| eth_rxd   | PIN_E10 |
| ad_in1    | PIN_K2| eth_rxdv   | PIN_A15 |
| ad_in1    | PIN_L1| eth_txd   | PIN_B11 |
| ad_in1    | PIN_L2| eth_txd   | PIN_A12 |
| ad_in1    | PIN_N1| eth_txd   | PIN_B12 |
| ad_in1    | PIN_N2| eth_txd   | PIN_C11 |
| ad_in1    | PIN_P2| eth_txen   | PIN_C14 |
| ad_in2   | PIN_B1| led          | PIN_A2|
| ad_in2   | PIN_D3| reset_n      | PIN_E16 |
| ad_in2    | PIN_E5|            |         |
| ad_in2    | PIN_D1|            |         |
| ad_in2    | PIN_F1|            |         |
| ad_in2    | PIN_F5|            |         |
| ad_in2    | PIN_F2|            |         |
| ad_in2    | PIN_G2|            |         |
| ad_in2    | PIN_G1|            |         |
| ad_in2    | PIN_F3|            |         |
| ad_in2    | PIN_G5|            |         |
| ad_in2    | PIN_J6|            |         |

## 基于PFGA开发板的功能测试

对系统功能设计完成并仿真验证通过之后,准备好硬件设施,连接好硬件,就可以对设计的工程进行板级验证测试实验功能。

### 系统所需硬件

1、 对应实验开发板。

2、 AD9226数据采集模块。

3、 电源线。

4、 程序下载线。

5、 网线。

6、 信号发生器。

### 硬件连接

根据前面的描述准备好硬件,我们可以进行连接:

1、 连接好ACM9226模块到开发板。

2、 信号发生器的输出端连接到ACM9226模块的通道输入端,可根据设置连接不同通道。

3、 连接好FPGA开发板网线。

4、 连接好开发板电源。

5、 连接好开发板下载器。

硬件连接完成后如下图 3 所示。在以上所有模块和线路连接好之后就可以打开开关,开始下载程序。

!(data/attachment/forum/202203/28/153912kgj9mffgz9jqijng.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "3.png")

图 3硬件连接图

在信号发生器上设定好采样频率,可使用示波器对信号发生器输入的数据进行观察,确认输入数据是否正常,和采集的数据进行对比验证。

### 数据采集与分析

打开sscom5.13.1网口调试工具,依次设定好UDP端口,端口连接设置,然后打开网口。点击多字符串,点击勾选四个指令栏,填入指令:

采65536字节的数据,则设置为:55 A5 02 00 00 80 00 F0

采样通道为第一通道,则设置为:55 A5 01 00 00 00 01 F0

采样通道为第二通道,则设置为:55 A5 01 00 00 00 02 F0

采集测试用数据,通道则设置为:55 A5 01 00 00 00 00 F0

采样的速率为50M,指令设置为:55 A5 03 00 00 00 00 F0,

采样的速率为5k,指令设置为:55 A5 03 00 00 27 0F F0

采集使能指令帧设置为:55 A5 00 00 00 00 00 F0

清空计数器和接收区后,从上到下依次点击勾选的1,2,3,4条数据串发送按钮,数据设定完成后开始采集,网口调试助手设置界面如图 4 所示。

!(data/attachment/forum/202203/28/153948fgb9xhiu8jnls8as.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "4.png")

图 4网口调试设置

通过调试窗口可以对采集的数据量和下发的指令是否匹配,对采集的数据做进一步的分析可以验证数据采集是否符合期望,可对采集数据利用MATLAB进行绘图分析。

通过网口调试助手可以判断采集的数据量是否准确,采样得到的数据是否是和信号发生器输出一致,仅凭人工,很难完成这个分析工作。因此我们需要借助matlab的绘制函数图形的功能。

图 6中可以看到,点击网口助手保存数据会产生两个数据文件,第一个是DAT格式的数据文件,第二个是文本格式的数据文件,读者可根据自身需求对不同格式的文件进行调用,本次实验调用的的是DAT格式的数据文件。采集数据文件路径都与安装的调试助手的路径有关,在网口调试窗口中点击数据保存时会有显示,下图显示的是sscom5.13.1网口调试工具安装于桌面的数据保存路径。

!(data/attachment/forum/202203/28/153958cj7izonon2ozo3o0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "5.png")

图 5保存数据位置信息

文件为二进制格式DAT文件,调用时可复制文件到MATLAB安装路径下,这样修改文件名就可以进行图像绘制。DAT文件如图 6所示。

!(data/attachment/forum/202203/28/154007a89i91z6d1hbe1v3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "6.png")

图 6DAT文件

打开ADCdata_to_wave_v2_2.m,MATLAB采样结果数据处理函数如图 7所示。

!(data/attachment/forum/202203/28/154021ruy6b6y2ix671yun.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "7.png")

图 7MATLAB数据分析程序

打开matlab代码的工程文件,修改好文件路径,进行保存后点击运行就可以进行图形的绘制。在进行新一次的数据绘制分析前要关闭前一次的图形绘制窗口,否则会导致新数据的图形绘制无法加载。输出得到的波形如图 8,图为绘制采集的20kHz输入信号波形图。

!(data/attachment/forum/202203/28/154031q8ep8y0f81i64fio.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "8.png")

图 8绘制的数据波形图

这样,通过观察绘制的数据图形就可以对上板实验采集数据进行验证。通过分析,绘制数据与信号发生器和在示波器上显示的数据一致,数据采集无误,采集系统功能验证符合设计要求。

修订记录


| V1.0 | 2021/012/16 | 首次发布 |
| ------ | ------------- | ---------- |
|      |             |          |
页: [1]
查看完整版本: 【实验指导手册】AC620_AD9226_RGMII千兆以太网数据采集系统