跳转到主要内容

Zynq-7000

Xilinx ZYNQ 7000+Vivado2015.2系列(一)——流水灯(纯PL)

judy /

<font color="#FF8000">作者: ChuanjieZhu</font>

<strong>前言:</strong>

学习Xilinx的ZYNQ 7000系列,用的板子是zc702(注意不是zedboard),SOC型号是xc7z020。虽然设计思路一样,但不同的套件引脚和io标准是有区别的,zc702评估板的的外观图如下,可以对照下自己的板子:
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/blog/201809/13405-39469-…; alt="" width="670"></center>

Zynq-7000 rgb2ycbcr IP的创建与使用

judy /

<font color="#FF8000">作者:OpenSLee</font>

<strong>1 背景知识</strong>

IP(Intellectual Property)在嵌入式FPGA设计中,指的是某些设计好的模块,分为软件模块和硬件模块。这些模块,一般都是已经测试好,所有功能完善的,由一些用户自己设计的。有些模块是免费的,也有收费的模块。所有用户都可以将这些IP核(IP Core)导入到自己的工程中,同样,所有用户也都可以定制自己的IP核。

将一些在数字电路中常用但比较复杂的功能块,如FIR滤波器,SDRAM控制器,PCI接口等等设计成可修改参数的模块,让其他用户可以直接调用这些模块,这样就大大减轻了工程师的负担,避免重复劳动。随着CPLD/FPGA的规模越来越大,设计越来越复杂,使用IP核是一个发展趋势。理想地,一个知识产权核应该是完全易操作的--也就是说,易于插入任何一个卖主的技术或者设计方法。通用异步接发报机(UARTs)、中央处理器(CPUs)、以太网控制器和PCI接口(周边元件扩展接口)等都是知识产权核的具体例子。

Zynq-7000 PL端HDMI的显示控制

judy /

<font color="#FF8000">作者:OpenSLee</font>

<strong>1 背景知识</strong>

HDMI(High Definition Multimedia Interface)是高清晰多媒体接口线的缩写,能高品质地传输未经压缩的高清视频和多声道音频数据,最高数据传输速度为5Gbps。同时无需在信号传送前进行数/模或者模/数转换,可以保证最高质量的影音信号传送。

利用 SoM 实现嵌入式微处理器/FPGA 组合设计和项目的快速运行

judy /

<font color="#FF8000">作者:Steve Leibson</font>

很多嵌入式设计使用基于微处理器和微控制器的单板计算机 (SBC) 和系统级模块 (SoM)(例如,请参阅“使用 Raspberry Pi 3 构建低成本工业控制器”)。但是,更多嵌入式应用无法忍受与软件相关的响应时间所带来的延迟。

这些应用需要只有定制硬件方可实现的额外性能,而开发定制硬件的最快捷方法就是使用 FPGA。

本文将讨论使用 SoM 来开发嵌入式系统的优势,这些系统需要借由 FPGA 提供更高的处理能力。本文还将介绍各种不同的 FPGA SoM,并讨论它们在嵌入式设计开发中的使用。

<strong>FPGA 系统级模块的角色</strong>
系统级模块 (SoM) 可以帮助设计人员开发带有定制接口的特定外形尺寸的嵌入式系统,而无需从头开始开发内核处理系统。设计人员可将预先设计且经过测试的 SoM 插入到预先设计或定制的载卡中,以创建嵌入式设计,其功能与完全定制的设计相同,但硬件开发所需的时间要少得多。

Zynq-7000 ARM端MIO的使用

judy /

<font color="#FF8000">作者:OpenSLee</font>

<strong>1. 背景知识</strong>

Xilinx Zynq-7000 芯片的PS端MIO(multiuse I/O)所在位置如下图红色框所示。MIO(0:15)在bank0上,MIO(16:53)在bank1上。他们不需要管脚约束,既可以当做PS 端普通的IO也可以用做PS端SPI、I2C、CAN等总线。
<center><img src="http://xilinx.eetrend.com/files-eetrend-xilinx/article/201808/13317-389…; width="670"></center>

本节将使用MIO的GPIO功能实现LED流水灯。

Zynq-7000 ARM端helloworld实验

judy /

<font color="#FF8000">作者:OpenSLee</font>

<strong>1. 背景知识</strong>

Helloworld 实验总是各种编程语言的开始第一课,这里我们将使用xilinx zynq-7000芯片ARM端完成串口打印”Helloworld”实验,旨在体验一下zynq-7000 的开发流程,为以后的zynq-7000的开发打下基础。

<strong>2. Zynq-7000 HelloWord</strong>

本人使用的zynq-7000芯片为xc7z010clg400。

Vivado的工程创建我们在这里就不在详述。

1) Create Block Design

Zynq-7000 Uboot如何编译

judy /

很多人拿到uboot,编译不知如何下手!
其实,这个世界上的万事万物,都有一个“纹理”。庖丁解牛之所以游刃有余,是因为他掌握了牛的纹理,顺着这些纹理就应该很容易。
那么我们的uboot的纹理在哪里呢?

很多初学者,拿到这种代码从来没有去看过它的README或者document!这两个文本文件是非常重要的东西,可惜呀!很多人不去看readme而去请教别人,google,baidu,跑图书馆。其实,有些东西当你问到别人的时候,聪明的人也是去看README然后给你解答的。

下面我们就去找uboot的纹理! 本文u-boot版本为Z-Turn板上带的U-Boot。

Xilinx Zynq 7000 FSBL启动分析(二)

judy /

前言
在上一次分析中,分析到了
HandoffAddress = LoadBootImage();

在分析这个函数之前,在从0地址运行之前,在复位(上电复位)之后会从bootROM这个位置开始执行代码,在bootROM中,程序会将QSPI(如果是从qspi启动的话)的前nK的数据拷贝到OCM中,然后跳转到OCM中执行。把生成的BOOT.bin文件用二进制程序打开,根据数据手册可以分析一下前面的数据含义。