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

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

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

ZQWL-USBCANFD二次開發(fā)通訊協(xié)議V1.04

jf_92180065 ? 來源:jf_92180065 ? 作者:jf_92180065 ? 2023-09-28 15:52 ? 次閱讀

修訂歷史:

wKgZomUT5GqAXjPUAACLOR0RhxM428.png

wKgaomUT5I6AL02eAAQucs6g1qE088.png

1.功能介紹

1.1型號說明

本文檔適用以下型號:

wKgaomUT5PCAWudrAAMijUsj-es780.png

wKgZomUT5RuAYF3nAAFpgbB-6bc031.png

wKgaomUT5SOAbp64AANlYho4RJo910.png

ZQWL-CAN(FD)系列產(chǎn)品,USB通訊采用CDC類實現(xiàn),可以在PC機上虛擬出一個串口,串口參數(shù)N,8,1格式,波特率可以根據(jù)需要設(shè)置(范圍9600~48000000bps),硬件自動匹配。本文檔介紹二次開發(fā)的參數(shù)配置,數(shù)據(jù)收發(fā)等協(xié)議。
智嵌物聯(lián)ZQWL開發(fā)的一系列高性能USBCAN(FD)接口卡,具有類型多,安裝方式靈活,方便易用,功能強大等特點。接口卡支持XP/Win7/Win10/Win11等操作系統(tǒng)。
其中,ZQWL-UCANFD-200U、ZQWL-UCAN-201U、ZQWL-UCANFD-400U、ZQWL-UCAN-401U等型號,CAN(FD)通道均采用電氣隔離設(shè)計,可以適用于電磁環(huán)境惡劣的的場合。

1.2產(chǎn)品特性

● USB接口符合USB2.0高速規(guī)范;CAN接口支持 CAN2.0A、B 協(xié)議,符合 ISO11898-1 規(guī)范;
● CAN和CANFD協(xié)議可選;CANFD支持ISO標準和Non-ISO標準;
● 每個通道可以獨立設(shè)置波特率,系統(tǒng)不僅預置了常用波特率列表,而且支持自定義波特 率;支持的波特率范圍:CAN:10Kbps~1Mbps,CANFD:100Kbps~5Mbps;
● 最大流量測試:

wKgZomUT5XGAFA3jAATnGYXODWQ000.png

● 每個通道均有14組硬件濾波器;每組濾波器可以設(shè)置濾波ID以及掩碼。
● 支持連續(xù)循環(huán)發(fā)送、組發(fā)送、定時發(fā)送等;
● 支持波特率探測,支持合并相同幀ID,支持總線異常統(tǒng)計,支持收發(fā)速率統(tǒng)計;
● 雙通道CAN(FD)接口卡支持中繼功能;
● 200U、201U、400U、401U的CAN(FD)-bus電路采用DC 2500V電氣隔離,具有強大的抗電磁干擾的能力;
● 工作溫度:-40~+85℃;

1.3典型應(yīng)用

● 車載通訊系統(tǒng)、電力通訊系統(tǒng);
● 煤礦遠程通訊;
工業(yè)現(xiàn)場控制/;

● 遠程監(jiān)控與數(shù)據(jù)采集;

2.通訊協(xié)議

2.1USB硬件描述符

通過USB的硬件ID(VID和PID)來識別該系列設(shè)備,特征如下:

wKgZomUT5hqAAqapAAH1U8dbaME226.png

例如(雙通道CANFD類型):

wKgaomUT5jyAWFEyAAGF1q3gY2w542.png

2.2參數(shù)配置

每幀數(shù)據(jù)長度為22字節(jié),十六進制格式:包括2個字節(jié)幀頭(0x49,0x3B)、1個字節(jié)功能碼、1個字節(jié)讀/寫標志、16個字節(jié)數(shù)據(jù)和2個字節(jié)幀尾(0x45,0x2E):

wKgaomUT5nqAYDuUAAHdSraJ97I842.png

