如何在NI-XNET设备上设置自定义波特率?

更新 Jul 2, 2019

适用于

Hardware

  • PCI-8513/2

Driver

  • NI-XNET

问题详述

我知道可以为NI-CAN设备设置自定义波特率。是否有相应的方法为NI-XNET设备设置相关参数值?

解决方案

我们没有办法直接去设置位定时寄存器 (Bit Timing Registers)。但是,可以通过更改NI-XNET的相应参数来定义自定义波特率。有关这些参数的更多定义,请参阅LabVIEW帮助。
  • 同步跳转宽度 (SJW)
  • 采样前时间 (TSEG)
  • 采样后时间 (TSEG2) 和位时间量子
继续执行以下步骤为这些参数设置有效输入:
  1. 打开 Measurement&Automation Explorer,右键单击“CAN端口”并选择“属性”
  2. 选择高级”并单击波特率”


 
  1. 输入所需的波特率,在此示例中使用了533.33千波特。
注意:有些值无法实现。如果输入的数字无效,您将收到与下面相似的消息,其中xxx.yyy是您输入的最接近的有效波特率。

波特率将更改为最接近的有效值(xxx.yyy kBaud)
  1. 单击创建列表”选择一个已生成的“位定时寄存器”,然后选择使用”

  1. 端口属性”窗口应如下图所示。记下红色方块中的SJW,TSEG,TSEG2和位定时寄存器值。

注意:上述值为对SJW、TSEG1和TSEG2加1后的结果,因此对于此示例,相应的值为:SJW = 0,TSEG2 = 6,TSEG1 = 6。
  1. 通过转到测量 I / O选板 > XNET>会话节点 ,在程序框图上放置一个“波特率”属性节点。在程序框图中放置节点后,单击“XNET会话”下的部分,将出现一个菜单。导航到接口> 波特率。
  1. 将步骤5中记录的参数格式化为十六进制表示(如果您不确定这意味着什么,请参阅附加信息)。在此示例中,最终的波特率值将为0x8066007D。
  2. 将此值连接到属性节点,如下所示。
注意:通过右键单击常量并选择显示格式...”,然后选择十六进制”,上面的常量已更改为十六进制显示
 

相关信息

高级模式下的波特率格式为十六进制格式,格式为0x8ABCDDDD。其中A,B,C和DDDD的定义如下:
  • A是(重新)同步跳转宽度(SJW)。
  • B是时间段2(TSEG2),它是采样点之后的时间段
  • C是时间段1(TSEG1),它是采样点之前的时间段。
  • DDDD是位时间量子。这用于波特率预分频器编程。

您可以使用NI-CAN的NI-XNET兼容性库,使NI-XNET设备在Measurement&Automation Explorer中作为NI-XNET和NI-CAN设备同时出现,如下所示:

 

本文是否有帮助?

无帮助