您当前的位置:首页 > 行业资讯

基于SPIFlash实现FPGA的复用配置

时间:2015-01-14  来源:扁平线圈电感厂家  点击:

SPI(SerialPeripheralInterface,串行外围设备接口)是一种高速、全双工、同步的通信总线,在芯片的引脚上只占用4根线,不仅节约了芯片的引脚,同时在PCB的布局上还节省空间。正是出于这种简单、易用的特性,现在越来越多的芯片集成了这种通信协议。

1SPI配置介绍

1.1Spantan-3ESPI配置流程

SPI方式是通过符合SPI接口时序的第三方SPIFlash对FPGA进行加载。它适合作为FPGA硬件结构的bit文件保存介质,如果应用软件工程编译后的代码较小,保存在同一片SPIFLash中(即复用SPIFlash)无疑是可行的最廉价方案。

由于本没计软件工程规模较小,所以利用此复用SPIFlash方式对FPGA进行配置,既保存FPGA配置的bit文件,也保存应用软件工程的bit文件。系统在上电或向PROG_B引脚发出低脉冲后,FPGA芯片经过一个初始化插件电感序列清空内部FPGA配置存储器。此序列开始时,DONE和INIT_B引脚均转为低。初始化完成后,INIT_B引脚转为高,并采样芯片的配置模式及变量选择引脚。

SPI模式下工字电感器,FPGA对变量选择(VS[2:0])引脚采样,以确定发出哪个SPI命令序列。当初始化之后发出INIT_B信号时,模式引脚和变量选择引脚都必须处在正确的逻辑级,以确保正确采样。

在变量选择引脚选择SPI命令集之后,FPGA将CSO_B选择信号置为低,并且开始通过FPGA的CCLK引脚对SPIFlash存储器进行时钟控制。接着发出8位读命令后跟24位起始地址0x000000和目标命令集的适量虚拟字节。FPGA从地址0开始读取SPIFlash存储器阵列,直到读完所需的配置位数。如果从存储器件读取到有效比特流,则发DONE信号,以指示FPGA配置成功。图1为SPI配置方式的时序。

35.jpg

图2是AT45DB161DSPIFlash的配置接口。这种配置方式只占用了FPGA芯片的4个引脚,而且配置成功之后,所有SPI引脚都成为可用的用户I/O引脚,这就节省了FPGA的引脚资源。

36.jpg
1.2SPIFlash存储器的复用

复用SPIFlash是指既用它来保存硬件配置文件、Bootloader引导程序还用来保存用户应用程序。在加载阶段,FPGA自动从SPIFlash中读取硬件配置bit文件及Bootloader程序进行配置到片内BRAM中运行。当完成加载后,FPGA内部逻辑启动,通过运行的Bootloader程序读取SPIFlash中的用户应用程序,并写到外部SDRAM的相应位置,最后Bootloader程序切换指令指针到SDRAM指定位置,在外部的SDRAM中开始执行应用程序。

图3给出了本系统中复用SPIFlash嵌入式系统结构图,用EDK中的opb_sdram连接外部SDRAM,用opb_spi连接SPIFlash(AT45DB161D),通过Bootloader软件程序实现从SPIFlash中复制用户应用程序到SDRAM中,然后在SDRAM中运行。但是,Boot-loader在系统上电时会通过FP-GA芯片的配置引脚首先加载到BRAM中运行,这样就可以实现上电自动加载启动程序。


2Bootloader引导程序的设计

在工程代码编写之前要求对硬件器件有所了解,主要需要了解FPGA所需要的配置文件空间,还有Flash存储结构。例如:XC3S500E配置文件空间为2270208位,所以要根据它计算存储应用程序的基地址。AT45DB161D是串行接口的闪存芯片,它包含有17301504位,被组织为4096电感生产页,每页512/528字节。除了主存储器,AT45DB161D还包括2个SRAM数据缓冲区,每个缓冲区512/528字节。在主存储器正在编程时,缓冲区是允许接收数据的,并且支持数据流式写入。(此处为528字节/页)

AT45DB161D的存储器阵列分为3个级别的粒度,分别为扇区、块与页。图4对各个级别进行了分析,详细说明了每个扇区与块的页数。所有的编程操作都是针对页的。擦除操作可以作用于芯片、扇区、块或页。

最后利用定义的空函数int(*boot_app_jump)(void);”将地址指针指向内存的应用程序基地址,使其从此处功率电感开始运行程序。

//将目的地址赋给跳转函数
boot_app_jump=(int(*)(void))DESTINATION_AD-DR;
//运行跳转函数,使其在该函数地址开始运行程序boot_app_jump();

3SPIFlash软件引导过程及SPIFlash编程

本实验使用简单的应用程序(打印hello_world),即工程“hello_world”。工程serial_Flash_bootloader就是上面设计的引导程序。

3.1编译用户应用程序的二进制文件

由于应用程序要在外部SDRAM中运行,所以不需要初始化BRAM存储器,如图5所示。

大电流电感

可最大限度降低电路EMI,快来康康它是谁?LT8652S 是一款双通道同步单片式降压型稳压器,具有 3 V 至 18 V 的输入范围。两个通道可同时提供高达 8.5 A 的连续电流且每个通道支持高达 12 A 的负载。它具有峰值电流模式

高压输入短路保护时炸管,VDS超标,请各位大佬指导!测试电源短路保护时,低压端正常,高压端炸了芯片,于是用示波器测VDS波形,在低压时短路保护时测波形,发现VDS尖峰已经非常大了,所以高压时肯定会炸芯片。请问这是什么原因了,怎么补救

JESS的智能家居安防系统的设计方案 随着社会的不断发展和人们收入的不断增加,人们开始越来越关注生活条件的安全性和生活质量的可靠性,个人用户对家庭安全需求的增长越来越快。与此同时,传统的机械式或单纯依靠人为控制和操作的安防系统在实际的使

注塑加工厂


上一篇基于内阻法的UPS系统中的蓄电池电量估测设计

下一篇LED的光照图式设计与应用


  
  温馨提示
网站首页 | 产品展示 | 科技前沿 | 行业资讯
本公司专业研发、设计、生产、销售贴片电感、插件电感、功率电感、大电流电感、扁平线圈电感、一体成型电感。
专业电感生产制造商,品质优异、交期快。
在线客服
热线电话