FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码

这篇具有很好参考价值的文章主要介绍了FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、前言

PCIE(PCI Express)采用了目前业内流行的点对点串行连接,比起 PCI 以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到 PCI 所不能提供的高带宽,是目前各行业高速接口的优先选择方向,具有很高的实用价值和学习价值;

本设计使用Xilinx官方的XDMA方案搭建基于Xilinx系列FPGA的PCIE3.0通信平台,使用XDMA的中断模式与QT上位机通讯,即QT上位机通过软件中断的方式实现与FPGA的数据交互;本设计的目的是验证AD数据在XDMA中断模式下的传输可行性,用示波器产生一个正弦波之类的AD数据源,通过数据线将示波器数据连接FPGA开发板的AD7606芯片,AD7606进行模数转换,输出串行的数字信号给到FPGA,FPGA进行数据才采集和串并转换,FPGA再把AD数据送入DDR4或者BRAM之类的存储介质,并产生中断通知XDMA去存储介质读取缓存的AD数据,XDMA再把AD数据通过PCIE总线发送给电脑主机,电脑主机运行QT上位机软件,实时读取PCIE过来的AD数据并将AD数据通过波形方式显示出来;
本设计提供2套vivado工程源码,一套工程的存储介质是BRAM,适合开发板没有DDR3或者FPGA资源够大或者对读写速度要求较高的场景;另一套工程的存储介质是DDR4,适合开发板有DDR4或者FPGA资源不够大或者对读写速度要求较不高的场景;

本设计的关键在于我们编写了一个 xdma_inter.v 的XDMA中断模块。该模块用来配合驱动处理中断,xdma_inter.v 提供了AXI-LITE 接口,上位机通过访问 user 空间地址读写 xdma_inter.v 的寄存器。该 模块 在 user_irq_req_i 输入的中断位,寄存中断位号,并且输出给 XDMA IP ,当上位机的驱动响应中断的时候,在中断里面写 xdma_inter.v 的寄存器,清除已经处理的中断。

该方案只适用于Xilinx系列FPGA,一并提供了XDMA的安装驱动和QT上位机源代码,省去了使用XDMA繁琐的驱动寻找和上位机软件开发的不知所措,并以搭建好vivado工程,省去了不知道如何使用XDMA的尴尬,使得PCIE的使用变得简单易上手,而不用关心其复杂的PCIE协议;由于我的开发板只支持PCIE X8,所以提供的代码是PCIE X8架构,若需要PCIE X1、 X2、 X8、 X16、 X32的朋友,可自行修改本工程,也可关注我,我会实时发布新的工程。
本工程实现进阶应用的PCIE通信,和QT上位机之间进行AD数据传输试验。
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
本文详细描述了基于XDMA搭建PCIE通信平台的设计方案,工程代码可综合编译上板调试,可直接项目移植,适用于在校学生、研究生项目开发,也适用于在职工程师做项目开发,可应用于医疗、军工等行业的高速接口领域;
提供完整的、跑通的工程源码和技术支持;
工程源码和技术支持的获取方式放在了文章末尾,请耐心看到最后;

免责声明

本工程及其源码即有自己写的一部分,也有网络公开渠道获取的一部分(包括CSDN、Xilinx官网、Altera官网等等),若大佬们觉得有所冒犯,请私信批评教育;基于此,本工程及其源码仅限于读者或粉丝个人学习和研究,禁止用于商业用途,若由于读者或粉丝自身原因用于商业用途所导致的法律问题,与本博客及博主无关,请谨慎使用。。。

2、我已有的PCIE方案

我的主页有PCIE通信专栏,该专栏基于XDMA的轮询模式实现与QT上位机的数据交互,既有基于RIFFA实现的PCIE方案,也有基于XDMA实现的PCIE方案;既有简单的数据交互、测速,也有应用级别的图像采集传输,以下是专栏地址:
点击直接前往
此外,我的主页有中断模式的PCIE通信专栏,该专栏基于XDMA的中断模式实现与QT上位机的数据交互,以下是专栏地址:点击直接前往

3、PCIE理论

这部分可自行百度或csdn或知乎学习理论知识,其实用了XDMA,已经不太需要直到PCIE复杂的协议和理论了。。。

4、总体设计思路和方案

工程1,BRAM数据缓存的总体设计思路和方案如下:
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
工程2,DDR4数据缓存的总体设计思路和方案如下:
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606

AD7606数据采集和缓存

用示波器产生一个正弦波之类的AD数据源,通过数据线将示波器数据连接FPGA开发板的AD7606芯片,AD7606进行模数转换,输出串行的数字信号给到FPGA,本设计的FPGA硬件电路设计成了串行输出方式,所以数据采集也是串行采集,AD7606还可以设计为并行模式,并行采集的代码设计是不同的,我这里有串行和并行的采集程序,关于AD7606数据采集详情,请参考我之前的文章:点击直接前往
FDMA数据缓存:
FDMA图像三帧缓存,经常看我文章的兄弟都知道,这是我惯用的数据缓存套路,它由FDMA控制器和FDMA构成,作用是将输入的数据缓存到DDR3里做缓存后再读出来,这里只用到了缓存并未读出,代码定时产生中断,并触发AD7606数据写入存储介质,每次缓存的数量是2048x2个数据;关于FDMA的详细设计说明,请参考我之前的文章:点击直接前往