注意:
●當需要讀參數(shù),“讀/寫”填0x52;當需要寫參數(shù)時,“讀/寫”填0x57;其中,“設(shè)備信息”和“設(shè)備序列號”命令只支持讀命令(0x52)。
●CAN通道號:取值為0x00~0x03,分別對應(yīng)CAN0~CAN3;
●自定義波特率標志:0x00為采用“常用波特率碼”;0x01為自定義波特率;當為自定義波特率時(CAN3僅支持“常用波特率碼”),實際波特率由SJW、TSEG1、TSEG2和BRP計算獲得,計算方式:
Baud = 60000000/(SJW+1 + TSEG1+1 + TSEG2+1)/BRP。
其中SJW取值范圍:0x00~0x03;
TSEG1取值范圍:0x00~0x0F;
TSEG2取值范圍:0x00~0x07;
BRP取值范圍:1~0x0400,BRP是2字節(jié)長度,高字節(jié)在前,低字節(jié)在后。
采樣點計算:SMP=(SJW+1 + TSEG1+1)/(SJW+1 + TSEG1+1 + TSEG2+1)。
●常用波特率碼:高4位是仲裁域波特率(CAN),低4位是數(shù)據(jù)域波特率(CANFD)

仲裁域波特率碼對應(yīng)表:

wKgZomUT5tCAcoacAAErAt5StNI112.png

wKgaomUT5tCAQi9dAADJ6gonhpg172.png

wKgZomUT5vaAJgcHAAA8LnwxHp4660.png

數(shù)據(jù)域波特率碼對應(yīng)表:

wKgZomUT5xaAT6nKAAG_U0Ewh-A206.png

●濾波器組號:每個通道均有14組硬件濾波器,組號取值范圍0~13;
組使能:0x00為禁止該組;0x01為開啟該組;注意,設(shè)備從0組開始查詢該位,遇到一個不為0x01的組時,退出查詢,即便是后面再有使能的組也無效。
●濾波器幀類型:0x00為標準幀;0x01為擴展幀;
●濾波驗收ID和掩碼:
濾波驗收ID:用于比對CAN(FD)接收到的幀ID,以確定該幀是否被接收,十六進制。
掩碼:用于屏蔽濾波驗收ID里的某些位,以確定驗收碼某些位(bit)是否參與比對(對應(yīng)位為0不參與比對,為1參與比對),十六進制。
舉例1:濾波幀類型選擇“標準幀”;“濾波驗收ID”填001,“掩碼”填7FF;
釋義:由于標準幀ID只有11位,濾波驗收ID和掩碼最后11位有意義, 掩碼最后11位全是1,所以濾波驗收ID的后11位全部參與比對,因此上述設(shè)置可以讓幀ID為001的標準幀通過。
舉例2:濾波幀類型選擇“標準幀”;“濾波驗收ID”填010,“過濾屏蔽碼”填7F0釋義:同例1,標準幀只有11位有效,掩碼的最后4位是0,表示濾波驗收ID的最后4位不參與對比,因此上述設(shè)置可以讓幀ID從010到01F的一組標準幀通過。
舉例3:濾波幀類型選擇“擴展幀”;“濾波驗收ID”填00 03 04 01,“掩碼”填1F FF FF FF;
釋義:擴展幀有29位,掩碼的后29位全為1,表示濾波驗收ID的后29位全部參與比對,因此上述設(shè)置可以讓幀ID為00 03 04 01的擴展幀通過。
舉例4:濾波幀類型選擇“擴展幀”;“濾波驗收ID”填00 03 04 00,“掩碼”填1F F0 FF FF;
釋義:根據(jù)上述設(shè)置可以讓幀ID從00 00 04 00到00 0F 04 00的一組擴展幀通過(注意只是標紅色的0到F變化,04 00為固定)。
●系統(tǒng)控制命令
可以通過這個命令實現(xiàn)將設(shè)置好的參數(shù)寫入到設(shè)備里(即斷電不丟失)。
生效參數(shù):0x00為不生效(斷電參數(shù)丟失),0x01為生效(保存到flash中,斷電不丟失);
系統(tǒng)復位:0x00為系統(tǒng)不復位,0x01為系統(tǒng)復位;
CAN0開關(guān):0x00為關(guān)閉CAN0,0x01為開啟CAN0;
CAN1開關(guān):0x00為關(guān)閉CAN1,0x01為開啟CAN1;

