色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

【EsDA應用】如何用5分鐘快速建立CAN通信

AGk5_ZLG_zhiyua ? 來源:未知 ? 2023-07-17 14:45 ? 次閱讀
CAN總線的高可靠性、高性能等優點使其在工業測控以及工業自動化等領域中被大量廣泛使用。本文基于EsDA開發平臺,為您簡單介紹如何用5分鐘快速建立CAN通信1a7ceeb2-246d-11ee-962d-dac502259ad0.jpg??簡介

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

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

本應用選用 EPC6450-AWI開發板USBCANFD-200U接口卡與PC連接,使其能與接入CAN(FD)網絡的開發板進行數據收發,USBCANFD不同系列產品支持1~8路CAN(FD)通信,可根據不同需求進行選擇,本文采用的200U系列僅支持2路通信。該實驗用到了timer,fscript,canfd_out,canfd_in,fscript和log節點。 1a938a14-246d-11ee-962d-dac502259ad0.jpg前期準備若是剛開始接觸EsDA,可先閱讀EsDA其他系列文章,從零開始搭建環境和掌握基本開發流程,已有基礎的可以跳過:
  • EsDAMPC-ZC1入門(一)——軟件安裝

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

  • 【EsDA應用】5分鐘實現一個串口通信業務

1. 硬件準備

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

1aa83478-246d-11ee-962d-dac502259ad0.png

1.2 準備EPC6450-AWI開發板,并按照下圖所示連接好硬件。1ac40bb2-246d-11ee-962d-dac502259ad0.jpg將EPC6450-AWI開發板上的CAN_0與USBCANFD-200U隨機一路進行連接,并將USBCANFD-200U接口卡的USB2.0連接到PC上,建立好硬件連接。

2. 節點介紹

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

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

1b0ee16e-246d-11ee-962d-dac502259ad0.png

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

1b35b9b0-246d-11ee-962d-dac502259ad0.png

  • 名稱(name):節點名稱,用于索引查找本節點;
  • 顯示名稱(displayName):用于畫布上顯示的名稱;
  • 關聯配置(config):綁定一個canfd的配置節點。
2.2.2 輸出
  • payload:CAN報文,1-8字節為時間戳,9-12字節為ID,13-14字節為報文標志位【位0:發送幀標志(單次發送)。位1:CANFD幀標志,位2:遠程幀標志,位3:擴展幀標志,位4:錯誤幀標志,位5:轉換可變速率,位6:錯誤狀態指示(0:被動錯誤,1:主動錯誤)】,15-16字節為通道號(低5位)和數據長度(高11位),17字節到末尾為報文數據;
  • payloadLength:負載長度。
* pump類型節點通常不具備數據輸入。2.3 canfd_out2.3.1 屬性1b5a296c-246d-11ee-962d-dac502259ad0.png
  • 名稱(name):節點名稱,用于索引查找本節點;
  • 顯示名稱(displayName):用于畫布上顯示的名稱;
  • 關聯配置(config):綁定一個canfd的配置節點。
2.3.2輸入
  • payload:CAN報文,1-8字節為時間戳,9-12字節為ID,13-14字節為報文標志位【位0:發送幀標志(單次發送),位1:CANFD幀標志,位2:遠程幀標志,位3:擴展幀標志,位4:錯誤幀標志,位5:轉換可變速率,位6:錯誤狀態指示(0:被動錯誤,1:主動錯誤)】,15-16字節為通道號(低5位)和數據長度(高11位),17字節到末尾為報文數據;
  • payloadLength:負載長度。
* sink類型節點通常不具備數據輸出。 1a7ceeb2-246d-11ee-962d-dac502259ad0.jpg??業務處理本應用主要通過USBCANFD-200U接口卡將PC與接入CAN網絡的EPC6450-AWI開發板進行數據收發,具體實現如下:

1. 添加節點并連線

