02 2017 档案

S02_CH16 等精度频率计实验
摘要:S02_CH16 等精度频率计实验 在了解了AXI总线之后,今天我们自己动手设计一个带AXI4-Lite总线的IP,来完成频率计的实验。 频率计虽然小,但是也算五脏俱全,涉及到zynq的方方面面,比如: A)PL部分逻辑设计 B)自定义AXI4-Lite的IP的建立 C)通过AXI4-Lite总线实现PS与PL间的数据传递 D)PS控制输入输出外设 16.1等精度频率计原理 16.1.1引 言 ... 阅读全文

posted @ 2017-02-27 16:24 米联客小号 阅读(1479) 评论(0) 推荐(0) 编辑

S02_CH15_ AXI_OLED 实验
摘要:S02_CH15_ AXI_OLED 实验 在上一个例子中,主要是以软件功能为主,采用了软件模拟SPI时序进行控制OLED。这样做的好处是灵活,但是牺牲了效率。本章采用的方式是让SPI驱动由Verilog实现,字库也是保存到了PL部分的BRAM中。这种方式是减轻了CPU负担,提高了CPU效率。缺点是没有上一章的方法灵活。 15.1 自定义IP的封装 Step1:新建一个名为Miz_sys空的工程。... 阅读全文

posted @ 2017-02-27 16:20 米联客小号 阅读(1083) 评论(0) 推荐(0) 编辑

S02_CH14_ EMIO_OLED 实验
摘要:S02_CH14_ EMIO_OLED 实验 本章将使用EMIO模拟OLED的时序来驱动OLED,本方案对米联系列Miz702,Miz702N和Miz701N全兼容。 14.1板载OLED硬件原理 Miz系列开发板板载OLED的型号是UG-2832HSWEG04(Miz701N为UG-2864HSWEG04),分辨率为128*32(Miz701N为128*64),接口类型为4线SPI,控制芯片为S... 阅读全文

posted @ 2017-02-27 16:17 米联客小号 阅读(1769) 评论(0) 推荐(0) 编辑

S02_CH13_ AXI_PWM 实验
摘要:S02_CH13_ AXI_PWM 实验 当学习了上一章的协议介绍内容后,开发基于这些协议的方案已经不是什么难事了,关键的一点就是从零到有的突破了。本章就以AXI-Lite总线实现8路LED自定义IP作为第一验证AXI-Lite总线应用的方案,带领大家快速进入实战状态。 13.1 自定义IP的封装 Step1:新建一个名为Miz_sys空的工程。 Step2:选择Tools Create and ... 阅读全文

posted @ 2017-02-27 16:10 米联客小号 阅读(2094) 评论(0) 推荐(2) 编辑

S02_CH12_ AXI_Lite 总线详解
摘要:S02_CH12_ AXI_Lite 总线详解 12.1前言 ZYNQ拥有ARM+FPGA这个神奇的架构,那么ARM和FPGA究竟是如何进行通信的呢?本章通过剖析AXI总线源码,来一探其中的秘密。 12.2 AXI总线与ZYNQ的关系 AXI(Advanced eXtensible Interface)本是由ARM公司提出的一种总线协议,Xilinx从6系列的FPGA开始对AXI总线提供支持,此时... 阅读全文

posted @ 2017-02-27 16:07 米联客小号 阅读(15592) 评论(2) 推荐(9) 编辑

【第二季】CH11_ ZYNQ软硬调试高级技巧
摘要:【第二季】CH11_ ZYNQ软硬调试高级技巧 软件和硬件的完美结合才是SOC的优势和长处,那么开发ZYNQ就需要掌握软件和硬件开发的调试技巧,这样才能同时分析软件或者硬件的运行情况,找到问题,最终解决。那么本章将通过一个简单的例子带大家使用vivado+SDK进行系统的调试。 11.1 方案框架 这个实验中,我们将在上一章工程的基础上添加一个名为MATH_IP的 Custom IP.并且添加Ma... 阅读全文

posted @ 2017-02-27 16:05 米联客小号 阅读(2194) 评论(0) 推荐(0) 编辑

S02_CH10_ User GPIO实验
摘要:S02_CH10_ User GPIO实验 在之前的第四章课程中,我们详细的讲解了如何在VIVADO软件下封装一个简单的流水灯程序。在ZYNQ开发过程中,有时候我们可能会需要与ARM硬核进行通信,在这种情况之下,可能就需要用到更高速的接口与ARM通信。本章就将讲解如何创建一个基于高速的AXI总线的IP。本章将带领大家创建一个带AXI总线接口的自定义GPIO模拟的流水灯实验。通过这种方法,我们可以在... 阅读全文

posted @ 2017-02-27 16:03 米联客小号 阅读(1150) 评论(0) 推荐(0) 编辑

