自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 基于 FPGA 的帧间差分运动检测

本文记录了在ZYNQ视频链路中实现帧间差分运动检测算法的完整过程。作者首先阐述了选择帧间差分算法的三大优势:实现简单、适合流式处理、便于插入现有AXI4-Stream视频链路。详细说明了算法模块在系统中的位置和双路视频流处理机制,重点分析了模块内部的FIFO缓存、数据对齐、RGB格式转换和灰度处理等关键环节。通过"纯透传→运动区域标红→目标框选"的渐进式调试策略,解决了视频流时序对齐、控制信号同步等实际问题。实验结果表明,该方案成功实现了运动检测功能,为后续更复杂的视频处理算法奠定了基础

2026-04-07 13:58:35 577

原创 ZYNQ+OV5640+VDMA+HDMI视频链路搭建实录:从摄像头采集到实时显示

本文介绍了一个基于ZYNQ FPGA的视频处理实验平台开发过程。项目重点构建了从OV5640摄像头采集到HDMI显示的视频链路,包括数据采集、AXI4-Stream转换、VDMA帧缓存、格式转换和时序控制等模块。作者强调视频链路的稳定运行是算法开发的基础,并分享了统一数据格式(RGB565)和分步调试的经验。该平台已实现帧差法运动检测功能,为后续视频算法开发提供了可靠基础。

2026-04-07 13:21:51 575 1

原创 ZYNQ + OV5640 视频系统开发(五):FPGA 视频系统调试技巧

视频系统调试常见问题排查指南 本文总结了FPGA视频系统开发中的常见问题及调试方法。针对黑屏、花屏、图像抖动等问题,提出分步排查策略:首先验证显示链路(VDMA→HDMI)是否正常;然后接入摄像头检查Video In→VDMA;重点关注位宽不一致(如RGB565/RGB888混用)和分辨率匹配问题。建议使用逻辑分析仪检查视频时序信号,并遵循"先显示→再缓存→最后接摄像头"的调试顺序。通过这种渐进式排查方法,可快速定位视频系统中的常见故障。

2026-04-06 09:46:53 205

原创 ZYNQ + OV5640 视频系统开发(四):HDMI 显示链路

本文介绍了基于FPGA的HDMI显示系统架构及常见问题。系统采用VDMA→AXI4S转Video→RGB565→SII9022芯片→HDMI显示的链路流程,核心模块包括VDMA、VTC时序控制器、AXI4S转视频接口IP和HDMI发射芯片。重点分析了VTC时序配置和SII9022芯片I2C初始化的关键作用,列举了黑屏(时序错误/未初始化)、花屏(数据格式错误)和无信号(时钟问题)等常见故障现象及可能原因,为HDMI显示系统调试提供了参考方案。

2026-04-06 09:46:40 228

原创 ZYNQ + OV5640 视频系统开发(三):AXI VDMA 帧缓存原理

本文介绍了FPGA视频系统中FrameBuffer的必要性及AXI VDMA的应用。由于摄像头输出连续视频流而显示器需要稳定帧数据,直接连接会导致画面撕裂等问题,必须通过FrameBuffer实现缓冲。AXI VDMA作为关键IP核,负责在AXI Stream和DDR之间搬运视频数据,支持双通道传输和Triple FrameBuffer机制以避免读写冲突。文章详细阐述了视频数据流结构、FrameBuffer工作流程(包括地址分配和帧管理)、VDMA的关键参数配置(如水平/垂直尺寸和步长),并总结了VDMA在

2026-04-05 15:00:00 459

原创 YNQ + OV5640 视频系统开发(二):OV5640_Data IP 核源码解析

摘要 本文详细分析了基于ZYNQ+OV5640的视频采集系统中数据桥接模块OV5640_Data的设计实现。该模块主要完成以下功能:1) 将OV5640输出的两拍8bit数据拼接为16bit RGB565像素;2) 将RGB565扩展为RGB888格式;3) 生成数据有效信号和视频接口所需的时序信号;4) 丢弃前10帧不稳定图像数据。文章深入解析了模块接口定义、数据拼接逻辑、RGB格式转换、有效信号生成等关键设计点,并解释了丢弃前几帧的工程考虑,为视频采集系统的前端处理提供了实用设计方案。

