首页 » 业界动态 » 基于JTAG接口实现ARM的FPGA在线配置

基于JTAG接口实现ARM的FPGA在线配置

作者:  时间:2009-03-02 22:28  来源:
引 言

  随着通信技术的发展,出现越来越多的无线接人技术,为了解决不同标准间的互通和兼容,人们提出了软件无线电(Software Defined Radio,SDR)技术。SDR技术要求通信终端具有可重配置能力,根据特定通信网络情况,动态地改变调制/解调、编解码、交织/解交织等方案。SDR终端的实现往往都是基于可重配置的硬件环境,如现场可编程逻辑阵列(Field Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP),而不是专用集成电路(Application Specific Integrated Circuit,ASIC)等特定的硬件电路和芯片。在线配置(In Sys—tem Programming,ISP)或者动态配置FPGA就是一种重要的SDR实现技术。本文介绍作者开发实现的一种基于ARM的嵌入式Linux下通过JTAG接口动态配置FPGA的方法。

  系统使用三星公司基于ARM9的S3C2410处理器芯片,Altera公司CycloneII系列的EP2C70 FPGA芯片,ARM处理器上运行基于S3C2410裁剪后的嵌入式Linux系统,内核版本为2.4.18。

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

  Altera公司CycloneII系列FPGA芯片,是Altera公司推出的基于90 nm工艺制造、低成本的FPGA,主要面向数字终端、手持设备等对成本敏感的应用领域。EP2C70拥有68 416个逻辑单元,115 200位RAM,150个乘法器模块,是CycloneII系列处理能力最强的芯片。与大部分FPGA一样,CycloneII系列FPGA的配置信息保存在SRAM中,掉电后就丢失配置信息,每次上电后需要重新配置。CycloneII系列FPGA支持3种配置方式:主动串行(AS)方式、被动串行(PS)方式、JTAG方式。

  在主动串行和被动串行两种方式中,FPGA芯片支持在配置过程中对配置数据进行解压缩,也就是配置数据可以采用压缩格式存放;而使用JTAG配置时,FPGA芯片不支持解压缩过程,不能采用压缩格式的配置数据。

  不同的配置方式,往往要求不同格式的配置文件。使用Altera公司提供的QuartusII集成开发环境可以生成各种配置文件。QuartusII默认产生.sof和.pof格式的配置文件,基于ARM的嵌入式Linux中对FPGA进行JTAG下载,必须使用.jam或者.jbc格式的配置文件。

  2 JTAG接口工作方式

  JTAG接口是一个业界标准,主要用于芯片测试和配置等功能,使用IEEE Std 1149.1联合边界扫描接口引脚。JTAG最初用于芯片功能的测试,其工作原理是在器件内部定义一个测试访问端口(Test Access Port,TAP),通过专用的JTAG测试工具对内部节点进行测试和调试。TAP是一个通用的端口,外部控制器通过TAP可以访问芯片提供的所有数据寄存器和指令寄存器。现在JTAG接口还常用于芯片的在线配置,对PLD、Flash等器件进行配置。为了完成系统的调试,任何原型系统都支持JTAG配置方式,因而JTAG配置也就成为最广泛支持的配置方式。不同厂商和不同型号的绝大部分FPGA芯片都支持JTAG配置方式。在Altera公司的FPGA芯片中,JTAG配置方式比其他任何一种配置方式的优先级都高。JTAG允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,实现对各个器件分别测试和配置。

  JTAG接口由4个必需的信号TDI、TD0、TMS和TCK,以及1个可选信号TRST构成。

  3 Jam STAPL套件

  在嵌入式Linux环境中,使用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接口上产生用于配置的二进制数据流并读取反馈数据。

  Jam STAPL的工作方式如图l所示。利用PLD厂商提供的集成开发环境Jam Composer,可以产生Jam配置文件(该文件包含目标没备、应用数据等完整配置信息,与厂商和配置平台无关)。然后使用Jam Player解释并产生JTAG配置数据,对JTAG链中的各个设备进行配置。

 

Jam STAPL的工作方式

点击看原图

 

 

  使用Jam STAPL进行配置时,针对不用的应用和不同的目标设备(不同型号或者不同厂商),只需要改变Jam配置文件,而无需改变Jam Player。因为Jam Player不包含任何与应用或者设备相关的信息,它只负责解析Jam配置文件中的内容。它的工作方式与Java编程语言非常相似,Jam P1ayer相当于Java虚拟机,而Jam文件相当于编译之后的Java字节码文件(.class文件)。Jam配置文件有两种格式:

  ①ASCII文本格式文件,也就是用STAPL描述的配置源文件,文件后缀名是.jam。该格式便于阅读和理解,但由于采用ASCII文本编码,体积较大。

  ②字节码(Byte—Code)格式文件,STAPL源文件编译好之后的字节码文件,文件后缀名是“.jbc”。对于同样的配置信息,该格式比.jam格式体积小,节省存储空间;其缺点是,无法直接阅读其中的配置信息。

  与之对应,Jam Player也有两种:普通Jam Player,负责对.jam文件的解释;Jam Byte一Code Player,负责对.jbc文件的解释。从AItera官方网站上可以免费下载到用C语言编写的两种Player源代码。

  4 系统设计与实现

  4.1 系统硬件设计

  系统硬件连接方案如图2所示。系统中只使用JTAG配置方式,所以与AS、PS相关的nCONFIG、MSELO和MSEL1引脚都不使用,而将nCONFIG拉高,MSELO和MSEL1接地。DATA0和DCLK引脚可以任意配置,在这里都接地。使用S3C2410的通用引脚GPB7、GPB8、GPB9、GPBlO引脚分别作为JTAG接口的TMS、TDl、TCK和TDO。

系统硬件连接方案

点击看原图

 

 

相关推荐

没有退路的FPGA与晶圆代工业者

FPGA  晶圆代工  2014-01-03

ARM收购Geomerics 强化行动装置游戏视觉

ARM  游戏视觉  2013-12-18

ARM:2013年Mail芯片出货量将超三亿片

ARM  芯片  2013-12-06

ARM控制智能机及平板芯片市场趋势将持续

ARM  控制智能机  2013-11-28

推动连网与行动创新 ARM聚焦物联网商机

ARM  物联网  2013-11-26

全球75%企业高管关注物联网新机遇

ARM  物联网  2013-11-08
在线研讨会
焦点