位置:51电子网 » 技术资料 » EDA/PLD

用单片机配置CPLD器件

发布时间:2008/5/28 0:00:00 访问次数:659

altera公司的可编程序逻辑器件apex20k、flex10k和flex6000虽应用广泛,但由于其内部采用sram存储配置数据,每次系统上电时,必须用配置芯片对其进行配置,只有在配置正确的情况下,系统才能正常工作。配置芯片是一个能产生配置时序的rom,分为一次编程型和可擦除型两种,一次编程型芯片只能写入一次,不适合开发阶段反复调试和修改,可擦除型芯片价格昂贵且擦写次数有限(100次左右),增加了开发成本。而且,由于altera公司提供的配置芯片容量有限,对于容量很大的可编程逻辑器件,需要一片以上的配置芯片组成菊花链形进行配置,这无疑加大了设计复杂度和开发成本。
目前,在可编程逻辑器件的开发阶段多采用可擦写的配置芯片,例如epc2lc20,最终产品采用不可擦写的配置芯片,例如epc1441pc8。至今还没有低成本的可擦写配置芯片出现,而我们采用单片机与外部串行eerom组成的配置板可实现对一次编程型和可擦除型配置芯片的无缝替代。它可以代替不同型号、不同容量芯片,可实现反复擦写(1000k次)且用户无须增加任何附加电路(实现无缝替代),并支持多电压配置。

ps配置方式分析
配置方式分为主动、被动以及边界扫描配置方式。我们主要讨论被动配置方式,被动配置方式又可分为被动串行(ps)、被动异步串行(psa)、被动同步并行(pps)和被动异步并行(ppa)。无论哪种方式均是由配置器件控制配置时序,并在控制信号的作用下向目标器件传送串行/并行数据流。不同的配置方式有不同的配置时序,可针对不同系列的cpld器件。
对于flex10系列芯片,比较常用的是采用ps方式进行配置,ps方式配置时的管脚及控制信号的功能如下:
msel1, msel0: 选择配置方式。均接地,为ps方式。
conf_done: 此信号需经1k电阻上拉。配置过程中,10k电阻将此信号拉低,成功配置完毕后,芯片释放端口,由上拉电阻将其电平抬高。
nstatus: 配置状态的监测信号。此信号需经1k电阻上拉。配置过程中,出现低电平表明配置过程出现错误,需重新配置。
data0:串行配置数据流的输入。
dclk:串行配置的时钟输入,用于锁存外部数据。
nconfig:启动配置的信号。
被动串行工作过程:当nconfig产生下降沿脉冲时启动配置过程。在dclk出现上升沿时,芯片将一位数据传入内部,直至所有数据都被移入。在配置过程中,系统需要实时监测,一旦出现错误,nstatus被拉低,系统必须能识别这个信号,并重新启动配置过程。配置数据全部正确的移入芯片内部后,conf_done信号跳变为高,此后,dclk必须再提供10个周期的时钟,确保芯片被正确初始化,进入用户工作模式。时序图如图1。

配置文件的异同
用altera的max+plus ii或qnaitus开发工具对设计项目进行编译后,会产生几种配置或编译文件,用于不同配置方式的配置系统。而对于不同系列的目标器件,配置数据的大小也不同。每种文件都可以从另外一种文件生成,搞清楚各种文件的异同对于上电配置是非常关键的。
* sram目标文件(.sof):用于ps方式,直接配置目标器件,文件中前81字节为头信息,为asiic代码记录用户的使用信息。其它文件都是从sof文件中生成的,在数据流的格式和用途上有所区别。
*编程目标文件(.pof):用作配置文件装入配置器件(如epc2、epc1、ep1441)中。
*二进制文件(.rbf):包含全部配置数据,用于微处理器做配置时的数据流,rbf 文件决定了配置该器件所需数据量的大小。
*文本文件(.ttf):包含全部配置数据,用于微处理器做配置时的数据流。ttf文件存放了最原始的配置数据,即数据不含有任何附加的文件格式(头尾标识字节),可以直接复制到单片机程序最后,用伪指令db做成数据表tab,配合指令mov dptr,#tab和movc a,@a+dptr 进行查表取数据。
* hex文件(.hex): intel 16进制格式下为ascii文件。包含全部配置数据,用于微处理器做配置时的数据流。第一行为7个字节的头信息,每一行开头4个字节,结尾1个字节,为标识字节,中间部分与*.ttf的数据相同,为有用的配置数据。最后一行是4个字节的尾信息。

用单片机配置的设计思路
和实现
把配置管脚与单片机的i/o口(如p1口)相连,对单片机编程仿真ps方式配置时序,由于配置数据的数据量较大,可将其存入外部rom,在这里选用atmel的at24c256串行eeprom,体积小(8pin)存储量大(256k bit),可重复擦写1000k次以上。
在实际使用中,把配置板插在ps方式下载线的十针插头上,所以配置板的电源由目标板提供,由于不同的系统采用的电压不同,所以要求配置板必须可以适应多电压。所以要求我们选取的单片机和串行eeprom必须支持多电压工作。
在配置过程中,单片机必须严格控制信号的时序。nconfig的启动低脉冲宽度至少为2ms。
dclk的第一个上升沿在nconfig的上升沿后延迟5ms。dclk的周期至少为60ms。
以同样原理还可以同时配置多个目标器件,原理图如图3。
第一个器件的信号nceo,在配置完毕后跳变为低,从而激活第二个器件。所有待配置器件的c

