博客专栏

EEPW首页 > 博客 > 「电路DIY」CAN转USB接口

「电路DIY」CAN转USB接口

发布人:电子资料库 时间:2023-03-06 来源:工程师 发布文章

image.png


这个项目开始于一个需要建立一个简单的设备来监控CAN总线。我选择NUC140LC1CN 32K Cortex-M0微处理器Nuvoton主要原因是它有USB和CAN外设。

特征
  • 简单的设计

  • 兼容LAWICEL CANUSB协议

  • 将自身暴露为USB FTDI设备

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

  • 具有内部FIFO CAN消息缓冲区

  • 从USB端口自供电

  • 用于固件更新的闪存驻留USB大容量存储设备(MSD)引导加载程序

  • 固件可从下面的链接下载

示意图

启用NUC140与CAN总线通信的CAN外围设备需要CAN收发器。这个TJA1051TNXP的芯片解决了这个问题。这个NUC140该装置能够从5V电源供电,不需要额外的3.3V电压调节器。这种方便的组合使得实现CAN总线接口的任务变得简单。有三个状态指示灯:

  • D1是到主机的USB连接状态

  • D2显示CAN总线活动

  • D3表示CAN错误

这个NUC140没有内置的引导加载程序,唯一的编程方法是使用ARM串行线调试(SWD)接口(J2连接器)和Nuvoton ICP编程器。是的,如果bootloader已经被预先编程,它可以被激活。这就是JP1 jumper的目的。在接口通电之前连接JP1将触发引导加载程序。

image.png


引导加载程序

这个NUC140LC1号闪存分为两部分,一部分用于执行32K大小的用户程序代码(APROM),另一部分用于引导加载程序(LDROM)。LDROM的大小只有4K,这使得构建一个功能齐全的USB引导加载程序成为一个挑战。我使用了Nuvoton提供的大容量存储设备(MSD)引导加载程序。连接跨接线JP1将启动它。因此,在主机文件系统中应该可以看到大小为32KB的可移动驱动器。只需复制粘贴或拖放CAN-USB固件更新到引导加载程序驱动器。拔下USB电缆,拔下跳线并重新插入。新固件更新现在应该正在运行。

image.png


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

编程NUC140处理器需要Nuvoton的Nu Link编程器和Nuvoton ICP编程应用. 我决定用NUC140演示板(NuTiny-SDK-140)可从Digi Key获得。它有两部分,一部分是NUC140芯片和Nu-Link编程器本身。该板甚至穿孔,以分离Nu-Link部分。实际上,你可以只围绕NuTiny-SDK-140演示板来构建这个设备,只需要额外的can收发器芯片。

image.png


连接Nu-Link后,NUC140的编程并不复杂。这里的关键问题是选择从LDROM加载而不是从APROM加载(在配置设置中),以获得USB引导加载程序功能。

image.png


软件

ICEL与USB协议兼容,与USB接口兼容。我用CAN-USB接口测试了两个应用程序:

CANHacker V2.00.02

这个CANHacker应用程序是免费软件。我找不到它的手册,但使用它是简单和直接的。

image.png


CAN监视器Pro V2.2

本申请由WGSoft公司. 网站上大部分是德语注释。

image.png


PCB设计
image.png


印刷电路板
image.png


image.png



*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词: 电子 USB

相关推荐

技术专区

关闭