使用Zynq SoC器件可以有效地实现包括无线电和无线回程在内的比较主要的无线应用,而广播无线电的应用尤为如此。在该应用中,Zynq SoC器件的片上处理器内核和可编程逻辑,实现了整个数字前端处理的软硬件。每个无线应用都有不同的性能要求,应此需要有符合各自性能的操作系统(OS)。
无线数字前端应用程序是在4G无线网络中使用的远程无线端(RRH)的主要部分。该应用的处理要求可以分成信号处理任务和控制处理任务。通常而言,无线端的控制处理任务主要是进行无线校准、配置、警报、调度及从网络下传消息。这些任务没有高性能的要求,通过一款在Zynq SoC中运行单一ARM Cortex-A9处理器内核的软件,便可以轻松处理好上述任务。
在信号处理方面,Zynq SoC能在数字上下变频、波峰因数缩小(CFR)和数字预失真(DPD)中实现高速采集过滤技术。由于性能方面的要求,通常使用Zynq SoC的可编程逻辑(PL)实现采样率转换和CFR,而使用Zynq SoC的PS(处理器系统)和PL实现DPD。DPD处理可以分解成高速数据路径和更新路径。更新路径用于周期性地更新滤波器组系数。通常而言,系数以几十毫米的时间更新,因此当Zynq SoC ARM Cortex A9处理器内核嵌入NEON SIMD向量计算单元运行该软件时,可以有效地执行任务。
为支持DPD应用和控制处理应用,筛选恰当的处理架构是个很重要的决策,因为最终的选择会界定系统的整体性能、可靠性和易维护性。为无线电应用筛选的最常见的架构是AMP(非对称多处理)模式,该模式将整个运行了裸机(无操作系统)代码的ARM处理器内核应用到DPD处理中。该方法提供了更多的计算空间,以满足DPD系数更新的时序要求。通过OS的控制,在第二个ARM Cortex-A9处理器内核中也可以实现其它应用程序,如控制和OAM(轨角动量)多路技术。
由于在AMP模式中,OS只能控制其中一个ARM处理器内核,因此在这两个应用之间必须建立一个处理器间通道,例如使用OCM(片内存储)或共享内存的处理器内核之间建立通道。该通道对于一些关键的控制应用尤为重要,如用于监测DPD模块状态的应用。这种IPC(进程间通讯)方案没有固定的标准,必须在使用AMP模式的系统中单独开发。
相比之下,SMP(对称多处理)架构则简明直白,其单一的操作系统便可以控制ARM处理器内核和所有的应用。IPC、调试和辅助工具链可以在相同的操作系统下运行。为确保在DPD应用中投入了充足的处理资源,可以应用特定的技术,如内核亲和性和中断屏蔽。前一种情况中,DPD应用在一个内核中运行,除了操作系统调度,在处理器中没有其它的任务共享资源。后一种情况中,为充分利用第一个处理器内核的资源,允许DPD应用程序直接中断第二个内核(除了DPD应用触发的中断以外)。
有了双核ARMCortex-A9 MP内核处理器,Zynq SoC便可支持AMP和SMP的应用。
注释:本文节选自Yuan Gu最近在欧洲微波工程网(MEEW)上发表的论文“无线应用:Zynq全可编程SoC操作系统应考虑的因素”。
技术专区
- 裸机程序如何驱动硬件?看前辈是怎么说的
- ARM紧耦合内存简介及配置
- ARMv8 通过设计简化软件移植详解
- STM32中断优先级谁更高 主要根据两个方面来判断
- 基于ARM与DSP的主从式双CPU嵌入式四轴运动控制器设计方案