《LabVIEW ZYNQ FPGA宝典》第6章>>实验2:LabVIEW开发配置ZYNQ芯片WiFi实验(无线通信和部署)

1、实验内容

        前面第五章里面我们给大家展示了如何通过网线将LabVIEW Linux RT程序部署下载到下位机ZYNQ芯片的PS端ARM里面运行,中间必须要有一根千兆网线,但是用过NI cRIO或者myRIO的用户知道,其实我们还可以通过WiFi无线的方式将上位机编写好的Linux RT部署到ZYNQ里面,这样做的好处是可以摆脱了有线网的距离限制;同时也可以将多个ZYNQ设备连到同一个WiFi热点,这样上位机就能同时管理这些ZYNQ硬件,摆脱了路由器端口数量不够的局限性。

        另外,现在很多笔记本电脑越做越薄,基本不带RJ45网口,比如,联想ThinkPad里面通常只有P系列和T系列才有网口,其他的电脑都取消了RJ45网口,用户只能买一个TypeC雷电转网口扩展坞来解决这个问题。

        针对以上这些问题,有必要拓展一下我们My FPGA ZYNQ Pro20软件工具包,让其具备WiFi通信和部署的能力,这样用户就能基于我们My FPGA ZYNQ开发出来类似NI无线cRIO的产品了。     

2、实验目标

        本节实验我们需要学会利用LabVIEW编写一个USB WiFi配置Linux RT程序,下载到ZYNQ芯片的PS端ARM里面去运行,让下位机ZYNQ芯片能够具备连上路由器WiFi热点或者手机创建出来的WiFi热点,复习并熟练掌握ZYNQ平台PS(ARM)端的LabVIEW Linux RT程序开发过程和原理。

3、硬件介绍

        本节实验需要用到两个硬件,一是USB WiFi模块,二是正点原子领航者ZYNQ开发板,Xilinx JTAG下载器本节实验用不上。

3.1:USB WiFi无线网卡介绍

        关于USB WiFi模块就是大家平时用的那种很便宜的指甲盖大小的能上网的模组,比如前几年很火的360 WiFi无线模块,能让没有无线网卡的台式机轻松上网。

        这里推荐用户两种性价比超高的不同芯片厂商的USB WiFi通信小模块,一是基于联发科设计的MT7601这款芯片的GRIS免驱动USB无线网卡小模块,如图2-1所示;另外一款是基于瑞昱设计的RTL8187L+6691H大功率USB无线网卡,如图2-2所示。这两款USB WiFi模块淘宝上都有卖的,价格很便宜,大家可以自行采购。

图2-1:基于联发科MT7601芯片设计的USB WiFi无线网卡模块

图2-2:基于瑞昱RTL8187L+6691H大功率USB 无线网卡模块

        这两种USB WiFi模块编者都买了,如图2-3所示。

图2-3:买回来的两种不同芯片设计的USB WiFi无线网卡模块(实物图)

        后续实验现象环节里面,我们会给大家具体演示一下运行效果。有条件的用户可以两种都买来测试一下,第一种便于集成体积小,第二种体积大一些,带独立天线,发射和接收功率强一些,适合更远距离的WiFi通信,后续做项目或者产品的时候,大家可以根据实际工况选择适合自己的USB WiFi无线模块。

