[NI技术]-LabVIEW-FPGA代码模块设计.docx

[NI技术]-LabVIEW-FPGA代码模块设计.docx

ID:57650501

大小:122.10 KB

页数:7页

时间:2020-08-30

[NI技术]-LabVIEW-FPGA代码模块设计.docx_第1页
[NI技术]-LabVIEW-FPGA代码模块设计.docx_第2页
[NI技术]-LabVIEW-FPGA代码模块设计.docx_第3页
[NI技术]-LabVIEW-FPGA代码模块设计.docx_第4页
[NI技术]-LabVIEW-FPGA代码模块设计.docx_第5页
资源描述:

《[NI技术]-LabVIEW-FPGA代码模块设计.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、[NI技术]LabVIEWFPGA代码模块设计概览对于利用LabVIEWFPGA实现RIO目标平台上的定制硬件的工程师与开发人员,他们可以很容易地利用所推荐的组件设计构建适合其应用的、可复用且可扩展的代码模块。基于已经验证的设计进行代码模块开发,将使现有IP在未来应用中得到更好的复用,也可以使在不同开发人员和内部组织之间进行共享和交换的代码更好服用。目录1.代码模块2. 可复用代码——知识产权3.I/O与资源的独立性4.定时独立性5.框图独立性6.文档、测试与范例7.总结1.代码模块任一项软件开发工作均包括函数、子例程、对象和代码模块,以及其他较大架构的

2、基础构建模块的开发。当设计一个应用时,各个函数与操作均被识别和实现。然后,这些构建模块被组合与集成以形成更大的应用。通过长期开发不同应用的过程,一个开发小组或团队将创建表示常见操作的代码模块库,并对其进行复用以更快速地构建未来的应用。开发这样的代码库目的是通过一次构建和测试函数并多次复用它,减少开发的总工作量。模块化设计,除了促进现有代码的复用外,还提高了代码的可测试性与可维护性,从而允许开发人员和设计人员关注于应用相关的特性和代码段。每种编程语言以及某些情况下的编程环境都有一个优选的代码模块设计模型,以便改进代码模块的实现与集成。该优选设计可以因具体的

3、开发人员而异,但通常一个开发组会根据共同的需要和考虑确定一组共享的设计准则。作为一种编程语言,LabVIEW自身拥有一组供世界各地的程序人员开发子VI使用的指导方针,以便子VI可以容易理解、而且运用于不同应用并由不同开发人员维护。LabVIEWFPGA,作为LabVIEW的一个子集,拥有其自身的一组用于利用FPGA特定行为构建代码模块(子VI)的指导方针,以便它们可以有效运用于广泛的基于FPGA的应用。2. 可复用代码——知识产权FPGA平台上的可复用代码模块通常称为IP(知识产权)核——从传统芯片设计长时间演化来的名称。在LabVIEWFPGA中,这样

4、的IP核由常用于LabVIEW编程和LabVIEW工具集的子VI组成。LabVIEWFPGA中的子VI支持我们一次实现不同的函数与操作,优化FPGA上的实现,然后将其运用至不同的应用。为使这样的子VI可以与不同的重叠需求和架构方便地协同使用,我们需要遵循某些基本指导方针,以确保子VI广泛可用,而不是专为一项特定应用而优化。为进一步促进和改善LabVIEWFPGAIP的复用,代码模块应当除子VI源码以外还包括一些组件。这些组件包括文档、测试代码和使用IP的基本范例。在LabVIEWFPGA应用中,IP代码模块典型地用于一些操作的执行,如通信协议(如SPI、

5、I2C等)的编码与解码、数字信号处理、滤波、控制算法的实现、传感器信号(如PWM、积分信号)的编码/解码和基准标定等。开发LabVIEWFPGAIP的最基本指导方针便是,开发不仅独立于其主应用、而且对其主应用不产生影响或不会有显著要求的代码模块。IP代码模块与其主应用间的唯一需求或依赖性应当是子VI连接面板的接口。该文档将阐述如何在LabVIEWFPGAIP中创建这样的调用独立的IP子VI,并展示一些相关范例。3.I/O与资源的独立性为使LabVIEWFPGAIP便于应用于不同的应用,它应当独立于任何输入/输出通道(I/O)或其他硬件资源,如FPGA块存

6、储器。根据具体的应用,最终应用可以使用不同的RIO板卡或其他FPGA目标平台。因此,IP代码模块不应根据一个特定类型的I/O资源进行编程。将IP模块集成至最终应用的编程人员或开发人员将选择使用某个特定的I/O资源。来自I/O资源数据与值,应当以参数的方式传递给IP模块,或从IP模块返回。例如对于一个PWM输出IP模块,应用开发人员将为PWM输出信号选用某条数字输出线。在此例中,该PWMIP模块应当产生并输出信号的当前状态。开发人员将把在更高层次VI中赋值给I/O资源。该I/O资源未嵌入在IP代码模块的框图中。图1:一个调用PWM输出IP代码模块(子VI)

7、的应用VI的框图同样的指导方针应用于任意输入信号。例如,假设您在使用一个由数字滤波器设计工具包创建的模拟滤波器IP子VI,模拟数值应当自该滤波器子VI外部采集,然后传递给IP代码模块。图2:使用一个模拟滤波器IP子VI(直接FIR)。模拟数值在主VI采集并传递给滤波器IP。独立于I/O资源的IP代码模块的开发,使其使用更为方便和灵活,并支持将其多次集成到一项应用,而不必定制该IP代码模块的每个实例。块存储除了I/O通道外,其他可能为LabVIEWFPGAIP使用的资源便是块(用户)存储器。LabVIEWFPGA支持开发人员利用多个不同的函数访问FPGA上

8、的块存储器,其中包括存储器读/写、FIFO、查询表及其他函数。这些函数中的大多数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。