|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
3 e* y: T9 A9 ~, r: ]1 f! X
摘要:讨论了基于SRAM技术的可编程逻辑器件FPGA的编程方式,并以ALTERA公司
! O3 `, c3 V w+ l$ H4 B. {FLEX10K系列器件为例,提出了一种利用单片机AT89C52对FPGA 进行在线PPA(被动并行异步)配置
! x: E! e" |" I6 o1 |的实用方法。实践表明,用单片机对FPGA进行并行配置,具有配置时间短、准确率高、易于实现等优
0 n7 t: }/ b1 d4 j点,该方法可以广泛地应用于不同领域。
$ f* P; k4 |; e, w
0 v$ m" K# m5 C% p3 `关键词:单片机PPA FPGA 配置
# k4 K* d v) g; n7 I( n/ D6 c7 ]
: {8 h: f9 {: g% m5 I' f在当今变化的市场环境中,产品是否便于现场升
5 X4 P8 R u6 K- r" W级、是否便于灵活使用,已成为产品能否进入市场的关./ J0 h" S5 K9 k+ H E3 R2 {
键因素。在这种背景下。Altera公司的基于SRAM LUT结4 u* V: \: E8 h2 L
构的FPGA器件得到了广泛的应用。这类器件的配置数: W$ Y S+ K+ t! Q- k" j
据存储在SRAM中。由于SRAM的掉电易失性,系统每" M e- J i, N; V( k4 M
次上电时, 必须重新配置数据,只有在数据配置正确的
/ [6 K+ c8 }) x: Y- h. x# |情况下系统才能正常工作。这种器件的优点是可在线重3 }7 h8 L H5 n1 B( R; s, f
新配置ICR(In- Cirecuit Reconfiguability), 在线配置方式一
" T0 l7 H: V! E2 w; A般有两类:一是通过下载电缆由计算机直接对其进行配( `7 {" C, n- Y" n- O; c, d2 A4 h
置;二是通过微处理器对其进行配置。前者调试时非常$ T+ p0 y8 m& f5 ?3 l% ]9 ~
方便,但在应用现场是很不现实的。因此,如果系统重新& r$ |9 |3 W5 F) v" m: y2 m' S
上电时,系统本身具有自动加载可编程逻辑器件的编程.2 J/ j% Z7 j1 a% |. s( w
文件,完成对可编程逻辑器件的配置,就可以省去了通% U, I+ O( b. a5 ]* ^
过手工由下载电缆对器件进行配置的过程。这种自动加
/ b9 I! y4 }8 O2 j6 `" f+ O, I7 k4 S载配置对FPGA的某些应用来说是必需的,在笔者参与0 @# Q! v" Z1 O9 K( i" K3 r' ]! Q
研制的一种干扰系统中,利用单片机AT89C52对0 _4 W m9 [1 B2 l2 v/ c' J$ z* O
FLEX10K系列FPCA中的EPF10K10进行在线并行配
8 i6 n1 f+ X7 R' i+ k置,取得了良好的效果。9 L+ ?, ?5 E+ \9 Q7 D
1 FPGA器件的配置方式和配置文件
: Q+ x6 [& ?5 h+ R( y/ }) d1.1 FPGA器件的配置方式
7 Z5 |# l2 D4 R4 l. [8 jALTERA公司生产的具有ICR功能的FPGA器件有
: |5 v, d9 @9 n5 U. s6 }FLEX6000,FLEX10K、APEX和ACEX等系列。它们的配 s& S6 g& p9 Z/ Z
置方式可分为PS (被动串行).PPS (被动并行同步).
, l( I. Q c; E" G) YPPA ( 被动并行异步)、PSA (被动串行异步)和JTAG8 I% X/ w- d2 y* t9 P5 v' Q8 W
(Joint Test Action Group)等五种方式。这五种方式都适. ]3 ~, r+ w6 P% Q$ P8 Q3 K7 k
用于单片机配置。PS方式因电路简单,对配置时钟的要
# ^! [' N4 @/ q求相对较低而被广泛应用。相比而言,采用PPA配置的
. P% q( a" }* e% t方案却很少见到。但由于PPA配置模式为并行配置,其! h% _! p& U- j4 [! G: H7 ^0 ]
配置速度快,且配置时钟由FPCA内部产生(而PS
6 R" `/ ~ u3 B, p, J- B% ~等配置模式需要外加配置时钟),故其更有利于在( G$ } D3 V. b, C2 D9 P8 ?2 V) e
线实现。本文的配置方案便是采用PPA配置方式* [7 r: r3 L( n8 D9 R* X$ Z2 V
实现的。, u: Y. {) V: f% _- I" B* l( I
1.2 FPGA器件的配置文件& U3 [8 J. _, H5 T- u: f% _; Q
ALTERA的MAX+PLUS I1开发工具可以生成- t/ o" u1 u9 ]- X
多种配置或编译文件,用于不同配置方法的配置
! K$ k5 ]; G9 q/ z3 Z5 |2 R' A, T系统。对于不同的目标器件,配置数据的大小不同,配置
6 n& Q2 o5 `) q, y- G, M文件的大小一般由.tbf文件(即二进制文件)决定。本实
5 H# W5 ~) b( k" Z U/ H I例中, EPF10KI0的配置文件.rbf的大小为15K。该文件- }- j' w' P/ j, K: ~( n( X" Q' @! G
包括所有的配置数据,一个字节的.rhf文件有8位配置0 e6 E) w6 h( x- `% v5 U4 P- e$ B
数据。由于Altem提供的软件工具不自动生成.rb文件,$ t/ I i0 B8 m* V1 V7 I0 f: }
故文件需按照下面的步骤生成:①在MAX+PLUS II编
5 a; }/ Z* Y! ] h% A9 s* B译状态下,选择文件菜单中的变换SRAM目标文件命
0 f: H+ [6 Y- i令;②在变换SRAM目标文件对话框,指定要转换的文
$ ^) L( e5 F* b件并且选择输出文件格式为.rb(Sequential),之后予以确
, T) x6 ]. M% \4 j定。3 X9 m$ O0 Y2 @9 z! b0 M7 E. O
2硬件电路设计' r% H2 T3 H3 B8 V
AT89C52对EPF10K10 并行配置的硬件电路示意图+ {* }2 y; h" h& {9 p
如图1所示。经MAX+PILUS II 编译生成配置文件(sof),通过
: I' v3 @# m! P' E% e, Q格式转换成为(tbf)文件并存储在图中所示的存储器中。
# b* L0 I2 B/ `2 f8 \当使用PPA配置方式时,需要将MSELI和MSELO置为
8 j5 A0 ]$ x8 z# v' e x/ r高电平。为了不使DCLK出现不确定信号,必须将其经
7 k+ |0 |$ b) Q% R# j过1k0电阻上拉到Voc。在采用PPA配置方式时.nCS
) d+ t% h# ?5 k2 A! h; z和CS两个片选信号只需用一个。+ Q6 v! u& A U, U2 T
7 }/ r; Y4 i ?1 E附件下载:- j5 \' l7 q. x( l
|
|