3.2:正点原子领航者ZYNQ开发板上的USB接口

        与以往单片机或者STM32不同的时候,对于拥有766MHz/866MHz主频ARM内核的ZYNQ芯片来说,一般很少会跑裸机程序,因为裸机无法发挥出来ZYNQ芯片里面PS端ARM处理器的优势以及Linux开源生态的便利性。

        而且对于跑裸机的单片机、ARM、DSP这类芯片来说,要想搞定一个USB Slave设备的驱动开发,就要精通嵌入式芯片主机端也就是Host驱动开发,简直要了半条命。

        好在ZYNQ芯片PS端ARM可以运行Linux系统,这样一来,很多常用的外设驱动,Linux系统本身就集成了,就算没有集成,只要让Linux系统联网,就能在全世界的服务器上执行一条安装命令就可以寻找到对应的驱动软件,非常方便。

        比如,本节实验我们要用到的USB WiFi无线网卡驱动,Linux系统里面就自带了,而且,除了上面我们实验过的两款WiFi芯片外,Linux系统里面还有很多其他厂家的PHY芯片驱动,比如博通的、Intel的等等,这里不再展开了,感兴趣的用户可以借助前面介绍过的MobaXterm软件到ZYNQ Linux RT系统里面相应的网卡驱动目录下看一下。

        既然ZYNQ PS端的Linux RT系统里面自带了USB WiFi无线网卡驱动,那么我们只需要将买回来的USB WiFi模块随便找一个USB Host口怼进去即可。

        注意:USB Host主机端口,因为USB WiFi模块相当于Slave从机从设备。

        正点原子领航者ZYNQ开发板上有4路USB Host端口,都是A型口,如图2-4所示。本质上是通过一个USB HUB芯片将ZYNQ芯片的一路USB Host扩展出来变成4路USB Host,这样就极大的增强了ZYNQ板子的USB外设拓展能力,比如,可以同时接入鼠标、键盘、U盘、蓝牙模块、WiFi模块等。而其他ZYNQ开发板为了省钱,很少会同时扩展出4路USB Host,这也是我们选择正点原子ZYNQ开发板的原因之一。

图2-4:正点原子领航者ZYNQ开发板上的4路USB Host接口(A型口)

4、原理图介绍

        正点原子ZYNQ领航者开发板上的USB Host原理图,如图2-5所示,采用的USB HUB芯片是经典的GL850,以后大家自己基于ZYNQ芯片做板子的话,也可以采用这颗GL850 USB HUB芯片,然后参考这里的原理图设计多路USB口出来。

图2-5:基于经典的GL850 USB HUB芯片扩展出来的多路USB口(来自正点原子领航者ZYNQ开发板)

5、驱动VI函数讲解

        正式开始采用LabVIEW编写ZYNQ PS端Linux RT WiFi配置程序之前,我们先来了解一下本节实验要用到的Linux RT驱动VI函数功能。

        为了方便用户使用,我们提前将底层USB WiFi无线网卡的通信配置函数封装到了LabVIEW Linux RT环境里面,变成一个小图标,直观醒目。

        这个WiFi配置VI位于“PowerGod-RIO-RT”函数选板里面,如图2-6所示。将其拖拽出来,然后双击打开这个“PS_Wifi_Set(SubVI).vi”WiFi配置函数,如图2-7所示。

图2-6:神电测控研发的“PowerGod-RIO-RT”函数选板里面的WiFi配置函数

图2-7:打开后的WiFi无线通信配置VI函数前面板

        可以看出,这个函数本身很简单,用户只需要输入需要连接的WiFi热点名称和密码就可以了,执行以后,如果链接成功会得到动态分配的IP地址等信息,如果链接识别也会有提示具体链接失败的原因,一目了然。

6、程序开发讲解

