<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

如何自制CAN調試器?

嵌入式情報局 ? 來源:amobbs ? 2024-04-15 11:18 ? 次閱讀


這里推薦一個國外的超級好用的開源工具CANable,有完全開源的軟硬件上位機支持,支持windos和linux Stock can并且都免驅,且支持Python。


而且遠不止于此,經過我不斷探索,在gitlhub各個大神倉庫各種折騰。
我發現這個canable這個項目衍生出了很多開源固件,目前固件和支持的軟件已經極為豐富。


而且主芯片STM32F042/72支持USB DFU,可以通過USB直接更新固件,無縫切換多種上位機。關于STM32上的CAN通信基礎知識,可以參考此文:CAN總線詳解。也可以參考本次10.27第3條推文,演示STM32F103的CAN收發通信過程。

首先先看硬件項目

硬件項目其實叫做candleLight,github鏈接:

https://github.com/HubertD/candleLight] https://github.com/HubertD/candleLight

這個不帶隔離的硬件設計是比較簡單的,就是一塊帶usb和can的stm32f0 + CAN收發器TJA1051/3。


可惜的就是這顆stm32f0芯片現在價格漲得有點離譜了,之前在JLC打樣做了幾塊,主芯片就去到40多大洋,加上pcb和smt,打樣成本差不多投到100左右吧。


后來發現某寶上已經有商家把canable作出產品了,帶隔離的價格也才100多,還帶外殼配件,果斷買了一個試試,某寶搜“開源 canable”就能找到,早知道就不用費勁自己打板了。


但是某寶上買的只提供了默認固件的相關資料,經過我不斷探索,在gitlhub各個大神倉庫各種折騰。


我發現這個canable這個項目衍生出了很多開源固件,目前固件和支持的軟件已經極為豐富,可以說可玩性極高。我甚至懷疑很多某寶和咸魚上的山寨PCAN就是canable換了一個殼子和固件而已?。?!

eee6ffb0-fa1b-11ee-a297-92fbcf53809c.png

pdf原理圖:

https://github.com/HubertD/candleLight/blob/master/export/v1.1/pdf/candleLight-v1.1.pdf

重點還是固件,第一個先說重磅的,PCAN固件!


論壇已經有人分享了,還是這個鏈接:

https://github.com/moonglow/pcan_cantact


我會在附件里打包我編譯好的代碼和二進制文件可以直接USB燒寫

燒寫PCAN固件之后,CANable搖身一變就成了PEAK CAN-USB,直接可以使用PEAK的官方驅動以及軟件(pcan-view/ pcan-explorer 5),甚至基于peak開發的其他二次開發軟件(比如國內的一些新能源車上位機,奇瑞,北汽這些)。


目前使用下來和原裝PCAN的兼容性還是相當不錯的,但是注意不要用于ECU/PLC程序刷新,程序下載到到中途會出錯,這個問題還需要進一步優化。但是想想原裝PCAN動輒2000的價格,100多塊錢的canable加上這個PCAN固件是真的香啊。

ef05aaf0-fa1b-11ee-a297-92fbcf53809c.png

ef169d24-fa1b-11ee-a297-92fbcf53809c.png

ef21bd8a-fa1b-11ee-a297-92fbcf53809c.png

介紹第二個固件是canable的默認固件candleLight_fw
https://github.com/candle-usb/candleLight_fw

這個固件功能也蠻強大,采用的winUSB的免驅方案,USB bulk雙緩沖的模式,實際傳輸性能遠超那些虛擬串口的USB-CAN。


支持windos和linux Stock can并且都免驅,且支持Python。
linux下使用和PCAN一樣都是內核自帶驅動,支持SocketCAN 非常適合用一些開源的can的工具和庫進行二次開發。

candleLight固件的圖形化上位機叫做cangaroo。
cangaroo是candleLight固件專用的、簡單易用的can總線調試軟件,麻雀雖小五臟俱全,對于一般的can調試開發完全夠用,而且專門針對汽車逆向工程增加了通過can id分類接收到的can數據幀,并且當某個id的數據幀活躍時會進行高亮顯示以便于觀察分析。

ef46fbe0-fa1b-11ee-a297-92fbcf53809c.png


