基於SOPC的通用型JTAG調試器的設計

2021-01-07 電子產品世界

  SOPC技術的發展,給仿真器指出了新的發展方向。所謂SOPC技術,就是指用可編程技術將整個系統放在一塊矽片上。在傳統設計中電路級相互獨立的各個系統被集成到一塊FPGA晶片中。

本文引用地址:http://www.eepw.com.cn/article/267831.htm

  SOPC的可重用性是一種先進的設計思想。為了降低用戶的負擔,避免重複勞動,將一些在數字電路中常用但比較複雜的功能模塊,比如SDRAM控制器等,設計成可修改參數的模塊,用戶在設計系統時可以直接調用這些模塊。這些特定的功能模塊被稱為IPcore(智慧財產權核)。由於IPcore通常是很成熟的,因此降低了開發風險。

  本文利用SOPC技術的特點,設計一種通用型調試器。根據待調試目標板的CPU型號,將相應的調試IPcore和其他通用IPcore一起編譯生成一個嵌入式調試系統,下載到FPGA上,實現一個通用型調試器。在使用同一個硬體系統的情況下,可以選擇不同的調試IPcore來調試不同的CPU,而不同的IPcore可以方便的互相替換。該方法在設計靈活性、開發成本、開發周期、工作性能等方面都具有優越性。具體的實現採用了Cyclone開發板和Altera開發套件。

  1 JTAG調試原理

  目前在線仿真調試器中使用最多的調試方法都是基於JTAG標準。1986年,聯合測試行動組發表了最早的邊界掃描測試規範(Boundary Scan Testing),經不斷改進,1990年被批准為IEEE Std 1149.1a標準,簡稱JTAG標準。現在大多數複雜的IC晶片都帶有JTAG調試接口。本文所討論的調試方法也基於JTAG標準。下面首先簡單介紹一下JTAG調試原理。

  JTAG調試原理的基礎是邊界掃描測試。它通過在晶片的每個I/0腳附加一個邊界掃描單元(BoundaryScan Cell,BSC)以及一些附加的測試控制邏輯來實現。每個BSC有兩個數據通道:一個是測試數據通道——測試數據輸入TDI(Test Data Input)、測試數據輸出TD0(Test Data 0utput);另一個是正常數據通道——正常數據輸入NDI(Normal Data Input)、正常數據輸出ND0(Normal Data Output)。在正常工作狀態,輸入和輸出數據可以自由通過每個BSC,正常工作數據從NDI進,從NDO出。在測試狀態,可以選擇數據流動的通道:對於輸入引腳,可以選擇從NDI或從TDI輸入數據;對於輸出引腳,可以選擇從BSC輸出數據至NDO或至TDO。晶片輸入輸出引腳上的邊界掃描寄存器單元可以相互連接起來,在晶片周圍形成一個掃描鏈。利用邊界掃描鏈就可以控制晶片的輸入,觀察晶片的輸出。一般來說,晶片都提供了若干條掃描鏈來完成測試功能。例如ARM7TDMI核提供了3條掃描鏈。

  JTAG控制器主要由3部分組成:測試埠控制器(Test Access Port,TAP)、指令寄存器和數據寄存器。其中,TAP控制器是JTAG的核心控制器,需要以下5個控制信號:TCK(邊界掃描時鐘)、TMS(JTAG測試模式選擇)、TDI(串行邊界掃描輸入數據)、TDO(串行邊界掃描輸出數據)和TRST(JTAG測試邏輯復位)。正是通過TAP控制器狀態的不斷變化,JTAG控制器得以控制CPU的運行。TAP控制器的狀態機如圖1所示。

  

 

  2 系統設計與實現

  2.1 硬體設計與實現

  本文採用A1tera的FPGA器件實現了圖2所示的硬體結構。

  

 

  上圖列出了所需要的各類IPcore,其中大部分在Altera的開發包中可以找到,主要包括:

  Nios II/f CPU,50 MHz,Altera提供的免費軟核CPU。

  Avalon總線,用於數據通信。

  Flash控制器,用於控制和操作Flash晶片。Flash晶片中靜態存放作業系統、1wIP協議棧及其他調試代碼。本系統中使用的Flash晶片為Am29LVl60D,容量為2MB。

  SDRAM控制器,用於控制和操作SDRAM晶片。SDRAM晶片用於動態執行調試程序。本系統中使用的SDRAM晶片為三星公司的K4S640432,容量為8 MB。

  Ethernet控制器,用於控制和操作網卡晶片。仿真器使用這個乙太網口與PC部分的集成開發環境通信。本系統中使用的網卡晶片為LAN91C111。