<think>好的,我现在需要帮助用户找到关于如何搭建LabVIEW FPGA开发环境的指南或教程。用户的问题明确提到他们想查找这方面的资料,所以我应该集中精力整理相关的步骤资源。 首先,我应该回顾用户提供的引用内容。引用[1]提到了LabVIEW FPGA模块的基本信息安装配置的步骤,这应该是搭建环境的基础。引用[2]讨论了程序生成规范,涉及到编译下载FPGA VI的配置,这可能是在环境搭建后需要进行的设置。引用[4]提到ZYNQ芯片LabVIEW的结合,可能用户的环境涉及特定的硬件,比如NI的FPGA板卡或ZYNQ设备,因此需要确认硬件兼容性。 接下来,我需要考虑用户可能的实际需求。搭建开发环境通常包括软件安装、硬件配置、驱动安装、项目设置等步骤。根据引用[1],安装LabVIEW FPGA模块是关键的第一步,同时需要兼容的LabVIEW版本硬件设备。用户可能需要知道具体的系统要求,比如操作系统版本、LabVIEW版本、FPGA模块版本等。 然后,硬件连接部分。根据引用[4],如果用户使用的是ZYNQ设备,可能需要额外的驱动或软件工具包,比如LabVIEW ZYNQ FPGA软件工具包。这里可能需要指导用户如何正确连接硬件并安装相应驱动,确保设备被系统识别。 软件配置方面,引用[2]中的程序生成规范需要详细说明,用户可能需要了解如何创建设置这些规范,以便编译下载FPGA VI。此外,引用[3]提到的调试工具,如探针断点,可能属于环境配置后的使用部分,但用户可能也想知道在搭建环境时是否需要预先配置这些调试功能。 另外,用户可能需要具体的教程或示例项目来验证环境是否搭建成功。引用[1]提到有一个应用示例,或许可以建议用户参考官方示例或教程来测试他们的配置。 还需要考虑潜在的常见问题,比如驱动安装失败、硬件不兼容、许可证问题等。根据引用[4],传统ZYNQ开发较为复杂,但使用LabVIEW可以简化,因此可能需要提醒用户注意使用正确的工具包遵循NI的指南。 最后,生成相关问题时要覆盖用户可能进一步询问的方向,比如硬件兼容性、编译错误处理、调试方法等,确保全面覆盖搭建环境后的后续步骤。</think>### LabVIEW FPGA开发环境搭建指南 #### 一、系统要求与准备 1. **软件环境** - 安装LabVIEW完整版(推荐版本≥2020) - 下载LabVIEW FPGA模块(需单独购买许可证)[^1] - 安装NI-RIO驱动(用于FPGA硬件通信)[^4] - 验证安装:打开LabVIEW,查看菜单栏是否出现`FPGA`选项[^1] 2. **硬件需求** - 兼容的FPGA设备(如NI cRIO、PXIe-FPGA板卡或第三方ZYNQ设备) - 确保设备通过USB/以太网与主机连接,并通过`NI MAX`(Measurement & Automation Explorer)识别[^4] #### 二、环境配置步骤 1. **创建FPGA项目** - 新建项目 → 右键项目树 → 添加`FPGA Target`(选择对应硬件型号)[^2] - 示例路径:`文件→新建→项目→FPGA终端` 2. **程序生成规范设置** - 右键项目 → 新建→程序生成规范→选择`编译`或`仿真导出`[^2] - 关键配置项: - 目标时钟频率(默认40MHz) - 引脚分配(需匹配硬件I/O定义) ``` 示例:FPGA引脚映射文件通常以`.pin`或`.ucf`格式导入 ``` 3. **验证硬件连接** - 打开NI MAX → 展开`设备接口` → 确认FPGA设备状态为`已连接` - 运行自检工具:右键设备 → `自检`[^4] #### 三、开发流程示例(LED控制) ```python # FPGA VI逻辑伪代码(实际在LabVIEW图形化界面操作) While True: 读取按钮状态 → FPGA I/O节点 若按钮按下: 写入高电平至LED引脚 否则: 写入低电平 等待时钟周期(例如20ms) ``` #### 四、调试与部署 1. **在线调试** - 使用前面板控件实时监控FPGA I/O状态[^3] - 添加探针:右键连线 → `探针`,观察数据流 2. **编译与下载** - 右键FPGA VI → `编译`生成比特流文件(.lvbitx)[^2] - 下载至设备:右键目标 → `运行` #### 五、常见问题解决 | 问题现象 | 解决方案 | |---------|----------| | 设备未识别 | 检查NI-RIO驱动版本,重启NI服务(`NI Service Locator`)[^4] | | 编译错误CLIP 2 | 确认FPGA时钟约束与硬件规格匹配[^2] | | 运行时逻辑异常 | 使用RTL仿真验证(需配合ModelSim等工具)[^5] |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值