S02_CH09_UART串口中断实验
摘要:S02_CH09_UART串口中断实验 本章的UART中断将在之前PL_PS中断和定时器中断上推导出来,因此本章有点难度,如果前两章还不是很熟悉的话,需要返回到前面两章把这两章的内容再次消化一下,再来学习本章的内容。本章的硬件工程可以直接使用定时器中断的硬件工程,因此此次试验就直接到SDK软件部分。 9.1 加载到SDK Step1:打开定时器中断的工程。 Step2:导出硬件。 Step3:新建... 阅读全文

posted @ 2017-02-27 16:01 米联客小号 阅读(3489) 评论(0) 推荐(1) 编辑

S02_CH08_ ZYNQ 定时器中断实验
摘要:S02_CH08_ ZYNQ 定时器中断实验 上一章实现了PS接受来自PL的中断,本章将在ZYNQ的纯PS里实现私有定时器中断。每隔一秒中断一次,在中断函数里计数加1,通过串口打印输出。 8.1中断原理 中断对于保证任务的实时性非常必要,在ZYNQ里集成了中断控制器GIC(Generic Interrupt Controller).GIC可以接受I/O外设中断IOP和PL中断,将这些中断发给CPU... 阅读全文

posted @ 2017-02-27 16:00 米联客小号 阅读(4130) 评论(0) 推荐(0) 编辑

