<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于USB-JTAG接口轉換的嵌入式系統Flash編程

基于USB-JTAG接口轉換的嵌入式系統Flash編程

作者: 時(shí)間:2011-12-01 來(lái)源:網(wǎng)絡(luò ) 收藏

  1 引言

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

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

  2 JTAG 測試原理

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

  2.1 管腳定義

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

  (1) 測試時(shí)鐘輸入 TCK。為T(mén)AP 控制器和各個(gè)寄存器提供時(shí)鐘基準。TCK 與系統時(shí)鐘相互獨立。

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

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

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

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

  2.2 TAP 控制器

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

  2.3 邊界掃描寄存器

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

  2.4 指令系統

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

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

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

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

  2.5 BSDL 邊界描述語(yǔ)言

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

  3 應用實(shí)例

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


  圖 1 系統連接方式

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

  3.1 硬件設計

  (1) 接口轉換模塊設計

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


  圖 2 USB-JTAG 接口轉換電路

  (2) 嵌入式處理器

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

  (3) Flash

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


  3.2 軟件設計

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




  3.3 性能

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



  4 結論

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



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>