
H3_7100_SDK基础入门方案
文章平均质量分 95
米联客(milianke)
硬件设计-测试-LINUX驱动
展开
-
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-26PL 自定义 AXI-Lite-频率计
本课节设计一个带AXI4-Lite总线的IP,来完成频率计的实验。频率计虽然小,五脏俱全,涉及到ZYNQ多方面应用,比如:1:PL部分逻辑设计2:自定义AXI4-Lite的IP的建立3:通过AXI4-Lite总线实现PS与PL间的数据传递4:PS控制输入输出外设实验目的:1:掌握等精度频率计工作原理2:通过AXI-LITE-SLAVE寄存器访问,读取频率值3:通过VITIS-SDK读取AXI-LITE-SLAVE寄存器获取频率值原创 2024-09-28 13:39:04 · 1238 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-25PL 自定义 AXI-Lite-PWM
本课就以AXI-Lite总线实现PWM(Pulse Width Modulation,脉冲宽度调制)自定义IP作为验证AXI-Lite总线应用的方案,实现2路PWM,通过点亮LED观察效果,带领大家快速进入实战状态。本文实验目的:1:设计一个简单的PWM发生器,并且通过AXI-LITE-SLAVE寄存器实现频率调整、占空比调整2:通过VITIS-SDK实现对自定义IP中寄存器的读写访问原创 2024-09-28 13:37:42 · 614 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-24 PL自定义AXI-Lite-GPIO
1:通过前文的学习,把掌握的自定义AXI-LITE-SLAVE寄存器读写方法,用于引出扩展PL的IO2:通过VITIS-SDK实现对自定义IP中寄存器的读写访问,以此实现PL IO的控制。原创 2024-09-28 13:37:09 · 722 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-23PL 自定义 AXI-Lite 协议 IP
常用的AXI总线包括AXI4-Lite,AXI4-FULL和AXI4-Stream三种总线协议,需要注意的是PS与PL之间的接口(AXI-GP接口,AXI-HP接口以及AXI-ACP接口)只支持AXI-Lite和AXI-FULL后面默认AXI就是AXI-FULL)协议这两种总线协议。也就是说PL这边的AXI-Stream的接口是不能直接与PS对接的,需要经过AXI4或者AXI4-Lite的转换。比如后面将用到的VDMA IP ,它就实现了在PL内部AXI4到AXI-Stream的转换,VDMA利用的接口就原创 2024-09-28 13:35:58 · 806 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-22 PL AXI-CAN实验
ZYNQ的PS中包含了2个CAN接口,当我们需要更多CAN接口的时候,可以使用PL的AXI-CAN IP实现扩展。在做本文之前,建议读者先了解下CAN协议,前面“PS CAN总线实验”中,有详细描述,这里不再重复。本文的重点是对AXI-CAN IP的使用。实验目的:1:熟悉AXI-CAN控制的使用2:通过VIVADO搭建axi_can的SOC工程3:使用VITIS-SDK编写axi_can测试程序,实现类似PS-CAN测试程序功能原创 2024-09-28 13:35:22 · 1273 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-21PL AXI-SPI 实验
本文通过axi_quad_spi IP实现,本文不再详细介绍SPI协议本身,如果读者对SPI协议还有不清楚的,可以阅读前面的文章“11SPI环路通信测试”。本文实验目的:1:通过阅读pg153-axi-quad-spi.pdf熟悉axi-quad-spi控制器的硬件资源(配套工程的soc_prj/06_doc路径)2:通过VIVADO搭建axi-quad-spi的SOC工程3:使用VITIS-SDK编写axi-quad-spi测试程序,实现类似PS-SPI环路测试程序原创 2024-09-27 16:26:45 · 1312 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-20 PL UART-Lite实验
工业场合RS232/RS422/RS485这种低速接口往往大量实用,但是对于ARM一般只能支持2个PS串口,如果需要更多的串口扩展起来就比较困难了。但是对于SOC来说,通过AXI-UART就能非常方便扩展串口。理论上,只要FPGA的资源够用,可以扩展任意路串口。原创 2024-09-27 13:45:58 · 1129 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-19 PL AXI-IIC实验
1:通过阅读pg090-axi-iic.pdf熟悉AXI-IIC控制器的硬件资源(配套工程的soc_prj/06_doc路径)2:通过VIVADO搭建AXI-IIC的SOC工程,通过按键模拟输入、LED模拟输出3:使用VITIS-SDK编写AXI-IIC测试程序,并完成对EEPROM的读写操作原创 2024-09-27 13:41:13 · 1159 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-18 PL AXI-GPIO实验
我们在前面的文章中通过EMIO实现过扩展PS的IO,通过EMIO的方式实际上IO控制器还是用PS的。那么AXI-GPIO更多是使用FPGA资源实现的IO的扩展。并且很多应用中,我们会把AXI-GPIO的控制信号用于FPGA内部逻辑和PS之间的数据交互,比如通过AXI-GPIO输出复位信号,或者通过AXI-GPIO的输入中断,扩展出更多中断。在本文的demo中,我们将实现通过AXI-GPIO扩展2个IO实现LED驱动,以及2个IO实现按键输入,并且通过按键输入产生2个GPIO中断。原创 2024-09-27 13:39:47 · 1202 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-17 PL中断实验
PL到PS的中断是ARM和FPGA交互中非常重要的一项功能。PS的中断控制器及时响应PL的中断,以通知CPU及时处理。本文通过按键输入,模拟中断信号的参数,通过简单的实验掌握PL到PS中断使用。然后在后续很多demo中,我们都会遇到PL到PS中断使用。虽然本文只用到了PL中断,但是在本文的第二下节,我们会对ZYNQ的中断资源做一个简要介绍。原创 2024-09-27 13:37:23 · 945 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-16 PS 读写EMMC或者SD卡实验
ZYNQ具有2个独立的SD控制器。在SD模式下数据支持4bit方式通信。在Emmc模式数据支持4bit方式通信。SD控制器还可以通过EMIO映射到PL IO使用。控制器通过APU或者RPU以及AXI总线互联,控制内部还包括一个带FIFO的DMA控制器,以提高传输速度。本文的代码给出了SD卡读写程序和EMMC读写程序,其中SD卡支持raw无协议读写和FAT带文件系统读写,但是EMMC程序只支持raw读写。原创 2024-09-26 09:53:23 · 621 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-15PS CAN 总线实验
ZYNQ的PS中包含了2个CAN接口,兼容CAN 2.0A和CAN 2.0B,最高可支持1Mbps的波特率。CAN作为工业应用中的一个重要的总线标准,广泛应用于各行各业之中。本教程介绍了ZYNQ中PS端CAN接口的基本使用方法原创 2024-09-26 09:52:37 · 1096 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-14 PS SPI扩展GPIO实验
前文中我们掌握了 ZYNQ 的 SPI 控制器的使用,本文中通过动态驱动数码管进一步展示 SPI 控制器的使用。本文所用到的 74HC595 是一种常见的串并转换芯片,74HC595 支持级联,可以实现一个 SPI 接口扩展大量 IO。以下的示意图中,ZYNQ 需要提供 SPI 控制器的 MOSI 和 SCK 以及一个 LACH 信号,提供给 74HC595,通过 74HC595扩展了16 个 IO 动态驱动 4 位数码管。原创 2024-09-26 09:51:55 · 819 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-13PS SPI 环路测试实验
SPI总线接口简单,SPI的时钟可以到100M以上,SPI总线可以用于多种场合串行通信,比如存储器,温度传感器,压力传感器,模拟转换器,实时时钟,显示器以及任何支持串行模式的SD卡。一些ADC比如AD7606也可以用SPI接口实现通信。原创 2024-09-26 09:51:09 · 515 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-12 PS IIC-RTC实验
趁热打铁,我们刚刚在上一节课掌握了I2C利用ZYNQ I2C总线控制器读写EEPROM,本节课继续利用I2C总线控制器实现对RTC时钟芯片,DS1307的读写访问。有了前面的基础,这节课内容学习起来很轻松。本文实验目的:1:了解DS1307/1337的寄存器,以及通过I2C读写DS1307/1337的时序2:掌握vitis-sdk下对DS1307/1337的编程,设置时间和读取时间原创 2024-09-25 11:24:54 · 884 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-11 PS IIC-EEPROM实验
1:学习I2C总线协议2:熟悉ZYNQ I2C控制器的资源3:掌握vitis-sdk下中断和polled两种模式的使用4:掌握EEPROM的I2C访问时序5:掌握vitis-sdk下对EEPROM的存储空间读写原创 2024-09-25 11:24:12 · 1021 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-10PS UART 中断接收实验
1:熟悉UART串口通信协议,包括数据格式、波特率、起始位、停止位、奇偶校验位等2:熟悉ZYNQ的UART串口的功能单元以及寄存器功能3:使用vitis-sdk实现串口的中断接收,并且环路发出原创 2024-09-25 11:21:18 · 796 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-09 PS TTC定时器实验
ZYNQ有2个TTC定时器,每个TTC具有3个定时计数器,每个定时器都支持中断。TTC可以用于定时,也可以用于产生PWM。实验目的:1:了解ZYNQ TTC定时器的功能2:了解TTC定时器的寄存器3:使用SDK自带代码测试TTC定时器的定时中断、以及PWM输出。原创 2024-09-25 11:19:41 · 1021 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-08PS 私有看门狗定时器实验
看门狗是芯片内部的一个具有定时计数的功能模块,当启用看门狗功能后,系统软件必须定时“喂狗”,CPU程序跑飞异常后,就不能“喂狗”这样看门狗定时器就会产生超时,超时后一般会复位整个系统。本文实验介绍ZYNQ自带的私有看门狗定时器的使用:实验目的:1:了解私有看门狗定时器的概念2:了解私有看门狗定时器的功能寄存器3:使用SDK自带代码测试门狗定时器的定时器工作模式和门狗模式。原创 2024-09-25 11:17:47 · 1052 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-07 PS私有定时器实验
定时器资源是嵌入式系统中重要的定时资源,ZYNQ系统中的定时器资源包含了私有定时器,私有看门狗定时器、以及TTC定时器。本实验演示ZYNQ私有定时器的使用。实验目的:1:了解私有定时器的概念2:了解私有定时器的功能寄存器3:编写SDK测试代码完成定时器的中断定时使用。原创 2024-09-25 11:14:42 · 684 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-06 PS-MIO/EMIO中断实验
当正常的程序在运行的时候,中断资源可以打断正在运行的程序,让CPU进入中断函数进行一些事务的处理。使用中断处理可以实现多任务的实时处理,可以提高多任务处理的效率。本实验继续前面的实验完成PS GPIO-MIO/EMIO输入中断的实验,请在前一个实验的基础上完成本实验。本文实验目的:1:掌握理解中断输入的应用场合2:PS MIO的中断寄存器功能定义3:掌握vitis-SDK下MIO中断功能的使用原创 2024-09-24 19:55:34 · 1026 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-05 PS-MIO/EMIO实验
本课对ZYNQ芯片的PS GPIO进行介绍,通过点亮LED和读取按键输入值,演示PS端MIO/EMIO的使用方法。本文实验目的:1:熟悉ZYNQ SOC PS部分MIO/EMIO的内部结构、相关寄存器2:掌握ZYNQ IP核中如何分配MIO/EMIO3:掌握SDK 中如何使用MIO/EMIO原创 2024-09-24 19:55:10 · 707 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-04 PS-XADC实验
XILINX FPGA或者SOC集成了一个XADC模数转换控制器,XADC中包含了2个12bit 1MSPS采样率的ADC-A和ADC-B,这两个ADC通过MUX复用开关,可以访问片上温度、片上各个功能单元的电压、以及外部模拟输入信号。原创 2024-09-23 14:40:30 · 1227 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-03SOC 调试技巧入门
ZYNQ SOC的优势在于将软件和硬件结合开发。使用 ZYNQ 需要掌握软件和硬件开发的调试技巧,这样才能 同时分析软件及硬件的运行情况,便于分析解决问题。本课通过一个简单的实验讲解使用 VIVADO 和SDK进行联合调试。在这个实验中,添加了一个用户自定义的IP CORE,使用VIO CORE观察其数据,并通过ILA CORE观察 AXI 总线的通信时序,以及GPIO的输出。原创 2024-09-23 14:39:02 · 1113 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-02 程序固化入门(SDK 方式)
基于ZYNQ的启动方式包括了ZYNQ的加载流程、支持的加载模式、裸机启动、LINUX启动等。其中加载模式有常用的JTAG模式、QSPI模式、SD卡模式、NAND FLASH模式、QSPI+EMMC模式。如果需要详细了解其中的原理需要阅读大量资料和一些XILINX的FSBL代码以及LINUX启动部分的源码。原创 2024-09-23 14:38:18 · 1067 阅读 · 0 评论 -
[米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-01 Vitis Soc开发入门
1:掌握基于vitis-vivado创建SOC工程2:掌握基于图形化Block Design的设计方法3:掌握ZYNQ IP核的调用4:掌握ZYNQ IP核的参数配置方法5:掌握生成一个基于ZYNQ IP核的最小系统方法6:导出硬件参数xsa文件7:使用vitis-sdk创建sdk base工程8:使用vitis-sdk创建自带sdk helloworld APP工程10:使用vitis-sdk创建以太网测试程序原创 2024-09-23 14:36:11 · 824 阅读 · 0 评论