当前位置:首页 > 工业控制 > 电子设计自动化
[导读]摘要:通过对现有可编程芯片下载方案的研究,针对某些用户对“现场可编程”的要求,本文提出了一种基于FPGA的数据高速动态下载方案,并简要介绍了该方案的硬件设计与实现思想。 1 引言 随着可编程逻辑器件的快速发展,


摘要:通过对现有可编程芯片下载方案的研究,针对某些用户对“现场可编程”的要求,本文提出了一种基于FPGA的数据高速动态下载方案,并简要介绍了该方案的硬件设计与实现思想。

1 引言

随着可编程逻辑器件的快速发展,器件的成本不断降低,已有越来越多的应用领域用到 可编程逻辑器件。它本身具有的可编程能力,可以方便设计者轻松升级系统,并且使设计的 算法以硬件的方式执行,大大提高了系统的处理速度。FPGA 以其具有极大的灵活性和现场 可编程特性得到广泛的应用。按工艺划分,FPGA 可分为反熔丝型、FLASH 型和SRAM 型。 反熔丝型虽然具有极强的保密性、但由于仅能编程一次,在使用上受到极大限制;FLASH 型FPGA 克服了反熔丝型FPGA 的缺点,但受结构和工艺限制,在容量上有时很难满足实 际需求;目前SRAM 型FPGA 以其具有容量大、可反复编程特性得到广泛应用,目前市场 上大容量FPGA(10 万门以上)无一例外都是基于SRAM 结构。然而SRAM 型FPGA 最大 的缺点是需要外挂一片FLASH 配置芯片,该芯片对用户完全透明,可以通过下载电缆或专 用编程器进行编程。由于该芯片可以方便的进行复制和修改,因此配置文件极易被非法窃取, 设计师的知识产权无法得到充分保障。

本文分析研究了 ALTERA 公司的FPGA 下载方式、下载文件数据结构及被动串行下载 时序,提出了一种基于PCI 接口总线的现场配置电路设计方案。该电路模块与PCI9656 芯 片控制模块融合在一起,配合上层应用软件,借助于主机PCI 总线和PCI 设备驱动程序, 利用QUARTUS II 软件产生的二进制流文件直接对FPGA 芯片进行现场下载,下载采用 ALTERA 公司FPGA 的被动串行方式,具有很好的通用性。

2 适配卡电路结构

本设计方案的设计是基于PCI 总线适配卡,适配卡为一高速数据采集卡,主要包括PCI 总线接口芯片、局部总线控制模块、内部运算与通信控制模块。电路的整体结构框图如图1 所示。


通过分析 PCI 总线的传输与外围设备如FIFO、SRAM、Flash 的时序知道,SRAM 属于 同步设备,所有的读写操作均发生在时钟上升沿,SRAM 写时序与PCI 总线的时序一致, 可直接采用该时序进行控制,FIFO 也属于同步设备,FIFO 读写时序及Flash 属于异步设备 通过设计相应的简单时序控制逻辑就能满足与PCI 总线通信时序的要求。

3 下载电路硬件设计方案

3.1 PS 配置时序

FPGA 具有被动串行(PS)、主动串行(AS)和JTAG 三种下载方式,其中PS 模式为 ALTERA 公司FPGA 的通用下载方式,操作透明、配置简单。在该模式下,外部电路采用5 条信号线对FPGA 进行配置,分别为配置时钟DCLK,配置数据DATA0,配置启动nCONFIG, 配置状态nSTATUS,配置完成CONF_DONE 信号。配置时序如图2 所示。


3.2 下载模块电路设计

在 EPM7256A 内部设计下载电路,电路由D 锁存器、长度计数器、数据移位寄存器、 状态机、状态寄存器及局部总线控制模块构成。D 锁存器锁存主机送入的命令,输入连接局 部总线数据为LD[1:0],LD[1:0]=01 为启动配置、10 为等待数据命令、11 为结束配置命令, 该命令输出到配置控制状态机,作为控制输入。数据长度计数--器内部存放本次配置的数据 长度,位宽5bit,连接局部总线LD[7:3],计数器最大计数范围为24,每写入1bit,长度值 减1,当减至0 时,产生借位信号,作为本次配置完成信号,送入状态机。数据移位寄存器共计24bit 宽,内部装载本次配置的数据,在状态机的控制下,顺序移出,写入FPGA。局 部总线控制模块产生局部总线的写使能、读有效信号,当PCI9054 寻址到20004000H 时, 产生写使能信号,PCI9054 寻址到20000000H 时,产生状态寄存器读输出有效信号。状态寄 存器输出连接局部总线,输入连接FPGA 配置状态信号nSTATUS、CONF_DONE 和本次配 置完成信号。电路框图如图3 所示:




3.3 下载电路状态机设计

状态机是该下载模块的重要组成部分,负责协调各个模块的工作。其输入时钟信号 LCLK,复位信号LRESET#,下载电路写使能,DLC_WEN,本次配置完成指示:CONFIG_DATA_BO;输 出 为 配 置时钟DCLK , 配置启动nCONFIG , 配置数据: DATA0 , 移位使能 CONFIG_DATA_SHEN,计数使能CONFIG_LEN_EN。状态机包括“等待命令状态”SF0、 “启动配置状态”SF1、“等待数据状态”SF2、“配置数据状态1”SF31、“配置数据状态2” SF32,其状态转换过程如下:

