|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
0 q) a, g; z+ Z, Q) [* ]摘要:讨论了基于SRAM技术的可编程逻辑器件FPGA的编程方式,并以ALTERA公司
/ R/ H0 `9 Q5 L; ^1 PFLEX10K系列器件为例,提出了一种利用单片机AT89C52对FPGA 进行在线PPA(被动并行异步)配置
* W( S% p3 `6 j, I2 ^$ v的实用方法。实践表明,用单片机对FPGA进行并行配置,具有配置时间短、准确率高、易于实现等优/ u, R0 T- w" k w
点,该方法可以广泛地应用于不同领域。
; J$ k% r" @" J$ e0 w
0 J5 l3 [; ~9 n0 t关键词:单片机PPA FPGA 配置8 b4 l" l3 C7 [: O
; A. i) h# E/ p' W在当今变化的市场环境中,产品是否便于现场升. p% K% O* [+ E# d; ~& m- K- u2 Z
级、是否便于灵活使用,已成为产品能否进入市场的关.2 y) F0 g3 }0 U; l
键因素。在这种背景下。Altera公司的基于SRAM LUT结' p7 G8 A U. j9 o0 T2 c1 l( H$ T
构的FPGA器件得到了广泛的应用。这类器件的配置数
( U) U& j( W F$ w+ w0 f5 D4 k据存储在SRAM中。由于SRAM的掉电易失性,系统每
1 D! U& y) V) n* C次上电时, 必须重新配置数据,只有在数据配置正确的
6 ^7 Q6 `8 j, b' _( L# d' U3 O情况下系统才能正常工作。这种器件的优点是可在线重
8 F' O5 d+ o/ p9 _新配置ICR(In- Cirecuit Reconfiguability), 在线配置方式一
5 w8 O* O! ^* [; V$ k7 p5 u; `般有两类:一是通过下载电缆由计算机直接对其进行配8 x' f1 L2 [1 _* c
置;二是通过微处理器对其进行配置。前者调试时非常! P$ v7 I L" F! F# D
方便,但在应用现场是很不现实的。因此,如果系统重新6 z7 N8 k; j% N" T% M7 |& Q! T
上电时,系统本身具有自动加载可编程逻辑器件的编程.
: q) q# D! P9 _: i. V0 N文件,完成对可编程逻辑器件的配置,就可以省去了通
9 |% d- W- Z( Z+ B3 d0 B' y* x+ v5 u过手工由下载电缆对器件进行配置的过程。这种自动加3 I9 f& e0 W; t4 \- O; g: `
载配置对FPGA的某些应用来说是必需的,在笔者参与
7 A0 @* e* Q2 l; v# Y研制的一种干扰系统中,利用单片机AT89C52对& P# n g& P% w5 Y( a9 ]
FLEX10K系列FPCA中的EPF10K10进行在线并行配
( y X% i' T- E' s% V置,取得了良好的效果。
7 D2 M+ p9 u& U" _# h1 FPGA器件的配置方式和配置文件+ A2 f9 w5 C- i0 Y
1.1 FPGA器件的配置方式
+ o' ^- X* p5 [' W% }ALTERA公司生产的具有ICR功能的FPGA器件有& j% n) F' M: M2 e% O9 B
FLEX6000,FLEX10K、APEX和ACEX等系列。它们的配
) S/ ^/ S+ H) X* \# A置方式可分为PS (被动串行).PPS (被动并行同步).! B g- @0 T/ Y; O2 ]3 X
PPA ( 被动并行异步)、PSA (被动串行异步)和JTAG! k/ c0 v5 h+ A) v
(Joint Test Action Group)等五种方式。这五种方式都适
3 ]% ?4 F& w1 L9 c/ R: ?6 C用于单片机配置。PS方式因电路简单,对配置时钟的要, w1 K7 u+ f6 p7 S! H
求相对较低而被广泛应用。相比而言,采用PPA配置的! j% j% k4 J; i8 r4 e. _8 s! \1 S; p& B
方案却很少见到。但由于PPA配置模式为并行配置,其
, P3 ~% c0 h7 `- C% {/ j0 u2 T配置速度快,且配置时钟由FPCA内部产生(而PS
% E- y; p* W. a7 y等配置模式需要外加配置时钟),故其更有利于在, i0 [& ]! S5 F3 Z
线实现。本文的配置方案便是采用PPA配置方式
1 B3 c: d/ d3 J5 H9 @. J/ J实现的。1 U; Q, A8 B8 K. j6 I! j
1.2 FPGA器件的配置文件
: b9 x( m8 d. I7 W' {ALTERA的MAX+PLUS I1开发工具可以生成
! A- E: j0 h c% q多种配置或编译文件,用于不同配置方法的配置
; H3 i1 j; n! w' x( n7 b* G0 m8 \系统。对于不同的目标器件,配置数据的大小不同,配置
3 m9 V, @% t, u/ V( E1 ~! ?2 o文件的大小一般由.tbf文件(即二进制文件)决定。本实( J8 {$ A8 m$ }# B0 `8 ^0 i
例中, EPF10KI0的配置文件.rbf的大小为15K。该文件
! Y9 W* {. q V6 ~0 J, q2 ~- `包括所有的配置数据,一个字节的.rhf文件有8位配置
7 I$ `! |) |, y( a1 ?数据。由于Altem提供的软件工具不自动生成.rb文件,
, p6 M$ ^/ W( j: Y故文件需按照下面的步骤生成:①在MAX+PLUS II编. W1 q' F1 v I" R. P( J- }
译状态下,选择文件菜单中的变换SRAM目标文件命9 O( Q5 x9 Q/ R9 @- c$ M4 O7 s
令;②在变换SRAM目标文件对话框,指定要转换的文
# {" L8 t) F0 L. s7 [件并且选择输出文件格式为.rb(Sequential),之后予以确7 @$ r% p1 J, p2 r
定。3 V5 _1 m9 f1 M: U
2硬件电路设计9 }$ Y' d: V! v \5 v9 T6 K
AT89C52对EPF10K10 并行配置的硬件电路示意图2 X' Q5 w6 _ H" f9 D. A) j
如图1所示。经MAX+PILUS II 编译生成配置文件(sof),通过
2 g2 c. U* W; y4 I8 T; s格式转换成为(tbf)文件并存储在图中所示的存储器中。) V( C3 z# b' `- q7 U* z
当使用PPA配置方式时,需要将MSELI和MSELO置为+ O$ B0 ~5 s. Y0 J6 Q) U
高电平。为了不使DCLK出现不确定信号,必须将其经
0 U5 \9 q# o- o9 R- d$ a4 D过1k0电阻上拉到Voc。在采用PPA配置方式时.nCS3 F( |/ S& U. _/ Y( q5 | O* q
和CS两个片选信号只需用一个。7 d% u6 [% A0 K- i, }' {6 V
/ y S* [6 I6 n( Z7 C4 M
附件下载:
6 U$ p: ~0 |* `7 k4 {: W |
|