91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

虹科答疑 | PCAN-Basic通訊接口配置不踩坑,關(guān)鍵就3步!

虹科汽車電子 ? 2025-12-26 11:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

CAN通訊開發(fā)中,虹科PCAN系列接口卡的穩(wěn)定性早已得到驗(yàn)證,但虹科PCAN-Basic二次開發(fā)包的配置環(huán)節(jié),卻常讓工程師陷入「卡殼」—— 明明硬件連接正常,初始化卻失??;多卡部署后,重啟PC就出現(xiàn)通道句柄不匹配;CAN FD的雙波特率配置越調(diào)越亂,通訊始終不穩(wěn)定...


這些問題看似棘手,實(shí)則都集中在初始化接口選擇、硬件Handle綁定和波特率配置三個核心環(huán)節(jié)。很多時候不是技術(shù)難度高,而是對API的設(shè)計(jì)邏輯、硬件適配規(guī)則理解不到位。


本期虹科答疑將結(jié)合實(shí)際開發(fā)場景,把這些高頻問題的本質(zhì)、避坑要點(diǎn)和實(shí)操步驟講清楚,幫你快速打通CAN通訊配置鏈路。



01 .

初始化接口怎么選?


虹科PCAN-Basic二次開發(fā)包中,有兩個用于配置通訊的初始化接口——CAN_Initialize和CAN_Initialize FD,這兩個接口不綁定具體的硬件,而是以要初始化的CAN通道類型來決定的。


比如我們要建立一個高速CAN通道,則應(yīng)該使用CAN_Initialize接口;而如果我們要建立一個CAN FD通道,則應(yīng)該使用CAN_Initialize FD接口。

5a9c0866-e207-11f0-8ce9-92fbcf53809c.png

虹科PCAN系列接口卡


CAN FD協(xié)議是向下兼容高速CAN協(xié)議的,也即如果使用支持CAN FD的虹科接口卡(如虹科PCAN-USB FD),則這兩個接口都可以實(shí)現(xiàn)對虹科PCAN卡的初始化,區(qū)別僅限于是想要進(jìn)行高速CAN通訊還是CAN FD通訊


而如果是僅支持高速CAN協(xié)議的接口卡(比如虹科PCAN-USB),則只能使用CAN_Initialize對其進(jìn)行初始化,且也只能進(jìn)行高速CAN通訊。


CAN_Initialize

TPCANStatus __stdcallCAN_Initialize( TPCANHandle Channel, TPCANBaudrate Btr0Btr1, TPCANType HwType _DEF_ARG, DWORD IOPort _DEF_ARG, WORD Interrupt _DEF_ARG);


CAN_Initialize FD

TPCANStatus __stdcallCAN_InitializeFD( TPCANHandle Channel, TPCANBitrateFD BitrateFD);


關(guān)鍵配置注意事項(xiàng)



不少開發(fā)者會被CAN_Initialize的多個參數(shù)困擾,但實(shí)際使用時無需過度糾結(jié):當(dāng)前版本的虹科PCAN硬件,僅需配置前兩個核心參數(shù)——TPCANHandle(硬件通道句柄)和 TPCANBaudrate(波特率),其余IOPort、Interrupt等參數(shù)是為兼容虹科PCAN-Dangle等老款設(shè)備保留的,正常使用時保持默認(rèn)即可,無需額外配置。




02 .

硬件Handle如何綁定?


硬件Handle在虹科PCAN-Basic API接口中對應(yīng)的參數(shù)是TPCANHandle,這個參數(shù)代表我們程序需要使用哪個實(shí)際的虹科PCAN接口。TPCANHandle不是以實(shí)際虹科PCAN接口的識別號(如DeviceID)為區(qū)分,而是通過預(yù)定義的通道句柄來區(qū)分。


以USB接口的虹科PCAN設(shè)備為例(包括虹科PCAN-USB、虹科PCAN-USB FD、虹科PCAN-USB Pro FD和虹科PCAN-USB X6),同一臺PC上的所有虹科PCAN-USB設(shè)備會按照上電順序依次以PCAN_USBBUS1~PCAN_USBBUS16進(jìn)行區(qū)分。


