ZC706
- 名词解释
- EPP : Extensible Processing Platform(可扩展处理平台)
- OCM : on-chip memory(片上存储器 SRAM)
- MIO : 多路复用I/O
- EMIO : 扩展多路复用I/O
- GIC : 通用中断控制器(General interrupt controller)
- SGI :软件生成的中断(software generated interrupts)
- SPI : 共享的外围中断(shared peripheral interrupts)
- SMC : 静态存储器控制器(static Memory Controller)
- OTG : 是一种USB技术标准,允许USB设备在主机模式和设备模式之间进行切换。在传统的USB连接中,通常有一个主机设备(如计算机)和一个从设备(如键盘或鼠标)。但是,在某些情况下,设备需要在不使用主机的情况下进行直接通信,或者设备需要充当主机来控制其他设备。这就是USB OTG模式的用途。(on-the-go)
- ULPL : USB收发器低引脚接口(USB transceiver low pin interface)
- CLB : 可配置逻辑块(Configurable logic blocks)
- HP :高性能(high-performance)
- HR :高范围(high-range)
- AXI : 高级可扩展接口(Advanced Extended Interface)
- BSP : 主板支持包(board support packages)
- SLCRs : 系统级控制寄存器(System-Level Control Registers)
- SCU : Snoop 控制单元 (Snoop control unit)
- APU : 应用处理单元(Application Processor Unit)
- FCLK : 频率可编程时钟(frequency-programmable clock)
- IOP : I/O外设(I/O peripherals)
- GIC :通用中断控制器(Generic Interrupt Controller)
- PPIs : 私有外设中断(private peripheral interrupts)
- SGIs :软件生成的中断(Software generated interrupts)
- SPI:共享外设中断(shared peripheral interrupts)
- FIQ : 快速中断(fast interrupt)
- IRQ :中断(interrupt)
- 2
- AMBA
- 3.Zynq-7000 SoC
- I/O peripherals:I/O 外设
- zynq启动过程
- UART Controller
- DDR 内存控制器
- DMA
名词解释
EPP : Extensible Processing Platform(可扩展处理平台)
Zynq-7000系列基于Xilinx全可编程的可扩展处理平台结构,该结构在单芯片内集成了基于ARM公司双核ARM Cortex-A9多核处理器的处理系统(Processing System,PS)和基于Xilinx可编程逻辑资源的可编程逻辑(Programmable Logic ,PL)系统。
OCM : on-chip memory(片上存储器 SRAM)
MIO : 多路复用I/O
EMIO : 扩展多路复用I/O
GIC : 通用中断控制器(General interrupt controller)
SGI :软件生成的中断(software generated interrupts)
SPI : 共享的外围中断(shared peripheral interrupts)
SMC : 静态存储器控制器(static Memory Controller)
OTG : 是一种USB技术标准,允许USB设备在主机模式和设备模式之间进行切换。在传统的USB连接中,通常有一个主机设备(如计算机)和一个从设备(如键盘或鼠标)。但是,在某些情况下,设备需要在不使用主机的情况下进行直接通信,或者设备需要充当主机来控制其他设备。这就是USB OTG模式的用途。(on-the-go)
ULPL : USB收发器低引脚接口(USB transceiver low pin interface)
CLB : 可配置逻辑块(Configurable logic blocks)
HP :高性能(high-performance)
HR :高范围(high-range)
AXI : 高级可扩展接口(Advanced Extended Interface)
AXI协议主要描述主设备和从设备之间的数据传输方式
BSP : 主板支持包(board support packages)
SLCRs : 系统级控制寄存器(System-Level Control Registers)
SCU : Snoop 控制单元 (Snoop control unit)
功能:以保持L1和L2的一致性。
APU : 应用处理单元(Application Processor Unit)
包含ARM-CortexA9核,DMA,定时器,中断控制等,它是处理器核心部分。
FCLK : 频率可编程时钟(frequency-programmable clock)
IOP : I/O外设(I/O peripherals)
GIC :通用中断控制器(Generic Interrupt Controller)
通用中断控制器是一种集中的资源,用于管理从PS和PL发送到CPU的中断。该控制器对中断源进行启用、禁用、屏蔽和优先级排序,并在CPU接收下一个中断时,以可编程的方式将他们发送到选定的CPU。
PPIs : 私有外设中断(private peripheral interrupts)
私有外设中断包括全局定时器、私有看门狗定时器、私有定时器和来自PL的FIQ/IRQ。
SGIs :软件生成的中断(Software generated interrupts)
SGI是通过写入通用中断控制器(GIC)中的寄存器来生成的。
SPI:共享外设中断(shared peripheral interrupts)
共享外设中断从系统、PS和PL的剩余部分分配。
共享外设中断(SPIs)由PS和PL中的各种I/O和内存控制器生成。
FIQ : 快速中断(fast interrupt)
IRQ :中断(interrupt)
2
外设通过ARM AMBA总线与ARM处理器进行连接
AMBA
AMBA概述
AMBA是Advanced Microcontroller Bus Architecture(高级微控制器总线结构)的简称。
APB是高级外设总线的简称(Advanced Peripheral Bus)
AHB是AMBA高性能总线(AMBA High-performance Bus)
AXI是高级可扩展接口的简称(Advanced Extensible Interface)
3.Zynq-7000 SoC
Zynq SoC 概述(page28)
I/O peripherals:I/O 外设
PS I/O外设包括SD SDIO,I2C,UART,SPI,static/flash memory interfaces等共享MIO(multiplexed I/O)
PS I/O部分外设还可以通过扩展的多路I/O接口(EMIO)将引脚引到PL部分。
P50
zynq启动过程
zynq的启动过程分为多个部分,至少包括执行BootROM和第一阶段引导加载程序FSBL。zynq在上电后首先执行BootROM(位于on-chip ROM),在安全模式下,FSBL被写入OCM存储器(SRAM,ZYNQ片内RAM)。在BootROM被执行完后,执行FSBL代码,FSBL根据需要重新配置PS,并可选择配置PL,FSBL还会将第二阶段的引导加载程序加载到DDR内存中,在执行完fsbl后,系统控制移交到第二阶段引导加载程序。(相关内容page149)
UART Controller
介绍
UART控制器是一个全双工异步接收和发送器,支持广泛的可编程波特率和I/O信号格式。该控制器可以适应自动奇偶校验产生和多主检测模式。
UART操作由配置寄存器和模式寄存器控制,FIFO、调制解调器信号和其他控制器功能的状态是通过状态、中断状态和调制解调器状态寄存器读取的。
DDR 内存控制器
简介
DDR内存控制器支持DDR2,DDR3,DDR3L和LPDDR2器件,DDR内存控制器由三个主要模块组成:一个AXI内存端口接口(DDRI),一个带有事务调度程序(DDRC)的核心控制器和一个带有数字PHY(DDRP)的控制器。
DDRI块接口具有4个64位同步AXI接口,可同时服务多个AXI主接口。每个AXI接口都有自己专用的transcation FIFO。
DDRC包含2个32条目的内存可寻址存储器(CAMs),用于DDR数据服务调度,以最大限度地提高DDR内存效率。它还包含用于低延迟通道的fly-by通道,以允许访问DDR内存而无需通过CAM。
PHY处理来自控制器的读/写请求,并将其转换为目标DDR内存的时序约束内的特定信号。来自控制器的信号被PHY用来产生内部信号,并通过数字PHY连接到引脚。DDR引脚通过PCB信号走线直接连接到DDR器件。
系统通过DDRI通过其四个64为AXI内存端口访问DDR,其中一个AXI端口专用于CPU和ACP的L2缓存,两个端口专用于AXI_HP接口,第四个端口由AXI互联上的所有其他主设备共享。
DDR接口(DDRI)调度来自八个端口(四个读取和四个写入)的请求。仲裁器选择一个请求并将其传递给DDR控制器和事务调度器(DDRC)。仲裁是基于请求等待时间、请求的紧迫性以及请求是否在与前一个请求相同的页面内进行的组合。
DDRC通过单一接口从DDRI接收请求。读取和写入请求都通过该接口流动。读取请求包括一个标记字段,该字段与来自DDR的数据一起返回。DDR控制器PHY(DDRP)驱动DDR事务。
p310
DMA
概述
DMA控制器(DMAC)使用64位AXI主接口,以CPU_2x时钟速率运行,以执行DMA数据传输到系统存储器和PL外设或从系统存储器和PL外设传输。传输由DMA指令执行引擎控制。DMA引擎运行在一个小指令集上,该指令集提供了一种灵活的方法来指定DMA传输。这种方法提供了比DMA控制器方法更强大的灵活性。
DMA引擎的程序代码由软件写入系统内存的一个区域,该区域由控制器使用AXI主接口访问。DMA引擎指令集包括用于DMA传输的指令和用于控制系统的管理指令。
控制器可以配置多达8个DMA通道。每个通道对应DMA引擎处理器上运行的一个线程。当DMA线程执行加载或存储指令时,DMA引擎将内存请求推送到相关的读或写队列。DMA控制器使用这些队列缓冲AXI读/写事务。控制器包含一个多通道FIFO(MFIFO)来存储DMA传输期间的数据。在DMA引擎处理器上运行的程序代码将MFIFO视为包含一组用于DMA读写事务的可变深度并行FIFO。程序代码必须管理MFIFO,以使所有DMA FIFO的总深度不超过1024字节的MFIFO。
DMAC能够在没有处理器干预的情况下移动大量数据。源内存和目标内存可以位于系统中的任何位置(PS或PL)。DMAC的内存映射包括DDR、OCM、线性寻址QSPI读存储器、SMC存储器和PL外设或附加到M_GP_AXI接口的存储器。
PS存储器传输的流量控制方法使用AXI互联。访问PL外设可以使用AXI流控制或者DMAC的PL外设请求接口。对于PL外设AXI事务,运行在CPU上的软件在可编程IO方法中使用中断或状态轮询。
控制器有两组控制寄存器和状态寄存器,其中一组可在安全模式下可访问,另一组在非安全模式下可访问。软件通过控制器的32位APB从接口访问这些寄存器。整个控制器可在安全或非安全模式下操作;在通道的基础上没有混合模式,安全配置更改由slrc寄存器控制,需要控制器复位才能生效。
DMA指令执行引擎
DMAC包含一个指令处理块,使它能够处理控制DMA传输的程序代码。DMAC为每个线程维护一个单独的状态机。
DMA功能描述
DMA传输在AXI互连
所有的DMA事务都使用AXI接口在片上存储器、DDR存储器和PL中的从外设之间移动数据。PL中的从外设通常连接到DMAC外设请求接口来控制数据流。DMAC可以访问PS中的IOPs,但这