? 支持Windos/Linux (Ubuntu發行版本)
? 最大支持同時接入32個CANable模塊
? 數據幀時間戳
? 支持數據日志保存
? 支持CAN DBC 文件協議解析
? 軟件綠色免安裝

candleLight固件還支持BUSMASTER(這個也就很厲害了,用過的都懂),BUSMASTER是一款功能強大的專業級CAN總線調試軟件,不僅能夠應對一般的CAN調試開發,還一個用于設計,監測,分析與模擬CAN網絡的開源的開放式總線PC軟件。BUSMASTER已被RBEI概念化,設計與開發,同時基于CANvas軟件工具。

不過candleLight固件需要下載增加BUSMASTER增加了cantact設備支持的版本。

ef59c540-fa1b-11ee-a297-92fbcf53809c.png

ef6c57aa-fa1b-11ee-a297-92fbcf53809c.png

虛擬串口轉can的Stock slcan固件
對于很多不熟悉usb編程,還是需要串口協議轉can的小伙伴,slcan固件就正好滿足需求,CANable通過燒寫slcan固件。該固件枚舉為Linux、Mac和Windows上的標準串行設備。CANable可以很容易地通過重新燒寫固件,在Linux中枚舉為本地can設備,在Windows中枚舉為通用串口設備。

在Linux上,CANable原生地與slc一起工作,因此您可以使用所有標準的can-utils命令行工具,甚至Wireshark來與總線交互。

在Windows和Mac上,CANable可以和cantact-app一起工作。這是一個簡單的Java應用程序,可以實時顯示CAN流量,并允許您在總線上傳輸消息。

固件燒寫方式

web在線燒寫固件
如果只是想copy一個來用用,不需要去自己編譯燒寫,可以直接用STM32的USB DFU通過USB下載固件,我會在附件資料提供相應的軟件和文檔說明,并提供編譯好的幾個固件。

canable還提供了一個web的燒寫頁面:

https://canable.io/updater/

這個真的超級方便了,意味著你不需要任何燒寫器或者準備任何固件編譯的環境,只要有谷歌瀏覽器,就能隨時隨地切換固件,是不是很強大!

用谷歌瀏覽器打開這個頁面,把canbale的DFU撥碼開關按下去,在用USB連接電腦。選擇需要燒寫的的固件類型,再點connect and update就可以直接通過網頁進行燒寫。

注:這個網頁上只能燒寫canable的官方固件,自行編譯的固件無法燒寫(現在該頁面已經支持燒寫PCAN固件了!給力)。

USB DFU-util燒寫固件
下載dfu-util-0.9-win64:

https://liquidtelecom.dl.sourceforge.net/project/dfu-util/dfu-util-0.9-win64.zip

解壓后,將編譯好的.bin文件拷貝到解壓后的目錄
創建一個文本文件,拷貝以下內容進去,注意candleLight_fw.binary 為要燒寫的bin文件,需要改成需要燒寫的文件名。然后把這個文本文件保存為flash.cmd

dfu-util --dfuse-address -d 0483:df11 -c 1 -i 0 -a 0 -s 0x08000000 -D candleLight_fw.binary
cmd /k

canbale的DFU撥碼開關按下去,連接電腦USB線會識別成“STM32 BOOTLOADER”

如果識別失敗需要下載安裝驅動,

https://canable.io/utilities/ImpulseRC_Driver_Fixer.exe

識別成功后,雙擊運行之前創建的flash.cmd文件,會看到開始燒寫的進度,如下就是燒寫完成了

Download        [=========================] 100%        36108 bytes
Download done.
File downloaded successfully

審核編輯:黃飛

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

    關注

    56

    文章

    2485

    瀏覽量

    460032
  • 調試器
    +關注

    關注

    1

    文章

    292

    瀏覽量

    23436

原文標題:可以自制一個CAN調試器了~