舉例說明(用串口助手作為上位機):

①讀取設(shè)備信息
上位機發(fā)送(Hex格式):49 3B 40 52 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 45 2E

wKgZomUT58GAZlmEAAI8UHNtQ3Q295.png

②讀取設(shè)備序列號
上位機發(fā)送(Hex格式):49 3B 41 52 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 45 2E

wKgZomUT5-CAGG4cAAI3wTgbpqU874.png

③設(shè)置CAN參數(shù)
設(shè)置CAN0參數(shù):仲裁域波特率250kbps,數(shù)據(jù)域波特率500kbps
上位機發(fā)送(Hex格式):49 3B 42 57 00 00 45 00 00 00 00 00 00 00 00 00 00 00 00 00 45 2E

wKgaomUT5_2AdcJKAAL0VfZ1GLo007.png

注意,設(shè)置完后,還要發(fā)送生效參數(shù)并開啟CAN0命令:
49 3B 44 57 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 45 2E

wKgaomUT6BmAbVj0AAOvwGg8h40532.png

開啟任一CAN通道后,設(shè)備開始向上位機發(fā)心跳包。

2.3心跳包

根據(jù)設(shè)備的CAN(FD)的通道數(shù)量,心跳包分為2種格式:單雙通道設(shè)備心跳包和4通道設(shè)備心跳包。

2.3.1單雙通道心跳包格式

單雙通道心跳包為設(shè)備向上位機發(fā)送的數(shù)據(jù)包,心跳包長度為17字節(jié),含義如下:

wKgZomUT6IOAd9i9AACsOmczPvw041.png

●功能碼為0xFF(注意4通道功能碼是0xFE)。
●設(shè)備狀態(tài):1個字節(jié),定義如下:

wKgaomUT6LCAd6zlAAEF-_Wi6ME316.png

開啟標志:0為未開啟,1為開啟;

總線狀態(tài):

00:總線正常;
01:總線警告
10:總線被動錯誤
11:設(shè)備離線(此時已不能再發(fā)送CAN(FD)報文)

2.3.24通道心跳包格式

4通道心跳包為設(shè)備向上位機發(fā)送的數(shù)據(jù)包,心跳包長度為32字節(jié),含義如下:

wKgaomUT6QyAXN1xAACwI4ZYSDE633.png

●功能碼為0xFE(注意單雙通道功能碼是0xFF)。
●CAN0~1設(shè)備狀態(tài):1個字節(jié),定義如下:

wKgaomUT6SyANyYCAAEBQ9Je7Jg560.png

●CAN2~3設(shè)備狀態(tài):1個字節(jié),定義如下:

wKgaomUT6VOAZHU5AAEBpGIunO0460.png

開啟標志:0為未開啟,1為開啟;

總線狀態(tài):

00:總線正常;
01:總線警告
10:總線被動錯誤
11:設(shè)備離線(此時已不能再發(fā)送CAN(FD)報文)

2.3.3心跳包參數(shù)含義

