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 |
泰克 示波器 |
在当今变革的市场环境中,产品是否便于现场升级、是否便于机动利用,已成为产品可否进入市场的关键因素。在这种背景下,altera公司的基于SRAM LUT布局的FPGA器件得到了遍及的应用。这类器件的配置数据存储在SRAM中。由于SRAM的失电易失性,体系每次上电时,必须重新配置数据,只有在数据配置精确的环境下体系才华正常事变。这种器件的好处是可在线重新配置ICR(In-Circuit Reconfigurability),在线配置方法一样平常有两类:一是通过下载电费由谋略机直接对其举行配置;二是通过微处理惩罚器对其举行配置。前者调试时非常方便 ,但在应用现场是很不实际的。因此,要是体系重新上电时,体系本身具有主动加载可编程逻辑器件的编程文件,完成对可编程逻辑器件的配置,就可以省去了通过手工由下载电费对器件举行配置的进程。这种主动加载配置对FPGA的某些应用来说是必须的,在笔者参加研制的一种滋扰体系中,利用单片机AT89C52对FLEX10K系列FPGA中的EPF10K10举行在线并行配置,获取了精良的结果。
PGA器件的配置方法和配置文件
1.1 FPGA器件的配置方法
ALTERA公司生产的具有ICR成果的FPGA器件有FLEX6000、FLEX10K、APEX和ACEX等系列。它们的配置方法可分为PS(被动串行)、PPS(被动并行同步)、PPA(被动并行异步)、PSA(被动串行异步)和JTAG(Joint Test Action Group)等五种方法。这五种方法都实用于单片机配置。PS方法因电路大略,对配置时钟的请求相对较低而被遍及应用。相比而方,采取PPA配置的方案却很少见到。但由于PPA配置模式为并行配置,其配置速率快,且配置时钟由FPGA内部孕育产生(而PS等配置模式必要外加配置时钟),故其更有利于在线实现。本文的配置方案便是采取PPA配置方法实现的。
1.2 FPGA器件的配置文件
ALTERA的MAX+PLUS II开辟东西可以天生多种配置或编译文件,用于差别配置要领的配置体系。对付差别的目标器件,配置数据的大小差别,配置文件的大小一样平常由.tbf文件(即二进制文件)决定。本实例中,EPF10K10的配置文件.rbf的大小为15k。该文件包括全部的配置数据,一个字节的.rbf文件有8位配置数据。由于Altera提供的软件东西不主动天生.rbf文件,故文件需根据下面的步调天生:①在MAX+PLUS II编译状态下,选择文件菜单中的更改SRAM目标文件下令;②在更改SRAM目标文件对话框,指定要转换的文件并且选择输出文件格局为.rbf(Sequential),之后予以确定。
2 硬件电路计划
AT89C52对EPF10K10并行配置的硬件电路表示图如图1所示。经MAX+PLUS II编译天生配置文件(.sof),通过格局转换成为(.rbf)文件并存储在图中所示的存储器中。当利用PPA配置方法时,必要将MSEL1和MSEL0置为高电平。为了不使DCLK出现不确定信号,必须将其颠末1kΩ电阻上拉到Vcc。在采取PPA配置方法时,nCS和CS两个片选信号只需用一个。因此,要是采取此中一个作为片选信号,另一个必须直接置为有效位;要是选用CS作为片选信号控制配置,nCS必须接地;要是选用nCS作为片选信号控制配置,CS必须接高电平。本实例中采取后者。NRS为读选通输入信号,它为低输入时,FLEX10K将RDYnBSY信号置于DATA7引脚。当nRS不消时,必须将其置为高。nCE为FLEX10K器件的使能输入,nCE为低时使能配置进程。当器件是单片配置时,nCE必须始终为低。由于本实例为单片配置,故将nCE直接接地。然后将EPF10K10的nCONFIG、CONF_DONE、nSTATUS、RDYnBSY分别接到AT89C52的P17、P14、P13引脚上。DATA[7..0]接到AT89C52的P07~P00。NWs为写选通输入,由低到高跳变时锁存DATA[7..0]引脚上的字节数据。要细致的是,nSTATUS引脚和CONF_DONE引脚是双向漏极开路输出,在作输出利用时,应用颠末1.0kΩ的电阻上拉到Vcc。
3 软件计划
3.1 配置原理
PPA配置方法的下载时序如图2所示。由图可以看出PPA模式的事变
(1)启动配置
在nCONFIG引脚上孕育产生一个低脉冲,等待nSTATUS回应一个低脉冲以及CONF_DONE变低。在nCONFIG跳高后4μs,内nSTATUS也跳高,表现FPGA可以配置了。
(2)配置进程
在对FPGA举行配置时,单片机将8位的配置数据放在FPGA器件的数据端,并且给nWS一个负脉冲,在nWS的上升沿,FPGA器件将该字节配置数据锁存;然后FPGA器件驱动RDYnBSY为低,表现它正在处理惩罚该字节信息,配置进程可以通过nCS和CS引脚停息。当RDYnBSY为低电平常,FLEX10K器件利用其内部振荡器(其频率一样平常为10MHz)在其内部将每一个字节的配置数据串行化。当FLEX10K器件准备吸取下一个配置数据时,就使RDnBSY变高。单片机检测该高电平信号后,送出下一个字节的数据。这一进程不停连续到全部数据配置完成。在配置进程中,体系必要举行及时监测,一旦出
现错误,nSATUS将被拉低,体系必须能辨认出这个信号,并重新启动配置进程。(3)结束配置
配置数据全部精确写入芯片内部后,器件开释CONF_DONE,由外部将其拉高。要是单片机检测到这个信号,则表明配置告成;不然,要对其重新配置。
3.2 配置软计划
单片机实现配置进程的控制步伐流程图如图3所示。
汇编程步伐计划如下:
nCONFIG EQU P1.7
nSTATUS EQU P1.5
RDYnBSY EQU P1.3
CONF_DONE EQU P1.4
ORG 0000H
LJMP MAIN
ORG 0030H
;对数据长度相干举行初始化,此中所要配置的数据长度放在地点为0000H和0001H中
;0000H放数据长度的低位,0001H放数据长度的高位
;从0002开始安排的是所要配置的数据
MAIN:MOV DPTR,#0000H
MOVX A,@DPTR
MOV R3,A; R3放配置数据个数的低位
MOV DPTR,#0001H
MOVX A,@DPTR
MOV R4,A; R4放配置数据个数的高位
MOV R5,#00H ;放配置数据个数的低位
MOV R6,#00H ;放配置数据个数的高位
;以下是将数据举行配置的子步伐
COFIG:MOV DPTR,#0002H
CLR P1.7
ACALL DELAY4 ;延时约为15μs
JB nSTATUS,COFIG ;检测FPGA是否相应置低位
SETB nCONFIG ;FPGA相应置低位后,将nCONFIG置高位
STA_JUDGE:JB nSTATUS,COFIG_BEG;等待FPGA是否相应置高位,然后准备举行配置
LJMP STA_JUDGE
COFIG_BEG:ACALL DELAY2
LJMP SEND_DATA
READY_DATA
SEND_DATA:MOVX A,@DPTR ;读取数据
PUSH DPH
PUSH DPL
MOV DPTR,#7000H ;读入FPGA地点
JNB P1.3,$ ;果断RDYnBSY的状态
MOVX @DPTR,A ;配置数据
POP DPL
POP DPH
INC DPTR
;以下实现配置个的果断
CLR C;
MOV A,#01H
ADD A,R5
MOV R5,A
MOV A,#00H
ADDC A,R6
MOV R6,A
MOV A,R5
CJNE A,03H,RESESH_COFIG
MOV A,R6
CJNE A,04H,RESESH_COFIG
CON_REFRESH:ACALL DELAY2 ;延时5μs,JB P1.4,END1 ;果断CONF_DONE的状态,看是否配置告成
LJMP COFIG
PESESH_COFIG:LJMPREADY_DATA1
延时子步伐,延时约为5μs
DELAY2:NOP
NOP
NOP
NOP
NOP
RET
;延时子步伐,延时约为15μs
DELAY4:MOV R1,#08H
DJNZ R1,$
RET END1:END
本文讨论的基于单片机的FPGA并行配置要领具有线路布局大略、开辟容易、本钱低的特点。与常用的串行配置要领相比,该配置要领更具有配置时间短、正确率高、易于实现等好处。固然该配置控制电路是为配置altera公司FLEX10k系列的FPGA器件而计划的,但稍加修改也实用于别的系列的FPGA器件,故其有肯定的通用性。
博航网 www.broadon.net 版权所有
京ICP备10051899号-2 京公网安备110108006479号