ZYNQ简介
Zynq™-7000系列基于Xilinx®可扩展处理平台(EPP)体系结构,这种体系结构可以方便地分别映射PL和PS中的自定义逻辑和软件。它能够实现独特的、差异化的系统功能。Zynq-7000 EPP的功能块框图如图所示:
ZYNQ处理器系统(PS)
1、应用处理器单元(APU)
- 系统级控制寄存器(SLCR)
- Snoop控制单元(SCU)以保持L1和L2的一致性
- 从PL(主)到PS(从)的加速器相干端口(ACP)
- 256kb带奇偶校验的片上SRAM
- DMA控制器
- 通用中断控制器(GIC)
- 看门狗定时器,三计数器/定时器
2、存储器接口
- DDR控制器【支持DDR3, DDR2, LPDDR-2】
- DDR控制器核心和事务调度程序【用于优化数据带宽和延迟】
- Quad‐SPI控制器
- 静态内存控制器(SMC)
3、I/O 设备
- GPIO【MIO-54(三态输出);EMIO-192(64输入;128输出)】
- 千兆位以太网控制器(两个)
- USB控制器(两个)
- SD/SDIO控制器(两个)
- SPI控制器(两个)
- CAN控制器(两个)
- UART控制器(两个)
- IIC控制器(两个)
ZYNQ可编程逻辑(PL)
- 可配置逻辑块(CLB)
- 36Kb块RAM
- 数字信号处理-DSP48E1片
- 时钟管理
- 可配置I/O
- 模数转换器(XADC)
- 低功耗千兆收发器(Z-7030和Z-7045设备)
- PCI Express设计的集成接口块(Z-7030和Z-7045设备)
ZYNQ内部互连
Zynq-7000 EPP设备采用多种互连技术,针对特定通信需求优化了功能块。
1、基于AXI高性能数据通道交换机的PS互连
- OCM内部互连
提供从中央互连与PL域访问256 KB内存的功能;CPU和ACP接口通过SCU访问OCM的延迟最低。 - 中央互连
中央互连是64位的,将IOP和DMA控制器连接到DDR内存控制器、片上RAM和用于PL逻辑的AXI-GP接口(通过它们的交换机);以太网中的本地DMA单元、USB和SD/SDIO控制器连接到中央互连;将PS中的主机连接到IOP。
2、PS域‐PL域接口
PS-PL接口包含PL设计器用于集成基于PL的函数和PS的所有可用信号。
PL和PS之间有两种类型的接口:(1)功能接口与包括AXI互连、大多数I/O外围设备的扩展MIO接口(EMIO)、中断、DMA流量控制、时钟和调试接口。这些信号可用于连接用户在PL中设计的IP块。(2)配置信号,包括处理器配置访问端口(PCAP)、配置状态、单事件异常(SEU)和程序/完成/初始化。这些信号连接到PL配置块内的固定逻辑,供PS控制。
AXI功能接口分类如下:
- AXI_ACP:
ARM 多核架构下定义的一种接口,中文翻译为加速器一致性端口,用来管理 DMA 之类的不带缓存的 AXI 外设;PS 端做 slave 接口;属于64 位高性能接口,理论带宽 1200MB/s。 - AXI_HP:
高性能/带宽的 AXI3.0 标准的接口,总共有四个,主要用于 PL 访问 PS 上的存储器(DDR 和 On-Chip RAM);PL 模块做master接口;属于64 位高性能接口,理论带宽 1200MB/s。 - AXI_GP:
通用的 AXI 接口,总共有四个,包括两个 32 位主设备接口和两个 32 位从设备接口;属于32 位的低性能接口,理论带宽600MB/s。
ZYNQ启动流程
系统重置后,自动按顺序初始化系统:
- BootROM:确定引导是安全的还是不安全的,执行系统的一些初始化和清理,读取模式管脚以确定主引导设备。
- 第一阶段引导加载程序(FSBL):主要初始化更多的外设(如DDR)、初始化PL部分和加载SSBL或裸机程序等。