0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【紫光同创国产FPGA教程】【第二十四章】AD9238以太网传输

FPGA技术专栏 来源:芯驿电子科技 作者:芯驿电子科技 2021-04-08 09:13 次阅读

原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处(alinx.com)。

适用于板卡型号:

PGL22G

1. 实验简介

本实验练习使用ADC以太网传输,实验中使用的ADC模块型号为AN9238,最大采样率65Mhz,精度为12位。基于前面讲到的以太网实验,在本实验中把AN9238的采集数据以千兆以太网方式传输到上位机软件,我们可以用更加直观的方式观察波形,是一个数字示波器雏形,并且可以保存ADC数据。

AN9238双路65M采样12位ADC模块pIYBAGBuWM-ADyAOAABSb9ku1jY348.jpg实验预期结果

2. 实验原理

2.1 制定UDP包协议

为了体现上位机的灵活性,基于UDP传输,制定了以下通讯协议,此协议包含在UDP数据包中。

一、获取板卡信息

(1)询问命令(共5字节,由上位机通过以太网发送)

字节数 1 4
命令信息 Header 32’h00000000 或32’h00010001

(2)应答命令(共27字节,由开发板通过以太网发送)

字节数 命令信息
1 Header|8’h01
4 32’h00010001
6 板卡MAC地址
4 板卡IP地址
1 符号位8’h00:无符号数 8’h01有符号数(设置无效,上位机要求为有符号数)
1 ADC有效数据长度,比如AD9226为12位,即8’d12
1 采集一次ADC的字节数(设置无效,上位机要求ADC数据位宽为两个字节)
1 采样通道(此功能上位机未实现)
4 采样率,即采样的频率,程序中设为65M
4 缓存的ADC数据长度,单位为字节

二、获取数据

(1)控制命令(由上位机发送数据请求)

字节数 命令信息
1 Header
4 32’h00010002
6 板卡MAC地址,确认是本地的MAC地址
4 采样通道(此功能未实现)
4 采样次数(采集数据为16位,采样次数为缓存数据长度的一半)

(2)应答命令(由开发板发送)

字节数 命令信息
1 Header|8’h01
4 32’h00010002
1024 ADC数据

每个UDP包都包含有Header,在第一个字节,其格式如下:

比特位 值(0) 值(1)
bit 0 查询或控制 应答
bit1~bit7 随机数据

注:当应答时,高7位随机数据保持不变,bit0设置为1

2.2 程序实现

首先在空闲状态,上位机会通过以太网广播发送询问命令,因此在IP层接收时要加上判断是否是广播UDP数据,如果是,也接收数据,此段代码在ip_rx.v中,如下所示:

o4YBAGBuWNCAfwmcAAASP3k7LW0066.jpg

之后在eth_cmd.v文件中判断接收到的数据信息,是否是询问命令或控制命令,从而产生出命令的应答请求信号cmd_reply_req,或请求数据的信号ad_data_req。

信号名称 方向 宽度(bit) 说明
clk in 1 系统时钟
rst_n in 1 异步复位,低电平复位
udp_rec_data_valid in 1 UDP接收数据有效
udp_rec_ram_rdata in 8 UDP接收到的数据
udp_rec_ram_read_addr out 11 UDP接收数据RAM地址
udp_rec_data_length in 16 UDP接收数据长度
udp_rd_en in 1 UDP发送读使能信号
reply_data out 8 命令应答数据
local_ip_addr in 32 本地IP地址
local_mac_addr in 48 本地MAC地址
ch_sel out 32 通道选择(未使用)
sample_num out 32 采样长度
header out 8 命令头
cmd_reply_ack in 1 命令应答响应
cmd_reply_req out 1 命令应答请求
cmd_send_len out 16 命令应答数据长度
ad_data_ack in 1 ADC数据应答信号
ad_data_req out 1 ADC数据请求信号

mac_ctrl.v文件实现以太网的传输控制,在IDLE状态下等待一定时间,进入CMD_WAIT状态,判断是否有命令请求cmd_reply_req或数据请求ad_data_req,之后进入CHECK_ARP状态,检查对应的IP地址是否在缓存列表中,如果没有,将发送ARP请求,等待应答。之后根据命令请求或数据请求进入相应的数据发送状态,CMD_SEND或AD_SEND状态。