本實驗主要執行兩個步驟:

  • EPC6450-AWI開發板上的CAN_0通過CAN通信協議,canfd_out節點定時向USBCANFD-200U接口卡發送0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,八個字節的數據,發送數據可在PC上的工具ZCANPRO上查看。
  • PC上的工具ZCANPRO通過CAN總線通信協議定時發送0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77八個字節的數據,EPC6450-AWI開發板上通過canfd_in這個節點去接收數據,并通過log最終打印可查看。
采用的節點有timer,fscript,canfd_out,canfd_in,fscript和log節點。1ba3a8c6-246d-11ee-962d-dac502259ad0.png2. 配置節點雙擊timer節點,設置canfd_out節點發送數據的定時時間。雙擊canfd_out節點的前驅節點fscript,結合2.2關于canfd_out節點的介紹可知canfd_out節點有兩個輸入參數:payload;payloadLength。一個傳遞通信數據內容,一個傳遞通信數據長度,內容如下:

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節點,并點擊配置節點名旁邊的鉛筆圖標去配置canfd的屬性。1bc8bf08-246d-11ee-962d-dac502259ad0.png因為canfd_in和canfd_out節點的配置節點都是同一個,所以配置信息一致。根據2.2中對配置節點canfd的屬性介紹,配置如下:

1b0ee16e-246d-11ee-962d-dac502259ad0.png

雙擊canfd_in的消費者節點fscript,根據2.2節點介紹中對canfd_in的輸出參數描述,fscript的內容如下:

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

output.payload=data_str

3. 下載驗證因為EPC6450-AWI開發板是通過網口去下載流圖,所以打開AWFlow_Designer后需要配置目標板IP和端口號。點擊流圖下載,顯示下載流圖成功即可。1bfa84d4-246d-11ee-962d-dac502259ad0.jpg打開上位機ZCANPRO并開啟對應的通道號,將波特率等參數選擇與流圖上的canfd配置節點參數同步一致。上位機CAN視圖可以查看從上位機發送出去的數據和接收到的數據如下。1c217148-246d-11ee-962d-dac502259ad0.jpg根據流圖中log節點的打印信息可知:數據內容和長度與上位機發送的數據是一致的。1c57fe52-246d-11ee-962d-dac502259ad0.jpg綜上測試結果可知:實驗效果已達成。

1a938a14-246d-11ee-962d-dac502259ad0.jpg技術交流長按識別如下二維碼可加入“EsDA嵌入式系統設計自動化交流群”,與志同道合的朋友交流,并有專業技術人員為您答疑解惑,如有問題可以咨詢小致微信zlgmcu-888。1c9a77d2-246d-11ee-962d-dac502259ad0.png ?


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 致遠電子
    +關注

    關注

    13

    文章

    406

    瀏覽量

    31319

原文標題:【EsDA應用】如何用5分鐘快速建立CAN通信