在初始化CAN硬件通道時,只需要調(diào)用對應(yīng)的PCAN_USBBUSx(x = 1,2,...,16),CAN_Initialize/CAN_Initialize FD就能完成與該硬件通道連接,后續(xù)調(diào)用其他API接口時保持使用同一個PCAN_USBBUSx,就能保證對同一個硬件通道的操作。


USB接口通道句柄

#definePCAN_USBBUS1 0x51U // PCAN-USB interface, channel 1#definePCAN_USBBUS2 0x52U // PCAN-USB interface, channel 2#definePCAN_USBBUS3 0x53U // PCAN-USB interface, channel 3#definePCAN_USBBUS4 0x54U // PCAN-USB interface, channel 4#definePCAN_USBBUS5 0x55U // PCAN-USB interface, channel 5#definePCAN_USBBUS6 0x56U // PCAN-USB interface, channel 6#definePCAN_USBBUS7 0x57U // PCAN-USB interface, channel 7#definePCAN_USBBUS8 0x58U // PCAN-USB interface, channel 8#definePCAN_USBBUS9 0x509U // PCAN-USB interface, channel 9#definePCAN_USBBUS10 0x50AU // PCAN-USB interface, channel 10#definePCAN_USBBUS11 0x50BU // PCAN-USB interface, channel 11#definePCAN_USBBUS12 0x50CU // PCAN-USB interface, channel 12#definePCAN_USBBUS13 0x50DU // PCAN-USB interface, channel 13#definePCAN_USBBUS14 0x50EU // PCAN-USB interface, channel 14#definePCAN_USBBUS15 0x50FU // PCAN-USB interface, channel 15#definePCAN_USBBUS16 0x510U // PCAN-USB interface, channel 16


除USB接口的通道句柄外,另外一組我們在開發(fā)中常用到的是PCAN_PCIBUSx(x = 1,2,...,16),它們代表的是PCI、PCIe、M.2等板卡插槽形式的虹科PCAN接口卡的硬件通道,同樣的也是以上電順序確定的。


PCI/PCIe接口通道句柄

#definePCAN_PCIBUS1 0x41U // PCAN-PCI interface, channel 1#definePCAN_PCIBUS2 0x42U // PCAN-PCI interface, channel 2#definePCAN_PCIBUS3 0x43U // PCAN-PCI interface, channel 3#definePCAN_PCIBUS4 0x44U // PCAN-PCI interface, channel 4#definePCAN_PCIBUS5 0x45U // PCAN-PCI interface, channel 5#definePCAN_PCIBUS6 0x46U // PCAN-PCI interface, channel 6#definePCAN_PCIBUS7 0x47U // PCAN-PCI interface, channel 7#definePCAN_PCIBUS8 0x48U // PCAN-PCI interface, channel 8#definePCAN_PCIBUS9 0x409U // PCAN-PCI interface, channel 9#definePCAN_PCIBUS10 0x40AU // PCAN-PCI interface, channel 10#definePCAN_PCIBUS11 0x40BU // PCAN-PCI interface, channel 11#definePCAN_PCIBUS12 0x40CU // PCAN-PCI interface, channel 12#definePCAN_PCIBUS13 0x40DU // PCAN-PCI interface, channel 13#definePCAN_PCIBUS14 0x40EU // PCAN-PCI interface, channel 14#definePCAN_PCIBUS15 0x40FU // PCAN-PCI interface, channel 15#definePCAN_PCIBUS16 0x410U // PCAN-PCI interface, channel 16


多卡使用避坑技巧



多卡部署時,PC外設(shè)的上電順序是隨機(jī)的,重啟后Handle與硬件的對應(yīng)關(guān)系會錯亂,導(dǎo)致程序調(diào)用失敗。

