概述:在車輛網(wǎng)絡系統(tǒng)和工業(yè)自動化等多設備環(huán)境中,確保設備識別的一致性對于維護系統(tǒng)穩(wěn)定性至關重要。虹科PCAN適配器提供了一種解決方案,允許用戶在Linux環(huán)境下固定設備ID和通道分配,從而不受USB端口插入順序的影響。繼往期文章介紹了Windows環(huán)境下的實現(xiàn)方法后,本文將詳細介紹如何在Linux環(huán)境中CharDev和NetDev兩種模式下,通過PCAN實現(xiàn)設備ID和通道的固定分配,以提高多設備協(xié)同工作的可靠性。
虹科PCAN系列產(chǎn)品
在Linux環(huán)境下,當您需要在同一臺PC上運行多個PCAN硬件時,每個PCAN設備都會擁有一個獨特的設備ID。為了實現(xiàn)對同一類型多個硬件的固定硬件通道使用,關鍵步驟是為連接到同一臺機器的每個適配器及其通道分配一個唯一的ID。通過將設備ID與硬件通道綁定,您可以確保訪問特定設備時不受USB端口插入順序的影響,從而提高多設備系統(tǒng)構(gòu)建和管理的效率和可靠性。
以下是在Linux環(huán)境中,針對PCAN的CharDev模式驅(qū)動和NetDev模式驅(qū)動,實現(xiàn)固定設備ID/通道分配的具體方法:
一、NetDev模式
1、確保硬件的每個通道具有單獨的設備ID
以PCAN-USB Pro FD為例,為設備CAN1和CAN2兩個通道分配4和3的設備ID
$ pcan-settings -f=/dev/pcanusbfd32 -d 4
$ pcan-settings -f=/dev/pcanusbfd33 -d 3
注:查看設備每個通道的設備ID:
$ pcan-setting -f=/dev/pcanusbfd32 -d
$ pcan-setting -f=/dev/pcanusbfd33 -d
2、配置PCAN設備ID分配
修改驅(qū)動中pcan.conf文件中關于硬件的初始配置:
$ sudo vi /etc/modprobe.d/pcan.conf
在pcan.conf文件中增加配置參數(shù)內(nèi)容:option pcan assign = devid
然后重新加載驅(qū)動模塊:
$ sudo rmmod pcan
$ sudo modprobe pcan
3、通道ID與順序的映射關系
完成配置后,重新連接硬件,通道順序與設備通道ID成正相關,CANX 中 X 大小綁定為設備通道ID的值。詳見下圖:
二、CharDev模式
1、確保硬件的每個通道具有單獨的設備ID
確保硬件的每個通道具有單獨的設備ID,給設備通道設置ID方法如上。
2、初始化PCAN設備通道
調(diào)用驅(qū)動中l(wèi)ib庫中的pcanfd_open()函數(shù)時進行設備通道初始化直接關聯(lián)到設備通道ID;如打開PCAN-USB Pro FD的第一個通道
fd=pcanfd_open("/dev/pcanusbfd32",OFD_BITRATE, 500000)
可將其改為:
fd=pcanfd_open("/dev/pcan-usb_pro_fd/devid=30",OFD_BITRATE, 500000)
結(jié)語
本文深入講解了如何在Linux環(huán)境下使用PCAN適配器進行設備ID和通道的固定分配,與Windows環(huán)境下的實現(xiàn)方法相輔相成,共同構(gòu)成了一套完整的跨平臺解決方案。無論是在Windows還是Linux平臺,虹科PCAN設備都能提供穩(wěn)定可靠的設備管理策略。如果您對往期Windows環(huán)境下的實現(xiàn)方法感興趣,或者在實施Linux環(huán)境下的配置時遇到任何問題,歡迎回顧往期文章或聯(lián)系虹科技術支持團隊,我們將為您提供專業(yè)的指導和幫助。
了解虹科PCAN更多技術資訊,歡迎前往【虹科智能互聯(lián)】官方網(wǎng)站:https://www.intelnect.com/
聯(lián)系虹科工程師:https://tl-tx.dustess.com/OHRgtontq3
TEL:18138758797