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 |
泰克 示波器 |
小序
在当今贸易竞争日益加强的环境中,产品是否便于现场升级和是否便于机动运用,成为商家敏捷霸占市场的关键因素。在这种背景下,Alter公司开辟的基于SRAM LUT布局的FPGA器件得到了遍及应用。
现场可编程门阵列FPGA(Field Programmable Gate Array)是一种高密度可编程逻辑器件,其逻辑成果是通过把计划天生的数据文件配置进芯片内部的静态配置数据存储器(SRAM)来实现的,具有可重复编程性,可以机动实现种种逻辑成果。由于SRAM的易失性,每次体系上电时必须重新配置数据,即ICR(In-Circuit Reconfigurability)。只有在数据配置精确的环境下,体系才华正常事变。因此必要外接ROM生存其配置数据。FPGA的配置是偶然序请求的,要是FPGA本身不克不及控制配置时序,就必要外部配置器件来举行时序控制。以Altera公司的FPGA为例,因其本身不克不及控制时序,就有专用的EPC系列配置器件供其利用。在嵌入式体系中,由于含有微处理惩罚器,可以利用微处理惩罚器孕育产生配置时序,将生存在体系ROM中的配置数据存储到FPGA中。以是没有须要利用专用的EPC系列配置器件来配置FPGA。如许不但节省了本钱,另有效地缩小了体系体积。本文重点讨论在嵌入式体系中FPGA的配置方案。
2. FPGA器件的配置方法
Altera公司生产的具有ICR成果的FPGA器件有FLEX6000、FLEX10K、APEX和ACEX等系列,它们可以用以下方法举行配置:
1. 利用专用EPC配置器件,如EPC16、EPC8、EPC2、EPC1;
2. 被动串行方法(PS),利用微处理惩罚器的串行接口;
3. 被动并行同步方法(PPS),利用微处理惩罚器的并行同步接口;
4. 被动并行异步方法(PPA),利用微处理惩罚器的并行异步接口;
5. 边界扫描方法(JTAG),利用JTAG下载电缆。
下面细致阐发上述五种配置方法。
利用EPC配置器件时,起首将配置文件从谋略机下载到EPC配置器件中去,然后由EPC配置器件控制配置时序对FPGA举行配置。EPC配置器件有一次可编程和可擦写编程型两种:一次可编程型芯片只能写入一次,不适于开辟阶段重复调试、修改及产品的方便升级;可擦除编程型代价昂贵,且容量有限,对付容量较大的可编程逻辑器件,必要多片配置芯片构成菊花链举行配置,增长了体系计划的难度。
利用PS、PPS、PPA方法配置时,配置文件事先因此二进制情势生存在体系ROM中,然后通过微处理惩罚器将配置数据送进FPGA中。PS是通过串行方法送到FPGA中,PPS因此并行方法送给FPGA。FPGA在其内部将并行数据转换成串行数据,该数据转换时必要外部配置时钟的驱动。比较PS和PPS,所用的配置时间险些雷同,而PS的接口方法比较大略,以是嵌入式体系中通常选择PS方法配置FPGA。利用PPA方法配置数据时,微处理惩罚器将配置数据以并行方法送给FPAG,然后在FPGA内部举行数据串行化处理惩罚。与PPS不一样的地方是串行化处理惩罚时不必要配置外部时钟的驱动,但接口更巨大,工程中很少利用。
边界扫描方法必要连接谋略机,无法在现场利用,嵌入式体系中很少采取这种方法。
通过上述的阐发,在嵌入式体系中要利用FPGA时,可以采取专用EPC配置器件、PS、PPS、PPA,但是PS、PPS、PPA比专用EPC配置更具本钱和体积上风。在PS、PPS、PPA中,PS又是最优的通讯方法。以是在嵌入式体系中,通常选择PS被动串行方法来配置FPGA。
3.1. PS方法配置时序
在嵌入式体系中,微处理惩罚器可以孕育产生配置时序,可以或许和FPGA直接通讯,将ROM中的配置文件传输到FPGA的SRAM中去。通常利用PS被动串行方法举行配置FPGA,下面就通讯中利用到的五根信号线的配置时序举行阐明。
五根信号线分别为nCONFIG、nSTATUS、CONF_DONE、DCLK、DATA,连接微处理惩罚器的五个I/O口和映射的FPGA的引脚。
图1 PS方法配置信号时序图
微处理惩罚器上的五个I/O端口连接上述五个信号线。此中连接nCONFIG、DCLK、DATA端口设置成输出态,nSTATUS、CONF_DONE端口设置成输入态。当微处理惩罚器开始与FPGA通讯时,微处理惩罚器起首在nCONFIG上送出一个大于8μm的负脉冲,并且检测nSTATUS上的信号。当FPGA吸取到nCONFIG上的降落沿时,敏捷将nSTATUS和CONF_DONE拉低,并且保持低电平信号不停到nCONFIG举高电平。当nCONFIG上举高电平后过1μm,nSTATUS也将电平举高,微处理惩罚器检测到nSTATUS上的变革后以为FPGA已经做好了吸取数据的准备。下一步微处理惩罚器将孕育产生配置时钟脉冲,配置时钟的第一个上升沿至少要比nSTATUS上升沿晚1μm。又由于配置数据和配置时钟上升沿同步,以是在配置时钟上升沿产生之前,数据线必须已经有了配置数据信号。配置数据是根据低位在前高位在后的次序把数据奉上数据线。当全部数据都传输完毕后,CONF_DONE线上电平被举高以示配置完毕。要是传输中出现了非常,FPGA迫使nSTATUS拉低电平,微处理惩罚器一旦检测到了这种征象将重新开始配置。由于配置文件中已经包括了FPGA初始化的一些代码,以是传输完配置文件后,FPGA就可以正常事变了。
3.2 配置电路计划
嵌入式体系中FPGA的PS方法配置方法电路计划如图2所示。左侧的微处理惩罚器和FLASH、SDRAM构成了一个最根本的嵌入式体系。FLASH作为步伐的存储器,此中存储着体系的整个应用步伐、配置步伐和配置文件。SDRAM作为体系步伐运行空间,可以有效地办理微处理惩罚器自身SRAM容量小的题目。
4. 体系软件计划FLASH
中存储的步伐包括体系步伐、配置步伐、配置文件。体系加电后,微处理惩罚器从FLASH的0地点的引导步伐开始运行,完成体系初始化后,微处理惩罚器将FLASH中的应用步伐移至到SDRAM中运行。由于如今嵌入式体系大多采取及时多任务操纵体系,以是计划时应将配置步伐安排在第一个运行的任务中,包管开机后就开始运行。
软件计划时根据微处理惩罚器与FPGA通讯信号线上的时序请求来计划。起首初始化微处理惩罚器的端口,在P0引脚上孕育产生一个20μm的负脉冲,读取P4引脚上的信号,要是是高电平就开始数据准备,将数据读出,通过位移操纵以串行比特流把低位的数据奉上P1引脚,通过P2孕育产生一个时钟上升沿。由于时钟上升沿与数据发送是同步的,如许P1引脚上的信号就发送到了FPGA。再将读出的数据右移位,将低位奉上P1引脚,在P2上再孕育产生一个时钟上升沿。云云循环下去,等读出的一个字节发送完毕时再读取下一个字节,按同样的方法发送出去。数据发送的同时检测P4(nSTATUS)是否为低,如
果发送进程中遇到错误,P4将为低,如许体系必要重新配置。比及把数据发送完毕后检测P3引脚的状态,要是是高电平阐明配置告成,要是是低电平则阐明配置失败,体系必要重新配置。软件计划语言可以选择C,也可用汇编。开辟进程中根据芯片的硬件本身特点,细致各方面的优化。由于嵌入式体系中从SDRAM中读取数据的速率很快,以是软件计划时无须思量从SDRAM到微处理惩罚器的传输速率题目。向FPGA器件写数据时,最低有效位居先。微处理惩罚器孕育产生的配置时序可以通过给时序引脚发送曲折电平来实现。
5. 结论
当今嵌入式体系已应用到各个范畴中,因此无论本钱还是体积上的优化,都是很有须要的。用嵌入式体系本身的资源上风来完成别的部件的专用成果,可以或许很有效地到达最优化集成、低落本钱的作用。本文讨论的通用方案实用于差别的微处理惩罚器和Altera公司全部干系系列的FPGA产品。由于FPGA具有可重复配置的成果,以是在嵌入式体系中可预先包括多个差别成果的配置文件,根据现场的必要举行相应的配置。这充分表现出FPGA现场升级、机动运用的计划理念。
参考文献
[1] 刘常澍,赵雅兴 《数字电路与FPGA》 北京:人民邮电出版社,2004_8
[2] 任晓东、文博 《CPLD与FPGA高级应用开辟指南》 北京:电子产业出版社 ,2003_6
[3] Jonathan W.Valvano 《嵌入衰落谋略机体系及时接口技能》 北京:机器产业出版社,2003_5
博航网 www.broadon.net 版权所有
京ICP备10051899号-2 京公网安备110108006479号