NI 987x(FPGA接口)
- 更新时间2025-10-09
- 阅读时长8分钟
FPGA I/O节点
NI-987x设备不支持FPGA I/O节点。
软件中的接线端
可为NI-987x设备选择下列接线端。
| 接线端 | 说明 |
|---|---|
| 端口 x | 模块的端口x,其中x是端口编号。
|
仲裁
NI-987x设备不支持仲裁选项。所有端口特定的属性和方法节点具有相同的优先级,并将使用公平的轮询仲裁执行。模块特定的属性节点(序列号、模块ID#、供应商ID#)在仲裁机制中的优先级较低。
虽然不支持仲裁选项,但仅在节点彼此不依赖的情况下使用仲裁。当需要明确的程序流控制时,建议使用错误簇、顺序结构和其他形式的依赖关系。关于如何控制程序流的范例,见labview\examples\CompactRIO\Module Specific\NI 987x\Serial Loopback\NI-987x Serial Loopback.lvproj。
使用FPGA I/O方法节点配置NI-987x设备的下列方法。这些设备不支持任何模块方法。
| 方法 | 说明 |
|---|---|
| 清空Rx FIFO | 清除所需端口的64字节UART接收FIFO (Rx)。
备注 LabVIEW中不存在进出该方法的连线。该方法放置在程序框图上并运行VI时执行该操作。如需按顺序执行该方法,可将该方法放置在平铺式顺序结构中,或将错误处理器与FPGA I/O方法节点本身相连。
|
| 读取字节 | 从64字节UART接收(Rx) FIFO中读取所需端口的单字节。该方法返回所有数据错误,如奇偶校验或溢出。
关于结合LabVIEW FPGA循环和该FPGA I/O方法节点使用DMA和中断读取数据块的范例,见LabVIEW\examples\CompactRIO\Module Specific\NI 987x\Serial Loopback\NI-987x Serial Loopback.lvproj。 |
| 写入字节 | 写入单字节至所需端口的64字节UART传输(Tx) FIFO。如流控制允许,字节到达FIFO顶部后立即传输。
关于结合LabVIEW FPGA循环和该FPGA I/O方法节点使用DMA和中断读取数据块的范例,见LabVIEW\examples\CompactRIO\Module Specific\NI 987x\Serial Loopback\NI-987x Serial Loopback.lvproj。 |
I/O属性
使用FPGA I/O属性节点访问NI-987x设备的下列属性。
| 属性 | 说明 |
|---|---|
| 波特率(只写) | 设置端口的目标波特率。如设置波特率,将自动设置合适的波特率预分频器和波特率分频器,并根据下列公式计算:
波特率 = 3.6864 Mbps / (预分频数 * 分频数)
|
| 波特率分频数(读/写) | 指定波特率的分频数,由上述波特率方程定义。该属性可用于通过编程设置自定义波特率。使用C系列模块属性对话框作为计算器,为所需的自定义波特率查找合适的分频数。该值是范围为4~65535的无符号16位值。 备注
任何超出有效范围的值将被强制转换至范围内。 |
| 波特率预分频(读/写) | 指定波特率的预分频数,由上述波特率公式定义。该属性可用于通过编程设置自定义波特率。使用C系列模块属性对话框作为计算器,为所需的自定义波特率查找合适的预分频器。该值定义为自定义类型1或4。值4通常仅用于极低的波特率。 |
| 中断状态(只写) | 设置端口的中断状态为未置有效(逻辑高)或置有效(逻辑低)。如将中断状态设置为置有效,该属性将暂停字节传输并使传输线处于中断状态,直至将中断状态设置为置无效。 |
| 端口字节(只读) | 返回UART接收FIFO中当前可用于所需端口的字节数。字节数在0至64的范围内。 |
| CTS状态(只读) | 返回“发送前清零”(CTS)输入信号的当前状态:未置有效(逻辑高)或置有效(逻辑低)。 |
| 数据位(读/写) | 指定每一帧使用的数据位数。有效值为5、6、7和8。如选择5个数据位,则只能选择1或1.5个停止位。如选择6、7或8个数据位,则只能选择1或2个停止位。 |
| DCD状态(只读) | 返回数据载波检测(DCD)输入信号的当前状态:未置有效(逻辑高)或置有效(逻辑低)。DCD信号也称为接收线信号检测(RLSD)。调制解调器通常使用DCD信号表示在电话线上检测到载波或调制解调器。 |
| DSR状态(只读) | 返回数据集就绪(DSR)输入信号的当前状态:未置有效(逻辑高)或置有效(逻辑低)。 |
| DTR状态(只写) | 设置数据接线端就绪(DTR)输出信号为未置有效(逻辑高)或置有效(逻辑低)。 |
| 流控制(读/写) | 指定用于发送和接收数据的流控制方法。有效值为无、软件XON/XOFF、硬件RTS/CTS。DTR/DSR流控制不可用,但可通过DTR状态和DSR状态属性实现。请注意,如果使用硬件(RTS/CTS)流控制,RTS状态写入属性无法控制RTS状态。默认值为无。 |
| 已连接(只读) | 如端口已正确连接至另一端口或设备上的有效RS232信号,则返回TRUE。 |
| 奇偶(读/写) | 指定传输或接收每一帧所使用的校验方式。有效值为None (0)、Odd (1)、Even (2)、Mark (3)和Space (4)。默认奇偶校验为无。 |
| RI状态(只读) | 返回振铃显示控件(RI)输入信号的当前状态:未置有效(逻辑高)或置有效(逻辑低)。调制解调器通常使用RI信号表示电话线正在振铃。 |
| RTS状态(只写) | 设置发送请求(RTS)输出信号为未置有效(逻辑高)或置有效(逻辑低)。将流控制属性设置为硬件(RTS/CTS)或收发器模式属性设置为自动2线时,无法更改该属性。 |
| 停止位(读/写) | 指定用于表示帧结束的停止位的数量。有效值为1、1.5和2。仅当数据位设置为5时可选择1.5,仅当数据位设置为6、7或8时可选择2。 备注 由于1.5停止位的设置对于5以外的任何数据位设置均无效,因此必须注意成功转换至1.5停止位或从1.5停止位转换。例如,如具有8个数据位和2个停止位,且希望转换为5个数据位和1.5个停止位,则无法直接写入任意所需属性,否则将导致无效属性组合错误。而是遍历一系列有效组合,得到所需的设置。在本例中,首先将停止位设置为1,然后将数据位设置为5。此时,停止位可能重置为1.5。 |
| XOFF字符(读/写) | 指定用于软件流控制(XON/XOFF)的XOFF字符的值。字符宽度为1字节,可传递为十六进制(0–FF)或十进制值(0–255)。
备注 仅当流控制定义为软件XON/XOFF时,该属性有效。 |
| XON字符(读/写) | 指定用于软件流控制(XON/XOFF)的XON字符的值。字符宽度为1字节,可传递为十六进制(0–FF)或十进制值(0–255)。
备注 仅当流控制定义为软件XON/XOFF时,该属性有效。 |
模块属性
使用FPGA I/O属性节点访问NI-987x设备的下列属性。这些属性的优先级低于端口特定的方法或属性。在仲裁中,端口特定的方法和属性将在这些属性之前执行。
| 属性 | 说明 |
|---|---|
| 模块ID | 返回模块ID。
|
| 序列号 | 返回模块的唯一序列号。 |
| 供应商ID | 返回NI供应商ID:0x1093。 |
单周期定时循环
NI-987x设备不支持单周期定时循环。