altera公司的可编程序逻辑器件apex20k、flex10k和flex6000虽应用广泛,但由于其内部采用sram存储配置数据,每次系统上电时,必须用配置芯片对其进行配置,只有在配置正确的情况下,系统才能正常工作。配置芯片是一个能产生配置时序的rom,分为一次编程型和可擦除型两种,一次编程型芯片只能写入一次,不适合开发阶段反复调试和修改,可擦除型芯片价格昂贵且擦写次数有限(100次左右),增加了开发成本。而且,由于altera公司提供的配置芯片容量有限,对于容量很大的可编程逻辑器件,需要一片以上的配置芯片组成菊花链形进行配置,这无疑加大了设计复杂度和开发成本。
目前,在可编程逻辑器件的开发阶段多采用可擦写的配置芯片,例如epc2lc20,最终产品采用不可擦写的配置芯片,例如epc1441pc8。至今还没有低成本的可擦写配置芯片出现,而我们采用单片机与外部串行eerom组成的配置板可实现对一次编程型和可擦除型配置芯片的无缝替代。它可以代替不同型号、不同容量芯片,可实现反复擦写(1000k次)且用户无须增加任何附加电路(实现无缝替代),并支持多电压配置。

ps配置方式分析
配置方式分为主动、被动以及边界扫描配置方式。我们主要讨论被动配置方式,被动配置方式又可分为被动串行(ps)、被动异步串行(psa)、被动同步并行(pps)和被动异步并行(ppa)。无论哪种方式均是由配置器件控制配置时序,并在控制信号的作用下向目标器件传送串行/并行数据流。不同的配置方式有不同的配置时序,可针对不同系列的cpld器件。
对于flex10系列芯片,比较常用的是采用ps方式进行配置,ps方式配置时的管脚及控制信号的功能如下:
msel1, msel0: 选择配置方式。均接地,为ps方式。
conf_done: 此信号需经1k电阻上拉。配置过程中,10k电阻将此信号拉低,成功配置完毕后,芯片释放端口,由上拉电阻将其电平抬高。
nstatus: 配置状态的监测信号。此信号需经1k电阻上拉。配置过程中,出现低电平表明配置过程出现错误,需重新配置。
data0:串行配置数据流的输入。
dclk:串行配置的时钟输入,用于锁存外部数据。
nconfig:启动配置的信号。
被动串行工作过程:当nconfig产生下降沿脉冲时启动配置过程。在dclk出现上升沿时,芯片将一位数据传入内部,直至所有数据都被移入。在配置过程中,系统需要实时监测,一旦出现错误,nstatus被拉低,系统必须能识别这个信号,并重新启动配置过程。配置数据全部正确的移入芯片内部后,conf_done信号跳变为高,此后,dclk必须再提供10个周期的时钟,确保芯片被正确初始化,进入用户工作模式。时序图如图1。

配置文件的异同
用altera的max+plus ii或qnaitus开发工具对设计项目进行编译后,会产生几种配置或编译文件,用于不同配置方式的配置系统。而对于不同系列的目标器件,配置数据的大小也不同。每种文件都可以从另外一种文件生成,搞清楚各种文件的异同对于上电配置是非常关键的。
* sram目标文件(.sof):用于ps方式,直接配置目标器件,文件中前81字节为头信息,为asiic代码记录用户的使用信息。其它文件都是从sof文件中生成的,在数据流的格式和用途上有所区别。
*编程目标文件(.pof):用作配置文件装入配置器件(如epc2、epc1、ep1441)中。
*二进制文件(.rbf):包含全部配置数据,用于微处理器做配置时的数据流,rbf 文件决定了配置该器件所需数据量的大小。
*文本文件(.ttf):包含全部配置数据,用于微处理器做配置时的数据流。ttf文件存放了最原始的配置数据,即数据不含有任何附加的文件格式(头尾标识字节),可以直接复制到单片机程序最后,用伪指令db做成数据表tab,配合指令mov dptr,#tab和movc a,@a+dptr 进行查表取数据。
* hex文件(.hex): intel 16进制格式下为ascii文件。包含全部配置数据,用于微处理器做配置时的数据流。第一行为7个字节的头信息,每一行开头4个字节,结尾1个字节,为标识字节,中间部分与*.ttf的数据相同,为有用的配置数据。最后一行是4个字节的尾信息。

用单片机配置的设计思路
和实现
把配置管脚与单片机的i/o口(如p1口)相连,对单片机编程仿真ps方式配置时序,由于配置数据的数据量较大,可将其存入外部rom,在这里选用atmel的at24c256串行eeprom,体积小(8pin)存储量大(256k bit),可重复擦写1000k次以上。
在实际使用中,把配置板插在ps方式下载线的十针插头上,所以配置板的电源由目标板提供,由于不同的系统采用的电压不同,所以要求配置板必须可以适应多电压。所以要求我们选取的单片机和串行eeprom必须支持多电压工作。
在配置过程中,单片机必须严格控制信号的时序。nconfig的启动低脉冲宽度至少为2ms。
dclk的第一个上升沿在nconfig的上升沿后延迟5ms。dclk的周期至少为60ms。
以同样原理还可以同时配置多个目标器件,原理图如图3。
第一个器件的信号nceo,在配置完毕后跳变为低,从而激活第二个器件。所有待配置器件的c
相关IC型号

热门点击

 

推荐技术资料

声道前级设计特点
    与通常的Hi-Fi前级不同,EP9307-CRZ这台分... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!