Zynq-7000 SoC处理系统PS的构成

Zynq-7000 SoC处理系统PS的构成

  • 应用处理器单元 (APU) 应用处理单元
    • 高性能特性,兼容ARM处理器 即:
    • 存储器单元
      • DDR控制器
      • Quad-SPI控制器
      • 静态存储器控制器
      • I/O外设
      • 两个三模式以太网控制器
      • 两个USB控制器
      • 两个SD\SDIO控制器
      • 两个SPI控制器
      • 两个CAN控制器
      • 两个UART控制器
      • 两个IIC控制器
      • 总共54个PS一侧的MIO引脚

应用处理器单元 (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位宽度可选配置 2
    8, 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所配置的中断能力, 支持读取中断的状态 ; 支持在上升沿 \ 下降沿 \ 任意边沿 \ 高电平或低电平产生中断信号
  • 两个三模式以太网控制器

    在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模块的构成,对片上资源有大概的认知.

你可能感兴趣的:(FPGA-ZYNQ,嵌入式)