自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 第6章>>实验9:PS(ARM)端与PL端FPGA之间(通过DMA进行通信和交互)-《LabVIEW ZYNQ FPGA宝典》

本节实验没有用到其他外设,只需要正点原子领航者ZYNQ开发板,Xilinx JTAG下载器和一根千兆网线即可。其中,Xilinx JTAG下载器可以用来在线观察ZYNQ芯片PL端的FPGA VI前面板实际运行效果也可以动态修改前面板上的控件数值,减少因频繁编译而浪费的时间。网线是用来将上位机编写好的ZYNQ PS(ARM)端Linux RT程序通过网络方式部署下载到ZYNQ PS端ARM里面去运行。

2024-08-10 16:04:31 1372

原创 第2章:LabVIEW FPGA未来发展方向《LabVIEW ZYNQ FPGA宝典》

因此,我们未来的发展方向始终坚持的是My FPGA软件工具包IP核的开发,面向的客户群体则是需要能做项目或者产品走量,并且需要完善的软件和外设接口驱动IP的。为了方便讲解和演示,我们将ZYNQ范例程序分成PS(ARM)端例程和PL(FPGA)端例程两部分,其中,PL(FPGA)端的范例程序如图2-5所示,PS(ARM)端的范例程序如图2-6所示,但是二者内部是可以相互通信的,PS与PL的交互通信原理以及每个案例程序的编写过程、实现的功能可以参考后续第6~8章的实验详解部分。2020年9月完成。

2024-08-10 15:12:35 1384

原创 第1章>>1.5:神电测控为什么开发LabVIEW ZYNQ FPGA软件工具包?(ZYNQ芯片的特点与优势)《LabVIEW ZYNQ FPGA宝典》

ZYNQ是赛灵思公司(Xilinx)推出的新一代全可编程片上系统(APSoC,All-Programmable SoC),它将处理器的软件可编程性与FPGA的硬件可编程性进行完美整合,以提供无与伦比的系统性能、灵活性与可扩展性。Zynq-7000系列是Xilinx于2010年4月推出的行业第一个可扩展处理平台,旨在为视频监视、汽车驾驶员辅助、工厂自动化、医疗器械等高端嵌入式应用提供所需的处理能力与计算性能。这款基于ARM处理器的SoC可满足复杂嵌入式系统的高性能、低功耗和多核处理能力等要求。

2024-08-10 15:02:31 1182

原创 第1章>>1.4:神电测控为什么要做通用的LabVIEW My FPGA工具包?《LabVIEW ZYNQ FPGA宝典》

最后就是虽然NI的FPGA硬件性能还是非常不错的,适合高端复杂的应用,但是无法实现批量应用,一旦客户完成了原理样机的研制,希望自己能够批量量产,面临的问题就是被NI的硬件绑死了,利润也几乎所剩无几。其次,LabVIEW FPGA的学习成本太高,目前基本都是需要付费参加NI的官方培训课程,而且缺乏低成本学习实验平台,要想系统学习LabVIEW FPGA开发,没有我们神电测控开发通用型My FPGA工具包之前,用户必须得买NI的FPGA硬件,投入非常大,一般用户都会望而生畏。最终的境界:就是大家可以利用。

2024-08-10 14:56:02 1199

原创 第1章>>1.3:NI公司为什么要做LabVIEW FPGA工具包?《LabVIEW ZYNQ FPGA宝典》

FPGA软件开发门槛高、周期长、调试困难:VHDL/Verilog。FPGA嵌入式工程师难寻,招人成本高:人才高手难觅。FPGA开发与维护成本高,交接成本高:离职交接成本太高。FPGA软件IP受限于巨头,高级功能需要付费:生态圈不完善。FPGA应用场合受限制,没有更多实际案例,尤其是工业自动化、图像处理等领域。为什么高职、大专之类的工程师就不能开发FPGA呢?门槛高(解决这个问题)。下面我们来分析一下。

2024-08-10 14:51:58 1436

原创 第1章:LabVIEW FPGA前世今生《LabVIEW ZYNQ FPGA宝典》

由于工程师们要同时面对ARM和FPGA双重开发,难度和工作量都是难以想象的,传统的ZYNQ芯片程序开发通常需要两个人协同开发:一人负责PSARM)裸机或者Linux程序开发;另一人负责纯逻辑PL也就是FPGA部分开发,人力成本极高。