信号名称 方向 宽度(bit) 说明
clk in 1 系统时钟
rst_n in 1 异步复位,低电平复位
udp_send_data_length out 16 UDP发送数据长度
ip_rec_source_ip_addr in 32 UDP接收到的广播IP地址
destination_ip_addr out 32 目的IP地址
fifo_data in 16 从FIFO中读出的ADC数据
fifo_data_count in 11 FIFO中可读数据数量
fifo_rd_en out 1 FIFO读信号
udp_rd_en in 1 UDP发送读请求信号
header in 8 命令头
sample_num in 32 采样长度
sample_len out 32 采样长度latch
reply_data in 8 命令应答数据
cmd_reply_ack out 1 命令应答响应
cmd_reply_req in 1 命令应答请求
cmd_send_len in 16 命令应答数据长度
ad_data_ack out 1 ADC数据应答信号
ad_data_req in 1 ADC数据请求信号
ad_sample_req out 1 ADC采集请求信号
ad_sample_ack in 1 ADC采集应答信号
mac_send_end in 1 MAC发送结束信号
mac_not_exist in 1 IP对应MAC不存在
arp_found in 1 接收到MAC
udp_tx_req out 1 UDP发送请求
arp_request_req out 1 ARP发送请求
udp_data out 8 UDP发送数据
read_req_ack in 1 读FIFO应答
read_req out 1 读FIFO请求
identify_code out 16 IP序列号

注意:上位机设置的缓存空间为1M字节,请求数据间隔为100ms,因此在设置采样深度时要考虑到这两点。在eth_top.v程序中设置为32'h00080000,即512K字节,采样频率为65MHz,ADC采样端数据为两个字节长度,因此采样长度为采样字节除以2,即32’h00040000,计算得到4ms即可采集完成。ad9226_sample.v中将12位数据扩展16位,便于存储。移除了UDP发送数据的检验和。

pIYBAGBuWNCAYqv9AAATDV7IBec423.jpg

3. 实验现象

1)首先要确保PC的网卡速度为千兆,否则无法显示。在网络连接中找到本地以太网, 双击出现如下界面,千兆网络默认连接如下图:

o4YBAGBuWNGAHSHcAACKIicwvI8210.jpg

如未出现如上所述界面,先确认是否是千兆网线连接的和网卡是否支持千兆,网卡判别则右键属性

pIYBAGBuWNGAMzkFAAC6R7mMAz4491.jpg

点击配置,可看到网卡型号查下是否支持千兆。

o4YBAGBuWNKAPjklAAB1lACwKgw470.jpgpIYBAGBuWNKAX0XyAAB5-78MSi4967.jpg

在链接速度中,可以看到目前的链接状态是多大速度,可在下拉菜单中查找链接选项,务必确保链接速度为1.0Gbps 全双工,如果没有这个选项,说明网卡不支持千兆以太网。

2)AN9238模块插入开发板的扩展口J8,注意1脚对齐,不要插错、插偏,不能带电操作,不清楚连接的可参考“AD9238波形显示例程”的教程。

3)连接AN9238的AD1输入到信号发生器的输出,这里使用的是专用屏蔽线,如果使用其他线可能会有较大干扰。

AN9238连接信号源示意图

4)下载程序,调节信号发生器的频率和幅度,AN9238输入范围-5V-5V,因此幅度最大设置为10Vpp,为了便于观察波形数据,建议信号输入频率1Khz到5Mhz。打开示波器.exe即可自动显示波形。此实验不需要设置PC的IP地址,连接PC和开发板即可。

pIYBAGBuWNOACH5CAABMPZmjL90966.jpg

附:上位机软件说明

o4YBAGBuWNSAf4kaAABTAUH-GsQ009.jpg

绿色框显示发送板卡的MAC和IP地址。

红色框中为控制按钮,功能如下:

复位:点击复位可使波形显示到初始状态,如下图

pIYBAGBuWNOACH5CAABMPZmjL90966.jpg

自动:没有用处

