首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

用Zynq SoC实现Red Pitaya开源仪器

用Zynq SoC实现Red Pitaya开源仪器

最新Red Pitaya计划有助于从一个平台轻松、低成本地开发出众多不同版本的仪器。
作者:
Aleˇs Bardorfer,理学博士
Red Pitaya LLC公司
ales.bardorfer@redpitaya.com

Matej Oblak
在读理学硕士
Instrumentation Technologies, d.d.公司
matej.oblak@i-tech.si

Borut Baricˇevicˇ
Red Pitaya LLC公司
borut.baricevic@redpitaya.com

Rok Urˇsicˇ
Red Pitaya LLC公司
rok.ursic@redpitaya.com

在电子工业的早期,示波器、信号发生器等测试测量设备功能固定,只能执行少量明确的任务。过去数十年里,制造商运用DSP的可编程功能为特定应用量身定制了较丰富的功能集。但只有制造商在产品出厂之前才能为这些仪器编程并确定其最终的功能集。
虽然现今市场上大多数仪器具有较丰富的功能集,但并不能满足客户特定项目所需的精确功能,这对世界各地科研机构和大专院校中那些致力于用仪器等较小型子系统构建大型复杂系统的跨学科研究小组而言尤为如此。在科研工作中,往往需要比厂商设计提供的功能更精细的设备。一般来说,高速反馈系统涉及两个(或多个)需要极低抖动、硬实时响应的仪器子系统,通常会出现集成方面的问题。往往仪器的接口难以实现所需的总体集成系统性能。封闭源码且面向DSP的仪器不允许此类集成。
Instrumentation Technologies公司的工程师一直想知道,如果开发出一种用户可编程、用户可定制的开源仪器(或信号处理平台)会怎样?为此,我们开发出一块得到开源开发生态系统支持的“Red Pitaya”小型测试板。Red Pitaya系统有望通过单个可重配置的器件,以明显低得多的价格,取代众多标准测试测量仪器。图1为Red Pitaya的系统架构图。这是一款具有多个模拟/数字输入输出的新型仪器(信号处理系统)。


图1 - Red Pitaya系统架构

系统架构
理想的仪器一般要求在模拟域和数字域表现出卓越的性能。频率日益提高的模拟域仍然对仪器的本底噪声和测量性能有着严格的要求。而数字域由于稳定性好、抗噪能力强、时不变性、能够执行高度复杂的处理且能够与标准连接功能相结合,正蓄势待发。因此信号处理正日渐从模拟域向数字域过渡。

新型信号处理系统的基本方法是在模拟前端尽量采用通用电子设备,在处理链上尽量采用高速ADC进行信号采样。数字侧倾向于先处理信号,然后尽可能晚地将它们发送到处理链中的DAC。模拟后端也尽量采用通用电子设备。采用这种架构,处理/测量系统的所有特性都集中在数字域,模拟电子技术保持简单、通用。这种以数字为主的新型架构为通过硬件定制执行多个应用领域内的一系列任务提供了契机,可能仅受模拟前端后端的带宽和数字域的计算资源(主要是FPGA和CPU资源)的限制。
从速度的角度来看,Red Pitaya上主要有两类处理链。一类处理链是利用FPGA的极高速度、极低抖动硬实时处理功能实现的、带宽约为50MHz的信号处理链;另一类处理链是通过CPU实现的,可能用于运行硬实时操作系统的带宽约为50KHz的信号处理链。
仪器中的嵌入式数字信号处理功能的主要负责减少从仪器输入到处理结果输出之间的数据。
根据我们的经验,在可重配置仪器中将FPGA和CPU当作信号处理系统的基本模块,一直是一种成功的组合方式。这种组合为高性能FPGA和易于编程的CPU之间的信号处理部分分区提供了很大的自由度。特别是几乎所有仪器都面临着从原始采样点到仪器输出点减少大量输入数据的难题。例如一幅示波器图只需要保持1,000个点。
典型的测试结果示例包括示波器的信号图、频率分析仪的频域图或通过处理吊顶摄像头输出得到的篮球运动员位置坐标轨迹图等。所有这些测量输出所代表的数据均远少于仪器的原始信号输入数据。输入数据是在极高频率下采样得到的。从仪器的输入到处理结果输出这个过程中的数据减少就是嵌入在仪器中的数字信号处理功能的主要工作。
把FPGA和CPU同时嵌入在信号处理系统中,使开发人员能够自由决定如何在FPGA和CPU之间分配DSP处理任务。就处理的适用性来说,这两者之间稍有区别,但两种都能够完成数字信号处理。一般来说FPGA适合处理超高速但简单的DSP运算,但不太适合复杂的程序运算(procedural operations)。而CPU则擅长处理速度较慢较为复杂的程序运算。此外,CPU还擅长于运行诸如Web服务器等标准交互接口。虽然FPGA开发工具近年来有大幅改进,一般而言与FPGA中的RTL编码和数字结构综合相比,编写运行于CPU上的程序软件依然相对简单。
FPGA与CPU之间的DSP处理自由分配还能带来另一大优势,即能够快速对性能有限但功能齐全的系统进行原型设计。在CPU上执行大部分DSP处理工作,不仅可以在项目开发早期阶段进行原型演示,适用于市场营销目的,同时在项目开发后期阶段,使用这种方法可以把DSP的关键性能部分平滑移植到FPGA上,打造出功能相同但性能完备的最终产品。
图2就是在FPGA和CPU之间分配DSP算法的实例。在开发过程中,FPGA和CPU间的分区界限可以变化。由于DSP处理被分割开,部分处理过的数据必须在FPGA和CPU之间来回传输。因此,两者间的总线速度极为重要,以防止造成额外的处理时延。


图2 - FPGA与CPU之间的DSP算法分配

Red Pitaya
如图3所示的Red Pitaya系统在赛灵思Zynq®-7010 All Programmable SoC基础上构建而成。Red Pitaya拥有高速双通道125Msps的信号采集和信号生成能力,与位于其间的FPGA DSP处理功能相结合,即构成硬实时反馈环路。除了高速信号处理功能,该系统还拥有数个速度较慢(约100KHz)、采用赛灵思模拟混合信号(AMS)技术(图4)的I/O通道和多个数字I/O。如果用户使用高速串行菊花链连接器将多个Red Pitaya模块以菊花链方式连接起来,就能够实现分布式处理。采用这种方法,用户就可以通过将多个Red Pitaya子系统互连,构建出具有更多输入输出端口的复杂系统。CPU负责运行Linux操作系统,并为1000Base-T以太网、USB OTG、Micro SD存储和USB串行控制台提供支持。


图3 - 通用Red Pitaya仪器平台



图4 - 赛灵思AMS技术(XADC)与基于PWM的输出相结合

Red Pitaya仪器的初始应用包括双通道125Msps示波器、频谱分析仪、信号处理器和PID控制器等。Red Pitaya仪器及配套的应用程序和生态系统将于2013年12月推出。其开放源码性的魅力在于爱好者可以根据自己特定的需求开发出定制应用。和任何开放源码定制的情况一样,其他人也有机会使用改进的或全新的仪器或应用。预计Red Pitaya生态系统将不断发展和完善更多其他应用。
记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表