ZYNQ中PS与PL的含义:深入理解Processing System与Programmable Logic的定义

在刚学习ZYNQ的过程中,看到学习文档上有下面这样一句话:

GPIO可以通过 MIO连接到 PS端的引脚,也可以通过 EMIO连接到 PL。本章将介绍如何使用GPIO外设通过 MIO控制 PS端的 LED。

上面这句话中提到了PS、PL、MIO、EMIO,在后续的学习中还会看到APU、TTC、WDT、SWDT、SCU。相信很多人都会一脸懵逼,这都是个啥?

下面给大家详细介绍一下这几个缩写:

PS:(Processing System),ZYNQ可以大概分为ARM和FPGA两部分,PS就是ARM的SOC部分,是整块板子的处理系统。

PL:(Progarmmable Logic),意为可编程逻辑,也就是ZYNQ上的FPGA部分。

MIO:(Multiuse I/O),多功能IO引脚,如果学过单片机可以把它理解为引脚复用,属于PS部分,也就是ARM部分。值得一提的是,MIO 信号对 PL部分是不可见的,所以对 MIO 的操作可以看作是纯 PS 的操作。

EMIO:(Extendable Multiuse I/O),可拓展多功能IO引脚,依然属于PS部分,但是连接到了PL上,再从PL的引脚连到芯片外面实现数据输入输出。如果MIO不够用的话, PS 可以通过驱动 EMIO 控制 PL 部分的引脚 。EMIO 有 64 个引脚可供我们使用。

APU:(Application Processor Unit),应用处理器单元,曾经AMD公司用它来特指加速处理器(Accelerated Processing Units),但是在ZYNQ上的意思就截然不同,注意区分。APU包含了双ARM-CortexA9核,加上高速缓冲,DMA,定时器,中断控制,浮点和NEON协处理,可以类比51单片机中的MCU,Cortex-M系列的STM32上的MPU来理解。

但是APU这个称呼还是有说法的,没有了M就说明意图摆脱微处理器Micro的名头,换上Application就不简单了,说明在上面可以跑应用程序, 暗示着这个系统是需要全尺寸的操作系统的。

TTC:(Triple Time Counter),直译就是三倍时间计数器,其实是这个计数器内有3个独立通道,可以独立计数。挂在APB上,为系统或外设提供定时或计数服务的。

WDT:看门狗定时器,有两个, 分别监视ARM-Cortex A9用的。  如果软件跑飞,无法清定时器,一段时间后,看门狗就复位。一般没什么用,学STM32时就觉得这功能还挺厉害,能一直监视程序有没有跑飞,后来发现跑飞的几率太小了,现在的板子稳定性都很好,以至于我现在都没见到过看门狗起作用,不过也算是个风险保障。

SWDT:系统级看门狗定时器, 这个看门狗的时钟和复位信号,都可以来自于芯片外部, 这样,即使系统有严重故障,比如时钟频率本身都有问题了,仍然可以通过与系统无关的外部信号计数,计数满就复位。

SCU:(Snoop Control Unit),用来保持双核之间的数据Cache的一致性,两个ARM-Cortex A9,如果一个写存储时只写进缓存,没写进主存,如果第二个A9读操作,涉及到第一个写脏了的数据段, SCU要保证第二个A9的缓存里是最新的数据。 SCU的存在,才使得两个核成互相联系的“双核”,才能成为MPsoc。

物联沃分享整理
物联沃-IOTWORD物联网 » ZYNQ中PS与PL的含义:深入理解Processing System与Programmable Logic的定义

发表评论