2024-08-10 14:43:16 1430

原创 第6章>>实验8:PS(ARM)端Linux RT与PL端FPGA之间(通过FIFO队列进行通信和交互)-《LabVIEW ZYNQ FPGA宝典》

我们总结一下本节实验学到的内容和需要注意的事项。本节实验我们通过FIFO通道实现了ZYNQ芯片内部PL端FPGA部分与PS(ARM)端Linux RT程序之间的数组通信和交互,与前面第五章开发过程类似,程序本身比较简单。但是由于涉及到利用LabVIEW同时开发ZYNQ里面的PL端与PS端部分,对于初学者来说,里面的每个步骤和操作过程都要熟练掌握,虽然都是一些基础知识,但是熟能生巧,后续实验会越来越复杂,功能越来越多,希望大家都能轻松学会掌握。

2024-08-06 19:43:52 1259

原创 第6章>>实验7:PS(ARM)端Linux RT与PL端FPGA之间(通过Memory存储器进行通信和交互)《LabVIEW ZYNQ FPGA宝典》

我们总结一下本节实验学到的内容和需要注意的事项。本节实验我们通过Memory存储器通道实现了ZYNQ芯片内部PL端FPGA部分与PS(ARM)端Linux RT程序之间的数组通信和交互,与前面第五章开发过程类似,程序本身比较简单。但是由于涉及到利用LabVIEW同时开发ZYNQ里面的PL端与PS端部分,对于初学者来说,里面的每个步骤和操作过程都要熟练掌握,虽然都是一些基础知识,但是熟能生巧,后续实验会越来越复杂,功能越来越多,希望大家都能轻松学会掌握。

2024-08-06 17:54:59 1025

原创 第6章>>实验6:PS(ARM)端Linux RT与PL端FPGA之间(通过Reg寄存器进行通信和交互)-《LabVIEW ZYNQ FPGA宝典》

我们总结一下本节实验学到的内容和需要注意的事项。本节实验我们通过寄存器通道实现了ZYNQ芯片内部PL端FPGA部分与PS(ARM)端Linux RT程序之间的通信和交互,与前面第五章开发过程类似,程序本身比较简单。但是由于涉及到利用LabVIEW同时开发ZYNQ里面的PL端与PS端部分,对于初学者来说,里面的每个步骤和操作过程都要熟练掌握,虽然都是一些基础知识,但是熟能生巧,后续实验会越来越复杂,功能越来越多,希望大家都能轻松学会掌握。

2024-08-06 17:11:25 1158 2

原创 《LabVIEW ZYNQ FPGA宝典》第6章>>实验5:PS(ARM)端Linux RT读取PL端FPGA引脚电平(读取捕捉PL端FPGA相连的按键状态)

我们总结一下本节实验学到的内容和需要注意的事项。本节实验我们借助布尔类型的寄存器通道实现了ZYNQ芯片内部PL端FPGA部分与PS(ARM)端Linux RT之间的通信和交互,与前面第五章开发过程类似,程序本身比较简单。但是由于涉及到利用LabVIEW同时开发ZYNQ里面的PL端与PS端部分,对于初学者来说,里面的每个步骤和操作过程都要熟练掌握,虽然都是一些基础知识,但是熟能生巧,后面的实验例程会越来越复杂,功能越来越多,希望大家都能轻松学会掌握。

2024-08-02 00:20:20 598

原创 《LabVIEW ZYNQ FPGA宝典》第6章>>实验4:LabVIEW读取ZYNQ PS(ARM)端MIO引脚(读取PS端按键状态)

本节实验只需要用到正点原子领航者ZYNQ开发板,Xilinx JTAG下载器本节实验用不上,因为本节实验我们不需要对PL端FPGA进行编程,所以也就不用观察FPGA部分的状态变化,只需要借助网线部署下载Linux RT程序到PS端ARM里面运行即可。原子领航者ZYNQ底板上有2个挂在PS端物理按键,标识分别是“PS_KEY0”和“PS_KEY1”,位于板子右下角,如图4-1所示。这2个按键也是原子为了展示PS端ARM引脚可编程专门预留的。

2024-08-01 23:17:11 909

原创 《LabVIEW ZYNQ FPGA宝典》第6章>>实验3:LabVIEW开发ZYNQ PS(ARM)端MIO引脚(控制PS端LED灯点亮熄灭)

