首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» FPGA在线加载模式简介
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
FPGA在线加载模式简介
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2014-10-10 19:39
|
只看该作者
FPGA在线加载模式简介
在线
,
规模
FPGA是基于SRAM编程的,编程信息在系统掉电时会丢失,每次上电时,都需要从器件外部的FLASH或EEPROM中存储的编程数据重现写入内部的SRAM中。FPGA在线加载需要有CPU的帮助,并且在加载前CPU已经启动并工作。
FPGA的加载模式主要有以下几种:
1).PS模式(Passive Serial Configuration Mode),即被动串行加载模式。PS模式适合于逻辑规模小,对加载速度要求不高的FPGA加载场合。在此模式下,加载所需的配置时钟信号CCLK由FPGA外部时钟源或外部控制信号提供。另外,PS加载模式需要外部微控制器的支持。 2).AS模式(Active Serial Configuration Mode),即主动串行加载模式。在AS模式下,FPGA主动从外部存储设备中读取逻辑信息来为自己进行配置,此模式的配置时钟信号CCLK由FPGA内部提供。 3).PP模式(Passive Parallel Configuration Mode),即被动并行加载模式。此模式适合于逻辑规模较大,对加载速度要求较高的FPGA加载场合。PP模式下,外部设备通过8bit并行数据线对FPGA进行逻辑加载,CCLK信号由外部提供。 4).BS模式(Boundary Scan Configuration Mode),即边界扫描加载模式。也就是我们通常所说的JTAG加载模式。 所有的FPGA芯片都有三个或四个加载模式配置管脚,通过配置来选取不同的加载模式。 首先来介绍下PS加载模式,各个厂商FPGA产品的PS加载端口定义存在一些差异,下面就对目前主流的三个FPGA厂商Altera, Xilinx,Lattice的PS加载方式进行一一介绍。 Altera公司的FPGA产品PS加载接口如下图所示。
1).CONFIG_DONE:加载完成指示输出信号,I/O接口,高有效,实际使用中通过4.7K电阻上拉到VCC,使其默认状态为高电平,表示芯片已加载完毕,当FPGA正在加载时,会将其驱动为低电平。 2).nSTATUS:芯片复位完成状态信号,I/O接口,低有效,为低时表示可以接收来自外部的加载数据。实际使用中通过4.7K电阻上拉到VCC,使其默认状态为高,表示不接收加载数据。 3).nCE:芯片使能管脚,输入信号,低有效,表示芯片被使能。当nCE为高电平时,芯片为去使能状态,禁止对芯片进行任何操作。对于单FPGA芯片单板,nCE直接接GND即可,而对于多FPGA芯片单板,第一片芯片的nCE接GND,下一芯片的nCE接上一芯片的nCEO。 4).nCEO:使能输出信号,当芯片加载完成时,该管脚输出为低电平,未加载完成时输出为高电平。对于单FPGA芯片单板,nCEO悬空,对于多FPGA芯片单板,nCEO接下一芯片的nCE。 5).nCONFIG:启动加载输入信号,低电平时表示外部要求FPGA需要重新加载,复位FPGA芯片,清空芯片中现有数据。实际使用中该管脚通过4.7K电阻上拉到VCC,使其默认状态为高。 6).DCLK:加载数据参考时钟。PS模式下为输入,AS模式下为输出。 7).DATA0:加载数据输入,输入信号。 8).MSEL[0:3]:加载模式配置管脚。
上图为利用CPU扩展I/O端口对多片FPGA进行PS加载的硬件连接实例。CPU可以利用自己的I/O端口来对FPGA进行直接加载,不过,由于CPU的I/O端口有限,在大多数情况下,都是利用扩展I/O端口,扩展器件可以是CPLD或FPGA,不过在大多数情况下都是CPLD。上图为同步加载方案,两片FPGA的nCE管脚都接GND,所以两片FPGA的加载操作会同时开始和结束,此种设计方案适用于两片FPGA来自同一个厂家,并且逻辑数据相同。如果两片FPGA的逻辑数据不同,则需要采取异步加载模式,如下图所示。
如上图所示,第一片芯片的nCEO输出管脚与第二片芯片的nCE管脚连接,当第一片芯片加载逻辑时,nCEO输出高电平,将第二片芯片禁止,直到第一片芯片加载完成时,nCEO输出低电平,让第二片芯片使能,然后开始接收加载数据。
FPGA的加载流程
1).CPU的I/O端口或扩展I/O端口将FPGA的nCONFIG驱动为低,通知FPGA去完成加载前的准备工作(复位芯片,清空FPGA内部数据)。 2).FPGA完成准备工作,将nSTATUS信号驱动为低,表示准备工作已完成,可以接收加载数据。 3).CPU对FPGA加载逻辑,在此器件,FPGA将CONFIG_DONE驱动为低,表示正在加载。 4).加载完成后,FPGA将CONFIG_DONE驱动为高,通知CPU加载已完成。如果加载过程出现错误,需要重新加载的话,FPGA会将CONFIG_DONE保持为低,通知CPU重新加载。 Xilinx公司FPGA产品的逻辑加载端口信号跟Altera公司的有点差别,如下图所示。
1).DONE:加载完成指示信号,I/O信号,OD输出,低有效,使用时需要上拉到VCC,此信号与Altera芯片的CONFIG_DONE信号功能相同。 2).INTI_B:I/O信号,OD输出,在配置模式采样之前,此信号为输入,为低电平时,表示延迟配置。在配置模式采样后,用于指示配置过程中是否有CRC错误,为低电平时表示有CRC错误。使用时需要上拉到VCC。 3).PROG_B:输入信号,低电平时,异步复位芯片,为接收加载数据作准备。与Altera芯片的nCONFIG信号功能相同。 4).CCLK:I/O信号,JTAG模式外的所有配置模式下的时钟输入。 5).D_IN:输入信号,加载数据输入,与CCLK信号的上升沿同步。 6).D_OUT:输出信号,串行数据输出。当FPGA芯片配置为bypass模式时,D_IN可以直接透传过芯片从D_OUT管脚输出。 Xilinx芯片PS加载的硬件连接方式同Altera芯片的相同,这里就不画了,同样的,Xilinx芯片多片加载时也支持同步和异步两种方式。同步方式下,加载数据分别跟每一片FPGA芯片的D_IN信号连接。异步方式下,前一芯片的D_OUT接后一芯片的D_IN,等前一芯片加载完毕后,切换到bypass模式,数据直接从D_OUT管脚透传过去给后面一片芯片加载。 Lattice公司的FPGA产品逻辑加载端口跟Xilinx很相似,如下图所示。
CFG是加载模式配置管脚,PROGRAMN是加载控制管脚,输入信号,低电平进入加载状态。DI是加载数据输入管脚,非加载状态下可作为普通I/O端口使用。 下面是Lattice FPGA芯片的PS和AS加载模式混合使用的实例,如下图所示。
如上图所示,左边的FPGA使用AS模式,通过CPU的SPI接口给自己加载逻辑,时钟信号CCLK由左边的FPGA提供,等左边的FPGA加载完成后,它会作为主控制器给右边的FPGA加载,此时的加载方式为PS模式。CPU通过I/O口与两片FPGA的PROGRAMN管脚相连,可以控制加载的先后顺序。
PP加载模式
Altera芯片的并行加载端口与串行加载差不多,只是数据宽度由1位增加到8位。 Xilinx芯片的并行加载端口与串行加载端口相比,多出如下信号线: 1).数据宽度由1位增加到8位; 2).DOUT_BUSY:回读数据Ready指示信号。 3).CS_B:芯片加载选择管脚,低有效; 4).RPWD_B:读写控制信号,低电平为写,高电平为读。Lattice芯片的并行加载端口与串行加载端口相比,多处如下信号线: 1).CSN/CS1N:加载启动信号,CSN或CS1N为高时,D[7:0]和BUSY变为高;CSN和CS1N同为高时,flow_through和bypass寄存器将被复位;CSN和CS1N同为低时,FPGA进入加载状态。 2).WRITEN:读写控制信号,低电平时表示写,高电平时表示读。 3).BUSY:三态输出,BUSY=0时,表示已准备好接收D[0:7]或送出D[0:7];为高电平时表示忙碌。 4).CSON:当flow_through使能时,当第一个FPGA芯片加载完成后,CSON将输出低电平,使第二个FPGA进入加载状态。此信号可连接下一片芯片的CSN, CS1N来源:
Andy
的博客
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
TOP
返回列表
资料共享
模拟电路
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议