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

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

3天内不再提示

无线工程师适用的FPGA原型设计克服编程关键性挑战

YCqV_FPGA_EETre 来源:工程师曾玲 2019-02-02 16:22 次阅读

无线工程师经常希望使用无线信号实现从概念到原型。诸如USRP(通用软件无线电外设)设备的软件无线电(SDR)提供了满足该需求的灵活解决方案。由于当今的应用需要更高的带宽和更短的延迟,因此需要在SDR的FPGA上实现更多的信号处理。但编程FPGA的无线工程师经常面临下列挑战:

1. FPGA与输入/输出(如RF信号或主机CPU)之间的接口困难2. 不熟悉用于算法实现的编程样式,及3. 编译时间长

在本系列适用于无线工程师的FPGA原型设计中,了解LabVIEW Communications System Design Suite (LabVIEW Communications)和NI SDR硬件如何帮助您克服关键性挑战,并快速创建无需FPGA知识的实时、无线测试平台。

第1部分. 立即连接FPGA算法至I/O

FPGA设计通常需要多个VHDL代码组件以用于模数转换器(ADC)、数模转换器(DAC)、PCI Express总线、存储器、时钟等接口(图1A)。其中的每一部分通常来自于:从零开发、重用现有的设计或从Xilinx或其他IP供应商处获得的IP。这意味着必须完成重要的集成工作以连接上述各部分,该集成工作通常比算法实现本身工作量更大。

尽管这些硬件接口实现起来很难,但定制它们的意义不大。例如,通过ADC接口关闭静态定时和计算同步可能较难实现,但它在不同项目中的模数转换功能基本相同。为了消除此瓶颈,LabVIEW Communications提供了SDR印刷电路板上所有硬件的接口。例如,ADC数据作为已被正确采样且已转换为正确的数据类型的采样提供给FPGA程序框图,用户仅需在程序框图上放置读取I/O节点即可访问这些数据。同样,如要将数据以数据流方式从FPGA传输至CPU,仅需使用写入FIFO节点而无需考虑实际的数据流实现方式。

在无线工程师适用的FPGA原型的第一部分,我们将介绍如何利用LabVIEW Communications快速在FPGA上传输数据,即让用户专注于算法的实现。

无线工程师适用的FPGA原型设计克服编程关键性挑战

图1.(A)在带有I/O的典型自定义FPGA设计中,设计团队通常在集成I/O接口上花费的时间要高于实现算法或IP。(B)在LabVIEW Communications中已经实现了这些接口,因此设计团队可以专注于实现信号处理而不是系统集成。

第1步. 放置I/O节点

如要将FPGA算法与连接到RF前端的ADC和DAC、主机CPU或内存等资源建立连接,仅需为该资源放置一个读取或写入节点。关于节点的范例见图2。

无线工程师适用的FPGA原型设计克服编程关键性挑战

图2.使用这些块与实际I/O及与主机CPU、USRP RIO设备上的DRAM寄存器交互数据的FIFO通信

第2步. 配置I/O节点

可使用资源文件配置FPGA I/O资源,如图3所示。配置资源别名、数据类型、方向(FPGA到主机、主机到FPGA、FPGA到FPGA、本地)或缓冲深度等属性。

无线工程师适用的FPGA原型设计克服编程关键性挑战

图3.使用资源文件来创建和配置FIFO、内存、时钟和其他资源。

第3步. 连接算法至I/O节点

创建并配置了所需的资源后,就可以将它们连接至在FPGA上实现的算法。例如,图4框图是在LabVIEW Communications中的FPGA上实现的(见图5)。在该设计中,来自USRP RIO设备接收端口的数据以数据流方式传递至FPGA上的“My Algorithm”,这与同步、解调或滤波块类似。然后,该输出以数据流方式传输至内存和FPGA至CPU FIFO。

无线工程师适用的FPGA原型设计克服编程关键性挑战

图4.该范例设计的框图显示了如何从RF前端接收数据,然后经由名为“My Algorithm”的用户创建块处理,最后以数据流方式传输至内存和主机CPU。“My Algorithm”可以是任意算法(如解调、滤波或快速傅里叶变换)。

无线工程师适用的FPGA原型设计克服编程关键性挑战

图5.在LabVIEW Communications中FPGA代码的理论程序框图的实现中,从RF前端读取原始I和Q数据,然后经由“My Algorithm”处理,最后以数据流方式传输至内存和主机CPU。

第4步. 下一步