状态SF0:“等待命令状态”,等待软件配置启动命令。

此时:CONFIG_EN = 1、CONFIG_DATA_SHEN = 0 、CONFIG_LEN_EN = 0 、DCLKQ = 0、nCONFIGQ = 1;

若DLC_WEN_SH=1 且命令为0x01H,则进入状态S1;

否则维持 S0 状态不变。

状态 SF1:“启动配置状态”。

此时:CONFIG_EN = 0、CONFIG_DATA_SHEN = 0 、CONFIG_LEN_EN = 0 、DCLKQ = 0、nCONFIGQ = 0;

若 DLC_WEN_SH=1 且命令为0x02H,则进入“等待数据状态”;否则维持 S1 状态不变。

状态 SF2:“等待数据状态”。

此时: CONFIG_EN = 0、CONFIG_DATA_SHEN = 0 、CONFIG_LEN_EN = 0 、DCLKQ = 0、nCONFIGQ = 1;

若 DLC_WEN_SH=1 且命令为0x03H,则进入“配置数据状态1”S31,若 DLC_WEN_SH=1 且命令为0x00H,则返回“等待命令状态”S0,否则维持 S2 状态不变。

状态 SF31:“配置数据状态1”。发DCLK 为高电平及第N-bit 有效数据此时:CONFIG_EN = 0、CONFIG_DATA_SHEN = 1 、CONFIG_LEN_EN =1 、

DCLKQ = 1、nCONFIGQ = 1;进入状态 S32。

状态 SF32:“配置数据状态2”。发DCLK 为低电平及第(N+1)-bit 有效的数据此时:CONFIG_EN = 0、CONFIG_DATA_SHEN = 0 、CONFIG_LEN_EN = 0 、

DCLKQ = 0、nCONFIGQ = 1;

若 CONFIG_DATA_BO = 1 则进入状态 S31;

否则返回“等待数据状态”S2。

4 下载电路软件设计方案

下载电路软件设计主要功能是读取待下载文件,初始化硬件设备,按照下载电路的时 序要求将数据和控制命令写入相应的PCI 存储空间。初始化、配置设置、下载的实质都是 通过数据总线将固定格式的命令和数据写入到命令寄存器,并在这个过程中不断读取状态寄 存器的值以监测是否有错误发生。

首先开机,启动操作系统,EPM7256A 内部电路已下载。其次进行初始化操作。通过 数据总线向地址S0+E000H(配置端口)写入初始化命令0x01H,延迟一段时间,读取地址 S0+0000H(状态寄存器)内的数据,直至检测到配置标志位CONF_DONE、nSTATUS 均为 0,初始化工作完成。再次进行配置启动。向地址S0+E000H(配置端口)写入配置命令0x02H, 延迟一段时间,读取地址S0+0000H 状态寄存器内的数据,直至检测到配置标志位 CONF_DONE 为0、nSTATUS 为1,配置FPGA2 工作完成。接着进行配置数据,向地址 S0+E000H(配置端口)写入数据。Bit[2..0]固定接为011,作为配置数据命令;Bit[7..3]为本 次下载的有效数据长度;Bit[31:8]为要下载数据,Bit[31]最先下载、Bit[8]最后下载。读取地 址S0+0000H(状态寄存器)内的数据,直至检测到配置标志位CONFIG_DATA_BO 为0。 若检测到CONFIG_DATA_BO=1,表明本次操作尚未完成,继续执行配置数据,否则执行下 一步。最后进行数据配置完成检验。读取地址S0+0000H(状态寄存器)内容,直至检测到 配置标志位CONF_DONE、nSTATUS 均为1,表明全部数据配置完成,向地址S0+E000H (配置端口)写入数据0x00H,完成本次下载软件操作。

5 结束语

方案严格按照 FPGA 的PS 模式进行配置,实现了专用芯片在DOS 系统下的动态配置。 经过试验验证,按照该方案设计的电路速度快,运行稳定,设计完全达到了预期的目的。

本文作者创新点: 该设计方案实现了FGPA 掉电后内部数据的自动清除,可以保障专用 芯片的保密性;另外本方案选用ALTERA 公司的EPM7256A 作为配置芯片,在其内部实现 下载电路,真正实现了“现场可编程”,根据本设计思想还可以轻松做到在线升级。



参考文献:

[1].PCI datasheethttp://www.dzsc.com/datasheet/PCI+_1201469.html.
[2].EPM7256A datasheethttp://www.dzsc.com/datasheet/EPM7256A+_301023.html.
[3].1bitdatasheethttp://www.dzsc.com/datasheet/1bit_2178090.html.
[4].PCI9054 datasheethttp://www.dzsc.com/datasheet/PCI9054+_1054563.html.
[5].SF2datasheethttp://www.dzsc.com/datasheet/SF2_1184527.html.
[6].SF31datasheethttp://www.dzsc.com/datasheet/SF31_604269.html.
[7].SF32datasheethttp://www.dzsc.com/datasheet/SF32_604270.html.


来源:xinxin0次

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