基于ZedBoard的SCA架构的设计原理
扫描二维码
随时随地手机看文章
摘 要:ZedBoard是Xilinx公司首款融合了ARM Cortex A9双核和7系列FPGA的全可编程片上系统,兼具ARM和FPGA两者的优势,是小型化SCA实现的最佳嵌入式平台之一。本文介绍了ZedBoard平台的硬件结构,并针对SCA架构在专用硬件平台上无法实现的问题,通过分析研究MHAL硬件抽象层技术和OCP接口规范,设计了符合ZedBoard平台硬件环境的MHAL硬件抽象接口和FPGA波形组件容器,有效地解决了SCA架构在ZedBoard平台上的实现问题,为在ZedBoard上实现以SCA架构为核心的系统开发打下了基础。
0 引言
软件通信体系架构(Software CommunicaTIons Architecure,SCA)是美军在联合战术无线电系统(Joint TaTIcal Radio System,JTRS)中针对GPP环境提出的软件无线电实现框架,结合JTRS后续推出SCA补充标准对SCA架构进行裁剪,可在硬件资源有限的嵌入式硬件平台上搭建小型化SCA架构,增强系统软件的可重用性和可移植性,是实现嵌入式可重构系统的主要架构之一。ZedBoard是Xilinx公司推出的首款融合了GPP和FPGA的嵌入式开发环境,可满足大部分嵌入式系统开发的需求,是嵌入式开发环境的必然发展趋势,但是由于FPGA中的应用组件都由具体的逻辑电路实现,完全不同于GPP上的程序调用执行,所以SCA架构在ZedBoard平台上会有诸多实现问题[1]。
本文首先介绍了ZedBoard平台硬件结构,提出了基于ZedBoard的SCA架构的总体设计,并重点针对SCA架构在ZedBoard平台上难以实现的问题,通过深入分析研究Modem硬件抽象层(Modem Hardware AbstraTIon Layer,MHAL)标准和Open Core Protocol(OCP) 接口协议,结合ZedBoard硬件结构设计了MHAL硬件平台外部抽象接口和SCA波形组件容器,有效地解决了SCA架构在ZedBoard上的实现问题,为在ZedBoard上实现以SCA架构为核心的系统开发打下了基础。
1 基于ZedBoard的SCA架构总体设计ZedBoard平台是Xilinx公司最新推出的首款融合了ARM Cortex A9双核和FPGA的全可编程片上系统,兼备GPP和FPGA的特点和优势。ZedBoard平台的核心是Xilinx的Zynq-7020芯片,主要包括processing system(PS)和programmable logic(PL)两部分。其中PS部分包含双核的ARM Cortex A9处理器,不仅负责整个ZedBoard开发板的管理和配置,也可作为独立的芯片单独使用,是ZedBoard平台的系统控制核心,同时还集成了SIMD多媒体处理引擎(NEON)、内存管理器(MMU)等功能模块和多种对外扩展接口,具有很强的功能扩展能力。PL部分主要包括Xilinx的高性能7系列FPGA,作为PS部分的补充提供了丰富的IO资源和高速数字处理能力[2-3]。
基于ZedBoard的SCA架构总体设计如图1所示,为充分发挥ZedBoard平台PS部分的高性能系统控制能力,设计将SCA架构的核心框架、中间件和操作系统在PS部分的ARM上实现;而PL部分的高速数字处理能力和可重配置特点非常适合SCA应用层波形组件的实现。本文通过自行设计的MHAL硬件抽象接口和OCP波形组件容器来解决SCA架构在FPGA上的实现问题,并利用ZedBoard平台的APC接口和IO总线实现PS部分的核心框架和FPGA波形组件间的消息传输,下面对MHAL硬件抽象接口和FPGA波形组件容器进行重点讲述。
2 MHAL硬件抽象接口设计Modem硬件抽象层MHAL是JTRS办公室在2007年颁布的接口标准,其初衷是为SCA系统中不同处理单元的通信提供标准的协议和接口,同时也涉及了硬件平台外部接口的抽象,为实现SCA消息在ZedBoard上的标准传输提供了方法[4-5]。本文深入分析研究了MHAL标准,并结合ZedBoard开发环境,对MHAL消息结构进行了修改,重新定义了MHAL硬件抽象接口的功能结构和接口函数,分别设计了ARM和FPGA的MHAL消息发送和接收结构,完成了MHAL硬件抽象接口的设计。
2.1 MHAL消息结构设计
MHAL消息从最低有效位到最高有效位以地址递增的方式进行排列,本文对MHAL标准中的消息结构进行了修改和扩充,添加了消息起始符和消息类型字段,使其能更好地满足SCA架构在ZedBoard上的实现需求,其消息结构如图2所示,其他字段与MHAL标准中的消息结构一样,在此不做赘述。