基于ZedBoard的SCA架構(gòu)的設(shè)計(jì)原理
摘 要:ZedBoard是Xilinx公司首款融合了ARM Cortex A9雙核和7系列FPGA的全可編程片上系統(tǒng),兼具ARM和FPGA兩者的優(yōu)勢,是小型化SCA實(shí)現(xiàn)的最佳嵌入式平臺(tái)之一。本文介紹了ZedBoard平臺(tái)的硬件結(jié)構(gòu),并針對SCA架構(gòu)在專用硬件平臺(tái)上無法實(shí)現(xiàn)的問題,通過分析研究MHAL硬件抽象層技術(shù)和OCP接口規(guī)范,設(shè)計(jì)了符合ZedBoard平臺(tái)硬件環(huán)境的MHAL硬件抽象接口和FPGA波形組件容器,有效地解決了SCA架構(gòu)在ZedBoard平臺(tái)上的實(shí)現(xiàn)問題,為在ZedBoard上實(shí)現(xiàn)以SCA架構(gòu)為核心的系統(tǒng)開發(fā)打下了基礎(chǔ)。
0 引言
軟件通信體系架構(gòu)(Software CommunicaTIons Architecure,SCA)是美軍在聯(lián)合戰(zhàn)術(shù)無線電系統(tǒng)(Joint TaTIcal Radio System,JTRS)中針對GPP環(huán)境提出的軟件無線電實(shí)現(xiàn)框架,結(jié)合JTRS后續(xù)推出SCA補(bǔ)充標(biāo)準(zhǔn)對SCA架構(gòu)進(jìn)行裁剪,可在硬件資源有限的嵌入式硬件平臺(tái)上搭建小型化SCA架構(gòu),增強(qiáng)系統(tǒng)軟件的可重用性和可移植性,是實(shí)現(xiàn)嵌入式可重構(gòu)系統(tǒng)的主要架構(gòu)之一。ZedBoard是Xilinx公司推出的首款融合了GPP和FPGA的嵌入式開發(fā)環(huán)境,可滿足大部分嵌入式系統(tǒng)開發(fā)的需求,是嵌入式開發(fā)環(huán)境的必然發(fā)展趨勢,但是由于FPGA中的應(yīng)用組件都由具體的邏輯電路實(shí)現(xiàn),完全不同于GPP上的程序調(diào)用執(zhí)行,所以SCA架構(gòu)在ZedBoard平臺(tái)上會(huì)有諸多實(shí)現(xiàn)問題[1]。
本文首先介紹了ZedBoard平臺(tái)硬件結(jié)構(gòu),提出了基于ZedBoard的SCA架構(gòu)的總體設(shè)計(jì),并重點(diǎn)針對SCA架構(gòu)在ZedBoard平臺(tái)上難以實(shí)現(xiàn)的問題,通過深入分析研究Modem硬件抽象層(Modem Hardware AbstraTIon Layer,MHAL)標(biāo)準(zhǔn)和Open Core Protocol(OCP) 接口協(xié)議,結(jié)合ZedBoard硬件結(jié)構(gòu)設(shè)計(jì)了MHAL硬件平臺(tái)外部抽象接口和SCA波形組件容器,有效地解決了SCA架構(gòu)在ZedBoard上的實(shí)現(xiàn)問題,為在ZedBoard上實(shí)現(xiàn)以SCA架構(gòu)為核心的系統(tǒng)開發(fā)打下了基礎(chǔ)。
1 基于ZedBoard的SCA架構(gòu)總體設(shè)計(jì)ZedBoard平臺(tái)是Xilinx公司最新推出的首款融合了ARM Cortex A9雙核和FPGA的全可編程片上系統(tǒng),兼?zhèn)銰PP和FPGA的特點(diǎn)和優(yōu)勢。ZedBoard平臺(tái)的核心是Xilinx的Zynq-7020芯片,主要包括processing system(PS)和programmable logic(PL)兩部分。其中PS部分包含雙核的ARM Cortex A9處理器,不僅負(fù)責(zé)整個(gè)ZedBoard開發(fā)板的管理和配置,也可作為獨(dú)立的芯片單獨(dú)使用,是ZedBoard平臺(tái)的系統(tǒng)控制核心,同時(shí)還集成了SIMD多媒體處理引擎(NEON)、內(nèi)存管理器(MMU)等功能模塊和多種對外擴(kuò)展接口,具有很強(qiáng)的功能擴(kuò)展能力。PL部分主要包括Xilinx的高性能7系列FPGA,作為PS部分的補(bǔ)充提供了豐富的IO資源和高速數(shù)字處理能力[2-3]。
基于ZedBoard的SCA架構(gòu)總體設(shè)計(jì)如圖1所示,為充分發(fā)揮ZedBoard平臺(tái)PS部分的高性能系統(tǒng)控制能力,設(shè)計(jì)將SCA架構(gòu)的核心框架、中間件和操作系統(tǒng)在PS部分的ARM上實(shí)現(xiàn);而PL部分的高速數(shù)字處理能力和可重配置特點(diǎn)非常適合SCA應(yīng)用層波形組件的實(shí)現(xiàn)。本文通過自行設(shè)計(jì)的MHAL硬件抽象接口和OCP波形組件容器來解決SCA架構(gòu)在FPGA上的實(shí)現(xiàn)問題,并利用ZedBoard平臺(tái)的APC接口和IO總線實(shí)現(xiàn)PS部分的核心框架和FPGA波形組件間的消息傳輸,下面對MHAL硬件抽象接口和FPGA波形組件容器進(jìn)行重點(diǎn)講述。
2 MHAL硬件抽象接口設(shè)計(jì)Modem硬件抽象層MHAL是JTRS辦公室在2007年頒布的接口標(biāo)準(zhǔn),其初衷是為SCA系統(tǒng)中不同處理單元的通信提供標(biāo)準(zhǔn)的協(xié)議和接口,同時(shí)也涉及了硬件平臺(tái)外部接口的抽象,為實(shí)現(xiàn)SCA消息在ZedBoard上的標(biāo)準(zhǔn)傳輸提供了方法[4-5]。本文深入分析研究了MHAL標(biāo)準(zhǔn),并結(jié)合ZedBoard開發(fā)環(huán)境,對MHAL消息結(jié)構(gòu)進(jìn)行了修改,重新定義了MHAL硬件抽象接口的功能結(jié)構(gòu)和接口函數(shù),分別設(shè)計(jì)了ARM和FPGA的MHAL消息發(fā)送和接收結(jié)構(gòu),完成了MHAL硬件抽象接口的設(shè)計(jì)。
2.1 MHAL消息結(jié)構(gòu)設(shè)計(jì)
MHAL消息從最低有效位到最高有效位以地址遞增的方式進(jìn)行排列,本文對MHAL標(biāo)準(zhǔn)中的消息結(jié)構(gòu)進(jìn)行了修改和擴(kuò)充,添加了消息起始符和消息類型字段,使其能更好地滿足SCA架構(gòu)在ZedBoard上的實(shí)現(xiàn)需求,其消息結(jié)構(gòu)如圖2所示,其他字段與MHAL標(biāo)準(zhǔn)中的消息結(jié)構(gòu)一樣,在此不做贅述。