位置:51电子网 » 技术资料 » 单 片 机

基于单片机P89C61X2的FPGA配置

发布时间:2008/5/27 0:00:00 访问次数:549

胡远望

引 言

  大部分fpga采用基于sram(静态随机存储器)的查找表逻辑形成结构,就是用sram构成逻辑函数发生器。sram工艺的芯片在掉电后信息就会丢失,需要外加一片专用配置芯片。在上电时,由这个专用配置芯片把数据加载到fpga中,然后fpga就可以正常工作。这就是在线可重配置icr(in-circuit reconfigurability)方式。

  altera公司生产的具有icr功能的apex、flex10k、acex、flex6000等系列器件可以使用6种模式进行配置,即使用专用epc配置器件、被动串行(ps)方式、被动并行同步(pps)方式、被动并行异步(ppa)方式、被动串行异步(psa)方式及边界扫描(jtag)方式。这些模式由fpga上的两个模式选择引脚msel1和msel0上的电平来决定。

  epc配置器件有一次性可编程和可擦写编程型两种。一次性可编程型芯片不适于调试、修改及产品升级,利用率不高;可擦除编程型芯片价格昂贵,容量有限。使用ps、pps、ppa方式配置时,配置文件要以二进制形式保存在系统rom中,然后通过微处理器将配置数据送进fpga中。ps和pps所用的配置时间几乎相同,而ps的接口方式比较简单。ppa方式与pps不一样的地方是在进行串行化处理时不需要配置外部时钟的驱动,但接口更复杂。边界扫描方式在现场采用较少,通常用在计算机通过jtag口实现一次性编程数据加载的调试中。 以上6种模式中被动串行(ps)方式下fpga与配置电路的互连最简单,对配置时钟的最低频率也没有限制,因此常采用ps模式。本文采用单片机p89c61x2以ps模式对altera公司的flex10k系列芯片epf10k20进行配置,软件采用max+plus ii。

1 p89c61x2的功能特点

  p89c61x2器件采用高性能的静态80c51设计,使用先进的cmos工艺制造,并包含非易失性flash的程序存储器,可通过并行编程或在系统编程(isp)的方法进行编程。支持6时钟和12时钟模式,相应地有2种速度范围:6时钟模式时,0~20 mhz;12时钟模式时,0~33 mhz。

  p89c61x2包含64 kb的flast程序存储器、1 024字节ram、32个i/o口、3个16位定时/计数器、6中断源-4中断优先级-嵌套的中断结构、1个增强型uart、片内振荡器和时钟电路等。此外,器件的静态设计使其具有非常宽的频率范围,甚至可以降低至零。p89c61x2具有两种软件可选的节电模式--空闲模式和掉电模式。空闲模式时冻结cpu的运行,但允许ram、定时器串口和中断系统继续保持其功能;掉电模式时保持ram的内容,但冻结振荡器,使其他片内功能都停止工作。由于是静态设计,时钟停止也不会使用户数据丢失。操作可从时钟停止点恢复运行。

  p89c61x2的flash存储器增加了eprom所没有的电可擦除和编程特性,可以进行芯片擦除和块擦除。芯片擦除操作是将整个程序存储区都擦除;而块擦除可实现对任意flash块进行擦除。对p89c61x2进行在系统编程和标准的并行编程都是可行的。片内产生的擦除和写入时序为用户提供了良好的编程接口。p89c61x2的flash存储器甚至在经过10 000次擦除和编程之后仍能可靠地保存存储器内容。使用+5 v的vpp即可实现对其进行擦除和编程。

2 配置原理和配置文件

  用单片机通过ps模式配置fpga,可以使用单片机的普通输入/输出(i/o)口(如图1(a)所示)或串行口(如图1(b)所示)来实现。配置中使用了fpga的nconfig(配置控制位输入端)、nstatus(配置错误指示位输出端)、conf_done(配置结束标志位输出端)、dclk(配置时钟输入端)、data0(配置数据输入端)引脚等。nceo引脚用于多个fpga器件采用ps模式配置时,把第一片的nceo连接到下一片的nce引脚上。配置时若使用普通i/o口(如p1口),向fpga发送1位数据至少需要4个指令周期:一个指令给data0赋值,两个指令产生dclk时钟,一个指令移位取数据。如果晶振频率为fosc,一个指令周期为12/fosc,那么它的下载速率为fosc/48。如果采用串行口方式0,其下载速率提高为fosc/12。p89c61x2支持6时钟模式,速度可以提高一倍。

  在配置过程中,nconfig低电位使epf10k20复位,在由低到高的跳变过程中启动配置;加电后,epf10k20驱动nstatus引脚到低电位,然后释放它(nstatus必须经过1 kω电阻上拉到vcc,若配置期间出错,epf10k20将其拉低),每个数据由最低位(lsb)先送出给data0,数据时钟dclk同时送到器件,直到conf_done变高。在所有数据传输完后,对于flex10k和flex6000器件,dclk必须多送10个dclk脉冲;apex20k器件必须多送40个dclk脉冲。epf10k20的conf_done变高显示配置成功,开始初始化,最后进入用户模式,开始正常工作。由于ps模式中没有握手信号,因此配置时钟的工作频率必须低于10 mhz,如果想在配置中中止,可以挂断dclk。硬件描述语言生成的程序经max+plus ii编译后会产生一个后缀为.sof的sram目标文件。该文件除配置数据外还含有控制字符,不能直接写人到pld中