XDMA简介

Xilinx 提供的 DMASubsystem for PCIExpressIP 是一个高性能,可配置的适用于 PCIE2.0,PCIE3.0 的 SG 模式 DMA,提供用户可选择的 AXI4 接口或者 AXI4-Stream 接口。一般情况下配置成 AXI4 接口可以加入到系统总线互联,适用于大数据量异步传输,通常情况都会使用到 DDR,AXI4-Stream 接口适用于低延迟数据流传输。
XDMA 是 SGDMA,并非 Block DMA,SG 模式下,主机会把要传输的数据组成链表的形式,然后将链表首地址通过 BAR 传送给 XDMA,XDMA 会根据链表结构首地址依次完成链表所指定的传输任务,XDMA框图如下:
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
AXI4、AXI4-Stream,必须选择一个,用于数据传输AXI4-Lite Master 可选,用于实现 PCIE BAR 地址到 AXI4-lite 寄存器地址的映射,可以用于读写用户逻辑寄存器。
AXI4-Lite Slave 可选,用来将 XDMA 内部寄存器开放给用户逻辑,用户逻辑可以通过此接口访问 XDMA 内部寄存器,不会映射到 BAR。
AXI4 Bypass 接口,可选,用来实现 PCIE 直通用户逻辑访问,可用于低延迟数据传输。

XDMA中断模式

本设计的关键在于我们编写了一个 xdma_inter.v 的XDMA中断模块。该模块用来配合驱动处理中断,xdma_inter.v 提供了AXI-LITE 接口,上位机通过访问 user 空间地址读写 xdma_inter.v 的寄存器。该 模块 在 user_irq_req_i 输入的中断位,寄存中断位号,并且输出给 XDMA IP ,当上位机的驱动响应中断的时候,在中断里面写 xdma_inter.v 的寄存器,清除已经处理的中断。
另外本方案中通过 AXI-BRAM 来演示用户 user 空间的读写访问测试。

QT上位机及其源码

QT上位机本方案使用 VS2015 + Qt 5.12.10 完成上位机开发软件环境搭建,QT程序调用XDMA官方API采用中断模式实现与FPGA的数据交互,本例程实现的是读写测速,提供QT上位机软件及其源码,路径如下:
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
QT源码部分截图如下:
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606

5、vivado工程1–BRAM缓存

开发板FPGA型号:Xilinx–xcku060-ffva1156-2-i;
开发环境:Vivado2022.2;
输入:AD7606,串行输出;
输出:PCIE3.0 X8;
应用:QT上位机波形显示试验;
工程BD如下:
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
XDMA需要设计中断数量,配置如下:
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
同时,XDMA中断模块的中断数量也设置为4,如下:
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
综合后的代码架构如下:
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
综合编译完成后的FPGA资源消耗和功耗预估如下:
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606

6、vivado工程2–DDR4缓存

开发板FPGA型号:Xilinx–xcku060-ffva1156-2-i;
开发环境:Vivado2022.2;
输入:AD7606,串行输出;
输出:PCIE3.0 X8;
应用:QT上位机波形显示试验;
工程BD如下:
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
XDMA需要设计中断数量,配置如下:
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
同时,XDMA中断模块的中断数量也设置为4,如下:
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
综合后的代码架构如下:
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
综合编译完成后的FPGA资源消耗和功耗预估如下:
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606

7、工程移植说明

vivado版本不一致处理

1:如果你的vivado版本与本工程vivado版本一致,则直接打开工程;
2:如果你的vivado版本低于本工程vivado版本,则需要打开工程后,点击文件–>另存为;但此方法并不保险,最保险的方法是将你的vivado版本升级到本工程vivado的版本或者更高版本;
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
3:如果你的vivado版本高于本工程vivado版本,解决如下:
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
打开工程后会发现IP都被锁住了,如下:
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
此时需要升级IP,操作如下:
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606

FPGA型号不一致处理

如果你的FPGA型号与我的不一致,则需要更改FPGA型号,操作如下:
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
更改FPGA型号后还需要升级IP,升级IP的方法前面已经讲述了;

其他注意事项

1:由于每个板子的DDR不一定完全一样,所以MIG IP需要根据你自己的原理图进行配置,甚至可以直接删掉我这里原工程的MIG并重新添加IP,重新配置;
2:根据你自己的原理图修改引脚约束,在xdc文件中修改即可;
3:纯FPGA移植到Zynq需要在工程中添加zynq软核;

8、上板调试验证

开启上位机测程序进行 PCIe 接收AD数据测试,打开QT软件,实验结果如下:
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606

