一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

【EsDA應(yīng)用】如何用5分鐘快速建立CAN通信

ZLG致遠電子 ? 2023-03-06 13:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

CAN總線的高可靠性、高性能等優(yōu)點使其在工業(yè)測控以及工業(yè)自動化等領(lǐng)域中被大量廣泛使用。本文基于EsDA開發(fā)平臺,為您簡單介紹如何用5分鐘快速建立CAN通信52d419a6-b943-11ed-ad0d-dac502259ad0.jpg ?簡介

CAN是ISO國際標準化的串行通信協(xié)議。由于性能高,可靠性高現(xiàn)被廣泛應(yīng)用在汽車,醫(yī)療,船舶,工業(yè)自動化等其他方面。因為只需要兩根線就可在多個設(shè)備間進行數(shù)據(jù)通信所以被廣泛使用。本文基于EsDA開發(fā)平臺,為您簡單介紹如何用5分鐘快速建立CAN通信。

基本工作原理:通過USBCANFD-200U接口卡實現(xiàn)主板與PC實現(xiàn)CAN(FD)通信。

本應(yīng)用選用 EPC6450-AWI開發(fā)板USBCANFD-200U接口卡與PC連接,使其能與接入CAN(FD)網(wǎng)絡(luò)的開發(fā)板進行數(shù)據(jù)收發(fā),USBCANFD不同系列產(chǎn)品支持1~8路CAN(FD)通信,可根據(jù)不同需求進行選擇,本文采用的200U系列僅支持2路通信。該實驗用到了timer,fscript,canfd_out,canfd_in,fscript和log節(jié)點。
52e1a1e8-b943-11ed-ad0d-dac502259ad0.jpg 前期準備若是剛開始接觸EsDA,可先閱讀EsDA其他系列文章,從零開始搭建環(huán)境和掌握基本開發(fā)流程,已有基礎(chǔ)的可以跳過:

EsDAMPC-ZC1入門(一)——軟件安裝

EsDAMPC-ZC1入門(二)——LED控制

【EsDA應(yīng)用】5分鐘實現(xiàn)一個串口通信業(yè)務(wù)

1. 硬件準備

1.1 準備一個USBCANFD-200U接口卡,并在PC上下載并安裝ZCANPRO的上位機軟件。

52f039f6-b943-11ed-ad0d-dac502259ad0.png

1.2 準備EPC6450-AWI開發(fā)板,并按照下圖所示連接好硬件。52fe066c-b943-11ed-ad0d-dac502259ad0.jpg將EPC6450-AWI開發(fā)板上的CAN_0與USBCANFD-200U隨機一路進行連接,并將USBCANFD-200U接口卡的USB2.0連接到PC上,建立好硬件連接。

2. 節(jié)點介紹

實現(xiàn)CAN(FD)總線通信,需要使用到canfd相關(guān)的AWFlow節(jié)點,包括canfd_out,canfd_in和canfd三個節(jié)點。

2.1 canfdCANFD通信協(xié)議配置節(jié)點,屬于隱式節(jié)點,不會顯示在畫布中,需要配套相應(yīng)功能節(jié)點一起使用。2.1.1 屬性

