登录
|
注册会员
开启辅助访问
设为首页
收藏本站
扫一扫关注官方微信
论坛
BBS
M币充值
M currency prepaid phone
M币获取
附件中心
搜索
search
全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
MCU资讯论坛
»
论坛
›
单片机论坛
›
单片机应用于方案
›
基于CPLD的FPGA快速配置电路的设计
更新自动建库工具PCB Footprint Expert 2023.13 Pro / Library Expert 破解版
基于CPLD的FPGA快速配置电路的设计
[复制链接]
5497
2
ad***
管理员
发表在
嵌入式/ARM
2013-3-27 09:59:20
|
查看全部
|
阅读模式
本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要
登录
才可以下载或查看,没有帐号?
注册会员
x
摘 要:
介绍了采用
CPLD
和Flash器件对
FPGA
实现快速并行配置,并给出了具体的硬件电路设计和关键模块的内部编程思路。
关键词:
FPGA 并行配置 Flash CPLD
基于SRAM工艺的FPGA(现场可编程门阵列)具有集成度高、逻辑功能强等特点;应用FPGA进行数字电路设计,不但能减小电路的体积,提高系统运行的可靠性,而且其先进的开发工具可使电路设计和系统调试周期大大缩短;FPGA可无限次重复擦写,可使数字系统在线重新配置,设计更加灵活,功能更加强大,且易于更改和升级。由于FPGA中静态随机存储器(SRAM)掉电后数据会丢失,系统每次上电后需重新配置数据,如何快速、高效地将配置数据写入目标器件,并且保证其在掉电后再次上电能自动可靠地恢复配置,就成为整个系统的关键所在。本文就基于CPLD的FPGA并行数据配置方法和配置电路的设计进行初步的研究,并给出具体的硬件电路设计和关键模块的内部编程思路。
1 FPGA数据配置方法比较
实现FPGA的数据配置方法有很多,但根据器件类型和应用场合,Xilinx公司为其FPGA系列产品提供了多种数据配置方式,归纳起来主要有以下四种[3]:①采用JTAG方式加载;②采用主串方式加载;③采用从串方式加载;④采用并行方式加载。
JTAG方式数据加载方法是基于IEEE1149.1和IEEE1532的配置模式,通过TDI、TDO、TMS和TCK四根信号线接到FPGA上的相应引脚实现数据加载。这种方式电路结构简单、工作可靠、无需外接PROM等存储器件进行数据配置,但需要专用的数据配置电缆,因此该方法适用于数字系统的开发阶段。
主串方式数据加载方法是通过串行方法读取专用PROM存储介质中数据,实现FPGA的在线配置的,其配置时钟由FPGA内部送出。这种方式电路实现较为简单,但该配置方式必须使用Xilinx公司生产的专用PROM,应用不灵活。
从串方式数据加载方法类似于主串方式,但配置时钟由FPGA外部提供,需要设计专用电路控制整个配置过程。
并行方式数据加载方法是通过并行方法读取通用Flash或E2PROM等存储介质中的数据,实现FPGA的在线配置的。由于采用并行方式,八位数据可同时被写入FPGA,数据配置速度最快。其配置时钟由外部提供,需要设计专用电路控制整个配置过程。常用的配置控制器可以是各类处理器、微控制器或可编程逻辑器件,目前应用较多的是采用
单片机
和E2PROM构成控制电路。随着FPGA规模和性能的不断提升,其配置文件越来越大,对配置速度的要求也越来越高,所以快速的并行配置方式必将得到越来越广泛的应用。
2 FPGA并行方式数据配置原理
采用并行方式进行FPGA数据配置时,其相关配置引脚可分为专用配置引脚和非专用配置引脚。专用配置引脚包括:配置模式引脚M2、M1、M0;配置时钟引脚CCLK;配置逻辑异步复位引脚
;启动控制引脚DONE。这些引脚只在配置时起作用,配置完成后不能作其它用途。非专用配置引脚包括:数据接口D0~D7、片选信号CS、写信号
、BUSY、
等引脚,这些引脚在配置时作为信号通道使用,配置完成后还可作为普通I/O口使用。数据配置时序如图1所示。当
为低电平时,FPGA内部数据初始化,初始化完成后,DONE信号变为低电平,同时
信号自动置为低电平,开始清空配置存储器。配置存储器清空后,信号重新被置为高电平,同时器件对模式引脚进行采样,确定以并行方式加载配置数据。当
、
信号都为低电平时,就可以通过数据接口D0~D7进行数据配置。图1清晰地表明了并行配置的全过程。
3 系统设计
3.1 系统组成
并行方式的FPGA数据配置系统由上位机、可编程逻辑器件(CPLD)、Flash、FPGA等组成,其结构如图2所示。控制器件对整个系统的性能具有重要影响,低成本的处理器、微控制器工作频率较低,在对速度要求较高的场合,会成为系统速度的瓶颈,不能发挥并行配置的速度优势,而且仅作为配置控制器使用又造成资源的浪费。采用CPLD作为控制器,Flash作为存储器件,不仅能满足速度和功能的要求,而且硬件电路更为简洁。
并行数据配置系统的上位机可以选用PC机、工控机等,主要对CPLD进行简单的功能控制,并对系统数据进行处理。CPLD是整个系统设计的核心,其主要功能是进行配置控制和地址生成。Flash闪存是配置文件的存储器件,由专用开发工具生成FPGA配置文件,预先烧写进Flash中。FPGA是系统中配置的目标器件,本系统采用六片Spartan II系列中的Xilinx XC2S200。
3.2 硬件设计
3.2.1 芯片选型
配置电路中CPLD采用XC9500系列中的XC9536芯片,宏单元数目为36个,采用快闪存储技术,最高工作频率可达100MHz。PC44封装的XC9536包括时钟端口在内共有34个通用I/O口,可以满足系统的要求。配置存储器采用Winbond公司的W29C040-90,其512K×8bit的容量可以依次存放三个不同的配置文件,存取周期可达90ns。Spartan II系列FPGA的配置时钟最高可达66 MHz,但考虑到闪存的存取时间限制,配置晶振采用8MHz有源晶振。
3.2.2 原理图
配置电路接口如图3所示,并行配置的多片FPGA的控制信号CCLK、
、
、DONE、
和BUSY以及数据线DATA(7:0)并行连接,通过分别设置片选信号CS(0:5)实现各器件的依次配置,直到所有FPGA都配置完成后才进入START-UP阶段,经过八个时钟周期延迟后一起进入工作状态。
图中Flash的存储区被分配成三个区域,分别存储不同的配置文件。其使能信号和地址信号由CPLD提供,当EN为高时,在时钟信号的下降沿对应A(18:0)的八位数据就出现在数据线D(7:0)上。CPLD的作用主要是:①实现与上位机通讯,接收指令并将工作状态反馈到上位机;②通过置PROG低电平控制FPGA的初始化过程;③初始化完成后,控制各FPGA的配置过程。
在数据配置过程中,相应FPGA的
和
信号应置低电平,若CS信号已被设置,则
的状态就不能改变,否则将引起一个Abort过程[1],使配置过程中断。为确保在CCLK上升沿采到正确的数据,在CCLK下降沿改变数据线D(7:0)上的数据。在CCLK的上升沿,若BUSY信号为低电平,数据在此时钟周期内被接收;若BUSY为高电平,数据不能被接收,直到BUSY变低后的第一个时钟周期才能继续接收数据。因此,这时的配置数据需要一直保持。
需要注意的是,多片FPGA的START-UP过程是同时进行的,为实现这一功能,在由Xilinx的开发工具ISE[4]中生成配置文件时,需要修改相应的属性。
3.3 软件设计
CPLD的设计是本系统中最重要的部分,它所实现的功能模块包括接口模块、控制模块、地址发生器模块。接口模块实现与上位机的通信,接收上位机的指令并作相应处理,同时将工作状态反馈给上位机;控制模块提供控制时序命令,操纵整个配置过程;地址发生器模块为读取闪存数据提供数据地址。内部各功能模块采用VHDL硬件描述语言实现,控制主程序用mealy状态机实现。控制主程序的状态转移图如图4所示,其中状态Start是初始状态,Init是初始化过程,Clear RAM过程清空配置存储器,Config是配置过程,Wait过程是配置多片FPGA的中间过程。
控制模块根据上位机的控制指令完成FPGA的初始化、配置等过程,并将运行结果回传给上位机。由VHDL硬件描述语言生成的原理图符号如图5所示,其中,CLK是配置时钟,RESET是启动信号,DONE、
是FPGA的反馈信号,CEND是地址发生器模块计数结束标志,EN是计数允许信号;
、
是控制信号,TRUE、FALSE是状态信号,反馈给上位机;CS(0:3)是多片FPGA的片选信号。控制模块的ModelSim仿真结果如图6所示。
参考文献
1 Xilinx Spartan II 2.5V FPGA Complete Data Sheet. Xilinx,2004
2 王道宪.CPLD/FPGA可编程逻辑器件应用与开发[M].北京:国防工业出版社, 2004
3 任晓东,文博.CPLD/FPGA高级应用开发指南[M]. 北京:电子工业出版社, 2003
4 王诚.FPGA/CPLD设计工具Xilinx ISE 5.X使用详解[M]. 北京:人民邮电出版社, 2003
5 房 磊,张焕春. FPGA的配置及接口电路[J]. 世界电子元器件, 2003(11):55~57
举报
回复
1 个评论
zhi***
新手上路
发表于 2015-1-30 23:27:50
|
显示全部楼层
谢谢分享!!!!!!!!!!
举报
回复
返回列表
*
滑块验证:
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册会员
本版积分规则
发表回复
回帖后跳转到最后一页
回复
转播
评分
分享
打开支付宝扫一扫,最高立得1212元红包
搜索
本版
帖子
用户
热搜:
传感器
51串口程序
电子管放大器
夾式電表
夾式電流
Mentor论坛
打印机
版块推荐
百宝箱
My 布拉格
无边框Z9
Z9Max
Z9mini
nubia动态
问题 & 建议
资源分享
爱拍
同城会
牛仔生活
查看论坛所有版块>>
每日签到
论坛任务
摄影技巧
跳蚤市场
互助问答
论坛导读
申请内测
红包中心
每日摇一摇
活动中心
网站地图
官方旗舰店
图文热点
工控仪表液晶驱动VK0192 LQFP44/点阵LCD液
产品品牌:永嘉微电/VINKA 产品型号:VK0192 封装形式:LQFP44 概述 VK0192是一
不用电池收音机中锗三极管的替代
图中的检波二极管已找到贴片器件,图中的锗三极管能否使用贴片替换?
小封装液晶驱动VK1088B QFN32L点阵LCD液晶
产品品牌:永嘉微电/VINKA 产品型号:VK1088B 封装形式:QFN32L 概述 VK1088B是
LCD液晶驱动/点阵段码屏驱动芯片VK1072D SS
产品品牌:永嘉微电/VINKA 产品型号:VK1072D 封装形式:SSOP28 概述 VK1072D
VK1072C SOP28/3线串行接口LCD液晶显示驱动
产品品牌:永嘉微电/VINKA 产品型号:VK1072C 封装形式:SOP28 概述 VK1072C是
更多
精华推荐
51单片机的智能反汇编工具
工控仪表液晶驱动VK0192 LQFP44/点阵LCD液
不用电池收音机中锗三极管的替代
小封装液晶驱动VK1088B QFN32L点阵LCD液晶
LCD液晶驱动/点阵段码屏驱动芯片VK1072D SS
VK1072C SOP28/3线串行接口LCD液晶显示驱动
AP8100 外围简单的 BOOST 升压恒压控制驱动
AP510X 单路低压差线性恒流芯片 LED手电筒
更多
社区学堂
工控仪表液晶驱动VK0192 LQFP44/点阵LC
不用电池收音机中锗三极管的替代
工控仪表液晶驱动VK0192 LQFP44/点阵LCD液
产品品牌:永嘉微电/VINKA 产品型号:VK0192 封装形式:LQFP44 概述 VK0192是一
不用电池收音机中锗三极管的替代
图中的检波二极管已找到贴片器件,图中的锗三极管能否使用贴片替换?
小封装液晶驱动VK1088B QFN32L点阵LCD液晶
产品品牌:永嘉微电/VINKA 产品型号:VK1088B 封装形式:QFN32L 概述 VK1088B是
更多
客服中心
QQ:187196467
服务时间:周一至周日 8:30-20:30
在线客服
客服微博
产品咨询
售后中心
关注我们
关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
QQ:187196467
周一到周日 8:30-22:00 (全年无休)
7 x 24小时在线客服
手机版
Powered by
MCUZX!
X3.4 © 2008-2015
MCU资讯论坛
版权所有
京ICP备18035221号-2
客服QQ: 187196467
技术支持:
MCU资讯论坛
|
网站地图
快速回复
返回顶部
返回列表