9、福利:工程代码的获取

福利:工程代码的获取
代码太大,无法邮箱发送,以某度网盘链接方式发送,
资料获取方式:私,或者文章末尾的V名片。
网盘资料如下:
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606
FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码,菜鸟FPGA PCIE通信专题,FPGA-PCIE3.0-XDMA-中断模式,AD7606专栏,fpga开发,qt,XDMA,PCIE3.0,AD7606文章来源地址https://www.toymoban.com/news/detail-636424.html

到了这里,关于FPGA XDMA 中断模式实现 PCIE3.0 AD7606采集 提供2套工程源码和QT上位机源码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA基于XDMA实现PCIE X4视频采集HDMI输出 提供工程源码和QT上位机程序和技术支持

    PCIE(PCI Express)采用了目前业内流行的点对点串行连接,比起 PCI 以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到 PCI 所不能提供的高带宽,是目前各行业高速接口的优

    2024年02月02日
    浏览(46)
  • FPGA基于XDMA实现PCIE X8视频采集HDMI输出 提供工程源码和QT上位机程序和技术支持

    PCIE(PCI Express)采用了目前业内流行的点对点串行连接,比起 PCI 以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到 PCI 所不能提供的高带宽,是目前各行业高速接口的优

    2024年02月01日
    浏览(44)
  • FPGA基于XDMA实现PCIE X8的HDMI视频采集 提供工程源码和QT上位机程序和技术支持

    PCIE(PCI Express)采用了目前业内流行的点对点串行连接,比起 PCI 以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到 PCI 所不能提供的高带宽,是目前各行业高速接口的优

    2024年02月04日
    浏览(39)
  • FPGA基于XDMA实现PCIE X4的HDMI视频采集 提供工程源码和QT上位机程序和技术支持

    PCIE(PCI Express)采用了目前业内流行的点对点串行连接,比起 PCI 以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到 PCI 所不能提供的高带宽,是目前各行业高速接口的优

    2023年04月18日
    浏览(41)
  • FPGA采集AD7606数据UDP网络传输 提供工程源码和技术支持 附带上位机接收软件

    目前网上的fpga实现udp基本生态如下: 1:verilog编写的udp收发器,但不带ping功能,这样的代码功能正常也能用,但不带ping功能基本就是废物,在实际项目中不会用这样的代码,试想,多机互联,出现了问题,你的网卡都不带ping功能,连基本的问题排查机制都不具备,这样的代

    2023年04月24日
    浏览(64)
  • 基于FPGA的数据采集、编码、通讯和存储系统设计(即FPGA+RTL8211千兆以太网+SD卡存储+RTC+Uart+AD7606数模转换+电流放大采集等硬件设计与程序验证)

    介绍一个小项目,加强对FPGA相关接口的整体把握。 硬件及软件代码梳理: 硬件系统的主要功能框图,其中FPGA作为处理单元,实现了包括电流和电压的采集、千兆以太网通讯、SD卡本地数据存储和串口通讯等。已经过板级测试,测试包含:千兆网通讯收发测试、AD采集的数据

    2024年04月13日
    浏览(52)
  • Xilinx PCIe XDMA IP中断

    IRQ Module Legacy Interrupts (1)usr_irq_req拉高导致中断发送到PCIe Host,可以同时拉高多个bit; (2)等到ack后,相应的usr_irq_req才可以拉低; 第一个 ack 表示 INT 消息已经被发送到了 PCIe block ; (3) 经过 (2) 后 ,FPGA XDMA 内的 interrupt pending register 将会拉高 , 等待 ISR 的查和处理

    2024年01月16日
    浏览(37)
  • FPGA控制AD7606_AD7606解读

    AD7606特点: 8通道同步采样 模拟通道数为8 分辨率:16bit,即最小采样的电压为5V/(2^16) = 0,00007V,即数字量的1就代表模拟量的0,00007V,2代表0,00014V 有效位数ENOB:真正的有效分辨率,实际可以达到的分辨率,一般比手册标注的要低3-4bit,即12-13bit的分辨率。 数字量输出形式:二

    2024年04月22日
    浏览(31)
  • FPGA基于XDMA实现PCIE X4通信方案 提供工程源码和QT上位机程序和技术支持

    PCIE(PCI Express)采用了目前业内流行的点对点串行连接,比起 PCI 以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到 PCI 所不能提供的高带宽,是目前各行业高速接口的优

    2023年04月24日
    浏览(52)
  • FPGA(基于xilinx)中PCIe介绍以及IP核XDMA的使用

    例如:第一章 PCIe简介以及IP核的使用 PCIe 总线架构与以太网的 OSI 模型类似,是一种分层协议架构, 分为事务层(Transaction Layer)、 数据链路层(Data Link Layer) 和物理层(Physical Layer)。 这些层中的每一层都分为两部分:一部分处理出站(要发送的)信息,另一部分处理入站(接收

    2024年02月08日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包