文章出處:【微信號:嵌入式情報局,微信公眾號:嵌入式情報局】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    arm調試器有哪些應用范圍

    自己用過的arm調試器經歷了四個階段單片機使用的調試器,玩stm32 過程中使用調試器下載程序時在網上買了個st-link 的調試器,windows 和 linux 系統下都可以用。A
    發表于 07-16 07:58

    如何自制一個基于jlink的無線調試器?

    如何自制一個基于jlink的無線調試器?
    發表于 01-18 06:47

    請問如何用立創EDA自制ST-Link V2.1調試器?

    請問如何用立創EDA自制ST-Link V2.1調試器?
    發表于 02-21 06:39

    基于RT-Thread CAN驅動框架實現開發板和CAN調試器進行CAN通信驗證

    1、基于rt-thread CAN驅動框架通信評測步驟  本章通過ENV環境配置M2354片上外設CAN的功能,Keil Arm編譯,基于rt-thread CAN驅動框架實現開發板和CAN
    發表于 11-15 16:27

    基于CAN的程序下載器與通訊調試器設計

    本文介紹了一種能夠進行程序下載的CAN 通訊調試器的設計。它既能對支持CAN下載或UART 下載的T89C51CC0X 芯片進行在線編程,又能對CAN 總線上的節點進行通訊功能的
    發表于 05-27 15:00 ?36次下載

    基于CAN的程序下載器與通訊調試器設計

    基于CAN的程序下載器與通訊調試器設計 在電子產品的各種通訊方式中,CAN(Controller Area Network)總線以其高可靠性、實時性、傳輸距離遠的特點得到廣泛的應用,已經
    發表于 10-30 10:34 ?1217次閱讀
    基于<b class='flag-5'>CAN</b>的程序下載器與通訊<b class='flag-5'>調試器</b>設計

    基于CAN的程序下載器與通訊調試器設計

    基于CAN的程序下載器與通訊調試器設計 1. 引言在電子產品的各種通訊方式中,CAN(Controller Area Network)總線以其高可靠性、實時性、傳輸距離遠的特點得到廣泛
    發表于 11-04 09:50 ?1183次閱讀
    基于<b class='flag-5'>CAN</b>的程序下載器與通訊<b class='flag-5'>調試器</b>設計

    基于CodeWarrior集成開發環境的調試器原理

    本文首先闡述了調試器設計的基本原理,調試器的類型,調試器的結構等基本概念。然后介紹了斷點設置,單步跟蹤,執行控制和符號表讀寫的原理;以及硬件和操作系統對跟蹤調試
    發表于 12-27 15:31 ?65次下載
    基于CodeWarrior集成開發環境的<b class='flag-5'>調試器</b>原理

    基于SOPC的M8051嵌入式調試器設計

    在嵌入式系統開發過程中,上位機通過調試器完成對目標機軟件的開發、下載、調試。早期的調試器與上位機之間通過串口或并口通信,存在速度慢、通用性差等缺陷。
    發表于 10-15 11:02 ?2243次閱讀
    基于SOPC的M8051嵌入式<b class='flag-5'>調試器</b>設計

    調試器模塊(可按鍵調試

    飛思卡爾單片機 調試器模塊(可按鍵調試)源程序
    發表于 01-13 15:18 ?11次下載

    使用在PICkit? 3線調試器

    使用在PICkit? 3線調試器
    發表于 09-22 14:53 ?5次下載
    使用在PICkit? 3線<b class='flag-5'>調試器</b>

    PICKIT2硬件調試器的使用教程資料說明

    PICkit 2 編程器除了可以燒寫程序以外,還可以與MPLAB IDE集成開發環境相配合,作為硬件的調試器使用,這也是我們為什么稱PICkit 2為編程器/調試器的原因。MPLAB IDE 允許
    發表于 08-07 17:33 ?13次下載
    PICKIT2硬件<b class='flag-5'>調試器</b>的使用教程資料說明

    EE-104:使用VisualDSP調試器設置流

    EE-104:使用VisualDSP調試器設置流
    發表于 04-29 14:02 ?6次下載
    EE-104:使用VisualDSP<b class='flag-5'>調試器</b>設置流

    串口/網絡數據調試器

    串口/網絡數據調試器
    發表于 05-09 14:59 ?0次下載

    智嵌物聯USB-CAN調試器使用方法介紹

    技術人員在開發調試CAN總線時,往往需要分析CAN報文數據,這時就需要一個PC機上的CAN調試器了。智嵌物聯ZQWL研發的
    的頭像 發表于 02-25 15:04 ?1075次閱讀
    智嵌物聯USB-<b class='flag-5'>CAN</b><b class='flag-5'>調試器</b>使用方法介紹
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>