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:復位端口(正常下載這個可以不使用)


分享到:


相關文章: