|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
随着FPGA性能和容量的改进,使用FPGA执行DSP功能的做法变得越来越普遍。在许多情况下,同一应用中同时使用处理器和FPGA,采用协处理架构,让FPGA执行预处理或后处理操作,以加快处理速度。本文说明如何将FPGA和与固定功能DSP结合起来使用,设计一个基于多普勒测量原理的非侵入式测量系统。
/ \9 S' o* [! t2 z" \/ J ( d7 ~* O/ F. p' s9 R
图1:电子束聚集技术。
2 ~2 d) w9 J8 M, E0 q- F$ A5 v: P8 I9 W. G7 ?2 F) c
: G, ~2 L+ Z( n, l8 X4 W. W 传统上,大量的应用设计使用专门的数字信号处理(DSP)芯片或专用标准产品(ASSP)并通过信号处理算法来处理数字信息,滤波、视频处理、编码与解码、以及音频处理等仅仅是众多采用 DSP 的应用中的一部分而已。
+ J4 b' X, {' C6 ^ H+ x$ K! C7 `5 }5 ~ _# H9 S
现在,随着 FPGA 性能和容量的改进,以及可以在大多数 DSP 应用中看到的通用算术运算的效率的提高,使用FPGA执行DSP功能的做法变得越来越普遍。在许多情况下,同一应用中同时使用处理器和FPGA,采用协处理架构,让FPGA执行预处理或后处理操作,以加快处理速度。/ ~2 D6 F$ X5 B# U: [
; n3 i$ }3 d v& _+ R
显示此种趋势的应用之一是多普勒测量系统,它可以测量固体或液体在各种环境中流动的速度。从管道中流动的油,到人的心脏中流动的血液,相对于以前的方法,基于多普勒测量原理的非侵入式测量方法可以极大地降低风险,减少成本和提高精度。一般来说,这些系统都是采用 DSP技术,将FPGA和如TI公司提供的固定功能DSP器件之类结合起来使用。7 C8 b; N E* M- P* s* }2 T
. t7 A, T; z' B, ^* ^& a 多普勒测量系统0 A/ l+ E- I: H9 {' j% P
/ b5 ]% x. G0 W8 @0 N2 g0 x% \
多普勒测量系统利用多普勒效应测量运动目标(固体、液体或气体)的速度。最著名的应用大概要算雷达枪了,交通巡警利用它检测超速汽车。9 g( G$ D2 F( n- I
% b; x' m$ G1 p, x
在测量除汽车速度之外的其他物体的运动(例如心脏中血液的流动)时,需要进行多种测量,来确定更为复杂的流动的细节。方法之一是利用电子束聚集技术。 L# c% L' V. J
. D9 X6 O, Q+ X 在这种技术中,将使用大量探测器(许多小雷达枪)测量从发射源返回的频率。这些探测器沿抛物线分布(如图1 所示),因此从焦点返回的信号将会同时到达每个探测器。将这些信号组合起来,并对显著速度的微小波动进行少量处理,就可以确定位于焦点处的物体的速度。如果可以移动探测器来对整个关注区域进行扫描,那么这种方法效果会相当好,但是如果没有这样的条件,则可以采用另外一种技术,它可以获得同样的结果。通过插入一定的可编程的延迟,改变各个探测器的输入组合的时间,可以将焦点改变到关注区域中的几乎任何位置。例如,加入一定的固定额外延迟可以使焦点远移,而改变延迟来缩短探测器一侧的传播路径则会使焦点向该侧移动。$ G6 H" c9 u; \# D( f" N
+ G2 L/ Z, T4 d6 B& [* N
图2 显示了如何利用可调延迟产生抛物线形效果。可调延迟功能在富含寄存器的FPGA中极易实现,并可能成为从传统DSP中剥离作为协处理器功能的一种功能。" Q+ D2 ?1 h& x: r
# N3 C1 d7 |, O# ^ 系统实现示例
6 [2 h2 c( _6 u6 L - {5 O9 H* T, A: L( s9 _! T
图 3 显示了一种系统实现示例的框图。位于图中部的 FPGA 负责产生发射器使用的输出信号。该实现采用Xilinx直接数字频率综合器IP核,可方便地产生各种波形。可以根据测量目标的不同轻松改变频率。
% c: b$ _7 U. d4 E" G9 g( ^ , m: d7 C1 d$ P1 ?& o5 a4 V
图2:具有延迟功能的电子束聚集技术。- f6 R( n3 s- ^7 ^
; a" J5 c9 m( Y7 r! j
. V4 _2 d V! p; W. z6 T
探测器测量返回信号的模拟值,产生馈送到FPGA的数字值。FPGA对输入信号执行部分初步滤波运算,来调整探测器的位置。然后FPGA向每个探测器数据流中插入一定可编程延迟,以实现电子束聚集功能。数据流被组合起来,一个数字滤波器负责确定信号的频率分量。这样就得到了确定焦点速度所必需的多普勒读数。
3 y3 x* a. C. n) ^3 V
' [$ _0 q# u$ @* |: i2 A& ^- w9 x2 V 在FPGA的内部有一个MicroBlaze软核,控制着测量过程,从而实现高层次的功能,如扫描、初始化、测试,以及诊断等。
+ H, ]( Q0 g' o- u8 G* z' v ! U ]* @1 E( J' |9 q' |
DSP读取和存储FPGA执行操作的结果。一旦完成一系列扫描,处理器就可以构建出一幅针对扫描区域的数字图像。可以为不同的速度分配不同的颜色(按照线性、对数或任何其他比例),并将数字图像转换成视频图像,在图形终端上实时显示或记录下来留待以后回放。利用众多可以得到的软件或工具包中的一个,还可以在处理器中轻松实现到JPEG或其他视频格式的转换, 还可以采用其他系统分割进行实验。如果实时视频处理和存储占用了处理器过多带宽,可以将算法的一部分(比如扫描数据的预处理)放在FPGA中来执行。
) v4 K( Z6 z9 f0 x# V7 Q2 \" M# ?5 C G, o
2 M& k0 b5 W* Y. d 测量过程的另一个重要部分是确定目标的质量。可以通过测量从焦点返回探测器的能量大小来实现这一功能。返回的能量越多,则目标越大(一般而言)。当测量的目标具有固定连贯性时(如在管道中流动的油或其他液体),这种测量效果特别好,但当系统中存在各种不同质量或反射时,测量就很困难了。' V4 ?5 q5 @4 B0 B! w1 a
6 i! g1 o7 S! J# t: \6 l4 L
显然,对被测系统多些了解可以为测量过程提供一些线索。通过存储与返回信号的幅度相对应的数字值,可以为FPGA协处理器增加能量测量功能。该值也是经过了FPGA的延迟。
( c w& i8 W: ^% \1 \( {& w: q
5 I' b4 `3 e$ e( b4 C 作为选择,JPEG处理可以作为一项独立的功能通过FPGA来执行,从而使处理器留出更多时间进行数据预处理器。有许多选项可供选择,但提供一种能够快速实现不同分割的易用平台才是至为重要的。
g( L: t8 H, b# O 8 l* {1 F( l* y: ]0 Z! u
类似的以协处理为本的应用可以从硬件开发平台的使用中获得好处。利用硬件平台可以让您轻松实验各种系统和算法分割--将一些功能在FPGA 中实现,而另一些功能放在DSP中。DSP应用程序一般很难用软件进行仿真,因此快速创建硬件/固件/软件平台的能力可以极大地缩短开发时间。使用赛灵思工具套件中的协仿真工具,通过The MathWorks Simulink和目标硬件进行开发,是一种可以大大缩短设计时间的技巧。+ N7 N* t% x* f- n" W! ~
9 z( U$ Z. Q, }) K, R$ x
图3:示例系统框图。
8 [% N3 ?; Y4 @5 n- V M. k% w+ `% j
Avnet DSP协处理器设计套件
6 C U! J6 Y6 ]- { % ^5 `+ w( i5 y& X
Avnet DSP协处理设计套件是针对以DSP为导向、同时需要使用FPGA和DSP的广泛应用开发而设计的。套件配有两块主电路板。Virtex-4评估板(如图4所示)配有 Xilinx Virtex-4 SX-FF668 FPGA、平台闪速配置PROM、扩展连接器、Cypress CY7C68013 USB2.0 控制器、国家半导体的DP83847 10/100 以太网端口、128x64 OSRAM 图形显示器、8MB闪存、32MB DDR SDRAM 以及各种用户开关和LED。第二块电路板是 TI DSP 适配器模块(如图5所示),用于在Virtex-4 电路板和各种 TI DSP评估板之间起接口作用。可以从 Avnet公司购买TI电路板,完成开发平台的构建。
) M R' a# q2 g4 I! B9 @ |
|