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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于USB-JTAG接口轉(zhuǎn)換的嵌入式系統(tǒng)Flash編程

          基于USB-JTAG接口轉(zhuǎn)換的嵌入式系統(tǒng)Flash編程

          作者: 時間:2011-12-01 來源:網(wǎng)絡 收藏

            1 引言

            在的設計中,為了提高執(zhí)行速度和系統(tǒng)的可靠性,操作系統(tǒng)和應用程序的軟件代碼一般都固化在非易失性存儲器中,如ROM,EPROM,EEPROM 和Flash。其中,F(xiàn)lash以其可擦寫次數(shù)多、存儲速度快、容量大及價格便宜等優(yōu)點在嵌入式領域得到廣泛的應用。

            在的開發(fā)階段,要進行大量的程序調(diào)試,這也就意味著這要對Flash 進行反復的擦寫。因此,如何對Flash 編程,成為許多開發(fā)中必要的一環(huán)。在這種背景下,利用JTAG 邊界掃描結構訪問芯片成為一種對嵌入式系統(tǒng)Flash 編程的途徑。另一方面,傳統(tǒng)的開發(fā)工具中大多支持的是并口或串口,但現(xiàn)在的計算機上接口越來越單一,很多主板都不再支持并口、串口,即插即用的USB 接口卻因為其速度快,使用方便而得到了廣泛應用和關注。本文介紹了一種符合嵌入式和計算機發(fā)展趨勢的Flash 編程方案,即基于USB 到JTAG 接口轉(zhuǎn)換的嵌入式系統(tǒng)Flash 編程。

            2 JTAG 測試原理

            JTAG (Joint Test Action Group)是1985 年制定的檢測PCB 和IC 芯片的一個標準,1990年被修改后成為IEEE 的一個標準,即IEEE1149.1-1990。通過這個標準,可對具有JTAG 口芯片的硬件電路進行邊界掃描和故障檢測。

            2.1 管腳定義

            JTAG 接口主要包括TCK、TMS、TDI、TDO 和可選的TRST#等管腳。各管腳的功能定義如下:

            (1) 測試時鐘輸入 TCK。為TAP 控制器和各個寄存器提供時鐘基準。TCK 與系統(tǒng)時鐘相互獨立。

            (2) 測試模式選擇 TMS。在TCK 的上升沿時刻,TMS 的狀態(tài)決定了TAP 控制器的下一個工作狀態(tài);

            (3) 測試數(shù)據(jù)輸入 TDI。指令和數(shù)據(jù)寄存器的串行數(shù)據(jù)輸入端,在TCK 的上升沿時刻采樣。

            (4) 測試數(shù)據(jù)輸出 TDO。指令和數(shù)據(jù)寄存器的串行數(shù)據(jù)輸出端,在TCK 的下降沿時刻移出。

            (5) 測試復位輸入 TRST#??蛇x信號,低電平有效,提供TAP 控制器的異步初始化信號。

            2.2 TAP 控制器

            TAP 控制器是一個具有16 種狀態(tài)的有限狀態(tài)機,每一種狀態(tài)的轉(zhuǎn)換都是由TCK 和TMS 來觸發(fā)的,TCK 上升沿時刻TMS 的值決定了TAP 的下一個工作狀態(tài)。測試數(shù)據(jù)和指令的傳輸、執(zhí)行都必須在TAP 控制器進入相應的狀態(tài)后才能進行。

            2.3 邊界掃描寄存器

            JTAG 標準定義了一個串行的移位寄存器。寄存器的每一個單元分配給芯片的相應引腳,每一個獨立的單元稱為BSC(Boundary-Scan Cell)邊界掃描單元。這個串聯(lián)的BSC 在IC內(nèi)部構成JTAG 回路,所有的BSR(Boundary-Scan Register)邊界掃描寄存器通過JTAG 測試激活,平時這些引腳保持正常的功能。

            2.4 指令系統(tǒng)

            JTAG 接口的指令用于控制測試電路進行各種操作。JTAG 接口的指令系統(tǒng)包括基本指令和擴展指令,JTAG 兼容的芯片至少要包含下列指令:

            (1) BYPASS 指令:選擇旁路寄存器連接TDI 和TDO,在TDI 和TDO 之間提供一條長度最短的串列路徑,這樣允許測試資料可以快速的通過。

            (2) SAMPLE/PRELOAD 指令:采樣/預加載數(shù)據(jù)指令,用于采樣芯片管腳信號或預加載數(shù)據(jù)以控制輸出管腳。

            (3) EXTEST 指令:片外電路測試指令,用于測試芯片間的互連,這是通過JTAG 口對Flash 進行編程的核心指令。

            2.5 BSDL 邊界描述語言

            BSDL(boundary scan description language)邊界描述語言是硬件描述語言VHDL 的一個子集,是對兼容JTAG 接口的芯片的邊界掃描特性的描述,主要用來溝通邊界掃描器件廠商、用戶與測試工具之間的聯(lián)系。它主要描述了芯片的JTAG 指令系統(tǒng)、BSC 與芯片管腳的對應關系等特性。

            3 應用實例

            在本設計中,采用基于 USB-JTAG 接口轉(zhuǎn)換的嵌入式系統(tǒng)Flash 編程,其系統(tǒng)連接方式如圖1 所示。


            圖 1 系統(tǒng)連接方式

            JTAG 下載電纜一端連接主機的USB 接口,另一端連接目標板上的JTAG 接口,通過電纜上的USB-JTAG 接口轉(zhuǎn)換模塊實現(xiàn)協(xié)議轉(zhuǎn)換。目標板上的Flash 由地址、數(shù)據(jù)和控制總線掛接到兼容JTAG 的嵌入式處理器上,在這種連接方式下,只需要控制嵌入式處理器模擬Flash 的編程時序,便可對Flash 進行在線編程。

            3.1 硬件設計

            (1) 接口轉(zhuǎn)換模塊設計

            USB 到JTAG 的接口轉(zhuǎn)換采用FTDI 的FT2232 芯片,其工作頻率可達6M,電路設計如圖2 所示。


            圖 2 USB-JTAG 接口轉(zhuǎn)換電路

            (2) 嵌入式處理器

            本設計中處理器采用 IBM PowePC405GP。PPC405GP 是一款基于RISC 精簡指令集的32 位嵌入式處理器,頻率為266 MHz。在數(shù)據(jù)手冊和BSDL 描述文件中可知其指令寄存器長度為7 bit,數(shù)據(jù)寄存器邊界掃描鏈長度為357 位。

            (3) Flash

            本設計中Flash 采用Intel 的28F320J3A110,大小為32 Mbit,有х8 和х16 bit 兩種位寬模式,在系統(tǒng)中配置成х16 bit 模式。該Flash 符合CFI 規(guī)范,只需按一定時序向特定地址寫入特定的指令序列,即可啟動內(nèi)部狀態(tài)及,使其自動完成要求的內(nèi)部操作。其部分指令序列如下表所示。


            3.2 軟件設計

            對Flash 的編程包括讀、寫、擦除等操作,根據(jù)寫入不同的指令序列實現(xiàn)相應的功能。程序首先要初始化USB-JTAG 接口轉(zhuǎn)換模塊,然后使JTAG 進入Run-Test-Idle 狀態(tài)。分別讀取并校驗JTAG 芯片和Flash 芯片的ID,再將指定的指令序列寫入Flash 完成操作。根據(jù)PowerPC 405GP 的BSDL 描述文件,該處理器有357 個掃描鏈單元,包括地址單元,數(shù)據(jù)單元和一些控制單元等,應分別控制每一個單元,使其工作在正常的狀態(tài)下,為了操作方便,需要對這部分函數(shù)進行必要的封裝。以進行讀操作為例,部分的程序算法如下。




            3.3 性能

            影響Flash 編程性能的主要因素有邊界掃描鏈的長度、JTAG 的時鐘頻率、數(shù)據(jù)寬度,F(xiàn)lash 的操作周期數(shù)等。以本設計為例,嵌入式處理器IBM PowerPC 405GP 的邊界掃描長度為357,Intel 28F320J3A110 Flash 的位寬為16 bit,容量為32 Mbit,采用兩片F(xiàn)lash 進行位寬擴展,則數(shù)據(jù)寬度為32 bit,容量為64 Mbit,JTAG 時鐘為6 MHz,對整片F(xiàn)lash 編程的性能如下表所示:



            4 結論

            在嵌入式系統(tǒng)的開發(fā)過程中,使用 JTAG 接口對Flash 進行在線編程不需要其它附加設備的支持,降低了系統(tǒng)開發(fā)的成本,而且簡單可行,速度較快,程序擴展簡單,符合嵌入式發(fā)展的趨勢。而且隨著USB 接口越來越廣泛的應用,研究基于USB-JTAG 接口轉(zhuǎn)換的嵌入式系統(tǒng)Flash 編程對嵌入式產(chǎn)品的開發(fā)和調(diào)試具有重要意義。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();