2026-04-05 14:34:22 541 1

原创 ZYNQ + OV5640 + HDMI 视频系统调试记录:一次 RGB888 与 RGB565 引发的黑屏问题

本文记录了在搭建OV5640+ZYNQ+HDMI视频系统时,因修改视频数据位宽导致系统黑屏的调试过程。系统原设计采用RGB888→RGB565→RGB888的数据流转换方案,通过降低DDR带宽压力(减少33%)和优化AXI VDMA传输效率来提升性能。调试过程中尝试删除格式转换模块直接使用24bit传输,导致HDMI黑屏问题。最终恢复原有转换结构后系统恢复正常。该案例验证了RGB565帧缓存在FPGA视频系统中的必要性,既降低了带宽压力,又确保了VDMA传输稳定性,是一种合理的工程优化方案。

2026-04-05 13:54:28 610

原创 基于ZYNQ的OV5640图像采集与HDMI显示系统设计

本文介绍了一个基于ZYNQ平台的视频采集与显示系统设计。系统通过OV5640摄像头采集图像数据,经AXI4-Stream接口输入ZYNQ系统,利用AXI VDMA进行DDR帧缓存,再通过HDMI接口输出显示。文章详细分析了系统架构,包括PS+PL协同设计、视频数据流路径(摄像头→AXI4-Stream转换→VDMA→DDR→显示输出)以及关键IP模块(VDMA、VTC、视频格式转换等)的功能。该系统为后续图像处理应用(如边缘检测、目标跟踪等)提供了基础平台,实现了完整的视频采集-缓存-显示通路,并通过实验验

2026-03-29 11:36:48 732

原创 基于ARM的裸机程序设计和开发(六):Zynq裸机程序调试方法

Zynq裸机程序在线调试方法 本文介绍了Zynq裸机开发中的在线调试技术。在Xilinx SDK环境下,通过调试模式可以控制程序执行流程,设置断点暂停程序,单步执行观察变量变化。重点讲解了变量查看、断点设置、内存监视等核心调试方法,帮助开发者分析程序逻辑错误、寄存器配置问题。调试能力是裸机开发的核心技能,能够有效定位LED控制异常、外设初始化失败等常见问题。通过Memory窗口可直接查看DDR数据和外设寄存器状态,为程序调试提供重要依据。

2026-03-24 10:23:23 405

原创 基于ARM的裸机程序设计和开发(五):使用SDK硬件驱动库控制GPIO

本文介绍了Zynq裸机开发中使用Xilinx SDK硬件驱动库的方法。相比直接操作寄存器,驱动库方式通过封装底层操作提供了更直观、易读的编程接口,特别适合初学者快速上手。文章以GPIO控制LED为例,对比了驱动库与寄存器方式的优缺点:驱动库开发效率高但执行效率较低,寄存器方式控制精细但开发门槛高。文中详细解析了XGpioPs驱动库的核心函数和使用方法,并给出了LED闪烁和按键控制LED的完整示例代码。最后指出应根据应用场景选择合适方法:一般应用推荐驱动库,高频IO或中断服务等实时性要求高的场景建议直接操作寄

2026-03-24 10:22:42 426

原创 ZYNQ + VDMA + RGB TFT 显示实验补充复盘:不重建工程,仅清理旧 platform 后恢复正常

摘要 本文针对ZYNQ+VDMA+RGB TFT显示实验中出现的黑屏、Debug卡99%等问题,提出了一种更高效的解决方案。作者发现问题的核心在于SDK工作区中存在多个混乱的硬件平台(platform),而非必须重建整个工程。通过删除所有旧platform、重新导入唯一正确的硬件平台,即使保留原有BSP和应用工程,也能使系统恢复正常运行。文中详细描述了问题现象、排查过程,并提供了完整的操作步骤和调试截图,为类似嵌入式开发问题提供了实用参考方案。

