|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
I0 K) A& U/ R) \, `摘要:讨论了基于SRAM技术的可编程逻辑器件FPGA的编程方式,并以ALTERA公司% i. b) c$ }' k( D
FLEX10K系列器件为例,提出了一种利用单片机AT89C52对FPGA 进行在线PPA(被动并行异步)配置8 n' R% \2 F4 N
的实用方法。实践表明,用单片机对FPGA进行并行配置,具有配置时间短、准确率高、易于实现等优0 V4 \* r* c. v0 {! c
点,该方法可以广泛地应用于不同领域。
) M! j4 d: ~ Q2 k
, I J% u, y4 g4 ?/ ?6 k6 Q关键词:单片机PPA FPGA 配置! a2 m9 s% T% s5 K: p4 y. B& R* @6 Q
6 Q) i; r6 ~( N: p
在当今变化的市场环境中,产品是否便于现场升
; y. {" q9 @$ _) P3 i a级、是否便于灵活使用,已成为产品能否进入市场的关.
( N' ~ Y9 B! d1 \8 P+ }键因素。在这种背景下。Altera公司的基于SRAM LUT结
; h6 z9 t" z/ w @: j9 ^" a( f+ }构的FPGA器件得到了广泛的应用。这类器件的配置数
* Y7 J' j/ M3 z, H# e据存储在SRAM中。由于SRAM的掉电易失性,系统每
5 w1 `' {. p1 c9 w2 W6 _0 W8 l次上电时, 必须重新配置数据,只有在数据配置正确的
4 o/ Y1 t2 f; p* _情况下系统才能正常工作。这种器件的优点是可在线重3 `0 U3 M0 _) `0 K
新配置ICR(In- Cirecuit Reconfiguability), 在线配置方式一
$ Q5 ]- m. @7 f5 I般有两类:一是通过下载电缆由计算机直接对其进行配( v+ ], k) X- A* _# C$ }7 i# s' S
置;二是通过微处理器对其进行配置。前者调试时非常
; z4 c5 H: O5 a2 H方便,但在应用现场是很不现实的。因此,如果系统重新
; N1 l" J9 J, [9 ?2 J- W9 e; Y* d) T上电时,系统本身具有自动加载可编程逻辑器件的编程.$ |/ ]) M% d, f2 ]
文件,完成对可编程逻辑器件的配置,就可以省去了通* S- Z h; B( @9 k, Z% b
过手工由下载电缆对器件进行配置的过程。这种自动加
) T! R, c6 I2 d& C0 ]8 p2 m载配置对FPGA的某些应用来说是必需的,在笔者参与 F+ x o2 Z' F
研制的一种干扰系统中,利用单片机AT89C52对
" s, ^8 o4 r- K6 s' ]- `9 ]) }0 oFLEX10K系列FPCA中的EPF10K10进行在线并行配
; j# ], A& l4 O$ y% {1 F2 J置,取得了良好的效果。
* Q k6 a/ [/ I3 `8 W; g1 FPGA器件的配置方式和配置文件
( ^6 h* }9 H p1 O1.1 FPGA器件的配置方式
( S5 n% K: t J" V" ~ALTERA公司生产的具有ICR功能的FPGA器件有
' u4 Y, G8 u# S$ b* h. p* F* d7 ?FLEX6000,FLEX10K、APEX和ACEX等系列。它们的配
* B: Y' h5 @' C1 L# X& d置方式可分为PS (被动串行).PPS (被动并行同步).% `, X5 E# V3 ^1 V! ?
PPA ( 被动并行异步)、PSA (被动串行异步)和JTAG5 `5 i9 p, F! A+ M& ?/ G
(Joint Test Action Group)等五种方式。这五种方式都适$ k% w) m! q6 \' g* m
用于单片机配置。PS方式因电路简单,对配置时钟的要
- {- A ~6 h# ~2 B求相对较低而被广泛应用。相比而言,采用PPA配置的2 Y' K6 Y: ?1 x! p2 h0 n
方案却很少见到。但由于PPA配置模式为并行配置,其
$ E6 Z6 j# A+ k9 P; |& E配置速度快,且配置时钟由FPCA内部产生(而PS4 e( }' D3 K' C1 u
等配置模式需要外加配置时钟),故其更有利于在: a5 E( x" S" J) ^7 Q- _
线实现。本文的配置方案便是采用PPA配置方式6 `2 ]1 W1 J- `! I
实现的。
. Q! M0 j( B/ x4 n& n1.2 FPGA器件的配置文件/ r# ^7 k4 M. `
ALTERA的MAX+PLUS I1开发工具可以生成
& G0 B, d& Y+ q1 w. ^多种配置或编译文件,用于不同配置方法的配置. y. Y. \( d4 Z9 q# w2 J/ O
系统。对于不同的目标器件,配置数据的大小不同,配置; ]9 K9 k( j9 X1 }" t+ p% D4 _4 P" z
文件的大小一般由.tbf文件(即二进制文件)决定。本实
/ z, [7 G' F- {例中, EPF10KI0的配置文件.rbf的大小为15K。该文件
# q2 n. L! c* Y" D. Z包括所有的配置数据,一个字节的.rhf文件有8位配置
8 `9 t6 [' L$ ^* C数据。由于Altem提供的软件工具不自动生成.rb文件,
. W& o+ V0 }( m; }1 z. u/ l1 k故文件需按照下面的步骤生成:①在MAX+PLUS II编; b; a, N2 H. N4 B. O
译状态下,选择文件菜单中的变换SRAM目标文件命
c/ h5 h. x8 P6 J# l9 g. ?令;②在变换SRAM目标文件对话框,指定要转换的文
& w: {# M3 g7 ~4 g5 \; N- l+ e件并且选择输出文件格式为.rb(Sequential),之后予以确2 g* q, ?( i4 i% T
定。: G/ A5 n0 V" r. {4 b4 u. P, [ h
2硬件电路设计
" @( I: e. S; L6 W7 K8 {9 t1 nAT89C52对EPF10K10 并行配置的硬件电路示意图0 L0 D7 b0 R' C# A/ l5 b
如图1所示。经MAX+PILUS II 编译生成配置文件(sof),通过
$ u7 z$ H ~4 q) v/ h# ]: _7 X' h格式转换成为(tbf)文件并存储在图中所示的存储器中。1 h2 s+ W: [7 o9 |& N8 ~7 m
当使用PPA配置方式时,需要将MSELI和MSELO置为
- d+ m5 d* S6 b3 K! [ l高电平。为了不使DCLK出现不确定信号,必须将其经, K5 \% z% F7 i. q7 Z, c8 f3 z
过1k0电阻上拉到Voc。在采用PPA配置方式时.nCS
. Y, v! T; |" L0 i和CS两个片选信号只需用一个。1 k* O4 y. n% s X
4 Q. r- K: b, q
附件下载:
- |- I4 M9 B9 K2 Y9 q2 |, D8 H |
|