J-Link调试器VTref引脚功能详解及SWD接口时间测量应用
J-Link调试器VTref引脚功能详解及SWD接口时间测量应用
J-Link是一款常用的嵌入式系统调试器,广泛应用于ARM Cortex-M系列微控制器的开发。在使用J-Link时,了解其各个引脚的功能非常重要。本文将重点介绍J-Link的VTref引脚和SWD接口的使用。
VTref引脚功能
J-Link的1脚称为VTref,从字面意思可以理解为参考电压。这个引脚的作用是为J-Link内部的缓冲芯片供电,具体来说:
- VTref是目标参考电压。
- J-Link使用它来检查目标是否具有功率。
- 为输入比较器创建逻辑电平参考。
- 控制向目标输出逻辑电平。
- 它通常由目标板的Vdd供电。
需要注意的是,VTref信号不应通过串联电阻器连接。如果目标硬件接口连接器(例如在生产环境中)无法直接连接,SEGGER提供了一个称为J-Link电源适配器的特殊适配器,可以用于此类目的。更多信息可以在SEGGER网站上找到。
为了保证正确的调试功能,至少需要将GND引脚(引脚4、6、8、10、12、14*、16*、18*、20*)连接到目标板的GND。在某些型号(如J-Link ULTRA)上,这些引脚保留用于固件扩展目的。在正常调试环境中,它们可以保持打开或连接到GND。
J-Link-V9的特殊说明
市场上销售的J-Link-V9存在一些设计上的差异。根据测试:
- 默认状态下,Pin1输出3.3V,Pin19输出4.95V。
- 使用J-Link Commander命令行输入
power off
后,Pin1电压变为0.96V。
这表明J-Link-V9的VTref引脚设计与官方文档描述有所不同。使用时需要注意,建议仅连接CLK、DIO和GND,避免连接VCC。
J-Link接口定义
下面是J-Link的标准接口定义:
仿真器端口 | 连接目标板 | 备注 |
---|---|---|
1. VCC | MCU电源VCC | VCC |
2. VCC | MCU电源VCC | VCC |
3. TRST | TRST | Test ReSeT/ pin |
4. GND | GND或悬空 | |
5. TDI | TDI | Test Data In pin |
6. GND | GND或悬空 | |
7. TMS, SWIO | TMS, SWIO | JTAG:Test Mode State pin ; SWD: Data I/O pin |
8. GND | GND或悬空 | |
9. TCLK, SWCLK | TMS, SWCLK | JTAG: Test Clock pin ; SWD: Clock pin |
10. GND | GND或悬空 | |
11. RTCK | RTCK | |
12. GND | GND或悬空 | |
13. TDO | TDO | Test Data Out pin |
14. GND | GND或悬空 | |
15. RESET | RESET | RSTIN pin |
16. GND | GND或悬空 | |
17. NC | NC | |
18. GND | GND或悬空 | |
19. NC | NC | |
20. GND | GND或悬空 |
SWD接口的时间测量应用
在嵌入式开发中,经常需要测量代码执行时间或事件触发时间。传统方法是通过反转电平并使用示波器测量。然而,这种方法在处理多个时间信号或周期性动作时可能不够理想。
ARM Cortex-M系列芯片引入了SWD调试接口,它由四根线组成:SWO、SWDIO、SWCLK和GND。其中,SWDIO和SWCLK构成了基本的串行调试接口,而SWO则提供了一个信息输出通道,可以输出指令执行时间或ISR触发事件等信息。
通过SWD接口配合IDE(如IAR),可以获取代码执行时间,从而在某种程度上取代示波器。这种方法在测量复杂波形或短时间间隔时特别有用。