ZynqUltraScaleMPSoC的嵌入式最小系统开发

  • 格式:pdf
  • 大小:1.18 MB
  • 文档页数:4

26 Microcontrollers&EmbeddedSystems 2019年第1期www.mesnet.com.cn ZynqUltraScale+MPSoC的嵌入式最小系统开发

江绪庆

(中国西南电子技术研究所,成都610036)

摘要:设计了基于UltraScale+MPSoC的嵌入式计算机最小系统,包含硬件系统和软件系统。硬件系统以XCZU9EG

为核心,以QSPIFlash和eMMC为存储介质,通过串口和千兆以太网实现对外通信;软件系统采用ReWorks嵌入式

操作系统,实现对称多处理架构。实际测试表明,该最小系统具有嵌入式计算机运算、控制、通信等基本功能。

关键词:UltraScale+MPSoC;eMMC;ReWorks;对称多处理架构

中图分类号:TP368.1 文献标识码:A

DevelopmentofEmbeddedMinimumSystemBasedonZynqUltraScale+MPSoC

JiangXuqing

(SouthwestChinaInstituteofElectronicTechnology,Chengdu610036,China)

Abstract:Inthepaper,aminimumembeddedcomputersystembasedonUltraScale+MPSoCprocessorisdesigned,includinghardware

systemandsoftwaresystem.ThehardwaresystemusesXCZU9EGasthecore,Q-SPIFlashandeMMCasthestoragemedium,thecom-

municationisrealizedthroughtheserialportandGigabitEthernetinterface.ReWorksisusedastheoperatingsystemtorealizetheSMP

architecture.Thetestresultsshowthatthesystemhasthefunctionsofembeddedcomputeroperation,controlandcommunication.

Keywords:UltraScale+MPSoC;eMMC;ReWorks;SMParchitecture

引 言

嵌入式最小系统是嵌入式计算机的核心部分,最小系

统包括嵌入式硬件系统和嵌入式操作系统,具备尺寸小、

功耗低、扩展性好等特点。嵌入式最小系统的开发属于产

品平台研制,对相同架构产品的开发具有重要的指导

意义。ZynqUltraScale+MPSoC是美国Xilinx公司推出的新一

代异构多核可编程SoC,该系列处理器采用ARM+FPGA架

构,集成多个可编程处理器和可编程逻辑单元。本文提供了

一套基于ZynqUltraScale+MPSoC处理器和ReWorks嵌入

式操作系统构建嵌入式最小系统的软硬件方案。

1 总体设计思路

最小系统硬件以ZynqUltraScale+MPSoC系列中的XCZU9EG处理器为核心。选用DDR4SDRAM、QSPI

Flash、eMMC芯片、网络物理层(PHY)芯片、RS232接口

芯片,实现最小系统的硬件电路设计。嵌入式操作系统选

用国产自主可控ReWorks嵌入式操作系统,实现内核初

始化、硬件设备驱动、I/O系统等基本功能。依据总体设

计思路,构建了最小系统的硬件框架,如图1所示

。图1 最小系统硬件框图 XCZU9EG处理器内部可分成处理子系统(Process- 敬请登录网站在线投稿 2019年第1期 27 ingSystem,PS)和可编程逻辑(ProgrammableLogic,

PL)[1]。PS集成了多个可编程处理器,包括CortexA53

核、CortexR5核、Mali400GPU核以及可编程逻辑单

元。PS还集成了OCM、DDR控制器接口、MIO(Multi-

plexedIO)以及高速串行收发接口。PL提供大规模的可

编程逻辑块(CLB)、BlockRAM、DSP模块,提供可配置

的通用I/O和高速串行收发接口。PS和PL通过AXI总

线完成二者间的交互。

最小系统的设计实现过程分为三个阶段:硬件电路设

计、处理器硬件平台配置和ReWorks操作系统镜像生成

与烧写。

2 硬件电路设计

2.1 电源设计

最小系统的电源设计分为两级:第一级转换器选用DCDC转换器,将5V输入电压转换为系统需要的各

种电压;第二级转换器LDO将内部电源转换为更加纯净

的电压源,满足PLL等更严苛的电源需求。电源设计如

图2所示。

图2 电源设计框图

2.2 时钟设计

最小系统的参考时钟PS_REF_CLK采用频率为

33.333MHz、CMOS电平的时钟信号。PS子系统内需要

的所有时钟频率都经过处理器内部锁相环(PLL)倍频和

分频得到。

2.3 启动模式设计

处理器支持多种启动模式,可以从多种引导设备获取

启动程序镜像。芯片上电复位后采样boot_mode[3:0]引

脚,根据采样值决定启动模式[2]。本系统通过拨码开关改

变boot_mode[3:0]引脚的值,从而选择不同启动模式,本

系统支持的三种启动模式如表1所列。表1 处理器启动模式启动模式bootmode[3:0]使用场景

JTAG0000多用于调试,使用JTAG仿真器下载调试软件

QSPI0001启动程序镜像存放在QSPIFlash中eMMC0110启动程序镜像存放在eMMC中

2.4 DDR4设计

处理器的DDR接口控制器外接DDR4芯片。芯片选

用美国Micron公司生产的MT40A512M16JY,单片位宽

为16位,DDR4接口最高速率为2400Mbps。4片DDR4

芯片并行连接组成的总位宽为64位、总容量为4GB的处

