平台

在本节中,我们从架构和设计的角度列出了不同类型的SDR。分析了它们的优缺点,并讨论了它们对SDR发展的影响。

C.基于DSP的SDR

基于Imagine处理器的SDR:这是最早的完全基于DSP的SDR解决方案之一。这款SDR采用了2001年斯坦福大学开发的Imagine流处理器。斯坦福大学的Imagine项目旨在提供一种C可编程的信号和图像处理器,能够匹配高性能和高密度的ASIC。它以流处理为基础,在数据并行性的开发上类似于数据流编程,适合于信号处理的应用。这项工作为GPU的开发铺平了道路。

如图8所示,Imagine处理器使用基于VLIW的ALU集群以SIMD的方式来处理数据流。架构的中间,是流寄存器文件,它存储来自其他组件的数据,从而最小化内存访问。通过实现与W-CDMA蜂窝系统相关的复杂算法,对该平台的性能进行的评估表明,与TI C67数字信号处理器相比,该平台具有更高的性能:信道估值和检测分别提高了48倍和42倍。

SODA:这是一种基于多核DSP的SDR平台-信号处理随需应变架构(SODA)。它提供完全的可编程性,并针对各种无线电标准。SODA设计实现了高性能、高能效、高可编程性。这归因于SIMD并行性和16位计算硬件支持在内的特性的组合,因为大多数算法运算的值都很小。基本的处理部件是一个由标量和SIMD流水线组成的非对称处理器,以及一组在软件中完全管理的分布式高速暂存存储器。SODA是一种多核架构,具有用于控制目的ARM Cortex-M3处理器和用于DSP操作的多个处理部件。采用四种处理部件可以满足802.11a和W-CDMA的计算要求。与WARP和Sora相比,SODA作为一种单芯片实现更适合于嵌入式场景。与WARP一样,开发人员必须学习架构才能实现SDR。

ARM Ardbeg:在此基础上,提出了一种基于SODA架构的商用原型。与SODA相比,Ardbeg的主要改进是优化SIMD设计,VLIW支持和一些专用的ASIC加速器,它们专门用于Turbo编码器/解码器、块浮点格式和算术运算等算法。

Atomix:通常,程序员需要对DSP的软件工作流执行三项任务的其中之一:进入信号处理链,调整块,或插入/删除块。为了简化这些任务,模块化至关重要。然而,考虑到必须支持的特殊需求,例如延迟灵敏度和高吞吐量,为DSP设计一个模块化的软件是很有挑战性的。主要的挑战是程序员需要手动和明确的定义和管理一切。换句话说,有必要使用裸金属特性,比如跨核移动数据、管理SRAM和并行化软件。

为了解决这些问题,Atomix用块描述软件,将其命名为原子。原子可以用于实现任何操作。这可以是信号处理或系统处理。原子可用于在无线堆栈中实现块、流程图和状态。此外,简单的控制流程可以使原子合成。上面提到的易于修改的特性就是由于声明性语言。需要注意的是,Atomix信号处理块实现了一个固定的算法函数,在固定的数据长度上操作,与特定的处理器类型相关联,并且只使用调用期间传递给它的内存缓冲区。这些块将运行固定的指令集,使用固定的存储器在固定资源上执行不间断的指令。这样,执行的时间长度是固定的。原子也可以组成更大的原子。使用Atomix,无线电软件可以完全由原子构建,而且很容易修改。基于原子的无线电也满足吞吐量和时延需求。

开发人员在C语言中定义原子,然后使用Atomix接口将块组成流程图和状态。下一步是开发并行调度和资源分配,以满足时延和吞吐量需求。然后由Atomix将该软件编译成一个低级C语音。编译后的代码以及Atomix库将被编译成二进制代码。Atomix仅用于构建IEEE802.11a接收机,即Atomix11a。对Atomix11a的评估表明,它超出了接收机的灵敏度要求,在室内环境中运行稳定,低时延处理,原子具有较低的定时可变性。虽然报告的功耗为7W,但不包括前端USRP 2所消耗的功率,约为14W。Atomix的一个缺点是它只用于各种DSP上的合成,而不是GPP、GPU或FPGA。

BeagleBoard-X15:德州仪器公司(Texas Instruments),得捷电子(Digi-key)和Newark Element 14,BeagleBoard之间的一个合作项目是一台开源SoC计算机。它的具有TI Sitara AM 5728特点,其中包括两个C66x DSP,两个ARM Cortex-A15,两个ARM M4核,和两个PowerVR SGX 544图形处理器。由于其相对低廉的价格(1600多元),DSP和协处理器为实现独立的SDR提供了一个强大的平台。使用BeagleBoard(一个较旧的模型,但一般架构相同)的例子有:通过GNU Radio实现公共安全认知无线电(PSCR)。PSCR是FM无线电为基础,由美国弗吉尼亚理工学院的无线电通信中心(CWT)开发。