胡远望

引 言

  大部分fpga采用基于sram(静态随机存储器)的查找表逻辑形成结构,就是用sram构成逻辑函数发生器。sram工艺的芯片在掉电后信息就会丢失,需要外加一片专用配置芯片。在上电时,由这个专用配置芯片把数据加载到fpga中,然后fpga就可以正常工作。这就是在线可重配置icr(in-circuit reconfigurability)方式。

  altera公司生产的具有icr功能的apex、flex10k、acex、flex6000等系列器件可以使用6种模式进行配置,即使用专用epc配置器件、被动串行(ps)方式、被动并行同步(pps)方式、被动并行异步(ppa)方式、被动串行异步(psa)方式及边界扫描(jtag)方式。这些模式由fpga上的两个模式选择引脚msel1和msel0上的电平来决定。

  epc配置器件有一次性可编程和可擦写编程型两种。一次性可编程型芯片不适于调试、修改及产品升级,利用率不高;可擦除编程型芯片价格昂贵,容量有限。使用ps、pps、ppa方式配置时,配置文件要以二进制形式保存在系统rom中,然后通过微处理器将配置数据送进fpga中。ps和pps所用的配置时间几乎相同,而ps的接口方式比较简单。ppa方式与pps不一样的地方是在进行串行化处理时不需要配置外部时钟的驱动,但接口更复杂。边界扫描方式在现场采用较少,通常用在计算机通过jtag口实现一次性编程数据加载的调试中。 以上6种模式中被动串行(ps)方式下fpga与配置电路的互连最简单,对配置时钟的最低频率也没有限制,因此常采用ps模式。本文采用单片机p89c61x2以ps模式对altera公司的flex10k系列芯片epf10k20进行配置,软件采用max+plus ii。

1 p89c61x2的功能特点

  p89c61x2器件采用高性能的静态80c51设计,使用先进的cmos工艺制造,并包含非易失性flash的程序存储器,可通过并行编程或在系统编程(isp)的方法进行编程。支持6时钟和12时钟模式,相应地有2种速度范围:6时钟模式时,0~20 mhz;12时钟模式时,0~33 mhz。

  p89c61x2包含64 kb的flast程序存储器、1 024字节ram、32个i/o口、3个16位定时/计数器、6中断源-4中断优先级-嵌套的中断结构、1个增强型uart、片内振荡器和时钟电路等。此外,器件的静态设计使其具有非常宽的频率范围,甚至可以降低至零。p89c61x2具有两种软件可选的节电模式--空闲模式和掉电模式。空闲模式时冻结cpu的运行,但允许ram、定时器串口和中断系统继续保持其功能;掉电模式时保持ram的内容,但冻结振荡器,使其他片内功能都停止工作。由于是静态设计,时钟停止也不会使用户数据丢失。操作可从时钟停止点恢复运行。

  p89c61x2的flash存储器增加了eprom所没有的电可擦除和编程特性,可以进行芯片擦除和块擦除。芯片擦除操作是将整个程序存储区都擦除;而块擦除可实现对任意flash块进行擦除。对p89c61x2进行在系统编程和标准的并行编程都是可行的。片内产生的擦除和写入时序为用户提供了良好的编程接口。p89c61x2的flash存储器甚至在经过10 000次擦除和编程之后仍能可靠地保存存储器内容。使用+5 v的vpp即可实现对其进行擦除和编程。

2 配置原理和配置文件

  用单片机通过ps模式配置fpga,可以使用单片机的普通输入/输出(i/o)口(如图1(a)所示)或串行口(如图1(b)所示)来实现。配置中使用了fpga的nconfig(配置控制位输入端)、nstatus(配置错误指示位输出端)、conf_done(配置结束标志位输出端)、dclk(配置时钟输入端)、data0(配置数据输入端)引脚等。nceo引脚用于多个fpga器件采用ps模式配置时,把第一片的nceo连接到下一片的nce引脚上。配置时若使用普通i/o口(如p1口),向fpga发送1位数据至少需要4个指令周期:一个指令给data0赋值,两个指令产生dclk时钟,一个指令移位取数据。如果晶振频率为fosc,一个指令周期为12/fosc,那么它的下载速率为fosc/48。如果采用串行口方式0,其下载速率提高为fosc/12。p89c61x2支持6时钟模式,速度可以提高一倍。

  在配置过程中,nconfig低电位使epf10k20复位,在由低到高的跳变过程中启动配置;加电后,epf10k20驱动nstatus引脚到低电位,然后释放它(nstatus必须经过1 kω电阻上拉到vcc,若配置期间出错,epf10k20将其拉低),每个数据由最低位(lsb)先送出给data0,数据时钟dclk同时送到器件,直到conf_done变高。在所有数据传输完后,对于flex10k和flex6000器件,dclk必须多送10个dclk脉冲;apex20k器件必须多送40个dclk脉冲。epf10k20的conf_done变高显示配置成功,开始初始化,最后进入用户模式,开始正常工作。由于ps模式中没有握手信号,因此配置时钟的工作频率必须低于10 mhz,如果想在配置中中止,可以挂断dclk。硬件描述语言生成的程序经max+plus ii编译后会产生一个后缀为.sof的sram目标文件。该文件除配置数据外还含有控制字符,不能直接写人到pld中

相关IC型号

热门点击

 

推荐技术资料

硬盘式MP3播放器终级改
    一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!