理器内存。DDR4的Vtt电压由TPS51200提供。

2.5 QSPIFlash设计

处理器的PS端通过MIO[0:5]挂接一片QSPI

Flash,用于存放启动程序镜像文件。Flash选用Spansion

公司生产的S25FL128SAGMFIR01芯片。

2.6 eMMC设计

eMMC芯片是一种内嵌NandFlash控制器的

新型存储芯片,特点是小尺寸、大容量、高速度。PS通过MIO[46:51]实现1路eMMC接口,eM-

MC芯片选用Micron公司生产的MTFC32GJDDQ

芯片,最大可提供32GB的非易失性存储空间,用

作数据记录和程序存储。实现这部分接口的MIO

属于PS端的bank501,由3.3V电压供电。

2.7 异步串口设计

PS通过MIO[18:19]实现1路UART接口。UART接口通过外接MAXIM公司的串口电平转换

芯片MAX3232实现RS232异步串口。异步串口用于

与PC机的通信,实现调试信息的输入与输出。

2.8 网口电路设计

PS内部集成有3个千兆以太网控制器,本设

计应用GEM3。处理器通过MIO[64:77]实现1路MAC

接口,连接Marvell公司生产的88E1512千兆网PHY芯

片,引出1路千兆以太网口。实现这部分接口的MIO属

于PS端的bank502,由1.8V电压供电。

3 处理器硬件平台配置

XCZU9EG处理器的底层硬件架构具有可配置性,配

置内容主要包含时钟配置、MIO接口配置、DDR接口配

置等方面。配置过程使用Xilinx公司提供的Vivado

2017.2软件,通过图形化界面对底层硬件进行配置,实现28 Microcontrollers&EmbeddedSystems 2019年第1期www.mesnet.com.cn 差异化的硬件架构设计[3]。

3.1 时钟配置

PS的系统参考时钟频率为33.333MHz。配置芯片

内部5个PLL,然后设置各时钟子系统的倍频与分频参

数,得到芯片内各控制器需要的时钟。最小系统片内时钟

子系统最终工作参数设置为:4个APU工作频率为1.2

GHz,2个RPU工作频率为500MHz,GPU工作频率为400MHz,QSPI接口控制器工作频率为125MHz,

UART控制器工作频率为100MHz,网络接口控制器工

作频率为125MHz,SDIO控制器工作频率为200MHz。

3.2 DDR4接口配置

DDR4硬件设计选用4片16位的DDR4芯片组成总

位宽为64位、总容量为4GB的内存。DDR4接口时钟配

置为1067MHz,行地址为15,列地址为10。bank地址位

配置为2。DDR4的接口配置如图3所示。

图3 DDR4的接口配置

3.3 MIO接口配置

XCZU9EG处理器的MIO是功能复用引脚,每一个

MIO引脚都支持多种备选接口,78个MIO引脚共分为3

个bank。根据最小系统硬件电路设计,bank500部分[MIO(0:25)]配置QSPI接口、UART接口,接口电平

配置为3.3V。bank501部分[MIO(26:51)]配置eMMC

接口,接口电平配置为3.3V。bank502部分[MIO

(52:77)]配置千兆以太网的MAC接口,接口电平配置为

1.8V。本设计中MIO的具体配置如表2所列。表2 MIO的配置引脚号功能引脚号功能MIO0QSPICLKMIO64EthTX_CLK

MIO1QSPID1MIO65EthTX_D0

MIO2QSPID2MIO66EthTX_D1

MIO3QSPID3MIO67EthTX_D2

MIO4QSPID0MIO68EthTX_D3

MIO5QSPICSMIO69EthTX_CTRL

MIO18UART0TXDMIO70EthRX_CLK

MIO19UART0RXDMIO71EthRX_D0

MIO46eMMCD0MIO72EthRX_D1

MIO47eMMCD1MIO73EthRX_D2

MIO48eMMCD2MIO74EthRX_D3

MIO49eMMCD3MIO75EthRX_CTRL

MIO50eMMCCMDMIO76EthMDC

MIO51eMMCCLKMIO77EthMDIO

4 ReWorks操作系统镜像生成与烧写

4.1 镜像文件的生成与烧写

ReWorks操作系统是中国电子科技集团第三十二研

究所推出的嵌入式操作系统,具备高实时性,支持多核处

理器、多任务管理。在本设计中,嵌入式操作系统在4个64位的CortexA53核上运行。采用开发平台Rede,将

操作系统配置成支持SMP模式、多任务优先级调度、文件

系统、网络协议栈,最终编译得到reworks.elf镜像文件。ReWorks操作系统的引导采用Xilinx公司SDK开发

平台编译生成fsbl.efl镜像文件。FSBL完成对MIO、

PLL、时钟、DDR4的初始化,并加载操作ReWorks镜像。

利用SDK的CreateBootImage工具将fsbl.efl和reworks.efl文件合并生成一个新的boot.bin的二进制文

件,再利用SDK的ProgramFPGA工具将boot.bin文件

烧写到XCZU9EG处理器外接的QSPIFlash中。

4.2 ReWorks操作系统的启动

XCZU9EG处理器加电后启动过程分为三个阶段[4]:

①Pre-configuration阶段,芯片执行PMUROM代码初始

化处理器;②Configuration阶段,芯片将FSBL(first-stage