简介

最近开始接触一些比较高端的芯片,例如:MCIMX6Y2CVM08AB、FPGA、ZYNQ等最近几年很流行的芯片,后面由于一些需要我选择开始学习ZYNQ-7000系列的芯片。也拿到了一块开发板芯片是xc7z010也就是ZYNQ7010系列的芯片。

ZYNQ简介

芯片

ZYNQ7000是赛灵思公司开发的一块全新的全可编程片上系统,它将处理器的软件和可编程性与FPGA的硬件可编程性进行完美整合,以提供无语伦比的系统性能、灵活性与可扩展性。

结构图


从上到下看,可以发现ZYNQ其实可以分为四层结构。
1)第一部分Application Processing Unit(APU),这部分主要就是ARM的芯片以及一些简单的接口和存储器。
2)第二部分Processing System(PS),处理系统,这部分主要就是一些外设和控制器主要是为APU提供外设接口和缓存器。
3)第三部分AXI Interfaces,这部分主要就是通信关于PS端和PL端的通信接口。
4)第四部分Programmable Logic(PL),可编程逻辑这部分就是FPGA。

PS结构图

APU部分

双核的ARM Cortex-A9 CPU ,两片A9芯片
FPU浮点单元,用来进行浮点运算。
NEON用来实现单指令多数据引擎,用法FFT的计算。
MMU存储管理单元,实现物理地址到虚拟地址的映射。
I-Cache:指令Cache
D-Cache:数据Cache ,两者简称一级缓存
512 KB L2 Cache & Controller 二级缓存,注意二级缓存是两个处理器共用的,需要注意空间的分配和使用。
OCM :片上存储器(也有一个OCM的互联模块)
Snoop Controller :帮助CPU访问OCM和二级缓存
GIC:接收外部中断的

PS-Soc

SOC简介

SOC中文全称片上系统,与板上系统相比,SoC的解决方案成本更低,能在不同的系统单元之间实现更快更安全的数据传输,具有更高的整体系统速度、更低的功耗、更小的物理尺寸和更好的可靠性。

Central Interconnect:中央互联,控制开启和关闭(管理各个模块的通信)
Programmable Logic to Memory Interconnect:PL到存储器的互联(管理存PL访问存储器的通信)。
①:表示可以连接动态存储器(DDR)
②:表示可以连接静态存储器
动态存储器和静态存储器的区别在于是否需要刷新

PL和PS通信

PL和PS通信部分主要分为两大类
1)功能性接口,包括AXI交互,EMIO接口,中断,DMA控制、时钟和调式接口。
2)配置信号,包括处理器配置访问端口(PCAP),单个事件中断(SEU)和程序

EMIO

EMIO就是在PL端扩展引脚,这里是将PL端作为设备进行使用

XADC

集成的ADC接口可以直接访问PL的ADC硬核,这个ADC是PL端内部自带的主要用来测量第三层的温度变化,也可以用来测量外接的两端电压。
注:XADC测量外部电压时只支持0v~1V电源

DMA Sync

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

IRQ

PL产生中断PS响应中断

GP接口

通用接口

ACP接口

加速器移植接口,也是PL作为主机而PS作为从机

HP接口

高性能接口相对于GP而言,需要注意PL是主机而PS是从机。

通信

PS端到PL端的通信协议使用的是AXI总线协议,它是AMBA总线协议的一个分支总线协议。
高级微控制器总线架构,其包括
1)APB总线协议
2)AHB总线协议
3)AXI总线协议
4)ATB总线协议
注意:这里请不要纠结防止陷进去浪费时间后期的学习会解答你现在的疑问

总结

从整体框架可以看出,其实ZYNQ最出众的一点就是灵活的通信方式。PL端可以作为外设与PS端连接,PL端也可以独立采集数据并发送给PS端。后期可以发现PL端可以使用软件来实现一些外设的基本功能,例如串口通信、IIC通信等一些通信协议。当然我们最常用的就是将PL端作为外设使用,例如当PS端的IIC接口用完时,可以在PL端扩展几个IIC接口。

这里只需要知道几点就可以:
1)ZYNQ是ARM+FPGA集成的一块新的芯片
2)ZYNQ从架构上分为PS端和PL端
3)PS端和PL端的通信使用的是AXI总线协议
4)PS端的引脚功能不是固定的,需要通过映射才能开启对应的外设功能