S02_CH07_ ZYNQ PL中断请求
摘要:S02_CH07_ ZYNQ PL中断请求 7.1 ZYNQ 中断介绍 7.1.1 ZYNQ中断框图 可以看到本例子中PL到PS部分的中断经过ICD控制器分发器后同时进入CPU1 和CPU0。从下面的表格中可以看到中断向量的具体值。PL到PS部分一共有20个中断可以使用。其中4个是快速中断。剩余的16个是本章中涉及了,可以任意定义。如下表所示。 7.1.2 ZYNQ CPU软件中断 (SGI... 阅读全文

posted @ 2017-02-27 15:15 米联客小号 阅读(5998) 评论(1) 推荐(0) 编辑

S02_CH06_XADC实验
摘要:S02_CH06_XADC实验 6.1实验概述 这次借助zynq的内嵌的XADC来采集zynq内部的一些参数: •VCCINT:内部PL核心电压 •VCCAUX:辅助PL电压 •VREFP:XADC正参考电压 •VREFN:XADC负参考电压 •VCCBram:PL BRAM电压 •VCCPInt:PS内部核心电压 •VCCPAux:PS辅助电压 •VCCDdr:DDR RAM的工作电压 6.2 ... 阅读全文

posted @ 2017-02-27 14:35 米联客小号 阅读(914) 评论(0) 推荐(0) 编辑

S02_CH05_UBOOT实验Enter a post title
摘要:S02_CH05_UBOOT实验 5.1什么是固化 我们前几章的程序都是通过JTAG先下载bit流文件,再下载elf文件,之后点击Run As来运行的程序。JTAG的方法是通过TCL脚本来初始化PS,然后用JTAG收发信息,可用于在线调试。但是这样只要一断电,程序就丢失了。还得全部重新来过。 本章介绍通过制作镜像文件,将镜像文件拷贝到SD卡,然后将拨码开关拨到SD启动,那么每次断电之后程序都会自动... 阅读全文

posted @ 2017-02-27 13:57 米联客小号 阅读(701) 评论(0) 推荐(0) 编辑

S02_CH04_User_IP实验Enter a post title
摘要:S02_CH04_User_IP实验 4.1 创建IP 在之前的教程中,我们通过MIO与EMIO来控制LED,所使用的也是官方的IP,实际当中,官方提供的IP不可能涵盖到方方面面,用户需要自己编写硬件描述语言,然后将其封装成IP来使用,本节就将详细的讲解如何在VIVADO中创建用户自定义的IP。 Step1:打开VIVADO软件,新建一个工程。 Step2:单击Add Source,选择Add o... 阅读全文

posted @ 2017-02-27 13:49 米联客小号 阅读(533) 评论(0) 推荐(0) 编辑

S02_CH03_EMIO实验Enter a post title
摘要:S02_CH03_EMIO实验 3.1 EMIO 和MIO的对比介绍 上次讲到MIO的使用,初步熟悉了EDK的使用,这次就来说说EMIO的使用。如你所见zynq的GPIO,分为两种,MIO(multiuse I/O)和EMIO(extendable multiuse I/O) ​ MIO分配在bank0和bank1直接与PS部分相连,EMIO分配在bank2和bank3和PL部分相连。除了bank... 阅读全文

posted @ 2017-02-27 13:46 米联客小号 阅读(692) 评论(0) 推荐(0) 编辑

S02_CH02_MIO实验Enter a post title
摘要:S02_CH02_MIO实验 2.1 GPIO简介 Zynq7000系列芯片有54个MIO(multiuse I/O),它们分配在 GPIO 的Bank0 和Bank1隶属于PS部分,这些IO与PS直接相连。不需要添加引脚约束,MIO信号对PL部分是透明的,不可见。所以对MIO的操作可以看作是纯PS的操作。 GPIO的控制和状态寄存器基地址为:0xE000_A000,我们SDK下软件操作底层都是... 阅读全文

posted @ 2017-02-27 13:40 米联客小号 阅读(922) 评论(0) 推荐(1) 编辑

S02_CH01_Hello World实验
摘要:S02_CH01_Hello World实验 ZYNQ是一款SOC芯片,在前面第一季的学习当中,我们只是粗略的学习了ZYNQ的PL部分,对于ZYNQ最突出的功能,其内部的双核Cortex-A9内核并未使用到。从本章开始,我们就将开始学习ZYNQ的SOC学习。 本章将带领大家搭建一个最小系统,在此基础上,对我们的板子上的一些硬件进行测试,通过本章,你将掌握如何创建一个SOC工程与SDK软件的基本使用... 阅读全文

posted @ 2017-02-27 13:28 米联客小号 阅读(1226) 评论(0) 推荐(0) 编辑

【第一季】CH09_FPGA多路分频器设计
摘要:【第一季】CH09_FPGA多路分频器设计 在第七节的学习中,笔者带大家通过一个入门必学的流水灯实验实现,快速掌握了VIVADO基于FPGA开发板的基本流程。考虑到很多初学者并没有掌握好Vivado 下FPGA的开发流程,本章开始笔者讲更加详细地介绍基于VIVADO FPGA开发的流程规范,让读者掌全面掌握FPGA开发流程包括了如何仿真、综合、执行、下载到开发板测试。 9.1 硬件图片 本章使用到... 阅读全文

posted @ 2017-02-09 19:43 米联客小号 阅读(1259) 评论(0) 推荐(0) 编辑

【第一季】CH08_FPGA_Button 按钮去抖动实验
摘要:【第一季】CH08_FPGA_Button 按钮去抖动实验 按键的消抖,是指按键在闭合或松开的瞬间伴随着一连串的抖动,这样的抖动将直接影响设计系统的稳定性,降低响应灵敏度。因此,必须对抖动进行处理,即消除抖动的影响。实际工程中,有很多消抖方案,如RS触发器消抖,电容充放电消抖,软件消抖。本章利用FPGA内部来设计消抖,即采取软件消抖。 按键的机械特性,决定着按键的抖动时间,一般抖动时间在5ms~1... 阅读全文

posted @ 2017-02-09 19:41 米联客小号 阅读(1448) 评论(0) 推荐(0) 编辑

【第一季】CH07_FPGA_RunLED创建VIVADO工程实验
摘要:【第一季】CH07_FPGA_RunLED创建VIVADO工程实验 7.1 硬件图片 先来熟悉一下开发板的硬件:LED部分及按钮部分 7.2 硬件原理图 PIN脚定义(讲解以MIZ702讲解,MIZ701N只有4个LED 2个按钮): GCLK:Y9(PL输入时钟) LD0:T22 LD1:T21 LD2:U22 LD3:U21 LD4:V22 LD5:W22 LD6:U19 LD7:... 阅读全文

posted @ 2017-02-09 19:38 米联客小号 阅读(1161) 评论(0) 推荐(0) 编辑

【第一季】CH06_FPGA设计Verilog基础(三)
摘要:【第一季】CH06_FPGA设计Verilog基础(三) 一个完整的设计,除了好的功能描述代码,对于程序的仿真验证是必不可少的。学会如何去验证自己所写的程序,即如何调试自己的程序是一件非常重要的事情。而RTL逻辑设计中,学会根据硬件逻辑来写测试程序,即Testbench是尤其重要的。Verilog测试平台是一个例化的待测(MUT)模块,重要的是给它施加激励并观测其输出。逻辑模块与其对应的测试平台共... 阅读全文

posted @ 2017-02-09 19:34 米联客小号 阅读(992) 评论(0) 推荐(0) 编辑

【第一季】CH05_FPGA设计Verilog基础(二)Enter a post title
摘要:【第一季】CH05_FPGA设计Verilog基础(二) 5.1状态机设计 状态机是许多数字系统的核心部件,是一类重要的时序逻辑电路。通常包括三个部分:一是下一个状态的逻辑电路,二是存储状态机当前状态的时序逻辑电路,三是输出组合逻辑电路。通常,状态机的状态数量有限,称为有限状态机(FSM)。由于状态机所有触发器的时钟由同一脉冲边沿触发,故也称之为同步状态机。 根据状态机的输出信号是否与电路的输入有... 阅读全文

posted @ 2017-02-09 19:32 米联客小号 阅读(551) 评论(0) 推荐(0) 编辑

【第一季】CH04_FPGA设计Verilog基础(一)Enter a post title
摘要:【第一季】CH04_FPGA设计Verilog基础(一) 4.1 Verilog HDL 代码规范 u 项目构架设计 项目的构架用于团队的沟通,以及项目设计的全局把控 u 接口时序设计规范 模块和模块之间的通过模块的接口实现关联,因此规范的时序设计,对于程序设计的过程,以及程序的维护,团队之间的沟通都是非常必要的。 u 命名规则 1、顶层文件 对象+功能+top 比如:video_oneli... 阅读全文

posted @ 2017-02-09 19:30 米联客小号 阅读(1599) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示