From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



我如何在FPGA中使用C API接口的定点数?



主要软件:
主要软件版本:
主要软件修正版本:
次要软件: LabVIEW Modules>>LabVIEW Real-Time Module

问题: 我开发了一个使用定点数来计算和控制 显示控件或DMA FIFO 的FPGA VI。当我创建我的C接口时,定点数输出、输出不工作了。为什么?该怎么办?

解答:

当读、写控件或FIFO时,FPGA中新的C API接口不支持定点的数据、簇或数组。为了传递定点数据,你需要先将他们转化为整型。

对于cRIO FPGA VIs,你可以将每一个C系列模块设置成为直接操作原始数据而不是定点数。这将减少FPGA VI中可能用到定点数的可能。对于R系列的器件,模拟接口只能操作原始数据。

为了将原始整型数据转化为有用的测量值或者从FPGA输出值到外部,您需要查阅帮助文件中的例如LSB权重、偏移量等参考值作为转化数据时的标准。注意,小数部分的精度有时候也是需要的。你需要在C中建立一个适当的节后来表示这种带有小数的成分。

你也可以在FPGA程序框图中通过IO通道属性节点来导出需要的LSB权值及偏移量。然后你可以通过前面板的显示控件把这些值传递给你得C接口。你只需要在每次执行程序前读取一次这些值即可。

请查阅FPGA的C API接口帮助活得更多细节。当你装了NI RIO后,你就可以在Start Menu » Programs » National Instruments » NI-RIO下找到相关文档。



相关链接: NI DeveloperZone Tutorial: C Interface to LabVIEW FPGA FAQ

附件:





报告日期: 10/30/2009
最近更新: 08/20/2010
文档编号: 52TIC4MO