LabVIEW开发FPGA的Polling功能介绍 点击:2 | 回复:0



fjczd

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1219帖 | 120回
  • 年度积分:678
  • 历史总积分:3202
  • 注册:2008年8月14日
发表于:2025-05-23 09:30:22
楼主

这两个 LabVIEW  VIPolling.vi  Polling UI.vi )主要用于展示如何通过轮询机制实现 FPGA 与主机之间的同步。在 LabVIEW 开发环境下,可帮助工程师初步了解 FPGA 通信中数据交互与同步的基本原理和操作方式。右侧项目管理器展示了项目相关的文件、目标等构成,有助于整体把握项目架构。

功能详解

(一)Polling UI.vi

  1. 前面板功能

    • Input 控件:用于用户输入数据,可手动改变其数值,为程序提供初始数据来源。

    • Output 控件:显示经过程序处理后输出的数据结果,直观呈现程序运行对数据的操作效果。

    • Data Count 控件:记录数据处理或传输的计数,可用于观察数据交互的次数,辅助分析程序运行的频率和数据量。

    • Read Data 按钮:按下此按钮,触发程序读取 Input 的数据,并进行后续处理。它是程序开始数据处理流程的一个手动触发点。

    • Stop 按钮:用于停止程序的运行,当用户希望终止当前程序执行时,点击该按钮可使程序停止工作。

  2. 背后逻辑功能:该 VI 作为用户界面,负责与用户进行交互,收集用户输入数据并展示处理结果,同时通过按钮操作来控制程序流程,起到数据输入输出和程序控制的作用。

Polling.vi

  1. 程序框图功能

    • Polling Synchronized Loop(轮询同步循环):这是核心循环结构。它不断检查是否有新数据(通过 “Wait for New Data” 部分实现),一旦检测到新数据(由 Data Ready 信号控制),就执行后续的数据读取和处理操作。

    • 数据读取与处理:通过 “Read Data” 部分从输入获取数据,然后在循环内对数据进行处理,处理结果分别输出到 Output  Data Count,更新输出数据和计数。

    • 循环控制:循环的运行与否受 “Stop Button” 信号控制,当接收到停止信号时,循环终止,程序结束运行。

  2. 背后逻辑功能:该 VI 主要负责实现 FPGA 与主机间基于轮询机制的数据同步与处理逻辑,在检测到新数据时及时进行处理,并根据控制信号结束运行,是实现 FPGA 通信中数据交互核心逻辑的部分。

右侧项目管理器

  1. 项目文件

    • readme.txt:提供项目相关的说明信息,例如当前示例默认在开发计算机上以模拟 IO 运行,若要在真实硬件上运行,需在项目资源管理器窗口中右键单击 FPGA 目标,选择 “Execute On”,然后选择 “FPGA Target”。还提到若要将项目移至新目标,可访问ni.com/info并使用信息代码 fpgaex 获取相关信息。

    • Polling UI.vi:即前面介绍的用户界面 VI,负责与用户交互。

    • Polling.vi:实现 FPGA 与主机数据同步和处理逻辑的核心 VI

  2. 目标配置

    • FPGA Target (RIO, cRIO - 9075, Simulation):表示当前项目设置的 FPGA 目标,这里是模拟的 cRIO - 9075 设备,用于在开发阶段模拟真实硬件环境进行程序调试和测试。

    • 40 MHz Onboard Clock:指定 FPGA 目标板载时钟为 40 MHz ,时钟是 FPGA 运行的重要参数,决定了其内部逻辑运行的时间基准。

  3. 构建规范(Build Specifications:用于配置项目构建相关的参数,例如编译、打包等设置,确保项目能够正确构建并部署到目标设备上运行。

  4. 依赖项(Dependencies:列出该项目运行所依赖的其他资源或模块,包括实时扫描资源等。确保这些依赖项存在且正确配置,项目才能正常运行,否则可能出现运行错误或功能缺失。

特点

  1. 简单直观:通过前面板的控件和按钮,用户可以很方便地输入数据和控制程序运行,输出结果也能直观呈现,易于理解。

  2. 轮询机制:采用轮询的方式检测新数据,实现 FPGA 与主机的同步,是一种基础且常用的数据交互同步方法。

  3. 项目结构清晰:右侧项目管理器清晰展示项目各组成部分,从文件到目标配置以及依赖关系等,方便开发者管理和维护项目。

应用场景

  1. FPGA 开发学习:对于刚接触 FPGA 开发和 LabVIEW 编程的工程师来说,是一个很好的入门示例,帮助理解 FPGA 与主机通信中数据同步和交互的基本原理。

  2. 简单数据采集与处理系统:在一些对实时性要求不是极高的简单数据采集与处理场景中,可应用这种轮询机制来实现数据从 FPGA 到主机的传输和处理,例如一些实验数据采集设备等。





楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师