<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          分享一個(gè)開源的USB-CAN工具!

          共 3723字,需瀏覽 8分鐘

           ·

          2022-08-04 07:01

              關(guān)注、星標(biāo)公眾號(hào),直達(dá)精彩內(nèi)容

          文章出處:yefeng022

          照理來說,USB-CAN這種東西應(yīng)該已經(jīng)被做的爛大街的工具,國(guó)內(nèi)居然沒有一個(gè)拿得出手的開源方案。某立功和PCAN動(dòng)輒2000+的價(jià)格也是離譜。淘寶上各種虛擬串口方案、替換dll兼容某立功軟件的各種方案....價(jià)格都倒是便宜,性能和可靠性嘛.......就不多說了,上位機(jī)軟件也是爛的一塌糊涂。

          這里推薦一個(gè)國(guó)外的炒雞好用的開源工具CANable,ta有完全開源的軟硬件及上位機(jī)支持,支持windos和linux Stock can并且都免驅(qū),且支持Python。

          而且遠(yuǎn)不止于此,經(jīng)過我不斷探索,在gitlhub各個(gè)大神倉庫各種折騰。
          我發(fā)現(xiàn)這個(gè)canable這個(gè)項(xiàng)目衍生出了很多開源固件,目前固件和支持的軟件已經(jīng)極為豐富。

          而且主芯片STM32F042/72支持USB DFU,可以通過USB直接更新固件,無縫切換多種上位機(jī)。

          先上項(xiàng)目首頁,canbale項(xiàng)目官網(wǎng):
          https://canable.io/


          首先先看硬件項(xiàng)目


          硬件項(xiàng)目其實(shí)叫做candleLight,github鏈接:
          https://github.com/HubertD/candleLight] https://github.com/HubertD/candleLight

          這個(gè)不帶隔離的硬件設(shè)計(jì)是比較簡(jiǎn)單的,就是一塊帶usb和can的stm32f0 + CAN收發(fā)器TJA1051/3。

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

          后來發(fā)現(xiàn)某寶上已經(jīng)有商家把canable作出產(chǎn)品了,帶隔離的價(jià)格也才100多,還帶外殼配件,果斷買了一個(gè)試試,某寶搜“開源 canable”就能找到,早知道就不用費(fèi)勁自己打板了

          但是某寶上買的只提供了默認(rèn)固件的相關(guān)資料,經(jīng)過我不斷探索,在gitlhub各個(gè)大神倉庫各種折騰。

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

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

          重點(diǎn)還是固件,第一個(gè)先說重磅的,PCAN固件

          論壇已經(jīng)有人分享了,還是這個(gè)鏈接:
          https://github.com/moonglow/pcan_cantact

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

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

          目前使用下來和原裝PCAN的兼容性還是相當(dāng)不錯(cuò)的,但是注意不要用于ECU/PLC程序刷新,程序下載到到中途會(huì)出錯(cuò),這個(gè)問題還需要進(jìn)一步優(yōu)化。但是想想原裝PCAN動(dòng)輒2000的價(jià)格,100多塊錢的canable加上這個(gè)PCAN固件是真的香啊。


          介紹第二個(gè)固件是canable的默認(rèn)固件candleLight_fw
          https://github.com/candle-usb/candleLight_fw

          這個(gè)固件功能也蠻強(qiáng)大,采用的winUSB的免驅(qū)方案,USB bulk雙緩沖的模式,實(shí)際傳輸性能遠(yuǎn)超那些虛擬串口的USB-CAN。

          支持windos和linux Stock can并且都免驅(qū),且支持Python。
          linux下使用和PCAN一樣都是內(nèi)核自帶驅(qū)動(dòng),支持SocketCAN 非常適合用一些開源的can的工具和庫進(jìn)行二次開發(fā)。

          candleLight固件的圖形化上位機(jī)叫做cangaroo。
          cangaroo是candleLight固件專用的、簡(jiǎn)單易用的can總線調(diào)試軟件,麻雀雖小五臟俱全,對(duì)于一般的can調(diào)試開發(fā)完全夠用,而且專門針對(duì)汽車逆向工程增加了通過can id分類接收到的can數(shù)據(jù)幀,并且當(dāng)某個(gè)id的數(shù)據(jù)幀活躍時(shí)會(huì)進(jìn)行高亮顯示以便于觀察分析。

          ?        支持Windos/Linux (Ubuntu發(fā)行版本)
          ?        最大支持同時(shí)接入32個(gè)CANable模塊
          ?        數(shù)據(jù)幀時(shí)間戳
          ?        支持?jǐn)?shù)據(jù)日志保存
          ?        支持CAN DBC 文件協(xié)議解析
          ?        軟件綠色免安裝

          candleLight固件還支持BUSMASTER(這個(gè)也就很厲害了,用過的都懂),BUSMASTER是一款功能強(qiáng)大的專業(yè)級(jí)CAN總線調(diào)試軟件,不僅能夠應(yīng)對(duì)一般的CAN調(diào)試開發(fā),還一個(gè)用于設(shè)計(jì),監(jiān)測(cè),分析與模擬CAN網(wǎng)絡(luò)的開源的開放式總線PC軟件。BUSMASTER已被RBEI概念化,設(shè)計(jì)與開發(fā),同時(shí)基于CANvas軟件工具。

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

          虛擬串口轉(zhuǎn)can的Stock slcan固件
          對(duì)于很多不熟悉usb編程,還是需要串口協(xié)議轉(zhuǎn)can的小伙伴,slcan固件就正好滿足需求,CANable通過燒寫slcan固件。該固件枚舉為L(zhǎng)inux、Mac和Windows上的標(biāo)準(zhǔn)串行設(shè)備。CANable可以很容易地通過重新燒寫固件,在Linux中枚舉為本地can設(shè)備,在Windows中枚舉為通用串口設(shè)備。

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

          在Windows和Mac上,CANable可以和cantact-app一起工作。這是一個(gè)簡(jiǎn)單的Java應(yīng)用程序,可以實(shí)時(shí)顯示CAN流量,并允許您在總線上傳輸消息。


          固件燒寫方式


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


          canable還提供了一個(gè)web的燒寫頁面:
          https://canable.io/updater/

          這個(gè)真的超級(jí)方便了,意味著你不需要任何燒寫器或者準(zhǔn)備任何固件編譯的環(huán)境,只要有谷歌瀏覽器,就能隨時(shí)隨地切換固件,是不是很強(qiáng)大!

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


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

          USB DFU-util燒寫固件
          下載dfu-util-0.9-win64:
          https://liquidtelecom.dl.sourceforge.net/project/dfu-util/dfu-util-0.9-win64.zip

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

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

          canbale的DFU撥碼開關(guān)按下去,連接電腦USB線會(huì)識(shí)別成“STM32 BOOTLOADER”
          如果識(shí)別失敗需要下載安裝驅(qū)動(dòng),
          https://canable.io/utilities/ImpulseRC_Driver_Fixer.exe

          識(shí)別成功后,雙擊運(yùn)行之前創(chuàng)建的flash.cmd文件,會(huì)看到開始燒寫的進(jìn)度,如下就是燒寫完成了
          Download [=========================] 100% 36108 bytesDownload done.File downloaded successfully

          版權(quán)聲明:本文來源網(wǎng)絡(luò),免費(fèi)傳達(dá)知識(shí),版權(quán)歸原作者所有。如涉及作品版權(quán)問題,請(qǐng)聯(lián)系我進(jìn)行刪除。

          ????????????????  END  ???????????????

          關(guān)注我的微信公眾號(hào),回復(fù)“加群”按規(guī)則加入技術(shù)交流群。


          點(diǎn)擊“閱讀原文”查看更多分享,歡迎點(diǎn)分享、收藏、點(diǎn)贊、在看。

          瀏覽 193
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  女人高潮av | 丁香五月六月婷婷 | 操综合| 国产黄色在线免费观看 | 天天撸夜夜爽 |