博客專欄

EEPW首頁 > 博客 > 「電路DIY」CAN轉(zhuǎn)USB接口

「電路DIY」CAN轉(zhuǎn)USB接口

發(fā)布人:電子資料庫 時間:2023-03-06 來源:工程師 發(fā)布文章

image.png


這個項目開始于一個需要建立一個簡單的設(shè)備來監(jiān)控CAN總線。我選擇NUC140LC1CN 32K Cortex-M0微處理器Nuvoton主要原因是它有USB和CAN外設(shè)。

特征
  • 簡單的設(shè)計

  • 兼容LAWICEL CANUSB協(xié)議

  • 將自身暴露為USB FTDI設(shè)備

  • 支持CAN 2.0A 11位和CAN 2.0B 29位幀

  • 具有內(nèi)部FIFO CAN消息緩沖區(qū)

  • 從USB端口自供電

  • 用于固件更新的閃存駐留USB大容量存儲設(shè)備(MSD)引導(dǎo)加載程序

  • 固件可從下面的鏈接下載

示意圖

啟用NUC140與CAN總線通信的CAN外圍設(shè)備需要CAN收發(fā)器。這個TJA1051TNXP的芯片解決了這個問題。這個NUC140該裝置能夠從5V電源供電,不需要額外的3.3V電壓調(diào)節(jié)器。這種方便的組合使得實現(xiàn)CAN總線接口的任務(wù)變得簡單。有三個狀態(tài)指示燈:

  • D1是到主機的USB連接狀態(tài)

  • D2顯示CAN總線活動

  • D3表示CAN錯誤

這個NUC140沒有內(nèi)置的引導(dǎo)加載程序,唯一的編程方法是使用ARM串行線調(diào)試(SWD)接口(J2連接器)和Nuvoton ICP編程器。是的,如果bootloader已經(jīng)被預(yù)先編程,它可以被激活。這就是JP1 jumper的目的。在接口通電之前連接JP1將觸發(fā)引導(dǎo)加載程序。

image.png


引導(dǎo)加載程序

這個NUC140LC1號閃存分為兩部分,一部分用于執(zhí)行32K大小的用戶程序代碼(APROM),另一部分用于引導(dǎo)加載程序(LDROM)。LDROM的大小只有4K,這使得構(gòu)建一個功能齊全的USB引導(dǎo)加載程序成為一個挑戰(zhàn)。我使用了Nuvoton提供的大容量存儲設(shè)備(MSD)引導(dǎo)加載程序。連接跨接線JP1將啟動它。因此,在主機文件系統(tǒng)中應(yīng)該可以看到大小為32KB的可移動驅(qū)動器。只需復(fù)制粘貼或拖放CAN-USB固件更新到引導(dǎo)加載程序驅(qū)動器。拔下USB電纜,拔下跳線并重新插入。新固件更新現(xiàn)在應(yīng)該正在運行。

image.png


編程CAN-USB接口和NUTINY-SDK-140

編程NUC140處理器需要Nuvoton的Nu Link編程器和Nuvoton ICP編程應(yīng)用. 我決定用NUC140演示板(NuTiny-SDK-140)可從Digi Key獲得。它有兩部分,一部分是NUC140芯片和Nu-Link編程器本身。該板甚至穿孔,以分離Nu-Link部分。實際上,你可以只圍繞NuTiny-SDK-140演示板來構(gòu)建這個設(shè)備,只需要額外的can收發(fā)器芯片。

image.png


連接Nu-Link后,NUC140的編程并不復(fù)雜。這里的關(guān)鍵問題是選擇從LDROM加載而不是從APROM加載(在配置設(shè)置中),以獲得USB引導(dǎo)加載程序功能。

image.png


軟件

ICEL與USB協(xié)議兼容,與USB接口兼容。我用CAN-USB接口測試了兩個應(yīng)用程序:

CANHacker V2.00.02

這個CANHacker應(yīng)用程序是免費軟件。我找不到它的手冊,但使用它是簡單和直接的。

image.png


CAN監(jiān)視器Pro V2.2

本申請由WGSoft公司. 網(wǎng)站上大部分是德語注釋。

image.png


PCB設(shè)計
image.png


印刷電路板
image.png


image.png



*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: 電子 USB

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