2026-03-23 21:14:17 404

原创 ZYNQ + VDMA + RGB TFT 显示实验复盘:黑屏、99% 卡死、platform 混乱的最终解决方案

摘要:本文记录了ZYNQ裸机开发中RGB TFT显示实验的完整排错过程。作者先后遇到Debug卡99%、System Debugger异常、屏幕黑屏等问题,排查发现核心原因是Vivado导出的platform与SDK中的BSP和Application工程未保持对应关系。通过重新梳理硬件设计、建立干净的工作空间,并确保platform-BSP-Application三者严格对应,最终解决了问题。文章详细分析了错误原因,并总结了正确的开发流程,为同类实验提供了有价值的参考。

2026-03-23 13:27:28 815

原创 基于ARM的裸机程序设计和开发(四):硬件编程原理与GPIO控制思路

本文介绍了Zynq裸机开发中的硬件编程概念与方法。硬件编程是通过读写外设控制器寄存器来实现对外设的控制,这是嵌入式开发的基础能力。GPIO作为最基础的外设,其典型结构包括方向控制、输出数据和输入数据三类寄存器。Zynq的GPIO在此基础上增加了置位/清零寄存器和中断屏蔽等增强功能。文章以控制LED为例,阐述了GPIO编程的基本思路:先进行初始化配置(关闭中断、设置方向、使能输出),再通过寄存器操作实现控制。掌握GPIO编程方法为后续更复杂外设开发奠定了基础。

2026-03-22 21:11:16 478

原创 基于ARM的裸机程序设计和开发(三):C编程基础与Zynq裸机开发常用方法

摘要 本文介绍了Zynq裸机开发中的基础C编程方法,包括BSP的作用、寄存器读写方式、硬件信息查找以及延时实现等核心内容。BSP作为硬件系统支持包,提供了外设驱动、寄存器定义等基础支持,开发者可选择使用BSP函数或直接寄存器操作。地址读写可通过指针或Xilinx提供的Xil_In32/Xil_Out32函数实现,后者代码更规范。硬件信息可通过查阅UG585手册或BSP生成的头文件获取。延时推荐使用BSP提供的usleep/sleep函数,而非不精确的死循环。文中还强调了使用stdint.h中的跨平台数据类型

2026-03-22 20:46:54 665

原创 基于ARM的裸机程序设计和开发(二):使用Vivado创建PS应用系统

本文介绍了Zynq平台裸机开发的入门流程,以GPIO控制LED为例,详细阐述了从Vivado硬件平台搭建到SDK软件开发的完整步骤。首先在Vivado中创建包含Zynq PS系统的硬件工程,配置GPIO、DDR等关键参数;然后导出硬件平台至SDK,创建裸机应用工程并编写LED控制程序。通过这个简单实验,帮助初学者理解Zynq开发中"先硬件后软件"的基本理念,掌握Vivado和SDK协同工作的开发模式,为后续更复杂的嵌入式开发奠定基础。

2026-03-10 16:31:22 689

原创 基于ARM的裸机程序设计和开发(一):Zynq SoC FPGA的诞生

摘要:本文探讨了Zynq SoC FPGA的诞生背景及其在嵌入式系统中的应用优势。传统方案中CPU与FPGA分立使用存在硬件复杂、通信带宽有限等问题。Zynq将ARM处理器与FPGA逻辑集成在同一芯片内,通过片内高速互连实现高效协同:ARM负责复杂控制与交互,FPGA处理高速并行任务。这种异构架构既简化了硬件设计,又提升了系统性能,为嵌入式开发提供了更优解决方案。理解Zynq的设计理念是学习ARM裸机开发的重要基础。(149字)

2026-03-10 16:04:50 580

原创 FPGA中的嵌入式块存储器RAM:从原理到实现的完整指南