530e9de2-b943-11ed-ad0d-dac502259ad0.png

  • 端口(port):設(shè)備端口路徑,用于系統(tǒng)打開設(shè)備;
  • CAN控制器類型(can_type):設(shè)置CAN控制器類型。值為0表示CAN;值為1表示CANFD;
  • 非標準ISO模式(non_iso_mode):開啟/關(guān)閉非標準ISO模式。值為0表示關(guān)閉;值為1表示開啟;
  • 仲裁域波特率(nominal_bps):設(shè)置仲裁域波特率,單位是bps,值域是0~1000000;
  • 仲裁域采樣點精確的分子值(nominal_spf):設(shè)置仲裁域采樣點精確的分子值,采樣點用分數(shù)來表示,如需要將采樣點設(shè)置為87.5%,則設(shè)置采樣點的分母為1000,分子為875即可。因硬件原因可能導(dǎo)致不能精確地配置采樣點,增加了兩個分子值來表示范圍。值域是0~10240;
  • 仲裁域采樣點最小的分子值(nominal_spf_min):設(shè)置仲裁域采樣點最小分子值,值域是0~10240;
  • 仲裁域采樣點最大的分子值(nominal_spf_max):設(shè)置仲裁域采樣點最大分子值,值域是0~10240;
  • 仲裁域采樣點分母值(nominal_spd):設(shè)置仲裁域采樣點分母值,值域是0~10240數(shù)據(jù)域波特率(data_bps):設(shè)置數(shù)據(jù)域波特率,值域是0~5000000;
  • 數(shù)據(jù)域采樣點精確的分子值(data_spf):設(shè)置數(shù)據(jù)域采樣點精確的分子值,采樣點用分數(shù)來表示,如需要將采樣點設(shè)置為87.5%,則設(shè)置采樣點的分母為1000,分子為875即可。因硬件原因可能導(dǎo)致不能精確地配置采樣點,增加了兩個分子值來表示范圍。值域是0~10240;
  • 數(shù)據(jù)域采樣點最小的分子值(data_spf_min):設(shè)置數(shù)據(jù)域采樣點最小的分子值。值域是0~10240;
  • 數(shù)據(jù)域采樣點最大的分子值(data_spf_max):設(shè)置數(shù)據(jù)域采樣點最大的分子值。值域是0~10240;
  • 數(shù)據(jù)域采樣點分母值(data_spd):數(shù)據(jù)域采樣點分母值。值域是0~10240;
  • 濾波器使能(filter_enable):開啟/關(guān)閉濾波器。值為0表示關(guān)閉;值為1表示開啟;
  • 濾波表(filter_table):濾波表,濾波表采用json數(shù)組的形式設(shè)置,最大支持32條,符合濾波表條件的報文將被接收,不符合的報文會被過濾,但錯誤報文不會被過濾。濾波表格式如下:id表示報文ID;msk表示ID掩碼,ID掩碼部分相同的報文將被接收;recv_std表示是否接收標準幀;recv_ext表示是否接收擴展幀;recv_data表示是否接收數(shù)據(jù)幀;recv_rmt:是否接收遠程幀。

* 配置節(jié)點(config類型)只存在節(jié)點屬性,不具備輸入輸出功能。2.2 canfd_in2.2.1 屬性

531e7898-b943-11ed-ad0d-dac502259ad0.png

  • 名稱(name):節(jié)點名稱,用于索引查找本節(jié)點;
  • 顯示名稱(displayName):用于畫布上顯示的名稱;
  • 關(guān)聯(lián)配置(config):綁定一個canfd的配置節(jié)點。

2.2.2 輸出

  • payload:CAN報文,1-8字節(jié)為時間戳,9-12字節(jié)為ID,13-14字節(jié)為報文標志位【位0:發(fā)送幀標志(單次發(fā)送)。位1:CANFD幀標志,位2:遠程幀標志,位3:擴展幀標志,位4:錯誤幀標志,位5:轉(zhuǎn)換可變速率,位6:錯誤狀態(tài)指示(0:被動錯誤,1:主動錯誤)】,15-16字節(jié)為通道號(低5位)和數(shù)據(jù)長度(高11位),17字節(jié)到末尾為報文數(shù)據(jù);
  • payloadLength:負載長度。

* pump類型節(jié)點通常不具備數(shù)據(jù)輸入。2.3 canfd_out2.3.1 屬性532b0f18-b943-11ed-ad0d-dac502259ad0.png

  • 名稱(name):節(jié)點名稱,用于索引查找本節(jié)點;
  • 顯示名稱(displayName):用于畫布上顯示的名稱;
  • 關(guān)聯(lián)配置(config):綁定一個canfd的配置節(jié)點。

2.3.2輸入

  • payload:CAN報文,1-8字節(jié)為時間戳,9-12字節(jié)為ID,13-14字節(jié)為報文標志位【位0:發(fā)送幀標志(單次發(fā)送),位1:CANFD幀標志,位2:遠程幀標志,位3:擴展幀標志,位4:錯誤幀標志,位5:轉(zhuǎn)換可變速率,位6:錯誤狀態(tài)指示(0:被動錯誤,1:主動錯誤)】,15-16字節(jié)為通道號(低5位)和數(shù)據(jù)長度(高11位),17字節(jié)到末尾為報文數(shù)據(jù);
  • payloadLength:負載長度。

