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