解決方案很簡單:通過注冊表綁定硬件的通道順序,固定Handle與設(shè)備的對應(yīng)關(guān)系,無需每次重啟后手動插拔調(diào)整。具體操作可參考《克服端口順序影響,使用虹科PCAN實(shí)現(xiàn)固定設(shè)備 ID / 通道分配》,解決多卡使用的穩(wěn)定性問題。




03 .

通訊波特率怎么配置?


波特率是CAN通訊的「速率約定」,配置錯誤會直接導(dǎo)致通訊中斷,虹科PCAN-Basic對高速CAN和CAN FD的波特率配置邏輯不同,需針對性處理。


高速CAN波特率:

直接復(fù)用宏定義,無需手動計(jì)算

對于高速CAN接口(TPCANBaudrate),我們通常會直接使用代碼里宏定義的波特率進(jìn)行高速CAN通道的初始化。這一組波特率的定義包含了絕大部分可能的情況,同時對于采樣點(diǎn)等波特率配置參數(shù)也采取了常用的配置。


當(dāng)然,這里的波特率也是支持自定義的,在PCANBashc.h頭文件里有這些宏定義的值,如果我們有其他的波特率配置需要在代碼里使用,也可以參考這里的定義方式寫入到代碼里。虹科PCAN-Basic API里高速CAN波特率的編碼計(jì)算規(guī)則是BTR0/BTR1。


高速CAN波特率定義

#definePCAN_BAUD_1M 0x0014U // 1 MBit/s#definePCAN_BAUD_800K 0x0016U // 800 kBit/s#definePCAN_BAUD_500K 0x001CU // 500 kBit/s#definePCAN_BAUD_250K 0x011CU // 250 kBit/s#definePCAN_BAUD_125K 0x031CU // 125 kBit/s#definePCAN_BAUD_100K 0x432FU // 100 kBit/s#definePCAN_BAUD_95K 0xC34EU // 95,238 kBit/s#definePCAN_BAUD_83K 0x852BU // 83,333 kBit/s#definePCAN_BAUD_50K 0x472FU // 50 kBit/s#definePCAN_BAUD_47K 0x1414U // 47,619 kBit/s#definePCAN_BAUD_33K 0x8B2FU // 33,333 kBit/s#definePCAN_BAUD_20K 0x532FU // 20 kBit/s#definePCAN_BAUD_10K 0x672FU // 10 kBit/s#definePCAN_BAUD_5K 0x7F7FU // 5 kBit/s


CAN FD波特率:

字符串定義 + 工具輔助

對于CAN FD接口(TPCANBaudrateFD),因?yàn)镃AN FD會涉及兩端波特率(Norminal Bitrate和Data Bitrate),所以這里我們的處理比較特殊。在虹科PCAN-Basic API中,CAN FD的波特率定義采用的是字符串的形式,字符串中會包含兩段波特率的關(guān)鍵參數(shù)的字段和參數(shù)值,如下所示:


CAN FD波特率定義實(shí)例

#defineTPCANBitrateFD LPSTR
#definePCAN_BITRATE_SAE_J2284_4 "f_clock=80000000,nom_brp=2,nom_tseg1=63,nom_tseg2=16,nom_sjw=16,data_brp=2,data_tseg1=15,data_tseg2=4,data_sjw=4"#definePCAN_BITRATE_SAE_J2284_5 "f_clock=80000000,nom_brp=1,nom_tseg1=127,nom_tseg2=32,nom_sjw=32,data_brp=1,data_tseg1=11,data_tseg2=4,data_sjw=4"


這些關(guān)鍵字段主要分為3個部分——時鐘頻率定義、仲裁域波特率參數(shù)定義和數(shù)據(jù)域波特率參數(shù)定義,具體的說明可以參考如下表格:

5ab04254-e207-11f0-8ce9-92fbcf53809c.png

如果對于如何計(jì)算CAN FD波特率不熟練,也有一個簡單的方法可以使用。