* sink類型節(jié)點通常不具備數(shù)據(jù)輸出。52d419a6-b943-11ed-ad0d-dac502259ad0.jpg ?業(yè)務(wù)處理本應(yīng)用主要通過USBCANFD-200U接口卡將PC與接入CAN網(wǎng)絡(luò)的EPC6450-AWI開發(fā)板進行數(shù)據(jù)收發(fā),具體實現(xiàn)如下:

1. 添加節(jié)點并連線

本實驗主要執(zhí)行兩個步驟:

  • EPC6450-AWI開發(fā)板上的CAN_0通過CAN通信協(xié)議,canfd_out節(jié)點定時向USBCANFD-200U接口卡發(fā)送0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,八個字節(jié)的數(shù)據(jù),發(fā)送數(shù)據(jù)可在PC上的工具ZCANPRO上查看。
  • PC上的工具ZCANPRO通過CAN總線通信協(xié)議定時發(fā)送0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77八個字節(jié)的數(shù)據(jù),EPC6450-AWI開發(fā)板上通過canfd_in這個節(jié)點去接收數(shù)據(jù),并通過log最終打印可查看。

采用的節(jié)點有timer,fscript,canfd_out,canfd_in,fscript和log節(jié)點。534907ca-b943-11ed-ad0d-dac502259ad0.png2. 配置節(jié)點雙擊timer節(jié)點,設(shè)置canfd_out節(jié)點發(fā)送數(shù)據(jù)的定時時間。雙擊canfd_out節(jié)點的前驅(qū)節(jié)點fscript,結(jié)合2.2關(guān)于canfd_out節(jié)點的介紹可知canfd_out節(jié)點有兩個輸入?yún)?shù):payload;payloadLength。一個傳遞通信數(shù)據(jù)內(nèi)容,一個傳遞通信數(shù)據(jù)長度,內(nèi)容如下:

buf=wbuffer_create()
wbuffer_write_int8(buf,202)
wbuffer_write_int8(buf,150)
wbuffer_write_int8(buf,9)
wbuffer_write_int8(buf,124)
wbuffer_write_int8(buf,0)
wbuffer_write_int8(buf,0)
wbuffer_write_int8(buf,0)
wbuffer_write_int8(buf,0)

wbuffer_write_int8(buf,17)
wbuffer_write_int8(buf,1)
wbuffer_write_int8(buf,0)
wbuffer_write_int8(buf,0)
wbuffer_write_int8(buf,0)
wbuffer_write_int8(buf,0)
wbuffer_write_int8(buf,0)
wbuffer_write_int8(buf,1)


wbuffer_write_int8(buf,0)
wbuffer_write_int8(buf,1)
wbuffer_write_int8(buf,2)
wbuffer_write_int8(buf,3)
wbuffer_write_int8(buf,4)
wbuffer_write_int8(buf,5)
wbuffer_write_int8(buf,6)
wbuffer_write_int8(buf,7)

msg.payload=wbuffer_get_data(buf)msg.payloadLength=str(24)

雙擊canfd_out和canfd_in節(jié)點,并點擊配置節(jié)點名旁邊的鉛筆圖標去配置canfd的屬性。53571fae-b943-11ed-ad0d-dac502259ad0.png因為canfd_in和canfd_out節(jié)點的配置節(jié)點都是同一個,所以配置信息一致。根據(jù)2.2中對配置節(jié)點canfd的屬性介紹,配置如下:

530e9de2-b943-11ed-ad0d-dac502259ad0.png

雙擊canfd_in的消費者節(jié)點fscript,根據(jù)2.2節(jié)點介紹中對canfd_in的輸出參數(shù)描述,fscript的內(nèi)容如下:

data_str="data:"
len=msg.payloadLength
rbuf=rbuffer_create(msg.payload,msg.payloadLength)
for(vari=0;idata=rbuffer_read_uint8(rbuf);
//print("data:"+data)
data_str=data_str+data
if(idata_str=data_str+","
}
}

