【車載開發系列】常見單片機調試接口的區別
【車載開發系列】常見單片機調試接口的區別
- 【車載開發系列】常見單片機調試接口的區別
- 一. JTAG協議
- 二. SWD接口
- 三. RDI接口
- 四. 仿真器
- 1)J-Link仿真器
- 2)ULink仿真器
- 3)ST-LINK仿真器
- 五. SWD / JTAG 的各種區別
- 六. 信號線說明
一. JTAG協議
JTAG Joint Test Action Group,聯合測試行動組,是一種用于測試和調試電路板上的數字電路的標準化接口
標準的JTAG接口是4線:TMS、 TCK、TDI、TDO,分別為模式選擇、時鐘、數據輸入和數據輸出線。 一般有20個引腳。
JTAG的三大功能:
- 下載器,即下載軟件到FLASH里。
- DEBUG,跟醫生的聽診器似的,可探聽芯片內部小心思。
- 邊界掃描,可以訪問芯片內部的信號邏輯狀態,還有芯片引腳的狀態等等。
線 | 英文 | 說明 |
---|---|---|
TMS | Test Mode Select | 測試模式選擇,TMS用來設置JTAG接口處于某種特定的測試模式 |
TCK | Test Clock | 測試時鐘輸入 |
TDI | Test Data In | 測試數據輸入,數據通過TDI引腳輸入JTAG接口 |
TDO | Test Data Out | 測試數據輸出,數據通過TDO引腳從JTAG接口輸出 |
二. SWD接口
串行調試(Serial Wire Debug),需要4個(或者5個)引腳,結構簡單,但是使用范圍沒有JTAG廣泛,主流調試器上也是后來才加的SWD調試模式。
SWCLK(Serial Wire Clock)和SWDIO(Serial Wire Data Input/Output)是調試接口SWD(Serial Wire Debug)中的兩個關鍵信號線,用于實現微控制器與調試器之間的通信。
信號線 | 英文 | 說明 |
---|---|---|
SWDIO | Serial Wire Clock | 串行數據線,用于數據的讀出和寫入 |
SWDCLK | Serial Wire Data Input/Output | 串行時鐘線,提供所需要的時鐘信號 |
對于SWDIO引腳,雖然內部有一定的上拉能力,但如果線路較長、環境噪聲較大,或者需要提高通信穩定性時,外部上拉電阻可以增強信號質量,尤其是在SWDIO作為輸入時,外部上拉電阻能夠提供一個清晰的高電平狀態。
對于SWCLK引腳,通常會建議添加外部下拉電阻,尤其是在線路沒有被驅動時,下拉電阻可以確保時鐘信號有一個穩定的低電平狀態,防止線路浮動造成不確定狀態。
三. RDI接口
它也叫遠程調試接口(Remote Debug Interface),是ARM公司提出的標準調試接口,主要用于ARM芯片的仿真,由于各個IDE廠商使用的調試接口各自獨立,硬件無法進行跨平臺的調試。
現在眾多的IDE廠家都逐步采用標準RDI作為ARM仿真器的調試接口,因此使跨平臺的硬件調試成為可能。
EasyJTAG由于使用標準RDI調試接口,因此在任何使用標準RDI接口的IDE調試環境中都可以使用,例如ARM公司的ADS1.2/IAR公司的EWARM 3.30 。
四. 仿真器
1)J-Link仿真器
J-Link是德國SEGGER公司推出基于JTAG的仿真器。
它有一個小型USB到JTAG的轉換盒,其連接到計算機用的是USB接口,而到目標板內部用的還是JTAG協議。
JTAG協議轉換盒,即一個小型USB到JTAG的轉換盒,其連接到計算機用的是USB接口,而到目標板內部用的還是JTAG協議。
它完成了一個從軟件到硬件轉換的工作。
JLINK是一個通用的開發工具,可以用于KEIL、IAR、ADS 等平臺。速度,效率,功能都很好,是眾多仿真器里功能最強悍的存在
2)ULink仿真器
ULINK是ARM/KEIL公司推出的仿真器,目前網上可找到的是其升級版本,ULINK2和ULINK Pro仿真器。
ULINK/ULINK2可以配合Keil軟件實現仿真功能,并且僅可以在Keil軟件上使用,
增加了串行調試(SWD)支持,返回時鐘支持和實時代理等功能。
開發工程師通過結合使用RealView MDK的調試器和ULINK2,可以方便的在目標硬件上進行片上調試(使用on-chip JTAG,SWD和OCDS)、Flash編程。
要注意的是,ULINK是KEIL公司開發的仿真器,專用于KEIL平臺下使用,ADS、IAR下不能使用。
3)ST-LINK仿真器
ST-LINK是專門針對意法半導體STM8和STM32系列芯片的仿真器。
ST-LINK /V2指定的SWIM標準接口和JTAG / SWD標準接口,它的主要功能如下:
功能 | 功能說明 |
---|---|
編程功能 | 可燒寫FLASH ROM、EEPROM、AFR等 |
仿真功能 | 支持全速運行、單步調試、斷點調試等各種調試方法,可查看IO狀態,變量數據等 |
仿真性能 | 采用USB2.0接口進行仿真調試,單步調試,斷點調試,反應速度快 |
編程性能 | 采用USB2.0接口,進行SWIM / JTAG / SWD下載,下載速度快 |
五. SWD / JTAG 的各種區別
(1)共享引腳
SWD 的引腳在一定條件下可以和 JTAG 引腳復用
(2) SWD 協議的特點:
使用引腳更少,只需 SWDIO 和 SWCLK 兩個引腳
SWD 具有特殊功能,例如通過其 I / O 線打印調試信息
在高速大數據情況下,SWD整體性能比JTAG更好。
只能用于ARM內核的單片機。
(3)JTAG 協議的優勢:
不限于ARM內核單片機,能支持更多單片機程序調試和下載
占用引腳數比較多,比較占用板子尺寸。
六. 信號線說明
信號線 | 說明 |
---|---|
GND | GND是電線接地端的簡寫。代表地線或0線 |
KL30 | 蓄電池供電電壓,俗稱常電(它表示蓄電池的正極) |
KL31 | 蓄電池供電電壓(它表示蓄電池的負極) |
KL15 | 點火信號 |
SWD | Serial Wire Debug 串行調試接口,使用了4個引腳 |
VCC | Volt Current Condenser 電路的供電電壓 |
VDD | 芯片的工作電壓 |
VOUT | Output Voltage 輸出電壓 |