打開虹科PCAN-View,選擇一個CAN FD通道連接;在Connect界面配置波特率時,先配置想要的波特率,比如這里的1M/2M波特率配置;然后點(diǎn)擊波特率后面的復(fù)制按鈕(兩個按鈕任選一個即可),此時我們就復(fù)制了圖示里1M/2M波特率的字符串定義。

5abb73cc-e207-11f0-8ce9-92fbcf53809c.png

回到我們的代碼里,直接粘貼就得到了直接可用的1M/2M波特率的字符串定義。通過這個方法,我們就可以實(shí)現(xiàn)快速的CAN FD波特率定義。


constTPCANBitrateFDBitrateFD= const_cast("f_clock=80000000,nom_brp=10,nom_tseg1=5,nom_tseg2=2,nom_sjw=2,data_brp=2,data_tseg1=15,data_tseg2=4,data_sjw=4");


進(jìn)階工具:Bit Rate Calculation Tool



5acec35a-e207-11f0-8ce9-92fbcf53809c.png

若需自定義波特率參數(shù)(如調(diào)整采樣點(diǎn)、時鐘頻率),可使用虹科提供的Bit Rate Calculation Tool,輸入?yún)?shù)范圍后自動計(jì)算最優(yōu)配置,適合需要精細(xì)化調(diào)試的場景。


本期小結(jié) .

初始化接口選擇:看協(xié)議需求 + 硬件能力,高速CAN用CAN_Initialize,CAN FD用CAN_Initialize FD(需硬件支持);


硬件Handle綁定:按上電順序分配,USB類用PCAN_USBBUSx,板卡類用PCAN_PCIBUSx,多卡需通過注冊表固定順序;


波特率配置:高速CAN直接用宏定義,CAN FD優(yōu)先用虹科PCAN-View復(fù)制字符串,復(fù)雜需求靠Bit Rate Calculation Tool輔助;


核心原則:聚焦關(guān)鍵參數(shù),忽略冗余兼容參數(shù),按 「匹配硬件 + 滿足需求」的思路配置,高效少踩坑!

虹科PCAN-Basic的CAN通訊接口配置,本質(zhì)是 「理解API設(shè)計(jì)邏輯 + 匹配硬件特性」的過程。本文梳理的問題都是開發(fā)中高頻出現(xiàn)的,解決方案也經(jīng)過實(shí)際場景驗(yàn)證,只要按步驟操作,就能有效避免大部分配置難題。

虹科技術(shù)賦能