文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠電子】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

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

    TCAN1042HGVDRQ1與CAN設備不能正常通信的原因?

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

    如何使用Arduino實現CAN總線通信

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

    ST NPI 新上架產品【ESDA5WY】Datasheet

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

    EsDA,一站式嵌入式軟件

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

    何用 S7-200 實現 Modbus 通信?

    電子發燒友網站提供《如何用 S7-200 實現 Modbus 通信?.pdf》資料免費下載
    發表于 09-14 10:22 ?1次下載

    保護汽車 CAN 總線系統免受ESD過壓事件的影響

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

    如何檢測CAN通信電路的好壞

    CAN(Controller Area Network)是一種用于汽車和工業自動化領域的通信協議。它具有高可靠性、實時性和靈活性,廣泛應用于汽車、工業控制、醫療設備等領域。在實際應用中,CAN
    的頭像 發表于 06-16 11:06 ?1623次閱讀

    can通訊故障快速檢測方法有哪些

    ,影響系統的正常運行。本文將詳細介紹一些CAN通信故障的快速檢測方法。 故障類型 在討論故障檢測方法之前,我們首先需要了解CAN通信系統中可
    的頭像 發表于 06-16 10:00 ?2058次閱讀

    ESD管 AZ5825-01F型號ESDA05CPX參數對比

    ESD管 AZ5825-01F型號ESDA05CPX參數對比
    的頭像 發表于 05-11 08:03 ?889次閱讀
    <b class='flag-5'>ESD</b>管 AZ5825-01F型號<b class='flag-5'>ESDA</b>05CPX參數對比

    如何快速實現CAN總線故障定位?

    快速實現CAN總線故障定位是汽車電子和工業自動化領域中的一個重要課題。CAN總線作為一種重要的通信網絡,其穩定性和可靠性對于整個系統的運行至關重要。
    的頭像 發表于 04-09 15:46 ?860次閱讀

    理想5C超充樁啟用,12分鐘可充電500公里

    據悉,目前每個超充站配有1-2根理想5C樁和2-7根理想2C樁供顧客選擇。擁有理想MEGA車輛的消費者,若使用理想5C樁,只需短短12分鐘便可達到充電500公里的效果;而如果選擇2C樁,僅需25
    的頭像 發表于 03-01 11:19 ?1223次閱讀

    如何利用AWFlow快速使用無線模組ZM602

    在物聯網快速發展的今天,無線模組成為連接各種設備于互聯網的關鍵組件。本文旨在介紹如何通過EsDA開發套件快速使用本公司自研的ZM602無線模組的內容。項目簡介無線模組可以使設備通過無線網絡
    的頭像 發表于 01-26 08:25 ?1080次閱讀
    如何利用AWFlow<b class='flag-5'>快速</b>使用無線模組ZM602

    如何基于EsDA開發套件快速使用射頻讀卡器模塊

    無線射頻讀寫卡技術在門禁系統,電子支付領域和物聯網等領域中具有越來越廣泛的應用。本文將基于EsDA開發套件講解如何快速上手并開發射頻讀卡器模塊的相關業務,為開發者大大縮短了學習和開發時間成本。項目
    的頭像 發表于 01-11 08:24 ?717次閱讀
    如何基于<b class='flag-5'>EsDA</b>開發套件<b class='flag-5'>快速</b>使用射頻讀卡器模塊

    車載網絡的ESD保護PESD2CAN24T-Q英文資料

    電子發燒友網站提供《車載網絡的ESD保護PESD2CAN24T-Q英文資料.pdf》資料免費下載
    發表于 01-05 09:29 ?0次下載
    車載網絡的<b class='flag-5'>ESD</b>保護P<b class='flag-5'>ESD2CAN</b>24T-Q英文資料
    主站蜘蛛池模板: 伊人大香线蕉影院在线播放| 欧美性xxx极品| 在线免费观看国产| 日日操夜夜摸| 久久亚洲这里只有精品18| 囯产精品一区二区三区线| 欧美成人精品高清在线观看| 好爽好深太大了再快一点| 成3d漫二区三区四区| 中国xxxxxx片免费播放| 亚洲狠狠网站色噜噜| 色噜噜噜亚洲男人的天堂| 免费观看桶机十分钟| 寂寞护士中文字幕 mp4| 国产精品AV无码免费播放| WWW污污污抽搐喷潮COM| 中文字幕完整高清版| 亚洲欧美一区二区三区久久| 色一欲一性一乱一区二区三区| 嗯啊…跟校草在教室里做h| 九九热这里只有精品2| 国产免费不卡| 国产精品乱人无码伦AV在线A| 成人国产在线不卡视频| JIZZ学生13| 99精品国产在热久久| 制服的微热| 伊在香蕉国产在线视频| 亚洲午夜AV久久久精品影院色戒| 校草让我脱了内裤给全班看| 色欲AV亚洲午夜精品无码| 日本乱hd高清videos| 人成午夜免费视频| 胖老太与人牲交BBWBBW高潮| 嫩草影院未满十八岁禁止入内| 两个奶被男人揉了一个晚上| 久久这里只有精品国产99| 葵司中文第一次大战黑人| 菊地凛子av| 免费毛片观看| 欧美精品色婷婷五月综合|