ZYNQ学习(一)

摘要:主要是根据正点原子视频学习并记录,芯片暂时先跟着视频看一下Zynq-7000 SoC

1. SoC

 2. Zynq-7000 SoC

2.1 APU(Application Processor Unit)

两个ARM-CPU(双核)

FPU:用于浮点计算加速

NEON(单指令多数据功能)可以对大量并行算法进行加速,比如FFT

MMU:存储管理单元,实现物理地址到虚拟地址的映射

Cache:(i)指令Cache和(D)数据Cache,这两个结合相当于一级缓存

L2 Cache:二级Cache是两个处理器共用

OCM:片上存储器,interconnect(管理与其它接口的通信,主要是AXI)

Snoop Controller:移植性控制单元,CPU通过这个去访问二级缓存或OCM

DMA:直接存储访问,协助处理器去进行大量数据的搬移

GIC:中断控制器,帮助处理器去接收并管理外部中断

2.2 PS(Processing System)

Central Interconnect:中央互联,管理不同接口之间的通信

Programmable Logic to Memory Interconnect:管理与其他接口的通信,主要是AXI

I/O Peripherals:PS与外部相连的接口,通过MIO与外部连接(MIO对FPGA是不可见的),MIO是可以配置的,比如分配哪个序列号对应哪个接口;其中GPIO可以用来控制一些简单的外设(比如LED、按键);MIO对应着54个引脚,直接与外界交互。如果超过了54个引脚需要通过EMIO去进行扩展。

动态Memory Interfaces:DDR就是动态存储器接口

静态Memory Interfaces:SRAM、Flash就是静态存储器接口;动态和静态的区别就是数据需不需要进行刷新。比如bit代码文件需要存储在静态存储器里面。

Clock Generation:产生PS内部各个模块需要的时钟,最开始的主时钟肯定是由外部晶振提供的,主时钟经由时钟产生模块 产生各个模块所需要的时钟频率,有些I/O外设可能也需要时钟。

Reset:上电复位,案件复位,由看门狗产生的复位

2.3 PL与PS通信

EMIO:扩展MIO,可连接PL,对FPGA可见;EMIO可以通过PL的SelectOP Resources连接PS和PL;EMIO可以跟PL内部编写的模块进行交互

XADC:PL里面的硬核,数模转换

DMA Sync:可以实现PL到PS的直接存储访问

IRQ:PL里面的中断可以传到GIC中断控制器,处理器接受到中断后进行一些处理

Config AES/SHA:FPGA的配置接口,一般情况下PS先启动然后去配置PL,然后实现PL的启动,Zynq是以PS为核心的

2.3.1 PL里面的GP、HP、ACP接口

GP:general purpose interface,通用接口。当然这里面分了Master(主)接口和Slave(从)接口 

HP:high performance interface,高性能接口。高性能体现在数据量、数据传输速度。PL作为主机

ACP:控制SCU移植控制单元,实现PL到一二级缓存的访问。(ACP最主要的作用就是实现PL到PS的低时延的访问)(PL作为主机)

2.3.2 AXI接口

 AXI(高级可扩展接口)是AMBA总线(高级微控制器总线架构)的一部分

AXI-Memory-Map:存储映射,读写的时候需要有地址

AXI-Stream:读写大量数据,不用给地址

AXI-Lite:MemoryMap的简化版,Lite不支持突发传输(一次传很多比特数据),它可以用来做一些简单的寄存器的配置


参考文章:

UG585

支持关键字搜索(Xilinx文档搜索)

正点原子【第一期】手把手教你学ZYNQ系列视频/FPGA开发篇- 基于启明星V2平台_哔哩哔哩_bilibili

ZYNQ接口分析_u010879745的博客-CSDN博客_zynq 接口

ZYNQ入门(一)-AXI总线_今日你学左米啊-CSDN博客_zynq怎么读


版权声明:本文为Y__Yshans原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。