如要在FPGA上编写类似“My Algorithm”这样的自定义实时块,使用LabVIEW Communications免除了具备VHDL经验的要求。如要了解如何创建类似20 MHz正交频分复用(OFDM)调制器的算法,请继续阅读本技巧和窍门系列的下一部分:在不具备HDL专门知识的情况下从概念到FPGA代码。

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

    关注

    1603

    文章

    21328

    浏览量

    593265
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10451

    浏览量

    206580
  • 接口
    +关注

    关注

    33

    文章

    7648

    浏览量

    148521

原文标题:无线工程师适用的FPGA系列:立即连接FPGA算法至I/O

文章出处:【微信号:FPGA-EETrend,微信公众号:FPGA开发圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    设计教训如何成就称职的FPGA资深工程师

    !大家一起来看看特权同学告诉你哪些不为人知的秘诀:设计教训如何成就称职的FPGA资深工程师?作为ASIC领域中一种半定制电路,FPGA的发展不但解决了定制电路不足,并且能够克服
    发表于 08-20 16:50

    电子工程师创新设计必备宝典之FPGA开发全攻略

    需要普及以FPGA为代表的可编程器件的应用开发知识,也有很多工程师苦于进阶无门,缺乏专业、权威的指导,在Google上搜索后,我发现很少有帮助工程
    发表于 11-03 17:17

    电子工程师创新设计必备宝典之FPGA开发全攻略(技巧篇)

    =14.44444465637207px]受到经济危机的影响!这可能也解释了为什么那么多工程师对可编程器件感兴趣吧。在与工程师的交流中,我发现,很多工程师非常需要普及以
    发表于 11-21 15:01

    招聘:软件工程师(数字信号处理方向-FPGA)、硬件工程师

    公司行业:航天航空公司性质:国企公司规模:1000人招聘:软件工程师(数字信号处理方向)、硬件工程师软件工程师:1)通信、电子、计算机专业,硕士及以上学历;2)具有XILINX/ACTEL F
    发表于 04-25 21:02

    【成都】【招聘】诚聘FPGA工程师、 windows设备驱动开发工程师、嵌入式软件开发工程师、硬件工程师

    工程师(3人)岗位职责:1.承担通信中数字信号处理算法设计及FPGA实现工作,完成FPGA的编码、测试、联调;2.负责在方案论证阶段,协助硬件设计完成
    发表于 05-31 15:30

    【上海】诚聘FPGA研发工程师

    猎头职位:FPGA研发工程师(年薪:35-60W)工作职责:1.配合软件工程师进行产品设计过程中的软硬件联调和验证;2.负责根据系统设计要求进行FPGA代码的设计、开发与验证;3.跟踪
    发表于 07-31 15:03

    FPGA电源设计挑战:我可以使用PMIC吗?

    在设计具有现场可编程门阵列(FPGA)的系统时,系统设计人员可以获得三个好处:可重编程,性能可扩展性和快速上市时间。但是,设计也必须
    发表于 07-24 17:27

    并行PCB设计的关键准则

    随着它们承载的器件的复杂提高,PCB设计也变得越来越复杂。相当长一段时间以来,电路设计工程师一直相安无事地独立进行自己的设计,然后将完成的电路图设计转给PCB设计工程师,PCB设计工程师
    发表于 09-30 11:46

    基于FPGA原型可视怎么提高

    采用基于现场可编程门阵列(FPGA)的原型的验证团队面临的最大挑战之一在于当原型系统未能发挥期望的性能时了解
    发表于 07-12 06:38

    为什么说nano FPGA技术适用于消费市场?

    作者:爱特公司亚太区高级工程师及处理器专家温仲尧前言为什么说nano FPGA技术适用于消费市场?传统上,大批量消费电子产品都是采用特定
    发表于 07-31 08:07

    有什么办法能提高基于FPGA原型的可视

    为什么不能采用基于现场可编程门阵列(FPGA)的原型?验证团队面临的最大挑战之一在于当原型系统未能发挥期望的性能时了解
    发表于 08-13 07:45

    提高基于FPGA原型的可视有哪些方法?

    采用基于现场可编程门阵列(FPGA)的原型的验证团队面临的最大挑战之一在于当原型系统未能发挥期望的性能时了解
    发表于 10-14 07:07

    提高FPGA原型可视的方法

      用基于现场可编程门阵列(FPGA)的原型的验证团队面临的最大挑战之一在于当原型系统未能发挥期望的性能时了解
    发表于 07-07 09:08

    如何克服FPGA I/O引脚分配挑战

    如何克服FPGA I/O引脚分配挑战
    发表于 05-06 08:57

    FPGA工程师需要具备哪些技能?

    工程师需要能够产生正确的测试数据集,以确保设计的准确和性能。 在综合方面,FPGA工程师需要使用工具将HDL语言转化为更低级别的代码。这样,他们就能够顺利地将代码映射到可
    发表于 11-09 11:03