|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
8 q8 c8 \ N8 M0 d9 ^3 a9 E1 u1 E3 C摘要:讨论了基于SRAM技术的可编程逻辑器件FPGA的编程方式,并以ALTERA公司
7 I1 A( C* p8 t, y, ^* V# y# \FLEX10K系列器件为例,提出了一种利用单片机AT89C52对FPGA 进行在线PPA(被动并行异步)配置
# T: ~- F* m+ g2 @的实用方法。实践表明,用单片机对FPGA进行并行配置,具有配置时间短、准确率高、易于实现等优 w& f# t$ }0 m# b$ i( t
点,该方法可以广泛地应用于不同领域。
1 A" U. L# G8 c% f( l
" Y, @9 ^& p. {5 K* T' n e关键词:单片机PPA FPGA 配置
0 T& }: p; R$ p+ I. V4 ?% d0 n0 ~6 R+ w" @( Z8 Y# M
在当今变化的市场环境中,产品是否便于现场升" U0 \7 \# a5 y7 v9 }0 b f1 a7 _
级、是否便于灵活使用,已成为产品能否进入市场的关.
6 V3 @6 s% Y1 N5 u$ {. _9 y, t6 N键因素。在这种背景下。Altera公司的基于SRAM LUT结
7 h4 x. a# i# u# B6 z& H构的FPGA器件得到了广泛的应用。这类器件的配置数
* L! z6 o/ S* J. ~. o据存储在SRAM中。由于SRAM的掉电易失性,系统每3 Q5 [. J/ L% E# _
次上电时, 必须重新配置数据,只有在数据配置正确的, y% q$ ^2 D6 H
情况下系统才能正常工作。这种器件的优点是可在线重( K% E ~6 J6 `' L; t
新配置ICR(In- Cirecuit Reconfiguability), 在线配置方式一
( g8 O8 U( ?* T2 f般有两类:一是通过下载电缆由计算机直接对其进行配# [+ X/ E# n& o4 T6 e7 u
置;二是通过微处理器对其进行配置。前者调试时非常
8 `) f! V: E: R2 d" t; b方便,但在应用现场是很不现实的。因此,如果系统重新
7 `: w- a2 G. k& h; x上电时,系统本身具有自动加载可编程逻辑器件的编程.
j- D% U/ h/ k7 L文件,完成对可编程逻辑器件的配置,就可以省去了通
- ~! i' O9 _7 r过手工由下载电缆对器件进行配置的过程。这种自动加, ]6 X5 S) q6 j! y& F8 G, z, G$ M' c
载配置对FPGA的某些应用来说是必需的,在笔者参与# v7 _0 H( \, X; T% A
研制的一种干扰系统中,利用单片机AT89C52对
' Y6 ]+ Y# N" l j8 P9 r9 rFLEX10K系列FPCA中的EPF10K10进行在线并行配& F8 h. \* A: M! p( u. \
置,取得了良好的效果。
4 ^1 O( G" s1 H0 z0 X1 FPGA器件的配置方式和配置文件$ }8 D p7 k+ c3 L$ M
1.1 FPGA器件的配置方式
- v, {- X* y. [4 [( }ALTERA公司生产的具有ICR功能的FPGA器件有: q9 d4 p/ q% p' |' |
FLEX6000,FLEX10K、APEX和ACEX等系列。它们的配9 D& {6 F5 u* J4 d$ q9 C
置方式可分为PS (被动串行).PPS (被动并行同步)./ Q: B* l! Y9 z
PPA ( 被动并行异步)、PSA (被动串行异步)和JTAG
+ e4 ^. T1 p3 S# B# G$ F(Joint Test Action Group)等五种方式。这五种方式都适
/ k: l; ~, Q5 ?& o' r1 c6 O用于单片机配置。PS方式因电路简单,对配置时钟的要
) s; @: ~6 h- [$ H, D5 c* k求相对较低而被广泛应用。相比而言,采用PPA配置的- f, y" `$ y. f' C8 N
方案却很少见到。但由于PPA配置模式为并行配置,其* H& t& {8 |( x
配置速度快,且配置时钟由FPCA内部产生(而PS, \- K# m" P, e& X' W" w/ q# p
等配置模式需要外加配置时钟),故其更有利于在2 H7 e" b- ]% {: ? a
线实现。本文的配置方案便是采用PPA配置方式% A9 Z/ S4 M* K. r/ G9 _
实现的。* V/ |0 x% |, u0 f# S' M
1.2 FPGA器件的配置文件
7 ^ ?% T2 b' w7 w$ y: qALTERA的MAX+PLUS I1开发工具可以生成- _" B0 D( z$ D
多种配置或编译文件,用于不同配置方法的配置
9 n: N4 e8 P7 T& F! x( Q4 R* J, c系统。对于不同的目标器件,配置数据的大小不同,配置. U4 n5 E h# b
文件的大小一般由.tbf文件(即二进制文件)决定。本实
8 O" k+ d: h* {; v( f- y& F例中, EPF10KI0的配置文件.rbf的大小为15K。该文件2 {. u4 G' w4 n: c0 c( g
包括所有的配置数据,一个字节的.rhf文件有8位配置' w( j8 b: g4 [4 r( N
数据。由于Altem提供的软件工具不自动生成.rb文件,
5 @2 p8 T4 I$ o) j" v" W故文件需按照下面的步骤生成:①在MAX+PLUS II编" R; K5 M+ E( F- ?. S
译状态下,选择文件菜单中的变换SRAM目标文件命
/ h( R" x% v Q l令;②在变换SRAM目标文件对话框,指定要转换的文' W( E* `$ p4 t( U" D5 F& ]
件并且选择输出文件格式为.rb(Sequential),之后予以确( @4 [% i$ C: Z9 g
定。
0 ?3 @" p$ @: U* W! G A) O2硬件电路设计" M2 ^3 W0 t, c8 H/ t
AT89C52对EPF10K10 并行配置的硬件电路示意图
. K9 m! ~/ y7 ?5 V" W( g如图1所示。经MAX+PILUS II 编译生成配置文件(sof),通过
8 p5 ~$ j1 |, X4 ~. @格式转换成为(tbf)文件并存储在图中所示的存储器中。
( |% g8 ]. ] U1 \当使用PPA配置方式时,需要将MSELI和MSELO置为
3 d4 G' n: @+ d1 ~" m0 ^) ~5 n高电平。为了不使DCLK出现不确定信号,必须将其经5 P) Z. M! L8 k* z* O
过1k0电阻上拉到Voc。在采用PPA配置方式时.nCS) s& X/ z# a c2 I) F# ]
和CS两个片选信号只需用一个。6 y# s# q4 C! P% C( }: t
3 o( Y# N2 ~( e3 \6 `- {
附件下载:5 M6 H0 P' t) Q/ c7 |8 X, ^6 f
|
|