Zynq-7000 SoC处理系统PS的构成
应用处理器单元 (APU) 应用处理单元
高性能特性,兼容ARM处理器 即:
- 双核ARM Cortex-a9多核处理器 (ARM V7).
- 实时运行选项. 允许单个处理器,以及对称或非对称的多处理(SMP)配置.
- ARM V7 ISA. 标准的ARM指令和Thumb-2指令, 以及Jazelle RTC 和Jazelle DBX JAVA加速.
- 每个A9处理器核都有独立的NEON,可以实现128位SIMD协处理器和VFPV3.
- 每个A9处理器核包含带有校验的32KB L1指令高速缓存和32KB L1数据高速缓存
- 双核A9共享带有校验的512KB L2高速缓存
- 每个A9有私有定时器和看门狗定时器
- 系统级的控制寄存器 (SLCRs), 一组不同的控制器用来控制 PS 的行为
- 侦测控制单元 (SCU,Snoop Control Uint) 包含了L1 和L2一致性要求.
- 从PL (主设备) 到PS (从设备)的加速度一致性端口.
- 提供带有校验功能的256KB片上存储器OCM. 提供两个访问端口. Zynq-7000内的A9处理器\可编程逻辑\中央互联局可以访问OCM. 与PS内的L2 处于同一层次,但是没有提供缓存能力.
- PS内提供64位高级可扩展接口从接口, 提供了访问L2高速缓存和片上存储器OCM的能力,以及保证在数据交换时L1和L2高速缓存的数据一致性.
- DMA控制器. 其中四个通道用于PS ,实现存储器与系统内的任何存储器的数据交换 : 另外4各通道用于PL. 实现存储器到PL及PL到存储器之间的数据交换.
- 通用中断处理器 (General Interrput Controller, GIC). 他们有各自独立的中断屏蔽和中断优先级. 其中包括5个私有中断(PPI), 16个CPU软件中断( SGI) ,以及分配来自系统, PS和PL剩余部分的共享外设中断(SPI). (其中20个来自PL)
支持CPU发送带PL的等待中断(wait for interrput , WFI)和等待事件(wait for event,WFE) 信号,以及扩展的安全特性支持TrustZone技术.
存储器单元
针对不同存储器类型有:
-
DDR控制器
-
支持DDR3等类型存储,速度由DDR自身和环境决定
-
控制器提供16/32为数据宽度
-
支持16位ECC
-
使用最多73个专用PS引脚
-
模块 (不是DIMM) .
32位宽度可选配置 48, 216, 132位
16位宽度可选配置 28, 1*16 位 -
空闲周期可配置, 自动控制DDR功耗状态
-
数据读选通自动标定
-
写数据字节使能支持每拍数据
-
使用高优先级读 (High Pripority Read, HPR) 队列的低延迟读机制;
-
支持发给每个端口的特殊紧急信号.
-
在64MB边界上可编程TrustZone(安全区)区域
-
对于不同的ID,每个端口提供互斥的访问能力,但不支持锁定交易功能
-
Quad-SPI控制器
- 可以连接一个或者两个SPI设备
- 支持一位和两位数据宽度的读操作
- 用于I/O模块的100MHz的32位APB3.0接口, 允许包括编程 \ 读 \ 配置的全设备操作
- 100MHz 32位 AXI线性地址映射接口用于读操作.
- 支持单个芯片选择线
- 支持写保护信号
- 提供可用的4位双向IO信号线
- 支持读速度*1 / *2 / *4 ,写速度 *1 / *4
- 主模式最高SPI时钟频率100MHz
- 252字节入口深度, 提高Quad-SPI读效率
- 支持Quad-SPI器件的存储容量最高128Mb
- 支持双Quad-SPI器件,并列两个Quad-SPI
-
静态存储器控制器
SMC提供了NAND存储器和并行 SRAM / NOR存储器的读 / 写控制功能
NADA存储 : 闪存,不大于4G时性能表现优异
SRAM存储 : 常用于CPU的一/二级缓存. RAM的一种 (SRAM 和 DRAM)- 对于NADA存储器 : 8 / 16位数据宽度; 提供一个片选信号 ; 支持ONFI1.0规范 ; 16字读\写数据FIFO ; 提供8字命令FIFO ; 配置界面可修改IO周期时序 ; 提供ECC辅助功能 ; 支持异步存储器功能
- 并行SRAM / NOR : 8位数据宽度, 最多25位地址信号 ; 提供两个片选信号 ; 提供16个字读 / 写FIFO ; 提供8个字命令FIFO ; 用户可配置的可编程 IO时序 ; 支持异步存储器操作模式.
-
I/O外设
- 通用输入 \ 输出端口GPIO
- PS提供54个可用GPIO. 通过复用I\O模块MIO, 将信号链接到器件的外部引脚,通过软件程序控制 信号的三态使能功能.
- 扩展复用I\O模块EMIO. PS内的GPIO信号引入PL单元, 支持最多192个GPIO,64个输入,128个输出.
- 基于单个或者组, 对每个GPIO的功能进行动态编程, 即实现使能 \ 按位 \ 分组写数据, 输出使能, 方向控制.
根据每个GPIO所配置的中断能力, 支持读取中断的状态 ; 支持在上升沿 \ 下降沿 \ 任意边沿 \ 高电平或低电平产生中断信号
- 通用输入 \ 输出端口GPIO
-
两个三模式以太网控制器
在RGMI II 模式时, 使用MIO引脚和外部的PHY.
- 额外的接口使用PL内带有软核的PL SelectIO和外部PHY.
- 在SGMII模式时, 使用ZYNQ-7000 PL内集成的GTX收发器模块.
- 该控制器提供可以实现分散-聚集功能的DMA控制器
- 支持IEEE802.3和IEEE1588 V2.0协议.
- 支持唤醒功能
-
两个USB控制器
- 使用相同硬件的USB2.0 高速OTG (on-The-Go) 双重角色USB主机控制器或者USB设备控制器操作
- 只使用MIO引脚
- 内建DMA控制器
- 支持USB2.0高速设备
- 可作为USB2.0高速主机控制器, 它所提供的寄存器和数据结构遵循扩展主机控制器接口(Enhanced Host Controller Interface , EHCI)规范
- 支持USB收发器低引脚数接口 (USB Low Pin Interface, ULPI). ULPI支持8位.
- 要求使用外部PHY
- 支持最多12个 端点.
-
两个SD\SDIO控制器
- 可以作为 Zynq-7000基本的启动设备.
- 内建DMA控制器
- 该控制器只支持主模式
- 支持SD规范2.0
- 支持全速和低速设备
- 支持1位和4位数据接口
- 支持低速时钟范围 0~ 400KHz
- 支持高速接口. 全速时钟频率范围0~50MHz.最大吞吐量25MB/s.
- 支持存储器 , I\O和组合卡
- 支持电源控制模式
- 支持中断
- 1KB数据FIFO接口
-
两个SPI控制器
- 提供四个信号线, 包括MOSI, MISO,SCLK,SS
- 支持全双工模式 , 该模式支持同时接收和发送数据能力
- 主机模式:
- 手动 \ 自动开始数据传输
- 手动 \ 自动从设备选择SS模式
- 支持最多3个从设备选择线
- 允许使用外部3-8译码选择设备
- 软件可控制的发送延迟
- 从机模式
- 软件可配置开始检测模式
- 多主模式下, 如没有使能, 则驱动为三态 . 如果检测到多个主设备 . 则识别出一个错误条件.
- 通过MIO模块, 该控制器最高50MHz的外部SPI时钟.
- 通过EMIO到PL的SelectIO引脚时, 支持最高25MHz的时钟频率.
- 可选择所使用的主时钟
- 支持可编程的主波特率分频器
- 支持独立的128字节读FIFO和128字节的写FIFO, 每个FIFO为8个字节宽度.
- 软件程序可控制的FIFO门槛
- 支持可编程的时钟相位和极性.
- 作为驱动中断的设备, 软件能轮训状态和功能
- 可编程产生中断
-
两个CAN控制器
- 遵循 ISO11898-1, CAN2.0A和CAN2.0B标准
- 支持标准(11位标识符) 和扩展 (29位标识符)帧
- 支持最高速度 1Mb/s
- 带有64个消息深度的发送消息深度FIFO
- 发送优先级贯穿一个高优先级发送缓冲区
- Tx FIFO和 RX FIFO支持水印中断 (FIFO状态寄存器的值等于写入FIFO CTL状态寄存器的值,触发水印中断)
- 在普通模式下,当错误或丢失仲裁时,自动重新发送
- 可保存64个消息的接收消息FIFO
- 提供最多4个接收滤波器,用于对接收消息进行过滤
- 支持带有自动唤醒的休眠模式
- 支持侦听模式
- 提供闭环模式,用于诊断应用
- 可屏蔽的错误和状态中断
- 用于接收消息的16位时间戳
- 可读的错误计数器
-
两个UART控制器
- 可编程的波特率发生器
- 提供最多64字节的接收和发送FIFO
- 可选择的6,7,8个数据位
- 可选择的1, 1.5 , 2个停止位
- 可选择的奇,偶,空格,标记,或没有奇偶
- 可选择的奇,偶,帧和溢出错误检测
- 自持换行符生成和检测
- 支持自动呼应, 本地环路, 远程环路通道模式
- 支持产生中断
- 支持通过MIO和EMIO模块提供Rx和Tx信号
- 通过EMIO接口模块, 可以提供 CTS , RTS, DSR, DTR, RI,DCD等调制解调器控制信号
-
两个IIC控制器
- 支持16字节的FIFO
- 支持IIC总线规范V2
- 可程序控制的普通 \ 快速总线数据率
- 支持主设备模式. 在该模式下, 支持写传输,读传输 , 地址扩展, 以及用于慢速处理器服务的HOLD
- 支持从设备监控器模式
- 支持从设备模式. 在该模式下, 支持从设备发送器和从设备接收器 , 支持地址扩展, 支持软件可编程的从设备响应地址
- 支持HOLD, 防止溢出条件
- 支持TO中断标志, 避免停止条件
- 作为中断驱动设备时, 软件能够轮询状态或功能
- 可通过软件控制产生中断
-
总共54个PS一侧的MIO引脚
- 54个引脚 0~15为"0"组, 16个 ; 16~54为"1"组,38个
- 引脚可支持 LVTTL 3.3V、 LVCMOS 3.3V、 LVCMOS 2.5V、LVCMOS 1.8V或HSTL 1.8V标准。
本篇为"ZYNQ嵌入式系统"和"UG585"两篇资料PS模块的认知,只要明确PS模块的构成,对片上资源有大概的认知.