01.08 ARM-DAPLINK(超强开源arm仿真器)硬件解析

简介:

arm-daplink仿真器是 ARM团队推出的开源仿真器项目,支持仿真接口SWD和JTAG,还有虚拟UART串口,所有arm内核的芯片皆可仿真烧录。支持使用的IDE有MDK和IAR。开源代码托管在了github仓库中,仓库地址:https://github.com/ARMmbed/dapjs

daplink没有一个统一的硬件标准,支持的主控有很多,一般采用NXP或ST的芯片。stlink,jlink等烧录器的硬件都可以刷入固件变为一颗daplink仿真器。由于SWD和JTAG时序完全由IO模拟生成和解码,整个代码架构很清晰,可自由伸缩、修改。定制一个和自己硬件匹配的源码也不难做到,这样即便一个最小系统板也刷成daplink仿真器,下面便来设计一个自己的DAPLINK烧录器。

硬件参考电路:

  • 烧录器主控:stm32f103cxt6
  • USB口:Type-C
  • USB枚举方式:PNP三极管控制低电平枚举
ARM-DAPLINK(超强开源arm仿真器)硬件解析

原理图

电路模块:

  • USB:

USB连接器电路,由三极管枚举控制1.5K上拉电阻,数据线串联两颗22R的匹配电阻,采用Type-C接口可正反插使用。

  • MCU-POWER:

USB口5V输入接入一颗1206封装的自恢复保险丝,用于避免电路短路引起的损坏。然后使用一颗RT9193-LDO(5V-3.3V)给仿真器电路供电。

  • MCU-CTRL:

stm32f103cxt6芯片最小系统电路。包含复位和boot选项等

  • XTAL:

8MHZ晶振,给主控芯片提供驱动时钟

  • DOWNLOAD:

预留GND,SWD,CLK三线用于给仿真器刷入固件使用

  • STATUS-LED:

两颗LED指示灯用于显示DAPLINK仿真器的工作状态

  • CONNECT:

仿真器对外连接端口,包含虚拟串口、SWD接口、对外供电接口(5V,3.3V)等

关键IO清单:

  • LED-COM:连接成功指示灯
  • LED-RUN:正在运行指示灯
  • SERIALRX/TX:虚拟串口接口(需要连接到芯片的UART口上)
  • SWDIO_OUT/IN:SWD数据端口(两线中间串联一颗100R电阻)
  • SWCLK:SWD时钟端口
  • USB_ENUM:USB枚举控制
  • RESET:复位端口(正常下载这个可以不使用)


分享到:


相關文章: