第6章CPLD_FPGA的配置与下载08_10_08quty88

  • 格式:pdf
  • 大小:555.18 KB
  • 文档页数:48
/quty88/
用ByteBlaster进行配置
ByteBlaster:一般用来对FLEX系列器件进行配置重构, 也可以用来对MAX9000以及MAX7000S/MAX7000A等器 件进行编程配置。 ByteBlaster有两种配置模式: 1)被动串行模式(PS)配置--常用来配置FLEX10K、 FLEX 8000、FLEX 6000 和ACEX1K系列器件。 2)边界扫描模式(JTAG)配置--对具有边界扫描电路的器件进 行配置重构或在线编程。常用来对MAX系列器件进行编程配 置。
下面以 FLEXl0K 系列器件为例说明配置过程 /quty88/
FLEXl0K 系列器件有四种配置方式:
CPU多用单片机进行控制,也有用PC机进行控制。
/quty88/
常用的配置引脚

MSEL1/MSEL0,配置方式选择
▲ ▲
其他引脚见P260表7.3 /quty88/
FLEXl0K器件与配置有关的引脚
/quty88/
/quty88/
1、主动串行配置(AS)或EPC1配置方式
(AS,Active-Serial Configuration) 主动串行配置方式:一直由FLEX10K控制着配置过程,由 Altera提供专用的串行PROM存储芯片EPC1向FLEX10K器 件输入串行位流的配置数据。 EPC1-The EPC1 is a serial memory device that stores configuration data for SRAM-based Altera ACEX 1K, FLEX 10K, FLEX 8000, and FLEX 6000 family devices. 详细解释参阅帮助--EPC1 Configuration Device
/quty88/
CPLD/FPGA器件的工作状态
CPLD/FPGA器件按照正常使用和下载的不同过程其工作 状态分为三种: 1、配置状态(Configuration mode ) 指将编程数据装入CPLD/FPGA器件的过程,也可称之为下 载状态; 2、初始化状态(Initialization) 此时CPLD/FPGA器件内部的各类寄存器复位,让I/O引 脚为使器件正常工作作好准备。 3、用户状态(User mode) 即电路中CPLD器件正常工作时的状态;
/quty88/
MAX+PLUS II 程序下载
下载方式选择
/quty88/
二、MAX系列非易失性器件的下载配置
对于编程元件为E2PROM或闪存的CPLD器件(如MAX系列 器件等),只需简单的利用专门的编程下载电缆(名为 ByteBlaster或BitBlaster)将编程配置数据下载到芯片中去 即可。 特点:断电后下载数据不丢失。 BitBlaster配置--需专用电缆和器件。 ByteBlaster配置-- ALTERA已开放配置原理,很容 易由用户自制配置电缆,常用方法。
00: AS或PS 10: PPS 11: PPA

nCONFIG : 配置控制信号输入;低电平使器件复位,在由 低到高的跳变过程中启动配置过程。 nSTATUS: 配置状态下器件的状态输出位,加电后FLEX10K 立刻驱动该引脚到低电平,100mS后释放。 配置过程中若出错,该引脚由高变低。


CONFIG_DONE:在配置期间,FLEX10K将其驱动为低,所 有配置数据无误差接收后, FLEX10K将 其置位三态。(外接上拉电阻,三态时将 呈现高电平)
第六章 CPLD/FPGA的配置与下载
一、CPLD/FPGA器件的配置 二、MAX系列非易失性器件的下载配置 三、FLEX/ACEX系列FPGA的下载配置 四、ALTERA的编程文件
/quty88/
一、 CPLD/FPGA器件的配置
▲ 把CPLD/FPGA设计代码送入芯片的过程(或操作) 称为对CPLD/FPGA器件的配置,也称为下载。 ▲ 经过配置的CPLD芯片,就成为具有用户需要功能的 专用数字电路或数字系统。 ▲ 对CPLD/FPGA芯片进行编程配置的方式有多种。
/quty88/
常用的配置引脚

nCE: 器件的使能输入。配置过程中,nCE必须始终为低。 nCEO: 器件的使能输出。配置完成后,nCEO输出为低,用 于多片配置,连接到下一片的nCE。


DCLK: 配置时钟。适用于AS,PS和PPS模式,输入引 脚,由外部数据源提供的时钟。 DATA0: 配置数据。适用于AS和PS模式,数据输入。 DATA0~7: 配置数据。适用于PPS和PPA模式,并行 数据输入。
/quty88/
Byteblaster下载线的接口电路
计算机侧
CPLD侧
/quty88/
用ByteBlaster下载线进行下载配置
ByteBlaster下载线十芯管脚分配 /quty88/
/quty88/
多器件配置
/quty88/
2、被动串行配置(PS)方式
控制主机: 2、外接微处理器(常用方法) 1、BitBlaster下载电缆
PS配置使用的芯片引脚
▲ ▲ ▲ ▲ ▲
DCLK: 配置时钟。输入引脚,为外部数据源提供时钟。 CONFIG_DONE:配置完成。 nSTATUS: 配置状态。 DATA0:配置输入数据。 nCONFIG:配置控制信号输入。
/quty88/
JTAG接口
JTAG接口使用TDI、TDO、TCK、TMS四个管脚。其中: TDI:串行数据输入端, TDO:串行数据输出端, TCLK:串行时钟, TMS:JTAG状态机模式控制端。 TDI、TDO、TMS的数据在TCLK时钟的配合下,将数据串 行移位到CPLD内部JTAG移位寄存器中。 使用JTAG接口进行器件配置,既适用于CPLD器件,也适 用于FPGA器件。
/quty88/
三、FLEX/ACEX系列FPGA的下载配置
对于编程元件为SRAM的FPGA器件(如FLEX6000、 FLEX8000 、FLEX10K、ACEX1K、APEX20K系列等),虽然 也能像MAX系列器件那样利用简单的专门下载电缆来对FPGA 器件进行编程配置,但由于这类器件具有编程数据易失性的特 性,所以存在一个对于芯片进行外部配置的问题。 一般是将编程配置数据永久性的存储在外部的闪存或 E2PROM中,供FPGA器件每次在系统上电时调入这些编程配 置数据。否则用户就需要在每次系统通电时都需要利用PC机进 行对FPGA器件进行的编程写入的操作。
① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨
第一个脉冲的上升 沿锁存第一个数据
8个脉冲的下降沿串行化数据 /quty88/
第九个脉冲的上升 沿锁存第二个数据
利用MCU+EEPROM来进行FPGA的PPS方式配置
/quty88/
利用微处理器进行多器件配制电路
在多器件PS方式中,第一片FLEX10K的nCEO引脚级联到下 一片FLEX10K的nCE引脚。在一个时钟周期之内,第二个 FLEX10K器件开始配置。
DCLK
DCLK
/quty88/
3、被动并行同步配置(PPS)方式
在PPS方式配置方式中,一般由单片机进行控制。
/quty88/
用ByteBlaster的JTAG模式进行配置
▲ ALTERA公司现在生产的CPLD器件一般都有“JTAG”接 口。 ▲ ALTERA器件的JTAG都具有第二功能,即除了能作为边界 测试功能外还可以利用JTAG接口进行器件编程,编程时序同 样遵循1149.1协议。
工作过程
在加电过程中,FLEX10K检测到nCONFIG由低到高的跳 变时,就开始准备配置。 FLEX10K将CONF_DONE拉 低,驱动EPC1的nCS为低。 FLEX10K将nSTATUS引脚释 放并由上拉电阻拉至高电平以 使能EPC1。 EPC1就用其内部振荡器的时 钟将数据串行地从输送到 FLEX10K(DATA0)。
/quty88/
器件编程下载的分类
1、按使用计算机的通讯接口划分: (1)串口下载(BitBlaster或MasterBlaster); (2)并口下载(ByteBlaster); (3)USB接口下载(MasterBlaster或APU)等方式。 APU:Altera Programming Unit 2、若按使用的CPLD/FPGA器件划分: 1)CPLD编程(适用于片内编程元件为EPROM、E2PROM和 闪存的器件); 2)FPGA下载(适用于片内编程元件为SDRAM的器件)。
/quty88/
ALTERA的EPC1
/quty88/
/quty88/
/quty88/
EPC1配置电路图
/quty88/
/quty88/
BYTEBLASTER并口下载线
/quty88/
ByteBlaster 10针示意图
/quty88/
用ByteBlaster对MAX7000,MAX9000系列器件 编程连接示意图
8
/quty88/
在PPS方式使用的芯片引脚:

MSEL1/MSEL0,配置方式选择 =10: PPS : 配置控制信号输入;低电平使器件复位,在由
▲nCONFIG
低到高的跳变过程中启动配置过程。
▲ ▲ ▲ ▲ ▲
nSTATUS: 配置状态。配置过程发生错误,会由高变低。 CONFIG_DONE:配置完成后会由低变高。 nCE: 器件的使能输入。配置过程中,nCE必须始终为低。 DCLK:配置时钟。输入引脚,由单片机提供时钟。 DATA0~7: 配置数据。
/quty88/ DCLK
PS方式工作过程
在CONE_DONE变为高电平后,DCLK必须有多余的10个周 期来初始化该器件。 在PS方式中没有握手信号,所以,配置时钟的工作频率必须 要低于10MHz。