电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
文章
花了2000大洋买了块开发板还是不会用,Zynq 的小白有多白?
分 享
扫描二维码分享
花了2000大洋买了块开发板还是不会用,Zynq 的小白有多白?
ARM
PS
李肖遥
关注
发布时间: 2020-08-07
丨
阅读: 3824
# ZYNQ的小白有多白? ## 什么是ZYNQ? ZYNQ是Xilinx公司推出的一款ARM+FPGA的Soc平台,围绕ZYNQ的开发几乎囊括了当下主流的嵌入式系统的开发方法和知识。 ![](https://cf02.ickimg.com/bbsimages/202008/773dffc20f26c02a9e6fe3199b3e3d53.png) 这张就是ZYNQ的结构图,ZYNQ是ARM+FPGA来的图中黄色部分就是FPGA,灰色部分是整合了外围设备的ARM。在ZYNQ上ARM部分叫做PS(Processing System)部分,FPGA叫做PL(Programable Logic)部分。 PS部分的核心是应用处理器单元APU(Application Processor Unit)**包括:** 两个Cortex A9 CPU+浮点运算协处理器+调试接口+Cache+在片存储器OCM+定时计数器等等等等,具体请查阅UG585第一章。然后前面所说的这些算是这个Soc的最核心,这个最核心还不是PS部分的全部因为它还需要整合相应的I/O设备才能算是Soc。 而这些都需要总线连接,在ZYNQ里主要使用的是AXI总线,在第一章里对于连接各部分的总线有详细说明: ![](https://cf02.ickimg.com/bbsimages/202008/e5da6680297619d046a5f2eece49b648.png) 各个不同部分的连接使用的总线都不尽相同,图中用了不同颜色区分。 **看完这张图你可以这样理解:** APU是整合一定计算资源的双核Cortex A9,主要通过AXI总线连接外围设备,而PL部分你可以看做是外围设备其中一个唯一不同于其他外围设备的就是PL的可变性很大(根据型号不一样020以下整合Artix7、030以上整合Kintex7)。 去掉PL部分PS部分可以完全当成ARM单片机使用,加上PL部分你可以在上面映射你自己的IP或者算法,但不管怎么样PL相对于PS而言就是一个挂载到AXI总线上的设备而已。 正是这种结构让实现某个逻辑功能的可能性在ZYNQ上多了很多。比如GPIO就有三种:MIO(PS部分的引脚引出),EMIO(PS的GPIO在PL引出),AXI GPIO(用PL的IP)。 先说第一种MIO,如果去掉PL部分把PS部分做成Xilinx出品的ARM芯片,那么这款芯片的可用I/O引脚数量是54个,除了这54个可用I/O引脚之外还应该有电源部分的引脚,DDR接口引脚和调试接口引脚…… PS部分整合的设备挺多的从两路千兆以太网到两路SPI(见上图)如果在Vivado中选择把这些设备都挂载上去MIO的54个引脚是不够的。 **如果你想把上图的设备都挂载上去怎么办?** 用EMIO也就是把这些设备的引脚引到PL部分的引脚去,但上图的设备中有两个例外——两路USB控制器不能用EMIO的方式只能指定MIO的引脚。 GPIO也属于上图的设备之一,ZYNQ PS部分的GPIO资源有192个,如果除了GPIO不挂载其他设备的话这192个GPIO(64路输入,128路输出)可以连接的引脚数量是54+64,具体情况查阅UG585第14章。 这54+64根引脚分为4个BANK,编号从0到3,其中MIO的54根引脚占据0(MIO[0:31])到1(MIO[32:53])号BANK,剩下的每32个引脚为一个BANK。 ## 学习ZYNQ需要什么基础知识? 也许你了解FPGA对于HDL设计非常熟悉但在ZYNQ平台上如何把自己的IP嵌入式到AXI总线上,如何使用SDK测试你的IP和接口需要学习; 也许你懂C语言对基于ARM的底层软件设计了如指掌,但你不清楚在ZYNQ平台上需要如何适应; 也许你熟悉Linux但需要知道ZYNQ平台上的嵌入式Linux开发是如何的; 也许你是什么都不知道的小白,面对铺天盖地的学习资料和难懂的英文完全不知道从哪里下手…… 但是,不管你是学渣还是学霸,不管是自身的兴趣还是现实的压力,你必须能够坚持下去,否则永远是小白。 ZYNQ作为嵌入式的Soc其开发者肯定是有一些基础知识要求的。在这里我给出我们将要开始的时候小白白到什么程度:电子信息相关专业的同学(计算机、通信、自动化、软件……);不是英文文盲,知道26个字母,会用百度翻译看英文资料;懂C语言,就算没动过手也需要懂语法能看懂代码;对于计算机和数字电路的相关术语能听懂,不懂的知道查百度…… ZYNQ是一个神奇的组合体也就意味着它有自己独特的知识体系,同时范围也涉及得相当广泛。 但你可能已经不是学生没有时间再从头学起,也可能是学生却需要多get一项技能来为自己增加就业的砝码。这个历程的分享能带你从一条有用的实践路径熟悉和了解ZYNQ,同时也为你今后的学习积累一些方法上的经验。 相对于这个体系内的知识来说,我的分享无法让你遍历到整个“蛛网”,但我会告诉你所经历的节点在“蛛网”上的位置。 ## 了解一下官网 首先你要收藏的网站就是https://www.xilinx.com/index.htm, 咱们学的东西是他家的,肯定你得收藏最权威的资料和帖子肯定是在这上面的。 ![](https://cf02.ickimg.com/bbsimages/202008/2997ac1203caf5a6d51eb810b5f5023b.png) 再看看下面 ![](https://cf02.ickimg.com/bbsimages/202008/8b8dc3ee87b7b2f2516722a0ab847c05.png) 我们几乎所有的资料、文档都可以在这里搜索下载。 ## 软件 接下来就是下载Vivado了,不过虽然免费下载但还是要注册的,就麻烦各位注册一下吧因为以后还是会在这里下东西的。如果你嫌慢那下面的网盘链接也许有用,但我这里只链接了2017.1以后你需要的其他东西还是需要在官网下载的。 ![](https://cf02.ickimg.com/bbsimages/202008/8fdabb055633df20aa1fc03e3f85da65.png) 安装就自己去吧。 接下来的安装路径选择要注意两点,第一空间要够,第二嘛如果你是从ISE一路玩上来的都知道只要Xilinx的IDE环境需要读写磁盘,就不支持中文路径,所有今后一定要注意别犯了这条,重要的事情说三遍:不能有中文路径,不能有中文路径,不能有中文路径! ## 指导文档 在我们开始动手做项目之前得聊聊DocNav,这相当于微软的MSDN很重要的。中文书大部分都是翻译里头的内容。 ![](https://cf02.ickimg.com/bbsimages/202008/e2268d7fa46b8775d30e59d4b7201250.png) 这张地图很重要,因为他告诉你XIlinx产品的基本开发流程每一个环节都有一系列文档与之对应,可以说你的学习过程就是适应DocNav信息组织结构的过程。 ![](https://cf02.ickimg.com/bbsimages/202008/e7ba92106037aaa95affb367230b5ea4.png) 在分类这栏里选上ZYNQ7000,然后右边的UG585(User Guide 585 ZYNQ可编程器件技术参考手册)可以说是上手ZYNQ的纲领性文件。下载在阅读器里打开以后是这样的: ![](https://cf02.ickimg.com/bbsimages/202008/4fd7e1a984d64a8ce86820ff8b138123.png) 这就是你以后的红宝书了,有事情先查查它吧!
原创作品,未经权利人授权禁止转载。详情见
转载须知
。
举报文章
点赞
(
0
)
李肖遥
关注
评论
(0)
登录后可评论,请
登录
或
注册
相关文章推荐
MK-米客方德推出工业级存储卡
Beetle ESP32 C3 蓝牙数据收发
Beetle ESP32 C3 wifi联网获取实时天气信息
开箱测评Beetle ESP32-C3 (RISC-V芯片)模块
正点原子数控电源DP100测评
DP100试用评测-----开箱+初体验
Beetle ESP32 C3环境搭建
【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812硬屏之二
X
你的打赏是对原创作者最大的认可
请选择打赏IC币的数量,一经提交无法退回 !
100IC币
500IC币
1000IC币
自定义
IC币
确定
X
提交成功 ! 谢谢您的支持
返回
我要举报该内容理由
×
广告及垃圾信息
抄袭或未经授权
其它举报理由
请输入您举报的理由(50字以内)
取消
提交