相關焦點

  • 基於JTAG的調試器、接口及控制器等經典設計匯總
    本文介紹基於JTAG的調試器及接口設計,供大家參考。本文引用地址:http://www.eepw.com.cn/article/267832.htm  基於Flash和JTAG接口的FPGA多配置系統  本文選用大容量NOR Flash存儲器來存儲配置碼流,並利用JTAG接口完成配置碼流下載的FPGA多配置解決方案。
  • 基於IntelVT技術的Linux內核調試器的設計與實現(一)-引言
    國外hyperdbg項目是一款基於Intel 硬體虛擬化技術的內核調試器。該調試器使用硬體虛擬化技術達到隱藏自身的目的,支持Windows和Linux作業系統。但是一直以來項目開發進度慢,接口不友好,功能單一,只有簡單的單步命令和斷點命令,對調試符號支持不好,很難將其應用於實際工作中。基於以上幾點,針對特殊領域的應用,有必要開發一款具有反偵測功能、簡單易用的內核調試器。
  • 基於SoPC和CORDIC算法的通用數據機
    1 引言  軟體無線電SDR(Software Defined Radio)是構造具有開放性、標準化、模塊化的通用硬體平臺,將諸如工作頻段
  • JTAG調試接口電路圖設計
    /1116/article_24359.html 推薦閱讀 STM32之JTAG、SWD模式 說在前面的話最近YKY項目做了新的硬體設計,其中鍵盤接口採用矩陣式鍵盤(4*4),有兩個接口使用了STM32
  • 基於JTAG的星型掃描接口的設計及其仿真
    目前,大量的集成系統和晶片接口都為IEEE 1149.1標準規範測試訪問埠(TAP.1接口),既滿足複雜系統測試的需要,又避免了重複開發所帶來的浪費,最大化地重複利用目前已有的IEEE 1149.1 IP,基於原有JTAG器件的星型掃描技術的研究非常有應用價值和市場需求,本文針對支持星型掃描功能的接口進行研究、設計及驗證。
  • 基於SOPC技術的醫用呼吸機主控系統設計
    現有的呼吸機產品,其主控系統大多基於單片機來實現,對於功能強一些的產品就需要使用高端單片機,這樣使得系統的成本比較高,而且外圍的接口模塊較多,結構複雜。使用SOPC(可編程片上系統)技術設計主控系統,可充分利用IP核的強大功能,精簡外設數量,與此同時只佔用了很小部分的資源,大大提高了系統的性價比。
  • 基於VxWorks作業系統的通用定時器設計
    摘要 VxWorks作業系統以其強實時性、可剪裁性等特點得到了廣泛應用,但其並未提供通用的定時器模塊。為解決某機載發射裝置控制盒中VxWorks系統的精確定時問題,文中在分析多種定時方式的基礎上,利用輔助時鐘中斷,通過創建定時節點,構造節點鍊表,設計了基於輔助時鐘的通用定時器模塊。經測試表明,該模塊實現了毫秒級定時,滿足了某發射裝置的定時需求,並為今後類似系統的精確定時需求提供了方便。
  • JTAG接口技術及ETM
    ETM嵌入式跟蹤宏基於ARM的具有Embedded ICE和JTAG TAP的系統晶片通過JTAG埠和協議轉換器與主機相連。這種裝置支持正常的斷點、觀察點以及處理器和系統訪問狀態。但如果要進行代碼的實時跟蹤就要引入嵌入式跟蹤宏ETM。
  • 針對高壓大功率電力電子設備通用型控制控制器方案設計
    針對高壓大功率電力電子設備通用型控制控制器方案設計 ChinaAET 發表於 2020-12-08 15:18:09 傳統數位訊號處理器(
  • 基於聲紋識別的通用語音控制系統設計
    在本設計就是希望通過設計出一個通用的系統為將來的這些應用實現基本的框架。1.2.編寫目的進入21世紀以來,隨著科學技術的突飛進展,語音識別與確認技術也逐漸的走向成熟,基於語音識別技術的對話控制系統受到了越來越多的關注。直接用聲音來發出控制指令,讓機器能「聽懂」你的話,執行相應的命令。
  • EmJTAG 協議轉換器的設計與實現
    本文介紹了一種基於USB接口的協議轉換器(EmJTAG)設計思想,並給出了硬體設計和固件設計的實現方法。關鍵詞:協議轉換器;硬體設計;固件設計 1 引言協議轉換器的主要功能是接收調試伺服器發來的各種調試協議信息,將它們轉換成JTAG 時序信號,控制ARM 核以及EmbeddedICE 宏單元,並返回一些數據和狀態信息給調試器。
  • 一款通用高壓降壓型開關電容器轉換器的設計與實現
    一款通用高壓降壓型開關電容器轉換器的設計與實現 佚名 發表於 2017-11-30 15:44:20 背景信息
  • 基於JTAG邊界掃描方式的重構控制器的設計
    本文利用JTAG標準協議設計一種針對同類FPGA進行動態重構配置的重構控制器。  重構控制器硬體系統組成  本文介紹一種基於「ARM處理器+FPGA」架構的重構控制器,重構控制器中的FPGA能夠根據ARM處理器傳送來的命令,對目標可編程器件JTAG接口進行控制,並模擬JTAG接口中TAP狀態機產生激勵信號(TMS、TDI、TCK序列),向目標可編程器件的JTAG接口提供所需的激勵,使目標可編程器件內的TAP狀態機進行狀態轉換
  • 基於DSP和SOPC數位訊號發生器的設計
    摘 要:為了比較DSP和SOPC技術在電子設計領域的應用,採用泰勒展開法和DDFS技術,分別給出設計方案的硬體電路結構和軟體流程圖,並通過集成開發環境
  • 基於CPCI總線的通用FPGA信號處理板的設計
    因此有必要發展一種可重構、可擴展的通用信號處理系統,能將雷達信號處理模塊化、標準化、通用化。這樣,一方面可以通過硬體擴展來適應信號處理規模的變化,另一方面可以通過靈活的軟體編程來實現各種信號方式和各種複雜算法。
  • JupyterLab 3.0發布|jupyterlab|conda|調試器|python|jupyter
    日前JupyterLab官方博客發布消息宣布正式發布 JupyterLab3.0,該版本新增加了可視化調試器,目錄,簡單模式UI,多語言支持等大量新功能,並對擴展系統進行了重大改進。今天蟲蟲就帶領大家一起嘗鮮JupyterLab3.0。
  • 一種基於APA300的創新型FPGA實驗板設計
    摘 要: 基於Actel公司Flash型FPGA晶片APA300設計並實現一款創新型FPGA實驗板。然而由於現有FPGA實驗平臺大多功能固定、可擴展性差、便攜性差,不方便學生進行自主設計、自我創新。本文基於APA300設計並實現了一款成本低、功能強、可擴展性好、便攜性好的創新型FPGA實驗板,可方便學生開展多種創新型實驗,進行自主創新的探究性學習,能充分調動學生的主觀能動性,激發學習興趣,增強學生的創新實踐能力,同時該實驗板還可作為科學預研的平臺。
  • 從逆向分析的角度學習硬體調試技巧JTAG,SSD和固件提取
    除了利用IDCODE默認情況下經常將寄存器加載到IR中這一事實外,我們還可以利用IR和DR都充當移位寄存器這一事實,因此,如果我們假設一個通用的寄存器長度(32位通常有效),我們可以嘗試執行以下操作以強行設置插腳:1. 將角色分配給潛在的輸出引腳(TMS,TCK等);2. 使用這些假定值輸入Test Logic Reset狀態;3.
  • 基於鉑電阻的數字溫度測量系統設計
    本文引用地址:http://www.eepw.com.cn/article/173686.htm1 硬體設計 根據測試系統所要求的測量範圍,選用的傳感器為鉑電阻PT100,PT100的測量範圍是-200到850,從PT100的分度表可以計算出線性度為,無法達到測量精度的要求,所以需要一個線性補償的信號調理電路