垂直:“垂直“与“水平”切换,点击此按钮可进行水平垂直方向缩放的切换,在垂直状态下,滚动鼠标滚轴可进行垂直方向的缩放,水平状态下,进行水平方向的缩放。

暂停:“暂停“与”继续“切换,点击暂停波形,可再点击“继续”显示波形。

保存:保存ADC数据为TXT文档,保存路径在“路径”按钮处设置,默认为软件所在路径。

数值:“数值”与“电压”切换,Y方向坐标单位为原始值,即接收到的原始数据值,点击“电压”则显示电压值。

路径:选择保存路径

打开:打开已保存的TXT波形文件

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21640

    浏览量

    601370
  • 示波器
    +关注

    关注

    113

    文章

    6175

    浏览量

    184370
  • 以太网
    +关注

    关注

    40

    文章

    5354

    浏览量

    170872
  • adc
    adc
    +关注

    关注

    98

    文章

    6412

    浏览量

    543875
  • 紫光同创
    +关注

    关注

    5

    文章

    80

    浏览量

    27477
收藏 人收藏

    评论

    相关推荐

    紫光同创国产FPGA教程】【第二十七章】千兆以太网视频传输实验

    简介 本实验将实现视频图像的以太网传输,也相当于用 FPGA 来实现网络摄像头的功能。这里采用黑金的 500 万摄像头 AN5642 模组,通过配置 OV5640 的寄存器实现 JPEG 视频压缩的图像
    的头像 发表于 04-12 10:29 1.4w次阅读
    【<b class='flag-5'>紫光</b><b class='flag-5'>同创</b><b class='flag-5'>国产</b><b class='flag-5'>FPGA</b>教程】【<b class='flag-5'>第二十</b>七章】千兆<b class='flag-5'>以太网视频传输</b>实验

    紫光同创国产FPGA教程】【第二十三章】千兆以太网传输实验

    本实验将实现FPGA芯片和PC之间进行千兆以太网数据通信, 通信协议采用Ethernet UDP通信协议。 FPGA通过RGMII总线和开发板上的Gigabit PHY芯片通信, Gigabit
    的头像 发表于 04-07 10:38 1.5w次阅读
    【<b class='flag-5'>紫光</b><b class='flag-5'>同创</b><b class='flag-5'>国产</b><b class='flag-5'>FPGA</b>教程】【<b class='flag-5'>第二十</b>三章】千兆<b class='flag-5'>以太网</b><b class='flag-5'>传输</b>实验

    紫光同创国产FPGA教程】【第二十五章】AD7606以太网传输

    练习使用ADC的以太网传输,实验中使用的ADC模块型号为AN706,最大采样率200Khz,精度为16位。基于前面讲到的以太网实验,在本实验中把AN706的采集数据以千兆以太网方式
    的头像 发表于 04-09 09:20 1.5w次阅读
    【<b class='flag-5'>紫光</b><b class='flag-5'>同创</b><b class='flag-5'>国产</b><b class='flag-5'>FPGA</b>教程】【<b class='flag-5'>第二十</b>五章】AD7606<b class='flag-5'>以太网</b><b class='flag-5'>传输</b>

    紫光同创国产FPGA教程】【第二十六章】AD9280以太网传输

    本实验练习使用ADC的以太网传输,实验中使用的ADDA模块型号为AN108,ADC最大采样率32Mhz,精度为8位。基于前面讲到的以太网实验,在本实验中把AN108的采集数据以千兆以太网
    的头像 发表于 04-13 10:26 1.7w次阅读
    【<b class='flag-5'>紫光</b><b class='flag-5'>同创</b><b class='flag-5'>国产</b><b class='flag-5'>FPGA</b>教程】【<b class='flag-5'>第二十</b>六章】AD9280<b class='flag-5'>以太网</b><b class='flag-5'>传输</b>

    国产FPGA介绍-紫光同创

    紫光同创紫光集团旗下紫光国微的子公司,成立于2013年,有十余年可编程逻辑器件研发经历,布局覆盖高中低端FPGA产品。 早在2015年,
    发表于 01-24 10:45

    紫光同创PGL22G开发板|盘古22K开发板,国产FPGA开发板,接口丰富,高性价比

    盘古22K开发板是基于紫光同创Logos系列PGL22G芯片设计的一款FPGA开发板,全面实现国产化方案,板载资源丰富,高容量、高带宽,外围接口丰富,不仅适用于高校教学,还可以用于实验
    发表于 09-21 18:16

    火力发电厂水汽分析方法 第二十四部分:硫酸铝凝聚剂量的测定(

    火力发电厂水汽分析方法 第二十四部分:硫酸铝凝聚剂量的测定(碱度差法) Analytical methods of steam and water in power plants Part
    发表于 06-08 12:13 20次下载

    模拟电路网络课件 第二十四节:甲乙类互补对称功率放大电路

    模拟电路网络课件 第二十四节:甲乙类互补对称功率放大电路 5.2 甲乙类互补对称功率放大电路 乙类放大电路的失真:
    发表于 09-17 11:14 2838次阅读
    模拟电路网络课件 <b class='flag-5'>第二十四</b>节:甲乙类互补对称功率放大电路

    AD9238 SIMULINK ADIsimADC模型

    AD9238 Simulink ADIsimADC Model
    发表于 03-24 20:12 10次下载
    <b class='flag-5'>AD9238</b> SIMULINK ADIsimADC模型

    2022年第二十四届高交会绿色低碳路线

    2022年第二十四届高交会绿色低碳路线 第二十四届中国国际高新技术成果交易会(简称:高交会)于2022年11月15-19日在深圳火热举办中! 本次展会以”科技改革驱动创新,科技创新驱动发展”为主
    发表于 11-17 15:07 489次阅读
    2022年<b class='flag-5'>第二十四</b>届高交会绿色低碳路线

    普渡机器人亮相第二十四届高交会,一起“见圳”科技魅力

    普渡机器人亮相第二十四届高交会,一起“见圳”科技魅力 11月15日,第二十四届中国国际高新技术成功交易会(简称:高交会)在深圳开幕。本届大会以“科技改革驱动创新,科技创新驱动发展”为主题,重点展示了
    的头像 发表于 11-21 17:20 1161次阅读
    普渡机器人亮相<b class='flag-5'>第二十四</b>届高交会,一起“见圳”科技魅力

    第二十四届高交会闭幕,普渡科技获评“最佳品牌奖”

    第二十四届高交会闭幕,普渡科技机器人获评“最佳品牌奖” 备受瞩目的第二十四届中国国际高新技术成果交易会(以下简称高交会)在深圳顺利闭幕。展会期间,普渡科技的精彩亮相吸引了众多展商、观众、媒体记者等
    的头像 发表于 12-13 11:06 762次阅读
    <b class='flag-5'>第二十四</b>届高交会闭幕,普渡科技获评“最佳品牌奖”

    【参展消息】格瑞普将携创新产品与您相约第二十四届高交会

    参展消息第二十四届中国国际高新技术成果交易会(CHTF2022)(简称:高交会)激发科技活力,展示科技成果来自格瑞普的邀请函2022年第二十四届中国国际高新技术成果交易会,将于本月11月15日-19
    的头像 发表于 11-16 15:33 729次阅读
    【参展消息】格瑞普将携创新产品与您相约<b class='flag-5'>第二十四</b>届高交会

    华正新材将亮相第二十四届中国国际光电博览会

    第二十四届中国国际光电博览会将于9月6日---8日在深圳宝安会展中心举办,华正新材将亮相第二十四届中国国际光电博览会。 企业简介 浙江华正新材料股份有限公司成立于2003年,是华立集团的控股成员企业
    发表于 08-25 11:25 199次阅读

    普源精电(RIGOL)获颁第二十四届“中国专利金奖”

    2023年10月14日至16日,由国家知识产权局和辽宁省人民政府主办,大连市人民政府承办的第十三届中国国际专利技术与产品交易会暨第二十四届中国专利奖颁奖大会在大连市世界博览广场隆重举办,普源精电(RIGOL)作为第二十四届“中国专利金奖”获奖者,携众多亮眼产品亮相本次会议
    的头像 发表于 10-19 10:20 523次阅读