ARM Cortex-A8/A9开发板 | ARM11开发板ARM11开发套件 | ARM9开发板ARM9开发套件 | 飞思卡尔I.MX28I.MX6开发板 |
tiny210/mini210开发板 | mini6410开发板/套餐 | Tiny6410开发板无线套件 | mini2440开发板/套餐 | micro2440开发板带核心板 | 友善开发板配件 模块 | QQ2440 V3 SBC-2410X |
FL2440 OK2440-IV V4 | OK2440-III OK2440V3 | TE2440-II TE2440V2 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | 开发板配件 模块和其他 |
Xilinx开发板/fpga开发套件 | altera开发板/fpga开发套件 | 基于FMC FPGA/DSP子卡 |
BeagleBoard原厂开发板 | PandaBoard原厂开发板 |
TI DM3730 DevKit8500D | TI系列 omap3530开发板 | ATMEL系列 开发板 | Samsung系列 开发板 | 开发板配件-仿真器 模块 | NXP LPC3250 mini3250 |
Tiny210 三星S5PV210 | Mini210/Mini210s开发板 | Tiny4412开发板Cortex-A9 | Tiny6410开发板 ARM11 | mini2440开发板 ARM9 | micro2440开发板 ARM9 | mini6410开发板 ARM11 | 友善ARM开发板配件 模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
FL2440 OK2440-IV V4 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | OK210/-A Cortex-A8 | TE2440-II TE2440V2 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | ARM开发板配件 模块等 |
Real6410开发板/套餐 | Real210开发板/Real2410 | WIFI GPS GPRS模块摄像头 |
Xilinx开发板/开发套件KIT | Altera开发板/开发套件KIT | 配套模块 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | 最小系统模块类(初学者勿选) | 开发工具 仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
DM3730/AM3715/AM3359 | OMAP3530AM1808AM3517 | 飞思卡尔Cortex-A9开发板 | ATMEL系列ARM开发板 | NXP LPC3250 LPC1788 | Samsung系列ARM开发板 | STM32系列F207/F407 | ARM开发板配件-仿真器 模块 |
Realv210 S5PV210开发板 | Real6410开发板 ARM11 | WIFI GPS GPRS模块摄像头 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | ARM小系统模块(初学勿选) | 开发工具 ARM仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
Exynos4412开发板A9四核 | UT-S5PV210 S5PC100 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 |
Xilinx开发板 FPGA开发套件 | altera开发板 FPGA开发套件 | FMC模块 配件 下载线 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
s3c2410 ARM9 FS2410 | s3c2440开发板 ARM9 | s3c44B0开发板 ARM7 | s3c6410 2450 2443/13 | PXA270 PXA320 PXA255 | Atmel 9200 9261 9G20 | Philips NXP开发板YL-LPC | FS-EP9315开发板ARM9 | LCD液晶屏TFT真彩/触摸屏 | ARM仿真器/仿真调试工具 | ARM开发板配套ARM核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯开发板UP-DRAGON-I | 物联网教学科研设备 | EDA/FPGA/SOPC教学科研 |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | YC-ePC-A系列人机界面 | Mars-EDA套件CPLD FPGA | 触摸屏LCD 摄像头 WI-FI模块 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器/仿真系统 | DSP开发板/DSP试验箱 | DaVinci系列多媒体平台 | Xilinx FPGA大学计划产品 | SEED教学实验系统 | FPGA/DSP FPGA开发板 | TI原厂开发板套件/CCS软件 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
广嵌实验室项目产品 | GEC2440/GEC6410开发板 |
泰克Tektronix示波器 | 普源RIGOL示波器 | USB虚拟示波器 |
UT-S5PC100 UT-S5PV210 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 | 开发板模块wifi gps等 |
EMA OMAP3530开发板 | EMA OMAP 3530核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx Altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯系列 UP-DRAGON-I |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | 触摸屏LCD 摄像头 WI-FI模块 | Mars-EDA套件CPLD FPGA | ePC系列工控一体机ARM9 A8 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器 | DSP开发板 | DSP实验箱 | Xilinx FPGA大学计划产品 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
ARM开发板S3C6410等 | Cortex-A8/ARM11仿真器 | ADSP Blackfin开发板 | FPGA Spartan-3E开发板 |
GEC2410开发套件ARM9 | GEC2440开发套件ARM9 |
泰克 示波器 |
在当今巨大数字电路计划中,大多采取以"嵌入衰落控制器+FPGA"为内核的体系布局此体系布局中FPGA配置服从和机动性的差别影响了产品的开周期和产品升级的易施性。
1. 小序
传统的FPGA配置方案(比方调试阶段的专用下载电缆方法。成品阶段的专用配置片方法)在本钱、服从、机动性方面都存在着明显不敷。针对如许的实际题目,基于嵌入衰落控制器与FPGA遍及共存于巨大数字体系的背景,鉴戒软件无线电"一机多能"的头脑,提出了一种对现有传统FPGA配置方案硬件电路稍做调解并增长部分软件成果。即可实现FPGA动态配置的方案。本文将在先容Altera公司Stratix系列FPGA配置模式、FPGA配置流程、加强型配置片内部事变原理的底子上给出利用EPCI6实现FPGA动态配置的方案。并给出软硬件接口电路。
2 FPGA配置方法
可编程器件的配置方法分为主动配置和被动配置两类。主动配置由可编程器件引导配置进程,被动配置则由外部处理惩罚器控制配置进程。 根据配置数据线数,器件配置可分为并行配置和串行配置两类。串行配置以Bit(比特)为单位将配置数据载人可编程器件:而并行配置一样平常以Byte(字节)为单位向可编程器件加载配置数据。被动配置根据配置数据与时钟的干系可分为同步和异步两种方法。
表1罗列了Altera公司常用FPGA(Stratix、Cyclone、APEXⅡ、APEX20K、Mercury、ACE XK、FLEXlOK和FLEX6000)的配置方法。
3 FPGA配置流程
FPGA的配置数据存储在内部SRAM单位中。由于SRAM失电后配置数据会丢失,因此每次上电时必须重新将配置数据写入SRAM中。这个进程称为FPGA的配置。FPGA配置进程如图1所示。表2为Stratix配置引脚定义。
(1) 上电
上电进程中FPGA内部状态机被复位,nSTA-TUS和CONF_DONE引脚由FPGA置为低电平,全部I/O引脚为三态且FPGA内部配置寄存器被清空。
(2) 复位
当nCONFIG或nSTATUS引脚为低电平常,FPGA进入复位状态。在此状态下,FPGA采样MSEL引脚的电平值,以确定采取的配置方法。同时nSTATUS和CONF_DONE引脚被拉低,全部I/O引脚三态并且FPGA内部配置寄存器被清空。
(3) 配置
当nCONFIG为高电平,nSTATUS被FPGA开释并由外部上拉电阻拉为高电平掉队入配置状态。此状态下配置数据在DCLK时钟的上升沿加载FP-GA。若精确吸取全部配置数据(CRC校验无误)。FPGA开释CONF_DONE引脚且当其被外部上拉电阻拉高掉队入初始化状态。
(4) 初始化
此状态下FPGA内部逻辑和寄存器被初始化:使能I/0缓冲,开释INIT_DONE引脚(可选)。
(5) 用户模式
在此状态下FPGA开始实行用户步伐。
4加强型配置片事变原理
Ahera公司加强型配置片支持在一块配置片上举行多块高密度PLD(Programmable Logic De-vice)配置。配置片重要由两大内核模块构成一控制器和Flash存储器。存储空间除用于存储配置数据外,未利用的部分可用于微处理惩罚器或PLD的外部存储器。下面将分别叙述加强型配置片的内核模块。
4.1加强型配置片控制单位
控制单位由以下子模块构成:
(1) 上电复位电路(POR)
在电源电压未到达必要的稳固电压时此模块将使配置片处于复位状态。有两种上电复位时间可选,100 mS,和2 mS,。配置片PORSEL引脚决定复位时间黑白。此引脚为低电平常复位时间为100 ms,反之为2 ms。
(2) 内部振荡器(IOSC)
内部振荡器有四种模式(四个差别频率),可通过编译FPGA代码在OuatrusⅡ软件中选择。
(3) 时钟分频单位(CDU)
时钟分频单位对内部振荡器孕育产生的时钟或外部输入时钟举行分频,得到配置片内部体系时钟SYSCLK和外部数据输出时钟DCLK。其内部有两个分频器,一个分频器的分频系数为N,孕育产生DCLK信号;另一个分频器的分频系数为M,孕育产生SYSCLK信号。其内部布局如图2所示。
上电后配置片默认采取内部振荡器中A模式,振荡频率为8 MHzo此中,一个分频器分频系数为1。另一个分频器分频系数为2。
(4)压缩引擎(PCU)
加强型配置片支持数据压缩。数据压缩由QuatrusⅡ软件实现,解压由压缩引擎实现。压缩后的数据存储在内部Flash中。配置进程中压缩引擎解压从Flash读出的数据。这一特性极大地加强了配置片的有效利用空间。以EPCI6为例,通过数据压缩可存储30 Mbit数据。
(5) PLD配置单位
PLD配置单位认真传输解压后的数据到PLD。它支持四种并行配置模式,即可将解压数据按1比特、2比特、4比特或8比特输出。根据预先配置的配置模式,PLD配置单位将数据移位输出到有效数据引脚上。无用的数据引脚输出低电平。
(6) JTAG接口单位(JIU)
由于本文未采取JTAG实现FPGA动态配置,故此单位不做细致先容。
4.2 Flash存储器
差别配置片内部Flash容量差别。EPCI6有16Mbit容量,而EPC8、EPC4分别只有8 Mbit、4 Mbit,。Flash存储器分成三个块存储区,分别为启动块、参数块和配置数据块存储区。每个块存储区都有本身独立的掩护机制并能单独举行擦除。下面将分别叙述各个块的成果。
(1) 启动块
以EPC16为例,启动块大小为16 KB,可用它更换微处理惩罚器专用PROM,也可用于存储其他体系的数据。启动块的掩护机制由配置片RP引脚、WR引脚和块锁存位共同确定。
(2)参数块
参数块用来存储少量而需频繁更新的参数。EPCI6有6个参数块,每块为8 KB。参数块的掩护机制是由配置片RP引脚和块锁存位共同确定。
(3) 配置数据块
EPC片内Flash上除启动块和参数块之外的空间均为配置块存储区。可用于存储配置数据和作为用户的存储空间。EPC16有31块64 KB的配置块。和参数块一样,配置块的掩护机制也由配置片RP引脚和块锁存位共同确定。
4.2.1 Flash内存映射
EPCI6的内存映射分为两部分:配置控制器存储空间和用户存储空间。配置摔制器存储空间由控制器成果选择比特和8页配置数据构成。其肇始地点是08000h (在64 KB的启动块/参数块后)。08000h~0801Fh地点范畴是保存的控制器成果选择比特空间。图3是EPCI6内部Flash的存储空间映射。
4.2.2页模式选择
页模式选择成果使配置片最多可存储8页差别的PLD配置数据,并由用户选择页号配置差别的PLD。页模式选择必要由软件和硬件共同实现。硬件上通过设置配置片PGM[2:0]引脚(PGM[2]是最高位)电平决定页号。同时在用QuatrusⅡ编译步伐时修改编译文件的属性为所选择页号。第0页是默认的配置页。
4.2.3配置片事变模式
配置片有两种事变模式:正常模式和编程模式。
(1) 正常模式
正常模式是利用配置片内Flash中的压缩数据实现PLD配置。整个进程包括从Flash读出数据、数据解压和传输数据到PLD。
上电时,上电复位电路(POR)孕育产生全部复位信号。该电路用10 MHz内部默认时钟复位配置片 内控制单位。在开始配置前,配置片采样PGM[2:0]引脚上的电平值以确定从Flash的配置块内读取配置数据的页号。控制单位根据Flash中的选择比特值重新配置体系内部时钟。以后开始从配置块内读出压缩数据。当配置片的OE引脚变为高电平常,压缩引擎(PCU)输出DCLK时钟,开始传输配置数据到PLD。
当所选配置块内的末了一个比特从Flash读出后,配置片内部页计数器溢出,压缩引擎克制读Flash数据。若PLD精确吸取全部配置数据(PLD拉高nCONF_DONE引脚),nCS引脚将被拉高,阐明一次告成配置进程结束。若未精确吸取数据(PLD拉低nCONF_DONE引脚),上电复位电路拉低OE引脚并重新配置。配置结束,压缩引擎(PCU)克制输出DCLK时钟。
(2) 编程模式
当用JTAG通过配置片内JTAG接口单位举行配置PLD时,配置片处于编程模式。由于本文采取正常模式,故不细致叙述。
5接口电路计划与实现
图4、图5所示分别为笔者参加的某项目中与动态配置相干部分的框图和电路图。
如图4所示,为克制对传统配置电路做较大窜改。本动态配置方案未采取由:DSP直接动态配置FPGA的方法,而是将配置时序由配置片包袱。在FPGA处于用户模式时。若配置片nCONFIG引脚为低电平,将会触发FPGA重新举行一次配置。从而实现动态配置。
详细进程为:
(1)在FPGA处于用户模式时,配置片内Flash处于可读写状态。DSP将必要更新的代码在此模式下写入Flash相应的配置数据块内。
(2)在FPGA内设置一个1比特位宽配置寄存器。DSP写入配置下令,当其值为1时。EPC_jTAG_nlNIT(FPGA的一个I/0)引脚配置O。由于此引脚连接FPGA的nCONFIG引脚,故FPGA将由用户模式进人复位状态,nSTATUS引脚输出低电平从而使配置片复位。复位结束后将开始启动一次新的配置。
博航网 www.broadon.net 版权所有
京ICP备10051899号-2 京公网安备110108006479号