Main Content

configBusSpeed

设置 CAN 通道的位定时速率

说明

示例

configBusSpeed(canch,busspeed) 以直接形式设置 CAN 通道的速度,该形式使用基准位定时计算因子。

  • 除非您对 CAN 连接有特定的定时要求,否则请使用 configBusSpeed 的直接形式。另请注意,仅在 CAN 通道离线时才能设置总线速度。通道还必须具有对 CAN 设备的初始化访问权限。

  • 同步网络上的所有节点以使 CAN 成功运行。但是,随着时间的推移,不同节点上的时钟将不同步,因此必须重新同步。SJW 指定可向较慢发射机的 TSeg1 添加的或可从较快发射机的 TSeg2 中减去的最大宽度(时间),以在接收 CAN 报文期间重新获得同步。

  • 此函数不支持 SocketCAN 设备。

示例

configBusSpeed(canch,busspeed,SJW,TSeg1,TSeg2,numsamples) 使用指定的位定时计算因子将 CAN 通道 canch 的速度设置为 busspeed,以高级形式控制定时。

示例

configBusSpeed(canch,arbbusspeed,databusspeed) 使用 CAN FD 的默认位定时计算因子设置 canch 的仲裁和数据总线速度。此语法支持 NI™ 和 MathWorks® 虚拟设备。

示例

configBusSpeed(canch,arbbusspeed,arbSJW,arbTSeg1,arbTSeg2,databusspeed,dataSJW,dataTSeg1,dataTSeg2) 以 CAN FD 的高级形式使用指定位定时计算因子设置 canch 的数据和仲裁总线速度。此语法支持 Kvaser 和 Vector 设备。

示例

configBusSpeed(canch,clockfreq,arbBRP,arbSJW,arbTSeg1,arbTSeg2,dataBRP,dataSJW,dataTSeg1,dataTSeg2) 以 CAN FD 的高级形式使用指定位定时计算因子设置 canch 的数据和仲裁总线速度。此语法支持 PEAK-System 设备。

示例

全部折叠

使用基准位定时计算配置总线速度。

配置 CAN。

canch = canChannel('Vector','CANCaseXL 1',1);
configBusSpeed(canch,250000)

在 MathWorks 虚拟通道上配置 CAN FD。

canch = canChannel('MathWorks','Virtual 1',1,'ProtocolMode','CAN FD');
configBusSpeed(canch,1000000,2000000)

在 NI 设备上配置 CAN FD。

canch = canChannel('NI','CAN1','ProtocolMode','CAN FD');
configBusSpeed(canch,1000000,2000000)

配置总线速度,指定位定时参数。

在 Kvaser 设备上配置 CAN 定时。

canch = canChannel('Kvaser','USBcan Professional 1',1);
configBusSpeed(canch,500000,1,4,3,1)

在 Kvaser 设备上配置 CAN FD。

canch = canChannel('Kvaser','USBcan Pro 1',1,'ProtocolMode','CAN FD');
 configBusSpeed(canch,1e6,2,6,3,2e6,2,6,3)

在 Vector 设备上配置 CAN FD。

canch = canChannel('Vector','VN1610 1',1,'ProtocolMode','CAN FD');
configBusSpeed(canch,1e6,2,6,3,2e6,2,6,3)

在 PEAK-System 设备上配置 CAN FD。

canch = canChannel('PEAK-System','PCAN_USBBUS1','ProtocolMode','CAN FD');
configBusSpeed(canch,20,5,1,2,1,2,1,3,1)

输入参数

全部折叠

CAN 通道,指定为 CAN 通道对象。

通道的比特率,指定为双精度值。以每秒位数为单位表示网络速度。

示例: 500000

数据类型: double

同步跳转宽度,指定为双精度值。用于定义网络上的一个位的长度。

数据类型: double

时间段 1,指定为双精度值,用于定义在网络上对位进行采样之前的时间段。

数据类型: double

时间段 2,指定为双精度值,用于定义在网络上对位进行采样之后的时间段。

数据类型: double

位状态的采样数,指定为双精度值。指定用于确定网络的位状态的采样数。

数据类型: double

通道的仲裁比特率,指定为双精度值。以每秒位数为单位表示网络速度。

示例: 500000

数据类型: double

仲裁同步跳转宽度,指定为双精度值。用于定义网络上的一个位的长度。对于 Vector,默认值为 2;对于 PEAK-System,默认值为 1。

数据类型: double

仲裁时间段 1,指定为双精度值,用于定义在网络上对位进行采样之前的时间段。对于 Vector,默认值为 6;对于 PEAK-System,默认值为 5。

数据类型: double

仲裁时间段 2,指定为双精度值,用于定义在网络上对位进行采样之后的时间段。对于 Vector,默认值为 3;对于 PEAK-System,默认值为 2。

数据类型: double

通道的数据比特率,指定为双精度值。以每秒位数为单位表示网络速度。

示例: 2000000

数据类型: double

数据同步跳转宽度,指定为双精度值。用于定义网络上的一个位的长度。对于 Vector,默认值为 2;对于 PEAK-System,默认值为 1。

数据类型: double

数据时间段 1,指定为双精度值,用于定义在网络上对位进行采样之前的时间段。对于 Vector,默认值为 6;对于 PEAK-System,默认值为 3。

数据类型: double

数据时间段 2,指定为双精度值,用于定义在网络上对位进行采样之后的时间段。对于 Vector,默认值为 3;对于 PEAK-System,默认值为 1。

数据类型: double

通道的时钟频率(以 MHz 为单位),指定为双精度值。

示例: 20

数据类型: double

用于决定时间量子的仲裁时钟预分频器,指定为双精度值。

示例: 5

数据类型: double

用于决定时间量子的数据时钟预分频器,指定为双精度值。

示例: 2

数据类型: double

版本历史记录

在 R2009a 中推出

另请参阅

函数

属性

外部网站