本节实验只需要用到正点原子领航者ZYNQ开发板,Xilinx JTAG下载器本节实验用不上,因为本节实验我们不需要对PL端FPGA进行编程,所以也不需要观察FPGA部分的状态变化,只需要借助网线部署下载Linux RT程序到PS端ARM里面运行即可。原子领航者ZYNQ底板上有2个挂在PS端的LED灯(标号分别是PS_LED0和PS_LED1),ZYNQ核心板上还有1个挂在PS端的LED灯(标号是LED2),如图3-1所示。这3个LED灯也是原子为了展示PS端ARM引脚可编程专门预留的。

2024-08-01 23:00:16 864

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

在弹出来的属性配置页面里面,将先前的IP地址(192.168.2.99)改成第2个无线WiFi模块获取的IP地址192.168.1.2,如图2-47所示;5)最后,我们验证一下,看看其他的LabVIEW Linux RT应用程序能不能通过这个WiFi无线方式部署下载到ZYNQ里面运行,比如,我们直接打开前面第五章的入门实验,直接点击左上角的运行箭头,可以发现这个Linux RT VI快速部署下去了,并且前面板上的控件功能都是正常的,如图2-41所示,具体实验现象和运行过程,可以参考本书配套的视频教程。

2024-08-01 22:46:56 1427

原创 《LabVIEW ZYNQ FPGA宝典》第5章-5.4:ZYNQ芯片内部的PS(ARM) Linux RT程序开发实战演示

同时按下PS(ARM)端Linux RT VI程序前面板上的“Reg_Data_Write_Bool-1”和“Reg_Data_Write_Bool-2”两个按钮,此时,可以看到ZYNQ PL端FPGA VI前面板上的“PS_System_Reg_Data\lv_PS2PL_Reg_Bool_1”和“PS_System_Reg_Data\lv_PS2PL_Reg_Bool_2”灯都亮起了,如图5-177所示;同时ZYNQ底板上的PL端LED0和LED1也都点亮了,如图5-178所示,惊不惊喜意不意外。

2024-07-26 20:50:06 1063

原创 《LabVIEW ZYNQ FPGA开发宝典》第5章-5.3:LabVIEW ZYNQ芯片内部的PL(FPGA)程序开发实战演示

下面我们按照前面5.2.1节介绍的流程来分步实现具体每一个环节和步骤。大家看仔细了!跟着我们的思绪开始LabVIEW ZYNQ芯片里面的PL端FPGA开发之旅吧! 5.3.1:LabVIEW ZYNQ PL端FPGA项目创建(项目浏览器) 1)启动LabVIEW 2020 SP1,如图5-44所示。图5-44:启动LabVIEW 2020 SP1 2)然后点击左上角的“File/文件”,选择下拉菜单里面的“New/新建(N)”选项,打

2024-07-26 19:33:12 850

原创 《LabVIEW ZYNQ FPGA开发宝典》第5章:5.2:LabVIEW ZYNQ FPGA开发流程简介(分为PS(ARM)和PL(FPGA))

在开始下面的5.3节具体实验编程之前,用户需要了解和掌握LabVIEW开发FPGA的一些基础知识、开发流程、编程技巧和注意事项。跟NI其他嵌入式硬件开发一样,我们将其划分为以下4个步骤。在后续的ZYNQ PL端程序开发部分,我们也会同样按照下面的这4个步骤进行讲解,这样层次会比较分明。建议用户学以致用,参考和借鉴本节的思路利用LabVIEW开发实际ZYNQ FPGA项目或者产品,做到心中有数。1)ZYNQ PL端FPGA项目创建(项目浏览器)。2)ZYNQ PL端FPGA应用程序开发(VI)。

2024-07-26 14:21:56 1046

原创 《LabVIEW ZYNQ FPGA开发宝典》第5章:5.1-ZYNQ Linux RT系统镜像文件烧录

本章是全书的重点章节之一,初学者一定要看,虽然本章编写的实验程序比较简单,但是整个实验开发过程涵盖了ZYNQ芯片的Linux RT镜像文件烧写、PS(ARM)端LabVIEW程序开发、PL(FPGA)端程序开发3大块。看完之后,相当于就学会了如何使用LabVIEW同时开发ZYNQ芯片里面的PS(ARM)和PL(FPGA)两部分程序以及二者之间的交互方法和原理。这个LabVIEW ZYNQ FPGA开发流程用户一定要学会并掌握,我们在后续第6~8章的实际案例开发编写,也会按照本章的开发流程和思路来。

