zynq 系列的亮点在于 fpga 里包含了完整的 arm 处理子系统(ps),每一颗 zynq 系列的处理器都包含了cortex-a9处理器,整个处理器的搭建都以处理器为中心, 而且处理器子系统中集成了内存控制器和大量的外设,使cortex-a9的核在zynq-7000中完全独立于可编程逻辑单元,也就是说如果暂时没有用到可编程逻辑单元部分(pl),arm处理器的子系统也可以独立工作,这与以前的fpga有本质区别,其是以处理器为中心的。zynq就是两大功能块,ps部分和pl部分,说白了,就是 arm 的 soc 部分和 fpga部分。其中,ps 集成了两个arm cortex-a9 处理器, amba互连,内部存储器,外部存储器接口和外设。这些外设主要包括usb总线接口,以太网接口,sd/sdio 接口,i2c总线接口,can总线接口,uart接口,gpio 等,下图是zynq芯片总体框图。
在zynq芯片内部用硬件实现了axi总线协议,包括9个物理接口,分别为axi-gp0axi-gp3,axi-hp0axi-hp3,axi-acp接口。
axi_acp接口:arm多核架构下定义的一种接口,中文翻译为加速器一致性端口,用来管理 dma之类的不带缓存的 axi 外设,ps 端是 slave 接口。
axi_hp接口:高性能/带宽的axi3.0标准的接口,总共有四个,pl模块作为主设备连接。主要用于 pl 访问 ps 上的存储器(ddr 和 on-chip ram)。
axi_gp 接口:通用的 axi 接口,总共有四个,包括两个 32 位主设备接口和两个 32 位从设备接口。
zynq 作为首款将高性能 arm cortex-a9 系列处理器与高性能 fpga 在单芯片内紧密结合的产品,为了实现 arm 处理器和 fpga 之间的高速通信和数据交互,发挥 arm 处理器和 fpga的性能优势,需要设计高效的片内高性能处理器与 fpga 之间的互联通路。因此,如何设计高效的 pl 和 ps数据交互通路是 zynq 芯片设计的重中之重,也是产品设计的成败关键之一。其实,在具体设计中我们往往不需要在连接这个地方做太多工作,我们加入 ip 核以后,系统会自动使用 axi 接口将我们的 ip 核与处理器连接起来,我们只需要再做一点补充就可以了。axi 就是 arm 公司提出的amba(advanced microcontroller bus architecture)的一个部分,是一种高性能、高带宽、低延迟的片内总线,也用来替代以前的 ahb 和 apb 总线。第一个版本的 axi(axi3)包含在 2003年发布的 amba3.0 中,axi的第二个版本 axi(axi4)包含在 2010 年发布的 amba 4.0 之中。
在 zynq 中,支持 axi-lite, axi4 和 axi-stream 三种总线:
axi4-lite:具有轻量级,结构简单的特点,适合小批量数据、简单控制场合。不支持批量传输,读写时一次只能读写一个字(32bit)。主要用于访问一些低速外设和外设的控制。
axi4:接口和 axi-lite 差不多,只是增加了一项功能就是批量传输,可以连续对一片地址进行一次性读写。也就是说具有数据读写的 burst 功能。
上面两种均采用内存映射控制方式,即 arm 将用户自定义 ip 编入某一地址进行访问,读写时就像在读写自己的片内ram,编程也很方便,开发难度较低。代价就是资源占用过多,需要额外的读地址线、写地址线、读数据线、写数据线、写应答线这些信号线。
axi4-stream:这是一种连续流接口,不需要地址线(很像fifo,一直读或一直写就行)。对于这类 ip,arm 不能通过上面的内存映射方式控制(fifo 根本没有地址的概念),必须有一个转换装置,例如 axi-dma 模块来实现内存映射到流式接口的转换。axi-stream 适用的场合有很多:视频流处理;通信协议转换;数字信号处理;无线通信等。其本质都是针对数值流构建的数据通路,从信源(例如 arm 内存、 dma、无线接收前端等)到信宿(例如 hdmi 显示器、高速 ad 音频输出,等)构建起连续的数据流。这种接口适合做实时信号处理。
在上图中可以看到ps与pl的交互还可以通过dma和emio,实际上dma是从hp口进行ps和pl的交互,当不想浪费axi总线的时候,可以通过emio进行ps和pl的交互。搞清楚mio,emio,gpio可以通过下面三个点灯操作有一个比较形象的理解(1)ps通过mio点亮ps端led(2)ps通过emio点亮pl端led(3)ps通过axi点亮pl端led。
GTC23 | NVIDIA Metropolis 生态壮大,先进开发工具加速视觉 AI 发展
Intel核心新机XOLO X900即将上市
ControlNet网络在自动监控系统中的原理应用
Littelfuse宣布推出1700V、1 Ohm碳化硅MOSFET
具电缆压降补偿功能的5V/2.1A USB电源电路图
Zynq系列FPGA的亮点
锅炉除尘脱硫PLC如何实现远程监控和节能减排
无线通讯模块的优势是什么
雅特力AT32F435/437xx GPIO使用指南
关于驾驶员辅助系统中的雷达设计
为什么采用4~20mA的电流来传输模拟量,答案都在这里
传小米平板3有两个版本 预计年终发布
马斯克宣布:宁德时代将成为特斯拉新合作伙伴
基于SoC芯片CC2531与CC2591的WSN节点通信模块设计
中国通信技术 美国政府无法抹掉
起亚Soul EV电池包全解剖
笔记本电池的种类和特性
ETC的使用情况乐观吗
LED灯杆屏具备那些应用特点
固态硬盘会不会影响整个电脑的运行速度