虹科提供CAN(FD)、LIN、汽車以太網(wǎng)及TSN等主流通訊協(xié)議的全方位技術(shù)服務(wù)與定制化培訓(xùn)課程。培訓(xùn)秉承「小班教學(xué) + 理論結(jié)合實(shí)操」核心特色,特邀國內(nèi)外行業(yè)技術(shù)領(lǐng)頭人、項(xiàng)目經(jīng)驗(yàn)豐富的資深工程師授課,且與國外行業(yè)協(xié)會深度合作;每年在全國多地開設(shè)公開班,更支持按需定制上門服務(wù)。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • BASIC
    +關(guān)注

    關(guān)注

    0

    文章

    55

    瀏覽量

    13377
  • 通訊接口
    +關(guān)注

    關(guān)注

    2

    文章

    84

    瀏覽量

    16993
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    PCAN在醫(yī)療設(shè)備行業(yè)應(yīng)用的解決方案應(yīng)用

    本系列文章介紹PCAN在醫(yī)療設(shè)備行業(yè)應(yīng)用的解決方案,囊括生命科學(xué)儀器、CT醫(yī)療設(shè)備、集中控制系統(tǒng)等多個方面。 基于
    的頭像 發(fā)表于 05-27 15:32 ?2389次閱讀

    科技術(shù) | 重磅更新!PCAN-Basic加入NuGet,報(bào)文傳輸支持時間戳!

    PCAN-Basic.NET PCAN-Basic.NET(PCAN-Basic API 4.7)是用于在 .NET 應(yīng)用程序中訪問和使用本機(jī) PCAN-Basic API 的
    的頭像 發(fā)表于 05-04 11:35 ?1277次閱讀
    <b class='flag-5'>虹</b>科技術(shù) | 重磅更新!<b class='flag-5'>PCAN-Basic</b>加入NuGet,報(bào)文傳輸支持時間戳!

    資訊|PEAK PCAN-Basic API重大更新!

    PCAN-BasicAPI功能更新PEAK&HongKePEAK-system更新了PCAN-BasicAPI的功能,在開發(fā)CAN/CANFD程序時,可以使用回讀的功能。該功能需要最新版
    的頭像 發(fā)表于 02-07 15:11 ?1819次閱讀
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>資訊|PEAK <b class='flag-5'>PCAN-Basic</b> API重大更新!

    】帶您了解PCAN如何獲取驅(qū)動以及如何接線

    我們的PEAK中文官網(wǎng)下載到,您可以點(diǎn)擊文末“閱讀原文”進(jìn)入官網(wǎng)。如果您PCAN用的是win7系統(tǒng),那么您可以聯(lián)系的技術(shù)人員:136
    的頭像 發(fā)表于 10-12 18:33 ?3598次閱讀
    【<b class='flag-5'>虹</b><b class='flag-5'>科</b>】帶您了解<b class='flag-5'>PCAN</b>如何獲取驅(qū)動以及如何接線

    】帶您了解PCAN如何獲取驅(qū)動以及如何接線

    我們的PEAK中文官網(wǎng)下載到,您可以點(diǎn)擊文末“閱讀原文”進(jìn)入官網(wǎng)。如果您PCAN用的是win7系統(tǒng),那么您可以聯(lián)系的技術(shù)人員:136
    的頭像 發(fā)表于 06-09 10:19 ?2248次閱讀
    【<b class='flag-5'>虹</b><b class='flag-5'>科</b>】帶您了解<b class='flag-5'>PCAN</b>如何獲取驅(qū)動以及如何接線

    干貨 | 在Linux環(huán)境下安裝PCAN View及通訊測試指南

    PEAK-View應(yīng)用簡介/PCAN-View軟件是一款簡化的CAN監(jiān)視軟件,可用于顯示、發(fā)送、和記錄CAN數(shù)據(jù)
    的頭像 發(fā)表于 08-26 09:49 ?4393次閱讀
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>干貨 | 在Linux環(huán)境下安裝<b class='flag-5'>虹</b><b class='flag-5'>科</b><b class='flag-5'>PCAN</b> View及<b class='flag-5'>通訊</b>測試指南

    分享|PCAN-Basic API:打造您專屬的PCAN上位機(jī)軟件

    PCAN-Basic API(應(yīng)用程序編程接口),為您提供清晰好用的二次開發(fā)動態(tài)鏈接庫,可以輕松開發(fā)具有CAN和CAN FD支持的強(qiáng)大軟件。它包括應(yīng)用程序與
    的頭像 發(fā)表于 12-05 16:47 ?9663次閱讀
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>分享|<b class='flag-5'>PCAN-Basic</b> API:打造您專屬的<b class='flag-5'>PCAN</b>上位機(jī)軟件

    科技術(shù) | 重磅更新!PCAN-Basic加入NuGet,報(bào)文傳輸支持時間戳!

    PCAN-Basic.NETPCAN-Basic.NET(PCAN-BasicAPI4.7)是用于在.NET應(yīng)用程序中訪問和使用本機(jī)PCAN-BasicAPI的接口,該程序集
    的頭像 發(fā)表于 05-11 10:19 ?1344次閱讀
    <b class='flag-5'>虹</b>科技術(shù) | 重磅更新!<b class='flag-5'>PCAN-Basic</b>加入NuGet,報(bào)文傳輸支持時間戳!

    PCAN-Ethernet Gateway網(wǎng)關(guān)

    PCAN-Ethernet是一款CAN轉(zhuǎn)以太網(wǎng)網(wǎng)關(guān),可通過IP網(wǎng)絡(luò)連接不同的CAN總線。CAN幀被打包在TCP或UDP報(bào)文包內(nèi),然后通過IP網(wǎng)絡(luò)從一個設(shè)備轉(zhuǎn)發(fā)到另一個設(shè)備
    發(fā)表于 11-10 17:42 ?1次下載

    PCAN-USB Pro FD用戶手冊

    從安裝到使用,一個文檔讓你完全了解PCAN-USB-ProFD!
    發(fā)表于 11-11 10:31 ?10次下載

    PCAN-Wireless Gateway簡介

    PCAN-WirelessGateway是一款CAN轉(zhuǎn)WiFi網(wǎng)關(guān),它允許通過IP網(wǎng)絡(luò)連接不同的CAN總線。CAN幀被包裝在TCP或UDP報(bào)文包中,然后通過IP網(wǎng)絡(luò)從一臺設(shè)備轉(zhuǎn)發(fā)到另一臺設(shè)備
    發(fā)表于 11-11 10:44 ?0次下載

    分享 | PCAN工具:強(qiáng)大的CAN通訊解決方案,你了解多少?

    在當(dāng)今的汽車和工業(yè)自動化領(lǐng)域,可靠的通訊系統(tǒng)至關(guān)重要,PCAN工具為這些應(yīng)用提供了強(qiáng)大的支持。本文將介紹
    的頭像 發(fā)表于 02-02 09:54 ?1622次閱讀
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>分享 | <b class='flag-5'>PCAN</b>工具:強(qiáng)大的CAN<b class='flag-5'>通訊</b>解決方案,你了解多少?

    案例|為什么PCAN MicroMod FD是數(shù)模信號轉(zhuǎn)換的首選方案?

    精確的信號采集和轉(zhuǎn)換是確保生產(chǎn)效率和質(zhì)量的關(guān)鍵。PCAN MicroMod FD系列模塊,以其卓越的數(shù)模信號轉(zhuǎn)換能力,為工程師們提供了一個強(qiáng)大的工具。本文將深入探討如何通過
    的頭像 發(fā)表于 06-11 15:36 ?1210次閱讀
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>案例|為什么<b class='flag-5'>PCAN</b> MicroMod FD是數(shù)模信號轉(zhuǎn)換的首選方案?

    應(yīng)用 為什么PCAN方案能成為石油工程通訊的首選?

    了CAN總線型傳感器、嵌入式計(jì)算機(jī)、顯示器和觸摸屏操作的鉆井監(jiān)視儀,能夠?qū)崟r監(jiān)測泥漿參數(shù)、絞車和泥漿泵的工作狀態(tài),并及時處理故障,確保鉆井作業(yè)的安全與高效。PCAN接口卡支持多種協(xié)
    的頭像 發(fā)表于 11-08 16:48 ?1042次閱讀
    <b class='flag-5'>虹</b><b class='flag-5'>科</b>應(yīng)用 為什么<b class='flag-5'>虹</b><b class='flag-5'>科</b><b class='flag-5'>PCAN</b>方案能成為石油工程<b class='flag-5'>通訊</b>的首選?

    答疑 | 使用PCAN-Explorer 6進(jìn)行.DBC解析總共分幾步?

    各位的新老客戶朋友們,大家好!「科技術(shù)答疑專欄」今天正式和大家見面了~做這個專欄的初衷很簡單:平時收到不少朋友咨詢實(shí)操問題,與其零散回復(fù),不如集中分享——每期聚焦一個高頻痛點(diǎn),用
    的頭像 發(fā)表于 12-12 11:02 ?639次閱讀
    <b class='flag-5'>虹</b><b class='flag-5'>科</b><b class='flag-5'>答疑</b> | 使用<b class='flag-5'>虹</b><b class='flag-5'>科</b><b class='flag-5'>PCAN</b>-Explorer 6進(jìn)行.DBC解析總共分幾步?