JTAG接口与Flash的设计实现,有那些方法?
扫描二维码
随时随地手机看文章
在这篇文章中,小编将为大家带来JTAG接口与Flash的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。
一、JTAG的结构
芯片生产厂商如ALTERA、XILINX、ATMEL、AMD、TI等对标准进行了扩充,使用专用的扩展指令执行维护和诊断应用及对可配置器件的可编程算法,使JTAG接口广泛用于FLASH系列芯片的编程。概括起来,JTAG接口主要应用于:电路的边界扫描测试和可编程芯片的在系统编程。
在硬件结构上,JTAG的接口包括两个部分,JTAG端口和控制器。与JTAG接口兼容的器件可以是微处理器(MPU)微控制器(MCU)PLD CPL FPGA ASIC或其它符合IEEE1149。1规范的芯片。IEEE1149。1标准中规定对应数字集成电路的每个引脚都设有一个移动存寄单元。称为边界扫描单元BSC。它将JTAG电路与内核逻辑电路联系起来,同时隔离内核电路和芯片引脚。由集成电路的所有边界扫描构成单元扫描寄存器BSR。边界扫描寄存器仅在进行JTAG测试时有效,在集成电路工作正常无效,不影响集成电路的功能 。
测试逻辑的最高电路包括3个主要内容:
·测试访问端口(TAP)控制器
TAP控制器提供在嵌入在JTAG兼容器件内部的测试功能电路的访问控制,是一个同步状态机。每个JTAG兼容的器件都有自己的TAP控制器。通过测试模式选择TMS和时钟信号TCK控制其状态转移,实现由IEEE149。1标准确定的测试逻辑电路的工作时序。
·指令寄存器
指令寄存器是基于电路的移动寄存器,通过它可以串行输入执行各种操作的指令。
·数据寄存组。
数据寄存器组是一组基于电路的移位寄存器。操作指令被串行装入由当前的指令所选择的数据寄存器。随着操作的执行,测试结果被移出。
二、JTAG接口与Flash的设计实现
为了将配置码流写入Flash存储器,上位机软件通过JTAG下载线与JTAG接口模块连接。JTAG接口模块接收上位机软件发送的JTAG信号,从中提取出JTAG指令及对应的数据,并产生针对Flash存储器的擦除和烧写信号。
烧写Flash存储器和利用Flash存储器配置FPGA器件时,都需要对Flash存储器进行操作,因此需要设计一个控制器模块来专门产生Flash存储器的控制指令。Flash控制器要实现的功能是:响应输入的擦除、写、读命令,并根据命令产生相应的时序来实现对Flash的操作。
为了在一片Flash存储器中存放多个配置文件,可以将Flash按照配置文件的大小分为多个区间。这样,对于一个具体的配置文件,输入指令的作用范围应该在配置文件存放的区间内。因此,擦除某个配置文件时要选用块擦除方式,而不是整片擦除方式。
为了及时的将一帧配置码流写入Flash存储器中,要求Flash存储器的编程时间应该小于FPGM指令执行后的等待时间。根据Flash存储器数据手册上的参考数据计算后发现,使用普通的编程方式来烧写一帧配置码流时间大于等待时间,而使用写缓冲的编程方式来烧写一帧配置码流的时间要小于等待时间,因此必须选用写缓冲的编程方式来烧写Flash存储器。
JTAG接口与Flash控制器间的命令和数据翻译由反向兼容JTAG控制器中的烧写控制模块完成。它会接收JTAG接口发送的擦除或写命令,经过转化后产生相应的Flash控制器必需的命令、地址和数据。由于一次写缓冲编程写入Flash存储器的数据小于一帧配置码流的大小,因此接收到写命令后,烧写控制模块会配合写命令和对应的操作地址,将缓冲区中一帧配置码流分多次送往Flash控制器。
以上便是小编此次想要和大家共同分享的有关JTAG接口与Flash的内容,如果你对本文内容感到满意,不妨持续关注我们网站哟。最后,十分感谢大家的阅读,have a nice day!