output.payload=data_str

3. 下載驗證因為EPC6450-AWI開發(fā)板是通過網(wǎng)口去下載流圖,所以打開AWFlow_Designer后需要配置目標板IP和端口號。點擊流圖下載,顯示下載流圖成功即可。5376825e-b943-11ed-ad0d-dac502259ad0.jpg打開上位機ZCANPRO并開啟對應(yīng)的通道號,將波特率等參數(shù)選擇與流圖上的canfd配置節(jié)點參數(shù)同步一致。上位機CAN視圖可以查看從上位機發(fā)送出去的數(shù)據(jù)和接收到的數(shù)據(jù)如下。53850ae0-b943-11ed-ad0d-dac502259ad0.jpg根據(jù)流圖中l(wèi)og節(jié)點的打印信息可知:數(shù)據(jù)內(nèi)容和長度與上位機發(fā)送的數(shù)據(jù)是一致的。53999190-b943-11ed-ad0d-dac502259ad0.jpg綜上測試結(jié)果可知:實驗效果已達成。

聲明:本文內(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

    文章

    2917

    瀏覽量

    467591
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6205

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    何用泰克MSO5系列混合信號示波器調(diào)試IoT和CAN總線

    隨著物聯(lián)網(wǎng)(IoT)技術(shù)的快速發(fā)展,設(shè)備之間的通信協(xié)議變得愈發(fā)復(fù)雜。CAN(Controller Area Network)總線作為一種可靠、高效的串行通信協(xié)議,廣泛應(yīng)用于汽車、工業(yè)控
    的頭像 發(fā)表于 05-30 14:17 ?209次閱讀
    如<b class='flag-5'>何用</b>泰克MSO<b class='flag-5'>5</b>系列混合信號示波器調(diào)試IoT和<b class='flag-5'>CAN</b>總線

    CAN XL是什么?2分鐘看懂下一代車載網(wǎng)絡(luò)#CANXL #CANoe #CAN

    CAN
    北匯信息POLELINK
    發(fā)布于 :2025年04月28日 17:33:05

    10分鐘上手寫代碼,LuatOS協(xié)程輕松掌握!

    上手寫代碼~ ? 1、協(xié)程是什么?——小白秒懂版? ?? 場景?:小明一邊寫作業(yè),一邊等外賣: ?普通做法?: 寫5分鐘作業(yè)→開門看外賣→再寫5分鐘→再去看外賣...(效率低) ?協(xié)程
    的頭像 發(fā)表于 04-10 15:18 ?253次閱讀
    10<b class='flag-5'>分鐘</b>上手寫代碼,LuatOS協(xié)程輕松掌握!

    分鐘帶你簡單了解,CAN總線在汽車電子測試中的作用#CAN #CANoe #汽車電子

    CAN
    北匯信息POLELINK
    發(fā)布于 :2025年04月07日 15:01:53

    何用MES系統(tǒng)實現(xiàn)生產(chǎn)異常10分鐘快速響應(yīng)

    在智能制造時代,生產(chǎn)異常響應(yīng)速度直接影響交付周期與運營成本。研究表明,若能在異常發(fā)生后的10分鐘內(nèi)介入處理,可避免80%以上的次生損失。珠海盈致通過MES系統(tǒng)構(gòu)建的異常響應(yīng)機制,正在重塑電子制造行業(yè)
    的頭像 發(fā)表于 03-18 16:37 ?401次閱讀

    CAN波形的邊沿如此緩慢怎么辦?

    和波形數(shù)據(jù),從報文數(shù)據(jù)觀察,全是錯誤幀,說明CAN網(wǎng)絡(luò)出現(xiàn)了通信錯誤,再結(jié)合波形數(shù)據(jù)看,發(fā)現(xiàn)CAN波形邊沿很緩,呈現(xiàn)出鐮刀的形狀,我們知道,邊沿的緩慢程度會影響
    的頭像 發(fā)表于 01-21 11:47 ?740次閱讀
    <b class='flag-5'>CAN</b>差<b class='flag-5'>分</b>波形的邊沿如此緩慢怎么辦?

    ROHM支持“CAN FD”的TVS二極管“ESDCANxx系列”

    Data rate)*1總線端口保護的雙向TVS(ESD保護)二極管*2“ESDCANxx系列”。CAN FD是車載ECU(電子控制單元)之間實時且安全的數(shù)據(jù)收發(fā)所必需的通信技術(shù)。新
    的頭像 發(fā)表于 12-25 14:40 ?590次閱讀
    ROHM支持“<b class='flag-5'>CAN</b> FD”的TVS二極管“<b class='flag-5'>ESD</b>CANxx系列”

    TCAN1042HGVDRQ1與CAN設(shè)備不能正常通信的原因?

    TCAN1042HGVDRQ1在與CAN設(shè)備通信過程中,將CANH和CANL分別與12V和24V電源短接試驗。CANH無論短接到12V還是24V上1分鐘,然后再鏈接到設(shè)備上能夠繼續(xù)通信
    發(fā)表于 12-12 06:03

    CAN總線通信原理介紹 CAN總線模塊選擇指南

    CAN總線(Controller Area Network)是一種串行通信協(xié)議,主要用于汽車電子控制單元之間的通信。它由Bosch公司在20世紀80年代初開發(fā),因其可靠性、實時性和靈活性而廣泛應(yīng)用
    的頭像 發(fā)表于 11-21 10:21 ?2382次閱讀

    快速了解CAN通訊原理及應(yīng)用

    一張圖看懂CAN總線的原理 圖1 CAN通信原理 參考上圖,簡單來說CAN總線就如兩根黃線,通信的原理就好比開一個電話會議,大家都同時撥進來
    的頭像 發(fā)表于 11-19 10:16 ?2453次閱讀
    <b class='flag-5'>快速</b>了解<b class='flag-5'>CAN</b>通訊原理及應(yīng)用

    如何使用Arduino實現(xiàn)CAN總線通信

    CAN總線(Controller Area Network)是一種多主控制的串行通信協(xié)議,廣泛應(yīng)用于汽車電子、工業(yè)自動化等領(lǐng)域。它以其高可靠性、實時性和靈活性而受到青睞。Arduino作為一個
    的頭像 發(fā)表于 11-12 10:09 ?2683次閱讀

    ST NPI 新上架產(chǎn)品【ESDA5WY】Datasheet

    ESDAxxWY系列:汽車應(yīng)用中的ESD保護。在確保汽車應(yīng)用安全性的同時縮減PCB尺寸對于需要穩(wěn)健保護功能的系統(tǒng),選擇ESDAxxWY可確保實現(xiàn)高可靠性和高質(zhì)量。這類器件用于防止敏感電子元件受到
    發(fā)表于 10-21 10:46 ?0次下載

    EsDA,一站式嵌入式軟件

    EsDA是一套面向工業(yè)智能物聯(lián)領(lǐng)域的嵌入式系統(tǒng)設(shè)計自動化工具集,包含實時操作系統(tǒng)AWorksLP、低代碼開發(fā)平臺AWStudio、資源管理平臺AXPI、跨平臺GUI引擎AWTK和云服務(wù)平臺ZWS
    的頭像 發(fā)表于 09-15 08:10 ?767次閱讀
    <b class='flag-5'>EsDA</b>,一站式嵌入式軟件

    何用 S7-200 實現(xiàn) Modbus 通信?

    電子發(fā)燒友網(wǎng)站提供《如何用 S7-200 實現(xiàn) Modbus 通信?.pdf》資料免費下載
    發(fā)表于 09-14 10:22 ?2次下載

    保護汽車 CAN 總線系統(tǒng)免受ESD過壓事件的影響

    電子發(fā)燒友網(wǎng)站提供《保護汽車 CAN 總線系統(tǒng)免受ESD過壓事件的影響.pdf》資料免費下載
    發(fā)表于 09-12 10:34 ?1次下載
    保護汽車 <b class='flag-5'>CAN</b> 總線系統(tǒng)免受<b class='flag-5'>ESD</b>過壓事件的影響