●發(fā)送速率:每秒發(fā)送的CAN(FD)報文個數(shù)。
●接收速率:每秒接收的CAN(FD)報文個數(shù)。
●錯誤計數(shù)器:
包括發(fā)送錯誤計數(shù)器和接收錯誤計數(shù)器,這些狀態(tài)直接反映了總線的通暢情況,當接收錯誤計數(shù)器值大于127時,總線幾乎已經(jīng)癱瘓。當出現(xiàn)錯誤值較高的情況(40以上),表示總線的通訊出現(xiàn)比較嚴重的阻塞,此時就有必要調(diào)整CAN(FD)網(wǎng)絡(luò)的波特率值或增加CAN(FD)網(wǎng)橋,以提高CAN(FD)總線質(zhì)量。當總線通信良好時,錯誤計數(shù)器一般都能維持在0。
在沒有數(shù)據(jù)向CAN(FD)發(fā)送時,心跳包每隔1秒向上位機發(fā)送一次,當有數(shù)據(jù)向CAN(FD)發(fā)送時,設(shè)備立即向上位機發(fā)送一條心跳包。

2.4CAN(FD)數(shù)據(jù)收發(fā)指令

通過該命令可以實現(xiàn)CAN(FD)報文的發(fā)送和接收,報文格式如下:

wKgZomUT6dGAIiAwAAD_u4RzR90177.png

●BYTE0:幀頭固定為0x5A;
●BYTE1:幀信息1,包含CAN通道和CAN(FD)報文數(shù)據(jù)長度DLC;
該字節(jié)的每個bit位的含義如下:

wKgZomUT6geAAiimAAEoFsU6Yk0899.png

當為CAN幀時,DLC的取值范圍是0~8;
當為CANFD幀時,DLC取值為0~8、12、16、20、24、32、48、64。

注意,BYTE1為0xFF或0XFE時為設(shè)備發(fā)向上位機的心跳包,接收數(shù)據(jù)時需要注意。

●BYTE2:幀信息2,包含發(fā)送類型、幀格式、幀類型和是否加速等信息,含義定義如下:

wKgZomUT6jqAPDHtAAIedOd9gZs158.png

注意:CAN通道號有3個bit構(gòu)成,從高位到低位分別是:BYTE2的Bit4、Bit3、BYTE1的Bit7。取值為0x00~0x07,分別對應(yīng)CAN0~CAN7通道。

正常發(fā)送:在ID仲裁丟失或發(fā)送出現(xiàn)錯誤時,CAN控制器會自動重發(fā),直到發(fā)送成功,或 發(fā)送超時(超時時間1秒),或總線關(guān)閉。
單次發(fā)送:在一些應(yīng)用中,允許部分數(shù)據(jù)丟失,但不能出現(xiàn)傳輸延遲時,自動重發(fā)就沒有意 義了。在這些應(yīng)用中,一般會以固定的時間間隔發(fā)送數(shù)據(jù),自動重發(fā)會導致后面的數(shù)據(jù)無法發(fā)送,出現(xiàn)傳輸延遲。使用單次發(fā)送,仲裁丟失或發(fā)送錯誤,CAN 控制器不會重發(fā)報文。
●BYTE3~6:CAN(FD)幀ID,一共4個字節(jié)。標準幀時,只有BYTE5~6的低11bit有效;擴展幀時,29bit有效。
注意,BYTE3的最高位(Bit7)是CAN協(xié)議類型標志:
0:CAN幀;
1:CANFD幀;
●幀數(shù)據(jù):長度為DLC。
●幀尾:一個字節(jié),固定為0xA5
當上位機向設(shè)備發(fā)送CAN(FD)數(shù)據(jù)包時,設(shè)備收到后會立即返回一條心跳包。

