基于OMAP-L138 DSP+ARM处理器与FPGA实现SDR系统

critical link公司的某客户需要针对多个应用开发一个扩频无线电收发器。该客户已经开发出一套算法,准备用于对信号进行调制和解调,但他们却缺少构建完整系统的资源和专业知识。客户希望利用软件定义无线电(sdr)系统的灵活性优势。本文将探讨如何基于德州仪器(ti)的omap-l138dsp+arm处理器与fpga来实现该系统。
平台 critical link选择其mitydsp-l138f嵌入式系统模块作为sdr的基础,因为该模块不仅具有很强的处理能力,而且可以为客户节省大量的预先设计成本。mitydsp-l138f模块具有一个ti的omap-l138dsp+arm处理器,该处理器集成了一个456mhzarm9处理内核和一个456mhz tms320c674x dsp内核。此外,该模块还包含了fpga、nand和nor闪存以及ddr2存储器。
出于原型考虑,该设计使用了ti针对无线电的高速adc与dac评估套件。此外,它还需要能够在60mhz采样频率转换的数据转换器。
针对a/d转换器,该设计选用了ti的ads5562。该转换器具有16位精度,可以以80msps采样速率进行转换。因为扩频无线电需要将信号从背景噪声中抽离,所以高动态范围对于这种无线电来说非常重要。
对于dac,该平台选用了ti的ths5671。这是一款14位125msps差分电流输出dac。负责本项目的客户为该系统提供的前端设计如图所示。
图:客户提供的前端设计。
数据传送问题 许多基于dsp的应用要求具有高速数据传输功能,以使系统能够采集和处理数据,或者将数据传送到外设。通常,数字信号处理器都包含了异步地址/数据总线,以使处理器能够读写外设。这些接口可以满足低速传送数据的要求,但是在高速情况下却会成为瓶颈。
omap-l138 dsp+arm处理器具有一个称为外部存储器接口a(emifa)的地址/数据总线。emifa允许对外部存储器或设备进行异步寻址,并含有若干控制引脚,以满足不同等待状态和传输宽度等等要求。因为该接口具有很强的通用性,所以每次事务处理都可以利用多个时钟周期来完成。例如,最小的读取周期需要每16位3个周期。在100mhz下运行emifa,假设总线上没有其他数据,可得到的数据传输速率最大为66mb/s。在总线上进行交错读写会显著地降低传输速率,因为这必须增加额外的转换周期。
omap-l138处理器还包括了一个更为专用的接口,即通用并行端口(upp)。该接口专门用来将大量数据连续送入处理器内存或从其中读出。upp的传输速率为每时钟周期1个数据字(8位或16位);或者针对双数据速率为每时钟周期2个数据字,但是时钟速率必须减半。upp时钟速率可以高达处理器时钟速率的一半。对于在300mhz下运行的omap-l138处理器,upp时钟可以达到75mhz。这使吞吐量可以达到150mb/s。
omap-l138处理器实际包括2个upp接口,每个都可以单独配置。这允许我们为应用建立一个传输端口和一个接收端口,从而消除单一总线上的资源争用问题。
从硬件角度看,upp接口是一种非常简单的同步数据接口。它包含一个时钟引脚、数据引脚和若干控制引脚,用于指明有效数据和起始/等待条件。事实上,该接口可以与一些并行adc和dac实现无缝连接。
架构 因为我们的sdr需要与dsp之间进行高速数据传送,所以我们选择使用upp端口来实现fpga接口。我们使用一个端口作为接口的发送端,使用另一端口作为接收端。事实上,该处理系统可以同时进行发送和接收,尽管这并非系统要求。这个功能的优势在于,它允许我们在发送器和接收器之间建立循环,以进行大量的测试和调试工作。
对于一个10mhz载波来说,这种调制所需的处理特性,使系统过多地将全部处理任务在omap-l138处理器的dsp中完成。在速度较慢的应用中,dsp可以单独满足数据速率的要求,但由于客户要求以更高的速率发送数据,所以我们需要使用fpga来执行部分处理任务。
fpga尤其擅长以非常高的频率执行重复任务,因此,我们选择在fpga中执行初始解调和基带处理。这样,我们就可以大量减少dsp中的数据并降低dsp的数据速率。在发送侧,dsp可以预先计算最终的射频信号,以便将有效负载数据的编码时间降至最短。因此,fpga仅仅将发送波形数据从upp端口发送到dac。事实上,不使用fpga也可以完成这项工作,但是我们在设计系统时仍将fpga加入,以便在需要时使用。
fpga的双端口ram中包含一个正弦或余弦查找表,用于合成接收机的本机振荡器信号。fpga中的乘法器/累加器用于根据要求解调信号。
发送处理链 当arm微处理器上的软件向dsp发出传输消息包时,发送过程将会启动。dsp对数据进行编码,使其成为扩频调制序列,并将其编入一个预先计算的已调制正弦波查找表。然后,dsp使用upp的内置dma引擎建立一个dma传输,用以将数据从dsp存储器传送到dac。fpga则起到中间调解作用,负责向dac和upp提供可编程时钟,用于设置发送采样率。
接收处理链 接收流程连续运行。adc样本被同步送入fpga——通过将输入样本与正交正弦和余弦波形相乘并积分,对数据进行基带处理,从而以较低的数据速率向dsp提供同相和正交样本。这些样本被upp dma引擎以dma方式送入dsp存储器,再由dsp处理剩余的扩频解调处理步骤。一旦信号被解调,得到的数据包将使用ti的dsplink处理器之间通信库传送回arm处理器。arm软件接收解码数据,并通过命令接口将数据呈现给用户。
使用fpga执行接收器初始基带处理能够释放足够的dsp处理能力,从而轻松完成剩余的解调和解码工作。如果系统中的输入信号采样率显着低于60mhz,则dsp可不借助fpga的力量,独自执行基带处理任务。
该系统的初始工作使用了一个低频段(几十或几百khz)的载频。在初始实施过程中,fpga仅负责将数据发送至dsp,由dsp执行所有的解调功能。这种方式很奏效,但是无法达到更高采样率应用的要求。通过在fpga中实施基带处理,我们可以在全采样率下进行数字基带处理和滤波,从而改善系统的噪声性能:这在欠采样下是无法做到的。
本文小结 该项目实现的原型系统已经为多个应用实施过概念验证。与理想扩频无线电的理论性能相比,该系统的性能非常优异。ti omap-l138 dsp+arm处理器与fpga的结合,实现了具有出色性能的高性价比解决方案。将dsp的部分处理负载分配给fpga,使系统可以使用低成本、低功耗的处理器来构建,而不是由ghz级的dsp处理所有工作。upp接口支持简单的fpga接口功能,并且与其他可用的dsp接口相比,具有明显的性能优势。使用upp中的dma进行数据传送,可以进一步释放dsp资源,将dsp周期用于更加重要的工作。
在omap-l1x平台中加入arm处理器后,便可使用嵌入式linux提供通信基础设施,来管理系统中的用户界面和所有的内务处理功能。此外,使用sd卡、usb驱动器或者以太网连接,可以对系统软件(arm、dsp和fpga)进行现场升级。因此,sdr系统的灵活性可以充分满足处理算法的发展要求。

BGA芯片底部填充胶点胶工艺标准和选择与评估
你知道如何去兑换央行的数字货币吗
容联CTO:构建AI通讯中台 打造Connector连接人、场景、数据
如何快速利用蓝牙 AoA 和 AoD 进行室内物流追踪
三星今年市值蒸发394亿美元,半导体业务增长放缓引起担忧
基于OMAP-L138 DSP+ARM处理器与FPGA实现SDR系统
网红高科技产品强势来袭,镜面防水电视的魅力
如何使用Arduino读取卡尺
又一SiC功率器件公司获超亿元融资!
纳米技术电池简介
土壤养分检测仪厂家有哪些
FPGA手工布局的原因、方法、工具和差异
简单总结一下MOS管
中微已制造出5纳米蚀刻机,对中国半导体领域影响深远
变频器的制动方式及电路原理图
油电混合电池坏了怎么办_油电混合电池多久换
强化 Gear VR 之外,三星还要开发独立运行的高阶VR头戴装置
Xilinx交叉编译链的安装步骤和验证
5G超高清监控摄像机通用技术规范发布
金星电视机D2902电源