虹科干货 | 克服端口顺序影响,使用 PCAN实现固定设备ID/通道分配

导读:多设备协同工作是常见的需求。然而,适配器的插入顺序可能会影响到设备的识别和访问,给系统管理带来不便。虹科PCAN能够进行固定设备ID/通道分配,确保设备不受适配器插入顺序的影响,提高系统的稳定性和可靠性。本文将详细介绍如何使用PCAN进行固定设备ID/通道分配,帮助您更好地理解和应用PCAN产品。

在同一台PC上使用多个 PCAN和PCAN-Basic时,在使用设备的过程中,硬件句柄通常从 16 开始分配,然后依次递减。这意味着第一个PCAN将获得硬件句柄16(Handle16),第二个PCAN获得硬件句柄15(Handle15),第三个PCAN获得硬件句柄14(Handle14)...以此类推。但其实可以将某个设备 ID 与硬件句柄连接起来,这样访问特定设备就不受这些适配器插入 USB 端口顺序的影响,可以更好的支持多设备系统的构建和管理。

基于PCAN-USB用例

每个 PCAN-USB 硬件(PCAN-USB、PCAN-USB FD、PCAN-USB Pro FD等)都有一个设备 ID(默认为 FFh)。该设备 ID 可通过当前版本的 PCAN-View 进行更改(见如下截图)

确保为连接到同一台机器的每个适配器分配唯一的 ID,不要重复相同的设备 ID,否则整个过程将无法进行。

更改设备 ID 后,打开注册表编辑器,查找以下注册表路径:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\pcan_usb]

"Hardware16"="0x201,0x01,0"

"Hardware15"="0x201,0x02,0"

"Hardware14"="0x201,0x05,0"

参数1的说明:

Hardware16 = HardwareHandle16

Hardware15 = HardwareHandle15

.....

Hardware1 = HardwareHandle1

参数 2 的说明:

  • 0x201 = PCAN-USB 和 PCAN-USB ISO
  • 0x202 = PCAN-USB Pro
  • 0x203 = PCAN-USB HUB
  • 0x206 = PCAN-USB Pro FD
  • 0x207 = PCAN-USB FD

参数 3:相应(选定)的设备 ID

0x00,0x01 至 0xff

参数 4 :(仅适用于双通道PCAN,因为每个设备可以有 1 个设备 ID 和 2 个 CAN 通道):

0 = 通道 1

1 = 通道 2

基于PCIe板卡用例

由于 PCI/PCIe 的特性,有些系统会放弃上一次启动时识别 PCI/PCIe 设备的顺序;例如在 PCANBasic中,如果为同一类型的多个硬件使用固定硬件通道,就会出现问题。要在基于 PCI/PCIe 的 PCAN 接口设备上为 CAN 通道设置固定硬件手柄,请按照以下步骤操作:

1、确保您的设备具有唯一的设备 ID,例如,可以通过 PCAN-View 的硬件视图进行设置(如前文图示)

2、打开注册表编辑器,查找以下注册表路径:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\pcan_pci]

下面是一个例子:

参数1、3、4道理与上文相同,参数2基于 PCI 和 PCIexpress 的卡:

  • 0x103 = PCAN-PCI Express (current version)
  • 0x113 = PCAN-PCI Express FD
  • 0x107 = PCAN-PC/104-Express (current version)
  • 0x117 = PCAN-PC/104-Express FD
  • 0x108 = PCAN-miniPCIe
  • 0x118 = PCAN-miniPCIe FD
  • 0x10A = PCAN-ExpressCard 34
  • 0x109 = PCAN-Chip PCIe
  • 0x119 = PCAN-Chip PCIe FD
  • 0x11A = PCAN-M.2

3、在注册表中设置完条目后,重新启动电脑,在进行开发的过程中,设备ID便不会随着设备上电顺序变化,现在就可以通过固定的硬件句柄访问硬件了。

通过了解和掌握PCAN进行固定设备ID/通道分配的方法,我们可以更好地应对多设备系统中的识别和访问问题,提高系统的稳定性和可靠性。希望本文能够帮助您在实际应用中取得更好的效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值