審核編輯 黃宇

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

    關(guān)注

    57

    文章

    2756

    瀏覽量

    463779
  • 通訊協(xié)儀
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    6222
收藏 人收藏

    評論

    相關(guān)推薦

    SOLIDWORKS二次開發(fā)參數(shù)化設(shè)計工具? 慧德敏學

    SOLIDWORKS二次開發(fā)參數(shù)化設(shè)計工具?涵蓋選型、建模、裝配、出圖、編碼、報表、集成等眾多環(huán)節(jié)和任務(wù)的整合,我們除了提供專業(yè)培訓,還可針對實際產(chǎn)品提供項目導入,實現(xiàn)交鑰匙工程,消除企業(yè)的所有風險
    的頭像 發(fā)表于 12-20 16:21 ?133次閱讀

    SOLIDWORKS二次開發(fā)應(yīng)用范圍與實例

    SOLIDWORKS二次開發(fā)為企業(yè)和設(shè)計師們提供了廣闊的定制化空間,能夠更好地滿足復雜多變的設(shè)計需求,幫助工程師和設(shè)計師提高工作效率,實現(xiàn)更復雜的自動化任務(wù)。如您有SOLIDWORKS二次開發(fā)需求,歡迎咨詢Solidkits
    的頭像 發(fā)表于 12-13 16:33 ?178次閱讀

    可以改TSW1405內(nèi)部程序或者是修改HSDC PRO的程序做二次開發(fā)嗎?

    可以改TSW1405內(nèi)部程序或者是修改HSDC PRO 的程序做二次開發(fā)嗎?
    發(fā)表于 11-27 07:29

    二次諧波產(chǎn)生的原因

    二次諧波是一個在電力、電子學、通信技術(shù)和光學顯微成像技術(shù)中廣泛討論的概念。為了全面理解二次諧波,我們需要從其定義、產(chǎn)生原因以及在不同領(lǐng)域的應(yīng)用等方面進行深入探討。
    的頭像 發(fā)表于 10-16 17:56 ?1931次閱讀

    什么~FPGA可以自行二次開發(fā)了?

    什么!FPGA可以自行二次開發(fā)了? 目前市場上的標準采集卡通常不支持用戶自行開發(fā)FPGA。但因為應(yīng)用環(huán)境的需要,不僅僅只需要單一的數(shù)據(jù)采集流程,往往還需要在其中嵌入更復雜的運行和分析邏輯。為了解
    的頭像 發(fā)表于 10-14 15:47 ?232次閱讀
    什么~FPGA可以自行<b class='flag-5'>二次開發(fā)</b>了?

    二次電池分類以及應(yīng)用場景詳解

    01 二次電池(充電電池)簡介 二次電池是相對于一電池,在實際使用過程中一電池放電結(jié)束后即報廢,二次電池可以進行再次充電,活性物質(zhì)的能夠
    的頭像 發(fā)表于 09-29 16:33 ?776次閱讀
    <b class='flag-5'>二次</b>電池分類以及應(yīng)用場景詳解

    ARMxy ARM工業(yè)邊緣計算網(wǎng)關(guān)帶Ubuntu OS支持二次開發(fā)

    ARMxy系列工業(yè)邊緣計算網(wǎng)關(guān),搭載Ubuntu操作系統(tǒng),不僅提供了強大的數(shù)據(jù)處理能力,而且通過支持二次開發(fā),為企業(yè)提供了定制化解決方案的可能性。本文將深入探討ARMxy網(wǎng)關(guān)的技術(shù)特性、Ubuntu
    的頭像 發(fā)表于 08-19 15:32 ?419次閱讀
    ARMxy ARM工業(yè)邊緣計算網(wǎng)關(guān)帶Ubuntu OS支持<b class='flag-5'>二次開發(fā)</b>

    條碼維碼掃碼模組,支持二次開發(fā)嵌入嗎?

    維碼掃碼模組的技術(shù)支持、應(yīng)用領(lǐng)域及其在二次開發(fā)嵌入中的優(yōu)勢和挑戰(zhàn)。掃碼模組技術(shù)支持與應(yīng)用領(lǐng)域條碼維碼掃碼模組采用了先進的CMOS影像技術(shù)和智能圖像識別算法,能
    的頭像 發(fā)表于 08-14 15:44 ?286次閱讀
    條碼<b class='flag-5'>二</b>維碼掃碼模組,支持<b class='flag-5'>二次開發(fā)</b>嵌入嗎?

    邊緣計算智能盒子如何助力HMI設(shè)備實現(xiàn)二次開發(fā)

    HMI(Human-MachineInterface)又稱人機界面,是用戶與機器之間交互和通信的媒介。今天帶你了解智能盒子如何助力HMI設(shè)備實現(xiàn)二次開發(fā)?HMI設(shè)備被廣泛應(yīng)用在工業(yè)自動化中,具有顯示
    的頭像 發(fā)表于 07-10 18:52 ?482次閱讀
    邊緣計算智能盒子如何助力HMI設(shè)備實現(xiàn)<b class='flag-5'>二次開發(fā)</b>?

    5G千兆雙核物聯(lián)網(wǎng)模塊 OpenWrt二次開發(fā)

    HLK-RM20是海凌科2024年推出的首款路由模塊,多端口5G千兆網(wǎng)關(guān),雙核ARM處理器,1.3GHz主頻,支持Openwrt二次開發(fā)。高性能、高速率、低延遲,功能強大,應(yīng)用廣泛。
    的頭像 發(fā)表于 06-03 14:23 ?1182次閱讀
    5G千兆雙核物聯(lián)網(wǎng)模塊 OpenWrt<b class='flag-5'>二次開發(fā)</b>

    二次諧波和三諧波區(qū)別 二次諧波危害沒有三諧波大?

    二次諧波和三諧波區(qū)別 二次諧波危害沒有三諧波大? 在現(xiàn)代電力系統(tǒng)中,諧波問題逐漸引起人們的關(guān)注。諧波是指頻率是基波頻率的倍數(shù)的電流或電壓成分。
    的頭像 發(fā)表于 04-08 17:11 ?6017次閱讀

    一文了解二次電源模塊的應(yīng)用技巧!

    二次電源DC/DC模塊廣泛應(yīng)用于數(shù)據(jù)采集、程控設(shè)備、儀器儀表、通訊系統(tǒng)和分布式供電系統(tǒng)中,將24V或48V直流變換到所需的2.5V、3.3
    的頭像 發(fā)表于 02-21 18:17 ?1651次閱讀
    一文了解<b class='flag-5'>二次</b>電源模塊的應(yīng)用技巧!

    二次供水監(jiān)測設(shè)備安裝應(yīng)用

    二次供水泵房的管理上,通常應(yīng)用二次供水監(jiān)測系統(tǒng),輔助管理供水作業(yè),綜合監(jiān)測供水泵站的各項參數(shù),可以及時發(fā)現(xiàn)問題并采取相應(yīng)的措施,保障二次供水的質(zhì)量和安全性,為水質(zhì)監(jiān)測提供有利的數(shù)據(jù)支持。
    的頭像 發(fā)表于 02-19 09:59 ?317次閱讀

    個性化定制,提升運營效率:SAP二次開發(fā)引領(lǐng)企業(yè)數(shù)字化轉(zhuǎn)型

    SAP二次開發(fā)引領(lǐng)企業(yè)數(shù)字化轉(zhuǎn)型 隨著企業(yè)競爭的日益激烈,定制化管理方案成為企業(yè)實現(xiàn)差異化競爭的重要工具。SAP作為全球領(lǐng)先的企業(yè)管理軟件提供商,SAP二次開發(fā)服務(wù)應(yīng)運而生,為企業(yè)提供個性定制
    的頭像 發(fā)表于 02-18 13:29 ?429次閱讀

    電力系統(tǒng)一設(shè)備和二次設(shè)備區(qū)別,二次回路的分類

    在電力系統(tǒng)中,一設(shè)備是指直接參與電能生產(chǎn)、傳輸和分配的電氣設(shè)備,如發(fā)電機、變壓器、電力電纜等。電力二次設(shè)備是指對電力系統(tǒng)一設(shè)備進行監(jiān)視、測量、控制、調(diào)節(jié)和保護的輔助設(shè)備,不直接與電能主電路連接
    的頭像 發(fā)表于 01-19 10:10 ?2932次閱讀
    電力系統(tǒng)一<b class='flag-5'>次</b>設(shè)備和<b class='flag-5'>二次</b>設(shè)備區(qū)別,<b class='flag-5'>二次</b>回路的分類