2024-07-26 13:49:54 972

原创 《LabVIEW FPGA开发宝典》第9章:利用树莓派Linux RT+FPGA PCIe实现国产化RIO

1、引言:神电测控为什么要做支持LabVIEW直接编程的树莓派+PCIe+FPGA国产化cRIO(图形化、国产化、定制化、模块化、成本化)在很多嵌入式设备里面,除了FPGA外,一般还会存在一个运行实时系统的控制器,比如NI的cRIO设备,就是其中一种典型的代表。这种设备跟我们平时将FPGA插到电脑或者工控机上有些许不同,电脑和工控机主板上的CPU一般都是Intel X86结构,运行的系统一般都是非实时的Windows系统,这种主板的功耗和体积一般都比较大。随着ARM内核的兴起,小型嵌入式设备逐步崛起,并

2021-06-16 00:06:05 5405

原创 LabVIEW FPGA PCIe开发宝典-实战篇:实验63:PCIe DMA+16位8通道ADC(模拟数据采集卡)

1、实验内容现在很多电脑PC或者工控机主板上面都集成了PCIe插座,可以直接插入PCIe板卡,优点是卡槽标准,插拔简单,传输速度极快。对于高速采集测试测量领域,PCIe用途非常广泛,最大极限带宽可以到6.6GB/s,这个速度可以直接用来做高速示波器卡、数字化仪、RF射频板卡和视频采集卡了。本节实验我们准备采用黑金提供的AN706模块(AD7606),上面有1颗16位8通道高精度ADC芯片,结合PCIe总线实现8路并行采样率(最大200KS/s)可调节的PCIe数据采集卡,直接插到PC或者工控机或者工业树

2021-03-28 17:31:21 7688 1

原创 LabVIEW FPGA PCIe开发讲解-实战篇:实验61:PCIe DMA+8位ADC(模拟数据采集卡)

1、实验内容现在很多电脑PC或者工控机主板上面都集成了PCIe插座,可以直接插入PCIe板卡,优点是卡槽标准,插拔简单,传输速度极快。对于高速采集测试测量领域,PCIe用途非常广泛,最大极限带宽可以到6.6GB/s,这个速度可以直接用来做高速示波器卡、数字化仪、RF射频板卡和视频采集卡了。本节实验我们准备采用黑金提供的AN108模块(AD9280),上面有一颗8位高速ADC芯片,结合PCIe总线实现一个采样率(最大32MS/s)可调节的PCIe数据采集卡,直接插到PC或者工控机或者工业树莓派上使用。下

2021-03-28 01:31:29 9311 1

原创 LabVIEW FPGA PCIe开发讲解-7.7节:上位机PC端Memory应用程序开发(LabVIEW/C调用DLL文件,神电提供lvlib库)