本文深入探讨FPGA中RAM的原理与应用,重点介绍嵌入式块存储器的分类、特性及配置方法。文章对比了RAM与ROM的核心差异,分析SRAM与DRAM的存储特性差异,详细讲解Vivado中RAM IP核的三种类型(单端口、简单双端口、真双端口)及其适用场景。通过数据缓冲器和图像帧缓冲两个典型应用案例,展示RAM在FPGA系统中的实际使用方法。最后,文章提供了一个基于RAM的图像显示系统实战案例,包括系统架构设计和关键实现代码,帮助读者掌握RAM在FPGA项目中的具体应用技巧。

2026-01-31 22:04:23 1382

原创 FPGA中的存储器模型:从IP核到ROM的深度解析与应用实例

本文系统介绍了FPGA中ROM的实现与应用。首先阐述了IP核的概念及其价值,然后分析了ROM在FPGA设计中的必要性。重点对比了分布式ROM(基于LUT)和块存储ROM(基于BRAM)两种实现方式的特性、容量及应用场景。详细讲解了在Vivado中配置ROM IP核的步骤,包括参数设置和COE格式初始化文件的创建方法。最后通过DDS信号发生器的实战案例,展示了ROM在波形生成中的具体应用,包括系统架构设计和MATLAB数据生成方法。全文为FPGA开发者提供了ROM模块从理论到实践的完整指导。

2026-01-31 21:04:10 1102

原创 FPGA实战:VGA成像原理、时序详解与Verilog控制器设计与验证

本文系统介绍了VGA显示接口的原理与实现方法,详细解析了VGA的成像原理、同步信号和时序参数。以800×480分辨率为例,给出了完整的Verilog控制器设计,包括核心信号定义、时序参数计算和代码实现。通过仿真验证了HSync、VSync信号和数据输出的正确性,证明了设计的有效性。VGA驱动作为FPGA图像处理的基础模块,其设计方法可为后续视频处理应用提供参考。

2026-01-30 15:58:26 706

原创 FPGA 显示系统学习路线:从 VGA 到 RGB TFT

在 FPGA 学习过程中,显示系统几乎是所有人都会遇到、却又最容易“学乱”的一块内容。很多人会有这样的经历:VGA 看着不难,照着例程能跑;RGB TFT 一上手就花屏、抖动、黑屏;HDMI 更是“什么都没显示,不知道错在哪”。问题并不在于你代码能力不够,而在于学习顺序和认知层级错了。本文不是教你写代码,而是从工程角度给出一条清晰、可落地的 FPGA 显示系统学习路线,解释为什么:VGA 必须先学,RGB TFT 是关键分水岭,而 HDMI 反而不适合过早碰。

2026-01-27 22:24:41 559

原创 【显示系统真正扫盲】 VGA、HDMI、TFT、RGB TFT、LED 与显示器到底是什么关系?

本文系统梳理了嵌入式/FPGA开发中的显示技术体系。首先区分了"驱动显示器"与"驱动屏幕"的本质差异,指出显示器是已完成信号处理、时序控制等复杂功能的成品系统。其次解析了接口技术(VGA/HDMI)、显示技术(TFT/RGB TFT)和背光技术(LED背光)三个关键层级的技术定位与相互关系。特别澄清了常见误区,如"LED显示器"实为LED背光液晶显示器,以及接口类型不直接决定显示质量等核心认知。最后勾勒出从CRT到OLED/MicroLED的技术演

2026-01-27 22:13:49 1279

原创 FPGA实战:基于Verilog的数码管动态扫描驱动设计与仿真验证

本文详细介绍了基于Verilog的数码管动态扫描驱动设计。通过分时复用原理,利用1ms定时循环切换位选信号,配合八选一多路选择器和段码查找表,实现多位数码管稳定显示。设计包含分频计数器、位选择计数器、三八译码器等模块,并提供了完整的Verilog代码实现和仿真验证方法。该方案充分利用人眼视觉暂留效应,在FPGA上实现了高效的多位数码管动态显示功能,适合嵌入式系统开发者和数字逻辑设计初学者参考。

2026-01-13 21:23:56 591

原创 Verilog中reg与wire的区别:从语法到实战

