这是我第一次在公众号发布评测视频,之前也没做过视频,从录视频、剪辑、渲染真的是太麻烦了,PR咱也不会,用的是剪映,初次尝试,以开发板评测为主题,一共剪了两段,一个是模仿iPhone7 快闪107秒产品发布视频,40秒的视频周末剪了一上午。第二段是完整的开发板开箱评测视频,14分钟时长,我嫌太麻烦,中间几乎没有剪辑,如果觉得视频内容太长,可以看下后面的文字评测内容,要比视频介绍更详细。 初次录视频,大家多多支持。 视频1:开发板评测快闪 http://mpvideo.qpic.cn/0bc3xiaas
本篇文章与大家分享基于TMS320C6678开发板的ZYNQ Linux应用案例开发测试分享,内容包含有开发案例基础说明、Linux常用开发案例和Python开发案例,后续还将分享更多ZYNQ端、DSP端、DSP+ZYNQ端的通信开发测试案例等,欢迎大家多多关注。
本文主要介绍ZYNQ PS + PL异构多核案例的使用说明,适用开发环境:Windows 7/10 64bit、Xilinx Vivado 2017.4、Xilinx SDK 2017.4。其中测试板卡为TMS320C6678开发板,文章内容包含多个特色案例,如axi_gpio_led_demo案例、axi_timer_pwm_demo案例、axi_uart_demo案例、emio_gpio_led_demo案例、mig_dma案例等,由于篇幅过长,文章分为上下6个小节展示,欢迎大家按照顺序进行文章内容查看。
在上一篇中提到,Pynq是为了降低开发人员的门槛,但是作为一个学习嵌入式开发的学生,当然要一步一个脚印打好基础,所以选择从Zynq入手学习,等跑起来Linux系统再运用Python开发也不迟,知其然也知其所以然,开发效率更高,所以接下来的几篇都是关于Zynq的,如果想直接玩Pynq可直接跳过,毫无影响。
部分硬件设计中需要CPU完成对电路寄存器的配置,为了完成Zedboard对FPGA上部分寄存器的配置功能,可以在PS单元(处理器系统)上运行裸机程序(无操作系统支持)完成和PL单元(FPGA部分)的数据交互功能,此时PS单元更像单片机开发;另一种方法是PS单元运行Linux操作系统,通过驱动程序和应用程序完成对硬件寄存器的读写操作,并且Linux有着完整的网络协议栈支持,后续可拓展性更强,可以更好的发挥ZYNQ这种异构架构芯片的性能。主要分为两部分,分别阐述Zedboard中FPGA和处理器互联总线与硬件设计和Zedboard处理器系统上嵌入式Linux的移植与通过驱动和应用程序简单配置FPGA寄存器的实现。上次介绍了没有操作系统下的驱动和应用程序开发,本文介绍带操作系统的驱动和应用程序开发。
今天给大侠带来FPGA Xilinx Zynq 系列第十八篇,本篇是第一部分 PART A的最后一篇,下一篇将开启PART B,Zynq SoC & 硬件设计。本篇内容目录简介如下:
分享产品试用报告,测试板卡是基于Xilinx Zynq-7000系列XC7Z010/XC7Z020高性能低功耗处理器设计的异构多核SoC工业级核心板。
本系列为FPGA系统性学习学员学习笔记整理分享,如有学习或者购买开发板意向,可加交流群联系群主。
本博客着眼于驱动 GPIO 连接的 LED(PS 端)。虽然使 LED 闪烁是一项非常简单的任务,但通过驱动使 LED 闪烁所需的步骤,我们可以进一步探索 Zynq SoC 的其他方面,例如其定时器和中断。我将在以后的博客中讨论这些主题。Zynq SoC 具有多个通用 I/O 引脚,它们组合起来创建一个 10 位宽的通用 I/O 端口,如下所示。此 GPIO 组以混合电压分布在两个 MIO 组中。在本例中,我们的 LED 将连接到 MIO 47。
这款 MPSoCs 开发平台采用核心板加扩展板的模式,方便用户对核心板的二次开发利用。核心板使用 XILINX Zynq UltraScale+ CG 芯片 ZU3CG 的解决方案,它采用 ProcessingSystem(PS)+Programmable Logic(PL)技术将双核ARM Cortex-A53 和FPGA 可编程逡辑集成在一颗芯片上。另外核心板上 PS 端带有 4 片共 2GB 高速 DDR4 SDRAM 芯片,1 片 8GB的 eMMC 存储芯片和 2 片共 512Mb 的 QSPI FLASH 芯片;核心板上 PL 端带有 1 片 512MB的 DDR4 SDRAM 芯片 。
Xilinx Zynq-7000 芯片的PS端MIO(multiuse I/O)所在位置如下图红色框所示。MIO(0:15)在bank0上,MIO(16:53)在bank1上。他们不需要管脚约束,既可以当做PS 端普通的IO也可以用做PS端SPI、I2C、CAN等总线。
在 Vivado 中自定义 AXI4-Lite 接口的 IP,实现一个简单的 LED 控制功能,并将其挂载到 AXI Interconnect 总线互联结构上,通过 ZYNQ 主机控制,后面对 Xilinx 提供的整个 AXI4-Lite 源码进行分析。
上一节中分别独立实验了Zynq的PS端和PL端,并初步实验了PS端先硬件再软件的开发流程和IP核设计的设计方法。第一节中提及到:Zynq是以PS端的ARM处理器系统为核心的,PS端和PL端是通过AXI总线,并且Xilinx已经提供了各种AXI通信的IP核,接下来的实验中将会更加明确的体验到利用IP核设计的设计方法。
本次案例用到的是创龙科技的TLZ7x-EasyEVM-S开发板,它是一款基于Xilinx Zynq-7000系列XC7Z010/XC7Z020高性能低功耗处理器设计的异构多核SoC评估板,处理器集成PS端双核ARM Cortex-A9 + PL端Artix-7架构28nm可编程逻辑资源,评估板由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
博主Joel Williams在他的主页中分享了一篇购买便宜的FPGA开发板的攻略,量子位编译本文。
Generate the Output Products就是vivado用IP的形式(.v)实现bd框图。
今天给大侠带来FPGA Xilinx Zynq 系列第三十篇,开启十七章,带来 IP 的创建 等相关内容,本篇内容目录简介如下:
今天给大侠带来FPGA Xilinx Zynq 系列第十六篇,开启第六章The ZedBoard,本篇内容目录简介如下:
我们在使用Vivado创建工程时,每次都需要选择相关的板卡器件,比较麻烦,这篇文章就教你怎么创建属于自己的板卡文件,在创建工程时就可以像官方板卡一样在板卡列表里选择。
实时性是一个嵌入式系统很重要的性能,实时性体现在一个系统对外部事件的响应能力和处理能力上,而CPU对一个事件的响应及处理主要依托于 —— 中断。 通俗的来说,中断的一个基本过程就是:当一个事件发生时(比如按键按下),产生一个可以发送到CPU的中断信号(上升沿或下降沿无所谓,是个信号就行),当CPU接收到这个中断信号后,对这个中断信号所表示的事件进行处理(跳转去执行中断服务程序,对按键按下这个事件进行处理)。 对这个基本过程抽象出来一个中断系统模型如图所示:
今天给大侠带来FPGA Xilinx Zynq 系列第二十四篇,开启十二章,讲述Zynq SoC 设计的下一步等相关内容,本篇内容目录简介如下:
今天给大侠带来 FPGA Xilinx Zynq 系列第三十三篇,开启二十章,本篇也是 Part B 最后一篇,带来探索 IP Integrator 等相关内容,本篇内容目录简介如下:
减少在产品开发过程中对DSP外设接口程序进行整合的难度,我们提供对DSP主要外设接口实现底层初始化的RTOS综合功能测试IFD(Integrated Function Demo)案例程序,助力有需要的朋友基于此IFD案例程序模板进行开发,加快项目研发进度。
本文的目的:在XCZU21DR环境下,PS给PL提供一个100MHz的时钟,PL端根据此时钟产生1S信号,点亮LED。
普通IO可以通过BUFG再连到PLL的时钟输入上,但要修改PLL的设置 input clk的选项中要选择"No Buffer";
这个架构实现了工业标准的AXI 接口,在芯片的两个部分之间实现了高带宽、低延迟的连接。
本节我们要做的是熟练使用 Vivado 创建工程并实现对 LED 灯控制,每秒钟控制开发板上的 LED 灯翻转一次,实现亮、灭、亮、灭的控制。会控制 LED 灯,其它外设也慢慢就会了。
Zynq SoC 监控自身电源电压和片上工作温度的能力是值得深讨的,我们可以在系统调试期间使用这种能力来验证初始电源电压和工作温度。然后,我们可以定期检查以确保这些参数在我们设计的整个测试和操作过程中保持在目标操作范围内。我们还可以在系统运行期间使用此功能作为一种预测,以确定 Zynq SoC 的环境是否存在导致故障的问题(例如,缓慢漂移的电源)。
今天给大侠带来FPGA Xilinx Zynq 系列第六篇,本篇内容目录简介如下:
今天给大侠带来FPGA Xilinx Zynq 系列第一篇,基于含有 ARM® Cortex®-A9 的 Xilinx® Zynq®-7000 全可编程片上系统的嵌入式处理器,本系列分享来源于《The Zynq Book》,Louise H. Crockett, Ross A. Elliot,Martin A. Enderwitz, Robert W. Stewart. L. H. Crockett, R. A. Elliot, M. A. Enderwitz and R. W. Stewart, The Zynq Book: Embedded Processing with the ARM Cortex-A9 on the Xilinx Zynq-7000 All Programmable SoC, First Edition, Strathclyde Academic Media, 2016。
PYNQ-Z2是一款FPGA开发板,它以ZYNQ XC7Z020 FPGA为核心,利用ZYNQ中的可编程逻辑和Arm处理器的优势可以构建强大的嵌入式系统,PYNQ的开源框架可以使嵌入式编程用户在无需设计可编程逻辑电路的情况下充分发挥Xilinx ZYNQ SoC的功能,使用Ethernet作为PC和board之间的通讯方式,这块开发板除支持传统ZYNQ开发方式外,还可支持Python进行SoC编程,并且代码可直接在PYNQ-Z2上进行开发和调试。可编程逻辑电路以硬件库的形式导入并且可以通过API编程,这种方式基本上与软件库的导入和编程方式相同。
今天给大侠带来FPGA设计中Zynq学习笔记,做硬件的第一个实例,一般当然是LED点灯啦,话不多说,上货。
不光是因为效果惊艳、音乐洗脑,更因为有很多方式都可以实现《Bad Apple!!》。
本期分享Zynq-7010/20工业开发板(双核ARM Cortex-A9+A7)的参数规格资料,其中包含软硬件、原理图、工业温度等均有。
这个应该是非常常见的ZYNQ的开发板了,所以就不多介绍了,其中第二个开发板是山寨的Zedboard,也是我入门时候用的,老板人很好,教程也不错,所以就把教程也一并发上来了:
虽然,中断很复杂,但是,值得庆幸的是,独立板支持包 (BSP) 包含许多功能,可以大大简化这项任务。将在以下头文件中找到这些函数:
Windows 开发环境: Windows 7 64bit 、Windows 10 64bit
https://www.xilinx.com/support/documentation/data_sheets/ds190-Zynq-7000-Overview.pdf
电子相册的实现就是通过按键来改变显示器的图片轮换。本节将通过ps端的按键来控制ARM选择不同的图片通过HDMI输出到显示屏。
在交叉编译python3之前需要在ubuntu主机上安装对应的x86版本,因为交叉编译时需要用到python解释器。ubuntu16.04下安装python3.10.5
1) PL侧的引脚需要1个AXI设备来控制,因此需要我们创建1个AXI IP,因为我们要通过PS来控制PL,所以这个AXI设备必须是AXI slave设备,与之对应,PS侧应包含1个AXI master接口,即是说我们首先要创建1个AXI slave IP。
本文主要介绍 HLS 案例的使用说明,适用开发环境: Windows 7/10 64bit、Xilinx Vivado
领取专属 10元无门槛券
手把手带您无忧上云