具體描述
				
				
					
內容簡介
     《單闆級JTAG測試技術》是一本係統論述單闆級JTAG測試技術的專著。內容包括:基於IEEEl149.1標準的邊界掃描測試、可測性設計和測試功能及串行測試矢量;內建自測試和仿真測試;基於IEEEl687標準的集成電路測試技術發展趨勢。
  《單闆級JTAG測試技術》適閤於從事集成電路開發的工程技術人員閱讀,對於電子測量、通信工程和電路係統學科的學生,也有一定的參考作用。     作者簡介
     王承,1976生,江蘇揚州人,博士。現任職於中興通訊股份有限公司,主要從事單闆級JTAG測試技術的研發、推廣和生産應用工作。研究方嚮:集成電路測試、模式識彆、人工智能和故障診斷等。
  
  劉治國,1977生,湖南益陽人,碩士。現任職於工業和信息化部電子第五研究所,主要從事元器件檢測和試驗工作。研究方嚮:集成電路可靠性評價和電子元器件檢測技術。     目錄
   第1章 測試的基本概念
1.1 數字電路測試
1.1.1 測試
1.1.2 測試分類
1.1.3 數字電路分類
1.2 故障及故障模型
1.3 算法
1.4 測試覆蓋率和故障檢齣率
1.5 測試矢量
1.5.1 組閤電路的測試矢量生成
1.5.2 時序電路的測試矢量生成
1.6 可測性
1.6.1 可控性
1.6.2 可觀性
1.6.3 可測性設計方法
第2章 單闆級.ITAG測試
2.1 背景介紹
2.2 傳統單闆測試方法的睏難
2.2.1 在綫測試
2.2.2 光學測試
2.2.3 功能測試
2.3 生産製造應用
2.4 JTAG測試技術
2.5 單闆級JTAG測試
……
第3章 IEEE1149.X標準
第4章 單闆級邊界掃描可測性設計
第5章 邊界掃描測試技術應用
第6章 串行矢量格式
第7章 內建自測試技術
第8章 片上仿真測試
第9章 嵌入測試
參考文獻      精彩書摘
     《單闆級JTAG測試技術》:
  9)Exit2-DR(第二次數據退齣)
  這是一個暫態過程。在該狀態下,如果TMS為“1”,當TCK上升沿時,掃描過程結束,TAPC進人數據更新(Update-DR)狀態;如果TMS為“0”,當TCK上升沿時,TAPC進入數據移位(Shift-DR)狀態。
  所有選定的測試數據寄存器,保持原先的狀態不變。在該狀態下,測試指令也不會變化。
  10)Update-DR(數據更新)
  一些測試數據寄存器帶有鎖存並行輸齣,針對特定測試指令響應(如EXTEST、INTEST、RUNBIST),當數據移入到相連的移位寄存器路徑時,可防止在並行輸齣端的變化。當進入到數據更新(Update-DR)狀態,在TCK下降沿,來自於移位寄存器路徑的數據,被鎖存到這些測試數據寄存器的並行輸齣端。除瞭數據更新(Update-DR)狀態,即在狀態機的其他狀態時,鎖存在並行輸齣端的數據應該一直保持不變,除非是執行瞭自測試操作(如:在測試/空閑態對於特定設計測試指令的響應)。
  所有選定的測試數據寄存器,保持原先的狀態不變。在該狀態下,測試指令也不會變化。如果TMS為“1”,當TCK上升沿時,TAPC進入選擇數據掃描寄存器(Select-DR-Scan)狀態;如果TMS為“0”,當TCK上升沿時,TAPC進入測試/空閑(Run-Test/Idle)狀態。
  ……      前言/序言
       
				
				
				
					《硬件調試的利器:JTAG接口深度解析與實踐應用》  內容概要:  本書旨在為讀者提供一套係統、深入的JTAG(Joint Test Action Group)接口技術理論與實踐指南。本書內容聚焦於JTAG接口在嵌入式係統硬件調試、功能測試、固件燒錄及故障診斷等方麵的核心作用,並結閤實際應用場景,詳細闡述瞭JTAG接口的工作原理、電氣特性、協議規範、常用命令集以及在不同硬件平颱上的具體實現與應用技巧。讀者通過本書的學習,將能夠熟練掌握JTAG接口的基本操作,理解其在復雜硬件開發流程中的關鍵地位,並能夠利用JTAG工具解決實際開發過程中遇到的各種硬件問題。  核心內容闆塊:  第一章:JTAG接口基礎     1.1 什麼是JTAG?        JTAG接口的起源與發展曆程:追溯JTAG標準的製定背景,理解其解決工業界硬件測試痛點的初衷。        JTAG接口的基本概念:詳細介紹JTAG作為一個IEEE 1149.1標準,如何實現對電路闆上多個器件的邊界掃描。        JTAG接口在現代電子設計中的重要性:闡述JTAG不僅僅是測試工具,更是調試、固件更新和現場可編程(In-System Programming,ISP)的強大支持。        JTAG與其他調試接口的對比(如UART, SWD):分析JTAG在功能全麵性、調試深度和設備支持方麵的優勢與局限。     1.2 JTAG接口的物理構成        JTAG接口的引腳定義與功能:深入剖析TCK, TMS, TDI, TDO, TRST(可選)這五個核心引腳的電氣特性、信號時序和工作職責。        TCK (Test Clock): 詳細解釋時鍾信號的作用,其頻率對測試和調試速度的影響。        TMS (Test Mode Select): 講解TMS信號如何控製JTAG狀態機的轉換,是JTAG操作的核心控製綫。        TDI (Test Data In): 描述TDI作為數據輸入的通道,如何將指令和測試數據輸入到目標器件。        TDO (Test Data Out): 闡述TDO作為數據輸齣的通道,如何將器件的狀態、測試結果或內存內容輸齣。        TRST (Test Reset, 可選): 講解TRST信號的作用,以及在沒有TRST信號時如何通過TMS/TCK實現JTAG接口的復位。        JTAG接口的常見連接器類型:介紹闆載JTAG Header(如20-pin, 10-pin ARM JTAG, 14-pin JTAG等)的物理規格、間距和布局,以及不同連接器在實際應用中的選擇。        JTAG接口的電氣特性與注意事項:探討JTAG信號的電壓等級、驅動能力、容抗乾擾能力,以及在設計PCB時需要注意的走綫規則和信號完整性問題。     1.3 JTAG接口的工作原理:邊界掃描鏈(Boundary Scan Chain)        邊界掃描寄存器(BSR)的概念:解釋BSR如何位於標準邏輯單元(如IO口、片內總綫)與芯片引腳之間。        BSR的工作模式:詳細介紹BSR如何捕獲輸入信號,如何控製輸齣信號,以及如何與內部邏輯進行數據交換。        串行測試訪問端口(TAP):闡述TAP控製器如何響應TMS和TCK信號,管理BSR和其他測試數據寄存器(TDRs)的狀態轉換。        JTAG狀態機(TAP Controller State Machine):詳細解析TAP狀態機的16個狀態,理解TMS信號如何驅動狀態機的轉換,從而實現對不同測試操作的控製。        JTAG指令寄存器(IR)和數據寄存器(DR):介紹IR如何存儲JTAG指令,DR如何存儲與指令相關的數據。列舉常見的JTAG指令(如EXTEST, SAMPLE/PRELOAD, BYPASS, IDCODE, INTEST等)及其功能。        IDCODE:深入講解IDCODE的作用,如何通過讀取IDCODE來識彆器件製造商、器件類型和版本信息,以及其在器件自動識彆和防僞檢測中的應用。  第二章:JTAG調試器的選擇與連接     2.1 JTAG調試器的類型與分類        硬件JTAG調試器:介紹市麵上常見的商業及開源硬件JTAG調試器,如SEGGER J-Link, Lauterbach Trace32, ST-Link, J-Link OB, USB Blaster (Altera/Intel), Xilinx Platform Cable等。        USB轉JTAG適配器:講解基於FT232H, FT2232H等芯片的通用USB轉JTAG適配器的原理與應用。        軟件仿真器:在某些特定場景下,如何利用軟件模擬JTAG接口進行調試。        ARM CoreSight Debug Access Port (DAP): 介紹ARM芯片上集成的DAP,以及JTAG和SWD協議如何映射到DAP。     2.2 選擇閤適的JTAG調試器        根據目標芯片/平颱選擇:分析不同調試器對特定CPU架構(ARM Cortex-M, Cortex-A, RISC-V, MIPS, x86等)和FPGA廠商(Xilinx, Altera/Intel, Lattice等)的支持程度。        根據調試需求選擇:考慮目標應用是簡單的固件燒錄、實時代碼調試、性能分析還是硬件故障診斷。        根據預算和可用性選擇:分析商業調試器和開源方案的優缺點,以及在項目開發周期內的成本效益。        調試器接口與驅動:講解如何安裝和配置調試器的驅動程序,確保調試器能夠被操作係統和調試軟件正確識彆。     2.3 JTAG接口的物理連接        標準JTAG接口連接:指導讀者如何根據PCB上的JTAG Header,正確連接調試器到目標闆。        非標準/自定義JTAG接口連接:在目標闆沒有標準JTAG Header的情況下,如何通過跳綫或直接焊接連接JTAG信號綫。        TRST信號的處理:詳細說明TRST信號的重要性,以及在沒有TRST信號時如何進行復位。        信號綫長度與質量:強調JTAG信號綫的長度、走綫方式以及是否需要添加匹配電阻/電容對信號完整性的影響。        多器件JTAG鏈的連接:講解如何在同一JTAG鏈上連接多個支持JTAG的器件,以及如何通過軟件配置來選擇目標器件。  第三章:JTAG命令與調試操作     3.1 JTAG命令集詳解        IDCODE指令:如何讀取目標器件的IDCODE,驗證硬件連接的正確性。        BYPASS指令:解釋BYPASS指令的作用,如何通過BYPASS模式快速遍曆JTAG鏈。        EXTEST指令:詳細講解EXTEST指令如何使能邊界掃描,對芯片外部IO進行測試,以及如何檢測電路闆上的連接錯誤(短路、斷路)。        SAMPLE/PRELOAD指令:說明SAMPLE/PRELOAD指令如何捕獲當前IO狀態,以及如何預加載IO輸齣值。        INTEST指令(可選):介紹INTEST指令如何將測試信號輸入到芯片內部邏輯,進行更深入的內部測試。        其他常用指令:介紹如SCAN_NSTRUCTION, SCAN_DATA, RUNBIST等指令的功能。     3.2 常用JTAG調試軟件與工具        商業調試軟件(如J-Flash, Lauterbach TRACE32 scripts, Keil MDK, IAR Embedded Workbench):介紹這些軟件的安裝、配置和基本操作界麵。        開源調試軟件(如OpenOCD, UrJTAG):講解OpenOCD的配置文件(target configuration file)的編寫,如何加載CPU和外設的描述文件。        命令行工具:介紹如何使用命令行工具(如jtagulator, scanchain)進行JTAG鏈的探測和基本操作。        示波器與邏輯分析儀在JTAG調試中的應用:說明如何利用這些工具來觀察JTAG信號的時序,分析信號質量,排查通信問題。     3.3 固件燒錄與更新        使用JTAG進行Bootloader燒錄:講解如何將Bootloader固件燒錄到目標Flash存儲器中。        直接通過JTAG燒錄應用程序:演示如何直接將用戶應用程序固件燒錄到目標MCU/SoC的內存中。        支持的Flash存儲器類型:介紹JTAG燒錄器對NAND Flash, NOR Flash, eMMC, SD卡等不同存儲介質的支持。        燒錄過程中的注意事項:包括擦除、編程、校驗等步驟,以及如何處理燒錄失敗的情況。     3.4 實時代碼調試        斷點設置與執行:如何在源代碼層麵設置斷點,觀察程序執行流程。        變量查看與修改:如何實時查看和修改變量的值,理解程序運行時的數據狀態。        寄存器查看與修改:如何查看和修改CPU核心寄存器、外設寄存器以及內存內容。        內存查看與修改:如何直接查看和修改目標係統的內存區域。        單步執行與步入/步齣:理解程序逐條指令執行的過程,以及函數調用棧的跟蹤。        Watch窗口與錶達式求值:如何配置Watch窗口來持續觀察關鍵變量,並對錶達式進行求值。        調用堆棧(Call Stack)分析:理解程序執行的函數調用路徑。  第四章:JTAG在硬件測試與故障診斷中的應用     4.1 電路闆級測試(Boundary Scan Test)        使用EXTEST指令進行IO端口測試:講解如何通過JTAG控製芯片的IO口輸齣特定電平,驗證外部連接。        檢測短路與斷路:展示如何利用JTAG邊界掃描技術,快速定位電路闆上元器件之間的短路或開路故障。        測試連接性:驗證PCB走綫是否正確連接瞭預期的器件引腳。        自動化測試流程:介紹如何編寫JTAG測試腳本,實現電路闆的自動化功能測試。        與其他測試方法(如ICT)的結閤:分析JTAG測試在ICT(In-Circuit Test)中的補充作用。     4.2 故障定位與根源分析        利用JTAG讀取錯誤狀態寄存器:講解如何通過JTAG訪問芯片內部的錯誤標誌,輔助診斷問題。        內存訪問與分析:通過JTAG讀取關鍵內存區域的內容,分析程序崩潰或異常行為的原因。        調試總綫訪問(如ARM CoreSight ETM/ETB):在支持的情況下,利用JTAG配閤追蹤單元,實現指令流或數據流的追蹤,深入分析係統運行行為。        利用JTAG進行硬件復位與電源監控:在某些調試器上,可以利用JTAG接口實現目標闆的硬件復位,或間接監控電源狀態。     4.3 FPGA開發中的JTAG應用        FPGA配置文件的燒錄:介紹如何通過JTAG接口將Verilog/VHDL編譯生成的比特流文件燒錄到FPGA內部。        FPGA內部邏輯調試:講解如何使用ChipScope (Xilinx) 或 SignalTap (Altera/Intel) 等工具,通過JTAG接口將FPGA內部的信號導齣到ILA/Logic Analyzer中進行實時觀測。        FPGA的在綫配置與調試:演示如何在FPGA係統運行過程中,通過JTAG進行在綫調試和配置修改。  第五章:JTAG技術的進階應用與發展趨勢     5.1 JTAG與SWD(Serial Wire Debug)的比較與互用        SWD協議的優勢(綫少、速度快):分析SWD相較於JTAG在引腳占用和傳輸效率上的優勢。        SWD接口的物理連接:介紹SWD的SWDIO和SWCLK兩個信號綫。        調試器對SWD的支持:講解市麵上主流調試器如何同時支持JTAG和SWD。        在ARM Cortex-M係列中的廣泛應用。     5.2 JTAG在SoC(System-on-Chip)設計中的復雜應用        多核CPU係統的JTAG調試:講解如何管理和調試由多個CPU核心組成的SoC係統。        片上總綫(如AXI, AHB)的調試:如何通過JTAG接口訪問片上總綫的調試模塊,實現對總綫事務的監控和分析。        IP核的集成與調試:如何在復雜的SoC設計中,對各個IP核進行獨立的JTAG調試。     5.3 JTAG的自動化與腳本化        編寫JTAG自動化腳本:深入講解如何使用Python, Tcl等腳本語言,結閤OpenOCD等工具,實現JTAG操作的自動化,提高測試效率。        CI/CD流程中的JTAG集成:探討如何將JTAG測試集成到持續集成/持續部署流程中,實現硬件設計的自動化驗證。     5.4 JTAG技術的新發展與未來展望        JTAG在物聯網(IoT)設備中的應用:探討JTAG在小型化、低功耗IoT設備中的調試挑戰與解決方案。        JTAG在安全領域的應用:例如固件防篡改、安全芯片的調試等。        JTAG與高性能調試技術(如TRACING):分析JTAG在支持高性能追蹤技術方麵的重要性。  適用人群:     嵌入式係統工程師    硬件工程師    FPGA設計工程師    測試工程師    電子技術愛好者    高等院校電子工程、計算機科學相關專業的學生  學習本書的收獲:  通過係統學習本書,讀者將能夠:     深刻理解JTAG接口的工作原理和核心技術。    熟練掌握不同JTAG調試器的連接與配置。    掌握使用JTAG進行固件燒錄、實時代碼調試、硬件測試和故障診斷的各種實用技巧。    具備獨立分析和解決嵌入式硬件開發過程中遇到的JTAG相關問題的能力。    為深入理解更高級的硬件調試和測試技術打下堅實基礎。  本書內容力求深入淺齣,理論結閤實踐,輔以大量的案例分析和操作指導,旨在幫助讀者真正掌握JTAG這一強大而不可或缺的硬件調試利器。