本文深入解析Verilog中reg和wire两种关键数据类型的区别与使用场景。reg表示数据存储单元,可在always块和initial块中赋值;wire代表物理连线,用于assign语句和模块连接。核心区别在于:reg可存储值,wire仅传输信号。文章通过代码示例展示了合法赋值方式及常见错误,从综合工具视角分析reg的实际硬件实现,并提供命名规范、初始化等实用技巧。最后强调类型选择由赋值方式决定,建议遵循"assign用wire,always用reg"的原则。掌握这两种类型的正确使用是

2026-01-13 19:38:34 864

原创 基于状态机的按键消抖设计与Verilog实现:原理、状态转移与仿真验证

本文提出一种基于摩尔型状态机的按键消抖硬件设计方案。针对机械按键抖动问题,采用四状态(空闲态、按下消抖态、等待释放态、释放消抖态)的状态机模型,通过20ms稳定时间判定实现可靠消抖。方案包含同步处理、边沿检测、状态转移等核心模块,并给出完整的Verilog实现代码。相比传统延时采样法,该设计具有输出稳定、抗干扰性强等优势,可有效解决按键抖动导致的误触发问题,适用于各类嵌入式系统和FPGA开发场景。

2026-01-03 10:20:58 1003

原创 FPGA 学习必备:有限状态机(FSM)原理、编码方式与一段式 / 二段式 / 三段式详解

本文系统介绍了有限状态机(FSM)在FPGA设计中的应用。主要内容包括:Moore型和Mealy型状态机的区别,二进制编码、独热码和格雷码三种状态编码方式的特点,以及一段式、二段式和三段式状态机的实现方法。重点推荐三段式状态机写法,并提供了标准Verilog模板。文章还通过对比表展示了FPGA在并行运算、低延迟和可重构性方面的核心优势。最后总结了FSM设计中的注意事项,强调理解思想比死记写法更重要,规范结构是高质量代码的基础。

2026-01-02 20:20:58 1266

原创 一文吃透通用 FPGA 开发流程(新手不再“能综合却跑不动”)

很多刚接触 FPGA 的同学都会有一个疑问:“我明明写了 Verilog,也能综合,为什么一下载到板子就不对?”其实问题往往不在代码本身,而是在 对 FPGA 完整开发流程理解不清。本文将结合课堂笔记与工程实践,系统梳理一遍通用 FPGA 开发流程,帮你建立从“写代码”到“芯片稳定运行”的完整认知。

2026-01-02 13:16:57 1355

原创 UART串口发送逻辑优化详解:从定时发送到事件触发

本文总结了UART发送模块从固定定时发送改为事件触发发送的优化设计。通过引入Send_Go输入端口实现外部触发发送,新增数据锁存机制保证稳定性,设计tx_done完成标志避免数据冲突,并采用参数化波特率配置提升灵活性。优化后的模块解决了原有设计无法响应随机事件、资源浪费等问题,实现了更高效的异步串行通信控制。关键改进包括去除定时器逻辑、优化状态机设计等,使模块更适合实际应用场景需求。

2025-11-17 12:36:32 632

原创 FPGA实现UART串口自动发送模块设计——从理论基础到工程实践

摘要:本项目基于FPGA平台设计实现了UART串口自动发送系统,具备每秒自动采集8位拨码开关状态并通过9600波特率UART协议发送至PC端的功能。系统采用8位数据位+1位停止位的标准格式,无校验位和流控功能,发送完成后通过LED指示灯提供视觉反馈。硬件设计包含CH340E桥接芯片和电平转换电路,软件部分实现了精确的波特率计数器和1秒延时控制。通过模块化设计实现了数据采集、协议封装、串行发送的全流程,经测试系统运行稳定,误差小于0.01%,验证了设计的可靠性。

2025-11-07 16:22:56 1302

原创 【一文全解】五大经典串行通信协议:UART、SPI、I²C、RS-232与RS-485,从原理到应用,新手必看!

