OV5640摄像头HDMI显示 在“OV5640摄像头LCD显示”实验中,我们采用以VDMA为中心的架构设计,实现了OV5640摄像头在LCD屏上的显示。本次实验进一步延伸,我们将OV5640摄像头采集的视频显示在带有HDMI接口的显示器上。 本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 有关HDMI的详细介绍,请参见“HDMI彩条显示”实验。 实验任务 本节实验任务是使用MPSOC开发板及双目OV5640摄像头(实际只用到了其中一路)实现图像采集,并通过带有HDMI接口的显示器实时显示。 硬件设计 开发板扩展接口原理图及OV564...
OV5640DP显示实验 在前面的例程中大家学习了DP的彩条显示和从SD卡中读取图片显示都是比较简单的例程。本节实验将在前面的基础上增加难度带领大家学习如何使用DP接口去显示OV5640摄像头采集到的视频流数据。本节实验还会用到自定义AXI4接口的IP核,所以在本节实验中还会给大家详细讲解AXI4协议相关的知识。 简介 实验任务 硬件设计 软件设计 下载验证 简介 AXI4接口总共有三种类型,它们分别是AXI4(AXI4-Full)、AXI4-Lite和AXI4-Stream,不同的接口类型适用于不同的应用场景,下面对这三个接口做简要说明。 AXI4-Full:最高性...
TFTLCD画板实验 现在几乎所有智能手机,包括平板电脑都是采用电容屏作为触摸屏,电容屏是利用人体感应进行触点检测控制,不需要直接接触或只需要轻微接触,通过检测感应电流来定位触摸坐标。在本章中,我们将向大家介绍MPSOC控制ALIENTKELCD电容触摸模块,实现触摸屏驱动,最终实现一个手写板的功能。 本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 目前最常用的触摸屏有两种:电阻式触摸屏与电容式触摸屏。下面,我们来分别介绍。 (一)电阻式触摸屏: 在Iphone面世之前,几乎清一色的都是使用电阻式触摸屏,电阻式触摸屏利用压力感应进行触点检测...
双目OV5640摄像头LCD显示实验 双目摄像头是在一个模组上集成了两个摄像头,实现了双通道的图像采集。双目摄像头一般应用于安防监控、立体视觉测距、三维重建等领域。本章我们将使用ZYNQMPSoC开发板实现对双目OV5640摄像头的图像采集并通过LCD屏幕实时显示。 本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 摄像头在日常生活中非常常见,一般分为单目摄像头、双目摄像头和多目摄像头。单目摄像头凭借着成本低和易用的特点,目前使用最为广泛;双目摄像头主要应用于单目摄像头无法胜任的场合,如三维坐标定位等;当然针对一些特殊的应用,目前市场上也出现了多...
基于lwip的echoserver实验 随着物联网的兴起,万物互联需要一个强大而又灵活的协议体系,TCP/IP协议得天独厚,而在嵌入式网络设备中,由于硬件资源的限制,需要特殊的实现方式。LWIP作为TCP/IP协议的一种轻量级实现方式,满足了这一要求。本章我们利用VITIS软件自带的lwIPEchoServer例程模板,初步了解lwip的使用。本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 TCP/IP协议简介TCP/IP协议中文名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的...
基于lwip的TCP服务器性能测试实验 上一章的lwipEchoServer实验让我们对lwip有一个基本的了解,而EchoServer是基于TCP协议的。TCP协议是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。本章我们将了解lwiptcp协议的使用并测试lwiptcp服务的性能。本章分为以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 TCP协议简介TCP(TransmissionControlProtocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在开放系统互连OSI参考模型中,它完成第四...
ATK-DLRV1126功能测试 本章将介绍如何测试ATK-DLRV1126开发板。这里说明了开发板的使用方法及测试方法。对开发有很大帮助。 3.1LED测试 正点原子ATK-DLRV1126开发板上有配备两个LED。它们在底板原理图对应硬件管脚的关系如下表。在出厂系统里,我们把LED0作为心跳灯,一般用于指示系统是否正常运行,LED1作为用户LED。 管脚名称 PI3_PD4 PF3_PD6 正点原子ATK-DLRV1126 GPIO3_PD4 GPIO3_PD6 测试: 在出厂文件系统里,我们可以通过如下指令来控制LED和蜂鸣器的状态。输入...
Ubuntu下安装QtCreator 1.1安装Qt 进入下载页面(注意如果找不到下载链接,我们就进行这个顶层目录一个个目录找,因为Qt下载链接会变动),选择Linux的安装包下载。使用迅雷下载再拷贝过去Ubuntu虚拟机或者直接复制链接地址到Ubuntu虚拟机下载。 如下图,复制链接下载地址到Ubuntu虚拟机终端下使用指令wget下载 赋予可执行权限,加上sudo权限进入安装,输入密码,这样会安装在/opt目录下。 chmod+xqt-opensource-linux-x64-5.12.2.run 请你先断网,可以在Ubuntu的右上角点击网络连接,先断开网络,如果不断...
交叉编译环境搭建 为了能够在Ubuntu下qtcreatorIDE上开发、编译ATK-DLRV1126平台(ARM32bit)Qt应用程序,我们需要对其进行相应的配置,包括qmake、ATK-DLRV1126交叉编译器等配置。 2.1安装交叉编译工具链 交叉编译工具链路径在我们ATK-DLRV1126光盘资料。这个交叉编译工具是由正点原子在RV1126的SDK使用Buildroot中打包生成。方便我们在不编译ATK-DLRV1126的SDK就能使用交叉编译工具。这也考虑到有某些开发者编译SDK有可能不通过,不想编译SDK就能方便的使用我们的交叉编译工具。 将atk-dlrv1126-...
第一章VMware虚拟机安装 Linux的开发需要在Linux系统下进行,这就要求我们的PC主机安装Linux系统,本书我们选择Ubuntu这个Linux发行版系统。本章讲解如何安装虚拟机,以及如何在虚拟机中安装Ubuntu系统,安装完成以后如何做简单的设置。如果已经对于虚拟机以及Ubuntu基础操作已经熟悉的话就可以跳过本章。 1.1安装虚拟机软件VMware 不是安装Ubuntu吗?怎么要先安装虚拟机呢?虚拟机是个啥?相信大部分第一次安装Ubuntu的人都会有这个疑问。我不能直接安装Ubuntu吗?能不能不要虚拟机呢?答案是肯定可以的!直接在电脑上安装Ubuntu以后你的电脑就...
第二章安装Ubuntu操作系统 2.1获取Ubuntu系统 前面虚拟机已经创建成功了,相当于硬件已经准备好了,接下来就是要在虚拟机中安装Ubuntu系统了,首先肯定是获取到Ubuntu的系统镜像,Ubuntu系统镜像肯定是在Ubuntu官网获取,下载地址为:https://www.ubuntu.com/download/desktop,如图2.1.1所示: 图2.1.1Ubuntu最新版系统下载 从图2.1.1中可以看出,最新的Ubuntu系统为22.04.1,此版本是官方长期支持的版本,笔者经过测试发现此版本不适合做rv1126开发板的开发虚拟机,Ubuntu20勉强可以做...
AXIGPIO按键控制LED实验 在“EMIO按键控制LED实验”中,我们通过EMIO实现了PS端与PL端的交互,而PS与PL最主要的连接方式则是一组AXI接口。AXI互联接口作为MPSOCPS和PL之间的桥梁,能够使两者协同工作,进而形成一个完整的、高度集成的系统。 本章我们将在PL端调用AXIGPIOIP核,并通过AXI4-Lite接口实现PS与PL中AXIGPIO模块的通信。本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 AXIGPIOIP核为AXI接口提供了一个通用的输入/输出接口。与PS端的GPIO不同,AXIGPIO是一个软核(S...
自定义IP核-呼吸灯实验 在Vivado软件中,我们可以很方便的通过创建和封装IP向导的方式来自定义IP核。自定义IP核可以定制化系统设计,以达到设计重用的目的,可以很大程度上简化系统设计和缩短产品上市的时间。本章我们将向大家介绍自定义IP核的方法。 本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 Xilinx官方为我们提供了非常丰富的IP核,如数学运算(乘法器、浮点运算器等)、信号处理(FFT、DDS等),我们可以通过调用这些IP核来快速完成设计。然而随着系统的设计越来越复杂,官方提供的免费IP核有时并不能很好的适用我们的设计,这个时候就...
程序固化实验 在前面的几个实验中,我们都是通过JTAG接口将FPGA配置文件和应用程序下载到MPSOC器件中。接下来我们将尝试把程序存储在非易失性存储器中,在上电或者复位时让程序自动运行,这个过程需要启动引导程序(BootLoader)的参与。BootLoader会加载FPGA配置文件,以及运行在ARM中的软件应用。 本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 MPSOC的系统启动过程由平台管理单元(PMU)和配置安全单元(CSU)管理和执行。启动过程包括三个功能阶段:预配置阶段、配置阶段和后配置阶段。 预配置阶段由平台管理单元控制。平台...
UART串口中断实验 我们在使用PS的时候,通常会添加UART控制器,用于打印信息和调试代码。除此之外,PS在和外部设备通信时,也会经常使用串口进行通信。在“HelloWorld实验”章节中,我们在PS中已经添加了UART控制器,本章我们进一步向大家介绍UART控制器以及UART控制器利用中断进行通信的方法。 本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 UART控制器介绍 UART控制器是一个全双工异步收发控制器,MPSOC内部包含两个UART控制器,UART0和UART1。每一个UART控制器支持可编程的波特率发生器、64字节的接收F...
定时器中断实验 MPSOC中PS部分包含许多不同类型的定时器,包括全局定时器、TTC定时器、系统看门狗定时器等。定时器可以不受CPU的干预,自己独立运行,来完成计时、定时、中断以及计算来自MIO或EMIO引脚的信号脉冲宽度等。本章我们将向大家介绍TTC(三路定时器)以TTC(三路定时器)中断的使用方法。 本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 在线调试 简介 PS有许多不同类型的定时器和计数器,包括APUMPCoreAArch64定时器,三路定时器(TTC),系统看门狗定时器。APUMPCoreAArch64定时器包括APUMPCore全...
PSSYSMON测量温度电压实验 系统监视器(SystemMonitors)是MPSOC中用来测量电压和温度的模块,能够将电压和温度信息提供给系统的其它部分,包括平台管理单元(PMU),实时处理单元(RPU)和应用处理单元(APU)。MPSOC中有两个SYSMON模块:PL端SYSMON模块和PS端SYSMON模块。 本章我们将使用PS端SYSMON模块,读取芯片的温度电压等信息。本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 PSSYSMON模块位于PS端低功耗域内,由VCC_PSAUX和VCC_PSADC供电。PSSYSMON能同时测量两个温...
PLSYSMON测量输入模拟电压 在“PSSYSMON测量温度电压实验”中,我们通过PS端SYSMON成功实现了读取芯片内部的温度和电压等信息。但除此之外,还可以通过PLSYSMON测量外部电压,本章将通过PLSYSMON测量外部输入模拟电压。 本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 PLSYSMON能监控PL的核心温度和多个内部PL或PS电压节点。PLSYSMON也可以监控多达17路外部模拟通道。PLSYSMON使用VCCAUX和VCCADC作为供电电压,当从PS访问PLSYSMON时,需要额外的VCCINT供电。PS端可以通过寄存...
PS端RTC中断实验 RTC(Real_TimeClock)是一种实时时钟模块,它为人们提供精确的实时时间,或者为电子系统提供精确的时间基准。MPSOC芯片内部集成了一个实时时钟模块,本章是通过这个模块来显示当前时间和使用RTC的中断来实现周期性报警的功能。 本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 RTC(Real_TimeClock)实时时钟模块是由集成电路构成,通常被称为时钟芯片。实时时钟(RTC)单元的作用一般是为系统和应用软件提供准确的时基,为了提升时钟精度,RTC还包括校准电路以抵消温度和电压波动。RTC由VCC_...
QSPIFlash读写测试实验 PS的输入/输出外设(IOP)有两个具有不同功能特性和IO接口性能的QSPI控制器。它们共享相同的APB从接口和MIO引脚。一次只能使用控制器中的一个。QSPI控制器可以访问多比特位宽的Flash设备,以实现较少的引脚数达到高吞吐量的应用。 本章我们将通过QSPIFlash控制器,来完成对QSPIFlash的读写操作。本章包括以下几个部分: 简介 实验任务 硬件设计 软件设计 下载验证 简介 MPSOC中的QSPIFlash控制器分为传统QSPI控制器(LQSPI)和通用QSPI控制器(GQSPI)两个。传统QSPI控制器通过AXI从接...