导读:多设备协同工作是常见的需求。然而,适配器的插入顺序可能会影响到设备的识别和访问,给系统管理带来不便。虹科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/通道分配的方法,我们可以更好地应对多设备系统中的识别和访问问题,提高系统的稳定性和可靠性。希望本文能够帮助您在实际应用中取得更好的效果。
作者: 虹科汽车智能互联, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3988242.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论