当FPGA硬件被系统识别成功后,我们就可以编写一个上位机PC端的应用程序来与之通信,比如用来监控下位机FPGA前面板上的控件值或者下发控制指令给FPGA了。为了方便广大用户的使用,我们将2上2下共计4个通道的中间层Memory读写通道传输也封装到前面给用户介绍过的那个DLL动态链接库里面了,这样对于使用不同编程语言(C\C++\C#\Python)开发上位机应用程序的用户来说,直接调用我们封装好的DLL驱动就可以了。这个DLL位于本书配套的云盘里面,如图7-74所示。 图7-74:我们给用户封装好的包含8

2021-03-28 00:38:06 1844 4

原创 LabVIEW FPGA PCIe开发讲解-7.6节:LabVIEW FPGA PCIe 2通道Memory Socket CLIP 讲解(可以变相实现通过PCIe读写FPGA前面板控件等状态信息)

前面7.4节我们给用户讲解了PCIe下的FIFO DMA高速传输通道的用法,FIFO顾名思义就是在保证数据不丢失的情况下,高速传输,特别适合那些数据采集、图像采集、波形回放等应用;本节我们给用户介绍另外一种相对慢速的通道,只要不断电可以一直保存数据的存储器,也称之为Memory。这里我们说的Memory并不是LabVIEW FPGA芯片里面的存储器,而是Xillybus官方PCIe IP核里面封装的Memory通道,上位机可以直接通过PCIe总线把上位机要进行读写的地址和数据通过Memory通道下发给FP

2021-03-28 00:31:10 1446

原创 LabVIEW FPGA PCIe开发讲解-7.5节:修改底层XDC约束文件以适配用户自己做的或者第三方的FPGA PCIe硬件

本节我们重点讲解一下一个非常重要的问题:那就是如果用户自己做的板子没有参考黑金AX7103原理图,或者网上买了其他家成熟的PCIe FPGA硬件,那么用户需要注意哪些地方才能让我们封装的LabVIEW FPGA PCIe Socket CLIP完美适配呢?不知道大家还记不记得我们曾在第五章里面,告诉大家如何修改FPGA引脚来适配自己板子上的晶振时钟,让FPGA能够运行起来;同理,PCIe也有几个非常重要的引脚可以在xdc顶层约束文件里面修改。编译的时候会自动覆盖底层网表文件里面的引脚定义。这一点我们比黑金

2021-03-28 00:10:18 1558 1

原创 LabVIEW FPGA PCIe开发讲解-7.4节:LabVIEW FPGA PCIe 8通道DMA Socket CLIP 讲解(神电测控独家提供A和B版本)

本节我们重点给用户讲解一下我们封装好的LabVIEW FPGA下的PCIe CLIP组件功能和用法。这个PCIe CLIP也是我们My FPGA软件工具包的核心组件之一,我们花费了近3个月的时间,将Xillybus官方提供的代码进行移植、修改和适配,并进行了大量的测试验证,最终才把底层的精髓部分PCIe DMA IP封装到LabVIEW FPGA CLIP里面来,并且给用户提供了极其简单的四线握手FIFO接口,所有关于PCIe协议本身的通信都封装到底层去了,用户不需要了解什么是PCIe,一样可以使用LabV

2021-03-28 00:03:23 1973

原创 LabVIEW FPGA PCIe开发讲解-7.3节:FPGA PCIe DMA总线通信开发过程(3个步骤)

LabVIEW FPGA PCIe开发讲解-7.3节:FPGA PCIe DMA总线通信开发过程(3个步骤)要想开发出一个完整的基于PCIe通信的FPGA板卡,需要经历以下3个步骤才能算是完成。首先,用户需要根据实际情况,编写FPGA芯片里面的逻辑代码,比如做一个基于PCIe传输的DAQ采集卡,那么用户需要在FPGA里面利用LabVIEW编写一个ADC采集程序,然后将采集到的数据通过FIFO转移到我们封装出来的PCIe CLIP对应的上行通道里面,或者将上位机下发的数据从FPGA FIFO里面读取出来.

2021-03-27 23:47:42 4822 5

原创 LabVIEW FPGA PCIe开发讲解-7.2节:目前主流的4大Xilinx FPGA PCIe DMA通信IP核讲解

LabVIEW FPGA PCIe开发讲解-7.2节:目前主流的4大Xilinx FPGA PCIe DMA通信IP核讲解(Xilinx官方XAPP1052和XMDA IP、以色列Xillybus多通道DMA IP、国外RIFFA IP、北大EPEE IP)-结论是Xillybus简单易用更方便!1、要开发一个带PCIe或者PXIe接口的FPGA板卡出来,除了硬件本身外,最重要的就是FPGA芯片里面的PCIe通信代码编写,俗称下位机FPGA编程;还有中间层的驱动文件编写以及上位机PC端的应用程序开发。2

2021-03-27 22:56:30 4280 1

原创 LabVIEW FPGA PCIe开发讲解-7.1节:FPGA PCIe/PXIe基础知识和概念概述

LabVIEW FPGA PCIe开发讲解-7.1节:FPGA PCIe/PXIe基础知识和概念概述1、提到PCIe总线通信,相信很多接触过PCIe或PXIe板卡的用户估计都有所了解过,相对于传统的串口、USB和千兆以太网通信协议,PCIe协议本身可以实现更高数量级的总线通信带宽,比如目前Xilinx FPGA KU家族芯片内置的PCIe IP核可以做到6.6GB/s,这样对于那些需要超高带宽的RF射频、数字化仪、高速流盘等应用领域FPGA就有了绝对无法替代的优势了。这也是目前FPGA成为全球最火的芯片原

2021-03-27 22:27:27 3687 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除