新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于JTAG接口實現(xiàn)ARM的FPGA在線配置

基于JTAG接口實現(xiàn)ARM的FPGA在線配置

作者: 時間:2012-11-30 來源:網絡 收藏
  引 言

  隨著通信技術的發(fā)展,出現(xiàn)越來越多的無線接入技術,為了解決不同標準間的互通和兼容,人們提出了軟件無線電(Software Defined Radio,SDR)技術。SDR技術要求通信終端具有可重配置能力,根據特定通信網絡情況,動態(tài)地改變調制/解調、編解碼、交織/解交織等方案。SDR終端的實現(xiàn)往往都是基于可重配置的硬件環(huán)境,如現(xiàn)場可編程邏輯陣列(Field Programmable Gate Array,)、數(shù)字信號處理器(Digital Signal Processor,DSP),而不是專用集成電路(Application Specific Integrated Circuit,ASIC)等特定的硬件電路和芯片。(In Sys—tem Programming,ISP)或者動態(tài)配置就是一種重要的SDR實現(xiàn)技術。本文介紹作者開發(fā)實現(xiàn)的一種基于的嵌入式Linux下通過動態(tài)配置的方法。

  系統(tǒng)使用三星公司基于9的處理器芯片,Altera公司CycloneII系列的EP2C70 FPGA芯片,處理器上運行基于裁剪后的嵌入式Linux系統(tǒng),內核版本為2.4.18。

  1 FPGA的配置方式及配置文件

  Altera公司CycloneII系列FPGA芯片,是Altera公司推出的基于90 nm工藝制造、低成本的FPGA,主要面向數(shù)字終端、手持設備等對成本敏感的應用領域。EP2C70擁有68 416個邏輯單元,115 200位RAM,150個乘法器模塊,是CycloneII系列處理能力最強的芯片。與大部分FPGA一樣,CycloneII系列FPGA的配置信息保存在SRAM中,掉電后就丟失配置信息,每次上電后需要重新配置。CycloneII系列FPGA支持3種配置方式:主動串行(AS)方式、被動串行(PS)方式、JTAG方式。

  在主動串行和被動串行兩種方式中,F(xiàn)PGA芯片支持在配置過程中對配置數(shù)據進行解壓縮,也就是配置數(shù)據可以采用壓縮格式存放;而使用JTAG配置時,F(xiàn)PGA芯片不支持解壓縮過程,不能采用壓縮格式的配置數(shù)據。

  不同的配置方式,往往要求不同格式的配置文件。使用Altera公司提供的QuartusII集成開發(fā)環(huán)境可以生成各種配置文件。QuartusII默認產生.sof和.pof格式的配置文件,基于ARM的嵌入式Linux中對FPGA進行JTAG下載,必須使用.jam或者.jbc格式的配置文件。

  2 工作方式

  是一個業(yè)界標準,主要用于芯片測試和配置等功能,使用IEEE Std 1149.1聯(lián)合邊界掃描接口引腳。JTAG最初用于芯片功能的測試,其工作原理是在器件內部定義一個測試訪問端口(Test Access Port,TAP),通過專用的JTAG測試工具對內部節(jié)點進行測試和調試。TAP是一個通用的端口,外部控制器通過TAP可以訪問芯片提供的所有數(shù)據寄存器和指令寄存器。現(xiàn)在JTAG接口還常用于芯片的,對PLD、Flash等器件進行配置。為了完成系統(tǒng)的調試,任何原型系統(tǒng)都支持JTAG配置方式,因而JTAG配置也就成為最廣泛支持的配置方式。不同廠商和不同型號的絕大部分FPGA芯片都支持JTAG配置方式。在Altera公司的FPGA芯片中,JTAG配置方式比其他任何一種配置方式的優(yōu)先級都高。JTAG允許多個器件通過JTAG接口串聯(lián)在一起,形成一個JTAG鏈,實現(xiàn)對各個器件分別測試和配置。

  JTAG接口由4個必需的信號TDI、TD0、TMS和TCK,以及1個可選信號TRST構成。

  3 Jam STAPL套件

  在嵌入式Linux環(huán)境中,使用JTAG接口配置FP—GA,必須使用標準測試與編程語言(Standard Test AndProgramming Language,STAPL)標準。STAPL是一種專門用于描述可編程邏輯設備(Programmable Logic De—vice,PLD)配置文件的編程語言,由EIA/JEDEC組織制定標準。使用STAPL描述的配置文件具有通用性,獨立于PLD生產廠商。

  Jam STAPL是Altera公司提供的支持STAPL的套件。使用Jam STAPL進行配置包含兩部分,Jam Player(Jam解釋器或者稱為Jam虛擬機)和Jam配置文件。Jam Player運行在微處理器中,讀取Jam文件并解析Jam文件表達的內容,在JTAG接口上產生用于配置的二進制數(shù)據流并讀取反饋數(shù)據。

  Jam STAPL的工作方式如圖1所示。利用PLD廠商提供的集成開發(fā)環(huán)境Jam Composer,可以產生Jam配置文件(該文件包含目標沒備、應用數(shù)據等完整配置信息,與廠商和配置平臺無關)。然后使用Jam Player解釋并產生JTAG配置數(shù)據,對JTAG鏈中的各個設備進行配置。


  使用Jam STAPL進行配置時,針對不用的應用和不同的目標設備(不同型號或者不同廠商),只需要改變Jam配置文件,而無需改變Jam Player。因為Jam Player不包含任何與應用或者設備相關的信息,它只負責解析Jam配置文件中的內容。它的工作方式與Java編程語言非常相似,Jam P1ayer相當于Java虛擬機,而Jam文件相當于編譯之后的Java字節(jié)碼文件(.class文件)。Jam配置文件有兩種格式:

 ?、貯SCII文本格式文件,也就是用STAPL描述的配置源文件,文件后綴名是.jam。該格式便于閱讀和理解,但由于采用ASCII文本編碼,體積較大。

fpga相關文章:fpga是什么



上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