ZYNQ PS部分简介相关推荐

  1. AXI总线技术简介——ZYNQ PS和PL的互联技术

    AXI总线技术简介--ZYNQ PS和PL的互联技术 1.AXI总线介绍 2.AXI协议通道介绍 3.ZYNQ芯片内部的AXI总线 4.常用AXI接口IP介绍 5. 多个AXI接口互联交互 1.AXI ...

  2. ZYNQ PS端输出不准确时钟供PL使用

    1.1 ZYNQ PS端输出不准确时钟供PL使用 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)ZYNQ PS端输出不准确时钟供PL使用: 5)结束语. 1.1.2 本 ...

  3. ZYNQ PS端输出无效时钟供PL使用

    1.1 ZYNQ PS端输出无效时钟供PL使用 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)ZYNQ PS端输出无效时钟供PL使用: 5)结束语. 1.1.2 本节引 ...

  4. linux zynq ps dma,Zynq PS侧DMA驱动

    Linux中,驱动必然会有驱动对应的设备类型.在linux4.4版本中,其设备是以设备树的形式展现的. PS端设备树的devicetree表示如下 324 dmac_s: dmac@f8003000 ...

  5. ZYNQ PS端模块读书笔记-中断

    作者:ShownSun 工作室:时沿科技 文章目录 ZYNQ PS端模块读书笔记-中断 0 引言 1 环境 1.1 私有.共享和软件中断 1.2 通用中断控制器 1.3 复位和时钟 1.4 模块框图 ...

  6. zynq PS侧DMA驱动

    linux中,驱动必然会有驱动对应的设备类型.在linux4.4版本中,其设备是以设备树的形式展现的. PS端设备树的devicetree表示如下 324 dmac_s: dmac@f8003000 ...

  7. ZYNQ PS端模块读书笔记-XADC

    作者:ShownSun 工作室:时沿科技 文章目录 ZYNQ PS端模块读书笔记-XADC 1 介绍 1.1 特色 1.2 系统视角 1.3 PS-XADC接口框图 1.4 编程指南 2 功能描述 2 ...

  8. Zynq PS DMA控制器应用笔记

    Zynq PS DMA应用笔记 Hello,Panda Zynq-7000系列器件PS端的DMA控制器采用ARM的IP核DMA-330(PL-330)实现.有关DMA控制器的硬件细节及相关指令集.编程 ...

  9. ZYNQ PS PL 数据交互 Bram

    文章目录 前言 一.ZYNQ数据交互方式 二.Create Block Design 1.创建硬件工程 2.封装的ip代码 3.使用vitis写ps端程序 输出效果 前言 关于zynq PS PL 数 ...

最新文章

  1. “CV_GRAY2BGR”: 未声明的标识符
  2. 部分知名公司的网址 合集
  3. 【时序数据处理】pandas某些列由于n个数据导致的,通过Series生成Dataframe
  4. tplink控制上网设备_上网总有人抢网速如何解决 上网卡慢解决方法【详解】
  5. nutz ajax ie8,版本升级
  6. [转]Oracle执行计划的相关概念
  7. java 工作 日期转换代码,判断是否是当天,然后日期转换
  8. window实用快捷键
  9. 基于tcp的网络程序_【CVPR 2020 Tutorial】基于神经网络的符号化视觉推理和程序合成(2)...
  10. WPF 微信 MVVM 【续】发送部分QQ表情
  11. excel 工作表保护密码破解代码
  12. 想要空号检测软件检测结果更加准确 那么注意选择
  13. apa引用要在文中吗_【019】写作格式 | APA 7th style 引用格式
  14. 绝对靠谱安全的论文免费安全查重检测重复率网站
  15. 鸿蒙系统u盘制作,WINDOWS系列 篇二:【保姆级】Windows 10安装版原版系统U盘制作及系统安装教程...
  16. 有些软件,听着听着就没了...
  17. 工作感想-软件测试工程师
  18. PHP+实验室安全系统 毕业设计-附源码191610
  19. 史上最全的javascript知识点总结,浅显易懂。
  20. 大数据时代的网络舆情(0710)

热门文章

  1. php linux重新写路由器,通过php脚本重启路由器
  2. 设计水杯,门锁的测试用例
  3. 推动企业上云实施经验总结
  4. 智能手机操作系统Android
  5. 阚俊青少机器人_长春中医药大学附属医院、中医学院阚俊明副书记一行调研我校中医学类学生培养工作...
  6. GBASE 8a MPP EXplain extended
  7. Oracle查看用户所在的表空间
  8. Scrapy爬虫框架管道文件pipelines数据图像存储
  9. 2023年全国最新二级建造师精选真题及答案27
  10. 巴比特CEO王雷:未来几年会迎来区块链企业上市小高潮,或将诞生万亿级企业...