MPC860控制FPGA配置

 1 概述

MPC860是基于PowerPC结构的通信控制器。它不仅是集成的微处理器,而且将很多外设的功能也集成在一起。MPC860具有存储控制器,其存储控制器的功能很强,可以支持各种存储器,包括各种新型的DRAM和Flash,并可以实现与存储器的无缝接口;而且使用嵌入式操作系统VxWorks和开发环境Tornado开发非常方便。

本设计中用1片Intel W28F1283A150 Flash作为BootFlash对MPC860进行加电配置,其多余的存储空间完全可以存放下FPGA所需的配置文件。加电复位、系统启动后,由MPC860处理机与EPLD配合,控制FPGA配置文件的下载过程,完成对FPGA的配置。使用MPC860可以对FPGA十分方便地进行配置,甚至可以通过MPC860的网络功能对FPGA进行远程配置,节省了因采用专用配置芯片所耗费的电路板及其成本。本文主要介绍如何用MPC860对Xilinx公司的Virtex II系列的FPGA进行配置,其原理同样适用于别的FPGA芯片(包括Altera公司)。

 MPC860控制FPGA配置_设计制作_嵌入式技术


 2 Xilinx FPGA的配置方式

本设计中FPGA采用Xilinx公司Virtex-II系列蝗XC2V4000,其配置文件的下载模式有5种:主串模式(master serial)、从串模式(slave serial)、主并模式(master selectMAP)、从并模式(slave selectMAP)、JTAG械。其中,JTAG模式在开发调试阶段使用。本设计将JTAG口直接做在信号处理板上,便于开发设计阶段的调试。

参考Xilinx公司的有关文档,比较其余4种下载模式,可将其分为串行下载方式和并行下载方式。串行下载方式和并行下载方式都有主、从2种模式。主、从模式的最大区别在于:主模式的下载同步时钟(CCLK)由FPGA提供;从模式的下载同步时钟(CCLK)由外部时钟源或者外部控制信号提供。主模式对下载时序的要求比从模式严格得多。因此从处理机易于控制下载过程的角度,选择使用从串模式或从并模式。本设计采用从串模式进行FPGA配置,以减少占用MPC860的资源。

用MPC860对FPGA进行配置,实质上就是用MPC860和EPLD来仿真JTAG接口的下载时序,完成对FPGA的下载。JTAG的有效引脚只有5个,分别是nConfig(PROG_B)、nStatus(INIT_B)、Conf_Done(DONE)、DClk(CCLK)、Data0(DIN)。其中nConfig用于使FPGA进行到下载状态,nStatus时不否出现CRC校验错误,Conf_Done用于表示下载完成,而DC1k的Data则是用于在下载时产生时钟和数据位的。每一个CD1k时钟周期写入1个bit数据(括号中标注为Xilinx的FPGA对该功能的称呼)。

 MPC860控制FPGA配置_设计制作_嵌入式技术

 引脚方向(对FPGA)说明
Data0 输入 数据引脚
DClk 输入 同步时钟,由外部时钟源或控制信号提供
NConfig 输入 异步复位引脚,用于异步复位配置逻辑
Conf_Done 输出 配置状态
nStatus 输出 下载状态

 3 从串模式的配置信号和下载时序

 (1)启动下载时序
在nConfig引脚上产生1个超过2μs的低脉冲,等待nStatus回应1个低脉冲以及Conf_Done。变低。这时候表明FPGA已经进入到了下载状态,等待至少5μs以后就可以开始下载了。

 (2)下载时序
从串下载模式的下载时序如图1的所示。
在Data0上逐位地产生要下载的数据,同时在DC1k上产生时钟。数据必须在时钟的上升沿之间50ns有效,时钟高电平和低电平的时钟都不能小于80ns。这一过程一直持续到全部数据下载完成。在下载过程中可以出现相对较少时间的等待状态,而不会中断下载进程。如果发生错误,nStatus将被拉低,FPGA退出操作,必须重算1~3步骤。

 (3)结束下载
在数据都下载完成以后,需要继续给FPGA提供若干的时钟,时钟要至少等到Conf_Done变高为止。

 (4)启动器件

Conf_Done被释放,被外部拉高。

MPC860处理机控制从串下载模式的信号连接示意如图2所示。

 MPC860控制FPGA配置_设计制作_嵌入式技术

 4 MPC860下载模式的软件(状态机)设计

MPC860下载模式的状态机的实现是由PCM860处理器和EPLD协同来完成的。MPC860通过写入Sc_Dnld_Req(1..0)来控制状态机的下一个状态,通过判断EPLD中寄存器Sc_Dnld_Con(3..0)的内容来决定流程的跳转。

 MPC860控制FPGA配置_设计制作_嵌入式技术

图3中状态req=“x”代表向EPLD的寄存器Sc_Dnld_Req写入数据“xx”。


78
18
0
70

相关资讯

  1. 1、扫描全能王怎么拼接图片?扫描全能王拼接图片的方法163
  2. 2、Win8系统怎么隐藏收藏夹?Win8系统隐藏收藏夹的方法4507
  3. 3、Win10服务主机本地系统网络受限777
  4. 4、会声会影怎么制作写字效果?会声会影制作写字效果的方法2942
  5. 5、Win10如何更改工作组?Win10更改工作组的方法1777
  6. 6、在全民K歌app中怎么彻底清理死粉?彻底清理死粉的方法831
  7. 7、Win7旗舰版蓝屏代码0x0000000a怎么修复?2587
  8. 8、怎么使用鲁大师查看电脑配置?2880
  9. 9、云闪付中怎么将手机闪付打开?云闪付中将手机闪付打开的方法1126
  10. 10、PS树林透光效果怎么做?3分钟了解树林透光效果制作方法5020
全部评论(0)
我也有话说
0
收藏
点赞
顶部