<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于SOPC的通用型JTAG調(diào)試器的設(shè)計

          基于SOPC的通用型JTAG調(diào)試器的設(shè)計

          作者: 時間:2015-01-07 來源:網(wǎng)絡(luò) 收藏

            技術(shù)的發(fā)展,給仿真器指出了新的發(fā)展方向。所謂技術(shù),就是指用可編程技術(shù)將整個系統(tǒng)放在一塊硅片上。在傳統(tǒng)設(shè)計中電路級相互獨(dú)立的各個系統(tǒng)被集成到一塊芯片中。

          本文引用地址:http://www.ex-cimer.com/article/267831.htm

            的可重用性是一種先進(jìn)的設(shè)計思想。為了降低用戶的負(fù)擔(dān),避免重復(fù)勞動,將一些在數(shù)字電路中常用但比較復(fù)雜的功能模塊,比如SDRAM控制器等,設(shè)計成可修改參數(shù)的模塊,用戶在設(shè)計系統(tǒng)時可以直接調(diào)用這些模塊。這些特定的功能模塊被稱為IPcore(知識產(chǎn)權(quán)核)。由于IPcore通常是很成熟的,因此降低了開發(fā)風(fēng)險。

            本文利用SOPC技術(shù)的特點(diǎn),設(shè)計一種通用型調(diào)試器。根據(jù)待調(diào)試目標(biāo)板的CPU型號,將相應(yīng)的調(diào)試IPcore和其他通用IPcore一起編譯生成一個嵌入式調(diào)試系統(tǒng),下載到上,實(shí)現(xiàn)一個通用型調(diào)試器。在使用同一個硬件系統(tǒng)的情況下,可以選擇不同的調(diào)試IPcore來調(diào)試不同的CPU,而不同的IPcore可以方便的互相替換。該方法在設(shè)計靈活性、開發(fā)成本、開發(fā)周期、工作性能等方面都具有優(yōu)越性。具體的實(shí)現(xiàn)采用了Cyclone開發(fā)板和Altera開發(fā)套件。

            1 調(diào)試原理

            目前在線仿真調(diào)試器中使用最多的調(diào)試方法都是基于標(biāo)準(zhǔn)。1986年,聯(lián)合測試行動組發(fā)表了最早的邊界掃描測試規(guī)范(Boundary Scan Testing),經(jīng)不斷改進(jìn),1990年被批準(zhǔn)為IEEE Std 1149.1a標(biāo)準(zhǔn),簡稱標(biāo)準(zhǔn)?,F(xiàn)在大多數(shù)復(fù)雜的IC芯片都帶有JTAG調(diào)試接口。本文所討論的調(diào)試方法也基于JTAG標(biāo)準(zhǔn)。下面首先簡單介紹一下JTAG調(diào)試原理。

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

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

            

           

            2 系統(tǒng)設(shè)計與實(shí)現(xiàn)

            2.1 硬件設(shè)計與實(shí)現(xiàn)

            本文采用A1tera的器件實(shí)現(xiàn)了圖2所示的硬件結(jié)構(gòu)。

            

           

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

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

            Avalon總線,用于數(shù)據(jù)通信。

            Flash控制器,用于控制和操作Flash芯片。Flash芯片中靜態(tài)存放操作系統(tǒng)、1wIP協(xié)議棧及其他調(diào)試代碼。本系統(tǒng)中使用的Flash芯片為Am29LVl60D,容量為2MB。

            SDRAM控制器,用于控制和操作SDRAM芯片。SDRAM芯片用于動態(tài)執(zhí)行調(diào)試程序。本系統(tǒng)中使用的SDRAM芯片為三星公司的K4S640432,容量為8 MB。

            Ethernet控制器,用于控制和操作網(wǎng)卡芯片。仿真器使用這個以太網(wǎng)口與PC部分的集成開發(fā)環(huán)境通信。本系統(tǒng)中使用的網(wǎng)卡芯片為LAN91C111。


          上一頁 1 2 下一頁

          關(guān)鍵詞: SOPC JTAG FPGA

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();