本文系统介绍了嵌入式系统中五大经典串行通信协议。首先解释了通信基础概念,包括串行/并行通信、同步/异步方式以及单工/双工模式。然后详细剖析了UART(通用异步传输)、SPI(高速全双工)、I²C(多设备总线)三种芯片级协议,以及RS-232和RS-485两种工业级物理层标准,分析了各协议的工作原理、连接方式、优缺点和典型应用场景。最后提供了选型指南:SPI适合高速外设,I²C适合多设备连接,UART用于简单调试,RS-485专为工业环境设计。通过生动比喻帮助读者理解不同协议的特点和应用场景。

2025-11-01 22:18:58 1449

原创 ESP32分布式烘干房控制系统重构:硬件成本零增加,架构全面升级!

本文通过一个烘干房控制系统改造案例,展示了如何在硬件成本基本不变的情况下实现架构升级。原集中式系统(基于Arduino Mega2560)存在通信不稳定、维护困难等问题。改造采用ESP32+RS485的分布式架构,硬件成本仅降1.2%,但系统可靠性从95%提升至99.5%,故障排查时间减少75%,3年运营成本节省超万元。同时实现了代码模块化重构,通信协议优化,并保留了未来云端监控、手机APP控制等扩展空间。案例证明:好的系统架构设计能让相同硬件发挥更大价值,真正的成本优化应着眼于总体拥有成本(TCO)而非单

2025-10-29 14:54:22 1324

原创 从Arduino到ESP32:智能杀青机I2C长距离通信困局与突围实战

本文分享了智能杀茶机项目中从Arduino Mega2560迁移到ESP32的实战经验。项目原使用I2C总线连接多路温湿度传感器,但在工业现场遇到3-5米长距离通信不稳定的问题。通过分析I2C协议缺陷,对比了三种解决方案:优化I2C系统、改用RS485通信和迁移到ESP32分布式架构。最终选择ESP32方案,利用其双核处理、WiFi/蓝牙和多硬件I2C接口等优势重构系统。采用主从分布式架构和面向对象编程重构代码后,系统性能显著提升:通信稳定性达99.9%,响应时间缩短80%,并支持远程监控。这一升级不仅解决

2025-10-25 22:08:13 1341

原创 【无标题】Verilog线性序列机原理与应用

本文介绍了Verilog线性序列机的原理与应用,通过两个LED控制任务展示了具体实现方法。任务1实现LED每500ms翻转一次,采用26位计数器完成精确计时,并提供了完整的Verilog代码、电路实现及仿真测试结果。任务2扩展了控制逻辑,使LED按更复杂的时间序列工作,展示了参数化设计方法。两个案例均包含代码实现、电路结构、仿真测试及波形分析,完整呈现了线性序列机在FPGA开发中的设计流程和应用要点。通过计数器与状态机结合的方式,实现了精确的时序控制功能。

2025-10-24 22:20:39 1149

原创 Verilog语言初步(一)

本文全面介绍了硬件描述语言Verilog的核心内容。主要包括:Verilog模块的基本结构(模块声明、端口定义、信号类型和逻辑功能);组合与时序逻辑设计方法;语言要素(常量、数据类型、参数、向量);各类运算符使用;以及阻塞/非阻塞赋值等关键技术细节。文章还解释了RTL、综合、仿真等专业术语,并总结了Verilog在数字电路设计中的特点和应用场景。通过学习Verilog的基础语法到高级应用,可以掌握数字系统设计的核心工具,为ASIC和FPGA开发奠定基础。

2025-10-15 21:18:15 1009

原创 Verilog项目实战

本文展示了两个基于Verilog的LED控制实验。第一个实验设计了一个计数器,使学习板上的LED每500ms翻转一次状态,实际测试显示LED0实现了预期效果。第二个实验利用移位寄存器和38译码器原理实现了LED流水灯效果,在扩展板上观察到LED灯依次亮起的动态效果。两个实验均通过Vivado平台完成Verilog代码编写和功能验证,达到了预期目标。

2025-10-14 08:36:58 284

原创 Verilog 快速入门:从语法基础到实战设计

