|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
随着FPGA性能和容量的改进,使用FPGA执行DSP功能的做法变得越来越普遍。在许多情况下,同一应用中同时使用处理器和FPGA,采用协处理架构,让FPGA执行预处理或后处理操作,以加快处理速度。本文说明如何将FPGA和与固定功能DSP结合起来使用,设计一个基于多普勒测量原理的非侵入式测量系统。; A' a; p( Q G' x( n6 F
, {/ x- L7 l+ R. r" l9 B8 N& s0 ^/ p0 ?
图1:电子束聚集技术。
* N3 Q1 H) P- p( I5 H: b; q K, `4 g2 g' _7 ]
8 l/ V! w$ I& v 传统上,大量的应用设计使用专门的数字信号处理(DSP)芯片或专用标准产品(ASSP)并通过信号处理算法来处理数字信息,滤波、视频处理、编码与解码、以及音频处理等仅仅是众多采用 DSP 的应用中的一部分而已。2 |4 t: W N% o' A1 M
% Z8 k. r- {" W' K7 i8 { 现在,随着 FPGA 性能和容量的改进,以及可以在大多数 DSP 应用中看到的通用算术运算的效率的提高,使用FPGA执行DSP功能的做法变得越来越普遍。在许多情况下,同一应用中同时使用处理器和FPGA,采用协处理架构,让FPGA执行预处理或后处理操作,以加快处理速度。4 W/ F3 X' q1 Z q
# l, z) m- g# A/ v* c. x 显示此种趋势的应用之一是多普勒测量系统,它可以测量固体或液体在各种环境中流动的速度。从管道中流动的油,到人的心脏中流动的血液,相对于以前的方法,基于多普勒测量原理的非侵入式测量方法可以极大地降低风险,减少成本和提高精度。一般来说,这些系统都是采用 DSP技术,将FPGA和如TI公司提供的固定功能DSP器件之类结合起来使用。
3 z1 ^! G$ X5 X1 z0 R
7 x# V; g3 W0 y3 m3 Y 多普勒测量系统
/ a( { R }- M. L% H+ l A; V* O. f0 m. V5 B9 p1 I5 ]+ e
多普勒测量系统利用多普勒效应测量运动目标(固体、液体或气体)的速度。最著名的应用大概要算雷达枪了,交通巡警利用它检测超速汽车。
$ [- y6 i/ C4 b$ P8 d
; k' z" ~8 B4 h: Y5 G 在测量除汽车速度之外的其他物体的运动(例如心脏中血液的流动)时,需要进行多种测量,来确定更为复杂的流动的细节。方法之一是利用电子束聚集技术。" W6 @1 N+ e2 s R! ~
$ O% Y6 m3 I% _+ o# N+ _& H2 w; d6 } 在这种技术中,将使用大量探测器(许多小雷达枪)测量从发射源返回的频率。这些探测器沿抛物线分布(如图1 所示),因此从焦点返回的信号将会同时到达每个探测器。将这些信号组合起来,并对显著速度的微小波动进行少量处理,就可以确定位于焦点处的物体的速度。如果可以移动探测器来对整个关注区域进行扫描,那么这种方法效果会相当好,但是如果没有这样的条件,则可以采用另外一种技术,它可以获得同样的结果。通过插入一定的可编程的延迟,改变各个探测器的输入组合的时间,可以将焦点改变到关注区域中的几乎任何位置。例如,加入一定的固定额外延迟可以使焦点远移,而改变延迟来缩短探测器一侧的传播路径则会使焦点向该侧移动。
5 S3 B+ A3 k- T8 u4 Z+ E) a 7 t+ K" ~; ^, o
图2 显示了如何利用可调延迟产生抛物线形效果。可调延迟功能在富含寄存器的FPGA中极易实现,并可能成为从传统DSP中剥离作为协处理器功能的一种功能。
/ |2 i9 N {& k; k; U# X. v2 y S ' K( g* q7 a! Q9 v8 T8 f( G
系统实现示例
/ ^9 U! G- Z' d4 h# W : [+ K, W5 I( w* A1 c" M
图 3 显示了一种系统实现示例的框图。位于图中部的 FPGA 负责产生发射器使用的输出信号。该实现采用Xilinx直接数字频率综合器IP核,可方便地产生各种波形。可以根据测量目标的不同轻松改变频率。
# ^7 p; [5 E: \6 ~6 w7 [+ ^
& X' y9 j! h- ]( E 图2:具有延迟功能的电子束聚集技术。
/ q; t: z7 ?/ ^* D0 r2 n7 q; y) I. H
0 m8 E8 d H% V$ c3 u 探测器测量返回信号的模拟值,产生馈送到FPGA的数字值。FPGA对输入信号执行部分初步滤波运算,来调整探测器的位置。然后FPGA向每个探测器数据流中插入一定可编程延迟,以实现电子束聚集功能。数据流被组合起来,一个数字滤波器负责确定信号的频率分量。这样就得到了确定焦点速度所必需的多普勒读数。7 J. x2 O9 [: `5 Y p
# u7 z8 A, b) G& O9 z
在FPGA的内部有一个MicroBlaze软核,控制着测量过程,从而实现高层次的功能,如扫描、初始化、测试,以及诊断等。
, B; Y! T! Y* H7 t8 K2 m' U$ n
# `2 O+ ^2 O: v2 u+ G3 w DSP读取和存储FPGA执行操作的结果。一旦完成一系列扫描,处理器就可以构建出一幅针对扫描区域的数字图像。可以为不同的速度分配不同的颜色(按照线性、对数或任何其他比例),并将数字图像转换成视频图像,在图形终端上实时显示或记录下来留待以后回放。利用众多可以得到的软件或工具包中的一个,还可以在处理器中轻松实现到JPEG或其他视频格式的转换, 还可以采用其他系统分割进行实验。如果实时视频处理和存储占用了处理器过多带宽,可以将算法的一部分(比如扫描数据的预处理)放在FPGA中来执行。
; C) S" L1 f- u$ L- e1 Z4 }
# ^4 i( f4 s/ W3 N9 ^: d/ y 测量过程的另一个重要部分是确定目标的质量。可以通过测量从焦点返回探测器的能量大小来实现这一功能。返回的能量越多,则目标越大(一般而言)。当测量的目标具有固定连贯性时(如在管道中流动的油或其他液体),这种测量效果特别好,但当系统中存在各种不同质量或反射时,测量就很困难了。
* K$ N7 R2 z& U! i& ?, |5 i
4 Z# ^8 @" {) d, O 显然,对被测系统多些了解可以为测量过程提供一些线索。通过存储与返回信号的幅度相对应的数字值,可以为FPGA协处理器增加能量测量功能。该值也是经过了FPGA的延迟。
* f. U+ w% l- s e/ @4 U7 o
2 P! [7 S/ x6 u! z- S 作为选择,JPEG处理可以作为一项独立的功能通过FPGA来执行,从而使处理器留出更多时间进行数据预处理器。有许多选项可供选择,但提供一种能够快速实现不同分割的易用平台才是至为重要的。
3 U! f. j# j' V) S4 B
* B4 h. ?0 c5 s2 G8 b5 _# Y! ] 类似的以协处理为本的应用可以从硬件开发平台的使用中获得好处。利用硬件平台可以让您轻松实验各种系统和算法分割--将一些功能在FPGA 中实现,而另一些功能放在DSP中。DSP应用程序一般很难用软件进行仿真,因此快速创建硬件/固件/软件平台的能力可以极大地缩短开发时间。使用赛灵思工具套件中的协仿真工具,通过The MathWorks Simulink和目标硬件进行开发,是一种可以大大缩短设计时间的技巧。
+ P8 C4 u# j; ?0 U; ^, k$ P 6 \; ?9 s& e! t$ m, M
图3:示例系统框图。
! z% c/ w E$ V; P( i5 C7 l4 u% _2 W0 T+ v7 o; l
Avnet DSP协处理器设计套件 e+ e& m2 _# v0 j/ v- X8 g
2 X) i3 | U8 Y! i5 a! 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电路板,完成开发平台的构建。2 @( l# w+ c1 K: L" l
|
|