D.基于FPGA的SDR

Airblue:这是一种基于FPGA的物理层和MAC层SDR平台。Airblue是在FPGA上实现可配置无线电设备的方法。使用一种名为Bluspec的HDL语言完成的,通过该语言可以编写无线电收发机的所有硬件块。在BlueSpec中,开发人员通过项重写系统来描述设计的执行语义(TRS)。TRS是一种基于简化规则反复应用的计算范式。下一步是将TRS编译成RTL代码。TRS具有生成高效硬件设计的能力。Verilog接口和Bluspec接口的主要区别是前者仅仅是一组没有语义的连线,而后者包含用于块通信的握手信号。因此,BlueSpec通过模块化组合促进了时延不敏感的设计,而这些设计对于系统的构建是必不可少的。使用AirBlue,开发人员可能会发现需要修改构建块或模块,以添加新功能、进行算法修改、调整性能以满足吞吐量或定时要求,或者进行特定于FPGA的优化。

为了达到模块化改进,可配置无线电的设计必须具有两种设计特性,即时延灵敏度和数据驱动控制。除了灵敏度之外,AirBlue还通过在FPGA上实现PHY和MAC并将它们连接到流接口来满足严格的时延要求,这使得数据一旦准备好就可以立即进行处理。AirBlue的另一个优点是通过参数化实现高度可重用的设计(也就是说,可以使用不同的参数值多次例示相同的RTL块)。此外,还开发了几种允许设计人员重用现有设计以实现运行时参数化设计的技术。

AirBlue本质上是一个HLS平台,它提供模块化精化,其中修改一个模块不影响系统的其他部分,类似于Atomix采用的方法。这就是为什么与WARP相比,Airblue更灵活的原因,因为WARP的设计没有考虑到上述原则。本文还研究了HLS工具,并将其与Bluespec进行了比较。对比发现,在设计的早期阶段,他们比Bluespec更有效;但是,Bluespec能够产生一个更优化的终极RTL。有人认为,HLS在最终的FPGA实现中应用有限,特别是对于未来无线协议所需的高性能块,因此BlueSpec是AirBlue的首选语言。为了性能评估,文中实施了802.11,并试验了一组协议更改。Airblue表明,它易于修改且仍能满足定时要求。AirBlue在跨层通信(MAC层和PHY层之间)中实现了比SORA更高的速度,通常需要几微秒的时延。

E.混合集成电路设计

USRP E系列:这是USRP的嵌入式版本,在该版本中,他们将Xilinx SoC合并,以开发独立的SDR。例如,基于Xilinx Zynq 7020的USRP E310,具有高性能和节能的特点。此USRP是独立的,适合于移动应用程序。支持70MHz-6GHz的频率范围,并具有2×2 MIMO射频前端。

WARP:无线开放获取研究平台是另一个合作设计的例子,专为原型无线协议开发。可编程,可扩展,然而,部分设备是在ASIC中实现的,这使得它灵敏度不高。WARP v3包含一个Xilinx Virtex-6 FPGA,其中包括两个MicroBlaze处理器和一个千兆以太网外部设备。它需要使用Xilinx嵌入式开发工具包(EDK)来设计SDR。它也是开源的,802.11参考设计可供研究团体使用。由于Warp在实现各种无线协议方面的有效性(如802.11 g/n PHY和MAC),使得它在研究领域得到了广泛的应用。它还支持MIMO,因为它有多个RF接口。

PSoC 5LP:这种SoCc由Cypress半导体公司开发,由ARM Cortex-m3 gpp、模拟系统和使用通用数字块(UDBs)的数字系统组成。UDB是一种基于可编程逻辑器件(PLDs)的可编程数字块,用于实现同步状态机,它们类似于FPGA,但体积较小。通过使用PSoC 生成器软件IDE,所有部件都是可重构和可编程的,其中包括一个图形设计编辑器。一些开发人员使用它来构建简单的独立SDR。除了价格低廉外(100多块钱),PSoC也是快速原型和熟悉SDR的最好选择。

基于Zynq的SDR:为了实现IEEE 802.11a,有厂商利用Xilinx Zynq ZC706和ZedBoard SoCs开发了一个SDR。射频前端使用了模拟设备FMComm3 AD9361。使用两个Zynq板来比较他们的性能。它们都具有双核ARM Cortex-A9,包含Kintex-7,ZedBoard和包含Artix-7 FPGA的ZC706。除了HDL Coder和Embedded Coder生成RTL和软件可执行文件外,还使用MathWorks Simulink生成模型。Tx和Rx的平均功耗为2W,而Atomix的平均功耗为5到8W。