Verilog硬件描述语言入门指南 本文系统介绍了Verilog HDL的基础知识与设计方法。主要内容包括:1) Verilog模块的基本结构,包含端口定义和功能描述;2) 三种常用语句:assign连续赋值、always过程块和模块调用;3) 数据类型与赋值方式的区别;4) 运算符与控制语句的使用要点;5) 不同描述风格的对比;6) 通过四选一数据选择器实例演示实际应用。文章还解释了关键概念如RTL设计、逻辑综合等,并提供了时序分析的基本参数说明。作为数字电路设计的核心工具,Verilog的掌握对FPGA

2025-10-13 17:14:33 1472

原创 【AD课程笔记】零基础入门Altium Designer:第一周原理图&PCB绘制实录

快捷键是王道:P, T(布线),P, V(过孔),P, N(网络标签)…多用几次就记住了,效率飞起。布局定成败:好的布局是成功布线的70%。宁愿多花20分钟优化布局,也别在布线上痛苦1小时。封装是灵魂:原理图决定了电路对不对,封装决定了板子能不能用。工程思维第一:永远先建工程,再在工程里添加文件。善用网络和标签:让原理图清晰易读,是优秀工程师的素养。

2025-09-30 14:39:37 568

原创 FPGA时序逻辑电路设计实战:计数器原理与Vivado实现

时序逻辑电路与组合逻辑电路的根本区别在于:时序逻辑电路的输出不仅取决于当前输入,还与电路的前一状态相关。这种"记忆"功能使得时序逻辑能够实现计数器、状态机等复杂功能。

2025-09-30 00:45:10 1999

原创 Vivado仿真BUG解决“concurrent assignment to a non-net“错误分析与修复

当我们在模块层次(不在任何过程块内)对reg类型变量使用assign语句或直接赋值时,就会触发这个错误。2、变量类型(Variable Type):reg, integer, real 等。// 从DUT输出的信号定义为wire。1、线网类型(Net Type):wire, tri, wand 等。// 如果需要驱动,保持为reg。// 定义为reg类型。// 错误定义:将测试信号定义为reg却使用并发赋值。// 正确定义:输入信号用reg,输出信号用wire。方案二:在过程块内赋值reg类型。

2025-09-29 23:17:52 760

原创 ZYNQ SOC FPGA 之三八译码器

是一种多输入多输出的组合逻辑电路,负责将二进制代 码翻译为特定的对象(如逻辑电平等),功能与编码器相反。应用中,如果需要保证一定的速度情况下实现此功能,一般选取外挂一片 74HC38。可自行分析其他状态,最终得出逻辑代码符合既定的设计要求,至此功能仿真结束。的工 程,只需按名称筛选该芯片型号即可。提供了一个完整的想象以及实现空间,仅靠其自身即可实现设计要求。图标打开 VIVADO 开发环境,按如下操作步骤进行。译码器的初始状态,即 led 最低位点亮。种输出状态,其真值表如下表所示,其中 A。

2025-09-27 21:10:06 783

原创 小梅哥FPGA实战:二选一多路器

小梅哥的FPGA教程以实战性强、逻辑清晰著称,尤其适合初学者。可以提到课程中具体的亮点,比如Verilog语法讲解细致、开发板配套资料完善,或案例分析(如状态机设计)的实用价值。

2025-09-16 22:07:11 303

ov5640-hdmi显示系统(RGB888 → RGB565 → RGB888验证)

ZYNQ + OV5640 + HDMI 视频系统调试记录:一次 RGB888 与 RGB565 引发的黑屏问题

2026-04-05

基于ZYNQ的OV5640图像采集与HDMI显示系统设计

基于ZYNQ的OV5640图像采集与HDMI显示系统设计

2026-03-29

ZYNQ + VDMA + RGB TFT 显示实验补充复盘:不重建工程,仅清理旧 platform 后恢复正常

供大家参考

2026-03-23

ZYNQ + VDMA + RGB TFT 显示实验复盘:黑屏、99% 卡死、platform 混乱的最终解决方案

ZYNQ + VDMA + RGB TFT 显示实验复盘:黑屏、99% 卡死、platform 混乱的最终解决方案

2026-03-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除