基于MxTNI JTAG库和SVF文件编程Xilinx PROM器件的详细分析与演示_第1页
基于MxTNI JTAG库和SVF文件编程Xilinx PROM器件的详细分析与演示_第2页
基于MxTNI JTAG库和SVF文件编程Xilinx PROM器件的详细分析与演示_第3页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于MxTNIJTAG库和SVF文件编程XilinxPROM器件的详细分析与演示摘要:本应用笔记阐述了如何利用MxTNI™JTAG库以及串行向量格式(SVF)文件来编程Xilinx®PROM器件。假定读者已经对JTAG和可编程逻辑器件有了一定认识。介绍

Maxim微型网络接口(MxTNI)是DallasSemiconductor(MaximIntegrated的全资子公司)开发的一个平台。它包含了一套小型却功能强大的芯片组以及Java®可编程虚拟机。芯片组具有处理、控制、器件级通信和网络互连的能力。为了和任何JTAG器件通信,TINIs400适配板在J21端具有4引脚JTAG输出。这些引脚将直接连到JTAG器件上标准JTAG引脚TDI、TDO、TMS和TCK。在系统编程PROM可以进行单独编程,或者级连编程。链中的所有器件共享TCK和TMS信号。MxTNI的TDI信号接到边界扫描链中第一个器件的TDI输入端。第一个器件的TDO信号接到链中第二个器件的TDI输入上,如此连接下去。链中的最后一个器件的TDO输出接到MxTNI的TDO引脚上,见图1所示。

图1.所有JTAG操作都通过器件的测试访问端口进行控制所有JTAG操作都是由器件的测试访问端口(TAP)控制的。TAP包括四个信号:TMS、TDI、TDO和TCK。这些信号通过TAP控制器,即16状态有限状态机与器件相互作用。JTAG的TMS信号控制状态间的转换。指令和数据由TDI引脚移入器件,并由TDO引脚移出。TDI和TDO信号的所有状态转换和行为都与TCK同步。见图2。

图2所有JTAG操作都是将数据移入或移出JTAG指令和数据寄存器。TAP控制器可对所有这些寄存器直接访问。有两类JTAG寄存器:指令寄存器(IR)和数据寄存器(DR)。访问IR通过移位-IR(Shift-IR)状态实现,而访问DR通过移位-DR(Shift-IR)状态实现。IR长度通常是大于2位的任意长度。除了由IEEE®Std.1149.1定义的BYPASS指令为全1以外,生产商定义所有其它的指令位码。在本应用笔记中,JAVA样例代码将解释说明串行向量格式(SVF)文件来进行编程。这里所用的SVF是描述高层IEEE1149.1(JTAG)总线操作的语法规范。JTAG设备和软件提供商已经将SVF作为标准用于数据交换。SVF以紧凑和可移植的形式描述JTAG链操作。SVF文件通过描述需要移入器件链的信息,记录JTAG操作。通过XilinxiMPACT(详细信息见下面)软件,将JTAG操作记录在SVF文件中。SVF文件写成ASCII文本形式,因此可以在任何文本编辑器中人工读、修改和写。“许多第三方编程工具使用SVF文件作为输入,这样利用包含在SVF文件中的信息可以对JTAG链中的Xilinx器件编程。”JTAG库简要说明

所开发的JTAG类库可帮助用户使用MxTNI与JTAG器件进行通信。一个可能的应用是:从遥远的位置对可编程逻辑进行动态和在系统更新。用户能够将TAP控制器初始化到初始状态、浏览16个状态、获得或设置TAP状态、产生时钟信号、发送命令和数据等等。以下为JTAG类方法的简要说明:

publicjtag():加载jtag库。

publicStringgetVersion():返回jtag类的版本。

publicintrunClock(intnumticks):以numticks指定的数量运行时钟。

publicbyteinitialize():先将TMS置高达五个TCK时钟脉冲,然后TMS置低1个时钟并进入缺省状态Run-Test-Idle。

publicbytesetState(byteaState):将目标状态设置为aState指定的状态。

publicbytegetState():返回目标状态。

publicbytescanState(bytestate):将TAP控制器的状态机转换到参数state指定的状态。

publicStringdisplayState(bytestate):显示TAP控制器的状态。

publicbytewaitState(intmsecs):进程延时一定毫秒数。

publicbytegetTDO():获得引脚TDO的当前状态。

publicvoidsetTDI(bytelogic):引脚TDI设定为指定的逻辑状态。

publicbytegetTDI():获得引脚TDI的当前状态。

publicvoidsetTMS(bytelogic):s引脚TMS设定为指定的逻辑状态。

publicbytegetTMS():获得引脚TMS的当前状态。

publicvoidsetTCK(bytelogic):引脚TCK设定为指定的逻辑状态。

publicbytegetTCK():获得引脚TCK的当前状态。

publicbytesendNrcv(byte[]data,intoffset,intsize,bytenumberOfBits,booleanstate,booleanupdate,byteextraHeaderClock,byteHeaderBitVal,byteextraTrailerClock,byteTrailerBitVal):发送数据字节数组,并接收返回的字节数组。

publicbytesendNrcv(int[]data,intoffset,intsize,bytenumberOfBits,booleanstate,booleanupda

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论