- 博客(37)
- 收藏
- 关注
原创 FPGA强化-TFT_LCD液晶屏驱动设计与验证
一文讲懂LCD,包括LCD实战项目,并附代码。本文介绍了基于Altera EP4CE10 FPGA开发板的TFT-LCD液晶屏驱动设计与实现方法。主要内容包括:1. TFT-LCD基本工作原理和时序参数,包括HV和DE两种同步模式; 系统设计采用模块化结构,包含时钟生成、时序控制、图像数据生成等模块;详细讲解了时序控制模块的设计思路和实现方法;通过仿真验证和上板测试,确认TFT屏能正确显示预设的彩色条纹。
2025-10-24 13:31:28
1224
原创 FPGA强化- HDMI显示器驱动设计与验证
一篇讲懂HDMI,HDMI实战项目,附有完整代码。本文介绍了HDMI显示器的驱动设计与验证。首先对比了VGA和HDMI接口的优缺点,指出HDMI具有体积小、抗干扰强、支持音视频同步传输等优势。详细讲解了HDMI接口的引脚定义、传输原理(基于TMDS编码技术)以及显示系统架构。最终上板验证显示效果符合预期,为HDMI驱动开发提供了完整的设计方案和实现参考。
2025-10-23 16:42:00
1149
原创 FPGA强化-基于rom的vga图像显示
本文介绍了基于ROM的VGA图像显示实现方法。首先通过图像预处理将100x100分辨率的图片转换为MIF格式存入ROM,然后在FPGA中设计VGA显示系统,以十色彩条为背景,在屏幕中心显示ROM中的图片。系统包含时钟生成、VGA时序控制、图像数据生成等模块,其中图像数据生成模块通过坐标判断实现背景与图片数据的切换。实验在640x480@60模式下成功显示图片,验证了设计方案的正确性。文章详细阐述了图像转换、硬件设计、代码实现等关键步骤,并提醒了ROM读取数据存在一个时钟周期延迟的注意事项。最后提出了修改图片
2025-10-21 11:23:24
1052
原创 FPGA强化-VGA显示设计与验证
本文介绍了基于Altera EP4CE10 FPGA开发板的VGA显示驱动设计与实现。文章详细讲解了VGA接口标准、显示原理及时序要求,重点阐述了640×480@60Hz显示模式的参数计算。通过Verilog HDL设计实现了VGA时序控制模块和图像数据生成模块,采用权电阻网络完成数字信号到模拟信号的转换。实验成功驱动VGA显示器显示出十色彩条,验证了设计的正确性。文中还提供了完整的代码实现、仿真方法和上板验证过程,并提出了三个拓展训练项目,包括时序优化、显示模式修改和图形叠加等进阶内容。该设计为FPGA图
2025-10-16 15:11:41
770
2
原创 FPGA强化-串口RS485
本文介绍了RS485串口通信标准及其应用实现。RS485相较于RS232具有更强的抗干扰能力和更远的传输距离(可达千米),支持多点连接,广泛应用于工业控制等领域。文章详细讲解了RS485的差分传输原理及其抗干扰机制,并提供了一个基于FPGA开发板的实践案例:通过RS485接口实现两块开发板之间的流水灯和呼吸灯控制。实验包含硬件连接、程序设计(含按键消抖、LED控制、串口收发等模块)、仿真验证和上板调试等完整流程。该案例展示了RS485在设备组网通信中的实际应用,帮助读者理解RS485与RS232的差异及其通
2025-10-13 17:51:16
1434
2
原创 FPGA强化-串口rs232
本文摘要:本文详细介绍了UART(通用异步收发传输器)中的RS232串口通信协议及其FPGA实现。首先讲解了UART的基本原理、RS232接口标准及通信协议,包括帧结构、波特率计算等关键概念。随后通过设计串口接收(uart_rx)和发送(uart_tx)模块,实现了基于FPGA的串口通信功能,最终完成串口数据回环测试。文章重点阐述了亚稳态现象的处理方法、边沿检测技术以及串并转换的实现,并提供了完整的Verilog代码和仿真验证过程。最后通过上板实验验证了设计功能,演示了如何通过串口调试助手进行数据收发测试。
2025-10-11 15:42:58
767
原创 FPGA强化-简易电压表的设计与验证
本文详细介绍了简易电压表的设计与实现过程。该系统基于FPGA平台,利用AD9280高速ADC芯片将模拟信号转换为数字量,通过定义中值测量算法计算电压值,最终在数码管上显示测量结果。文章首先阐述了ADC的工作原理和主要技术指标,包括分辨率、转换速率等;然后详细说明了硬件设计(采用AD/DA板卡的AD部分)和软件实现(包括ADC模块、顶层模块的设计与仿真验证);最后通过上板测试验证了电压表的测量精度(误差在可接受范围内)。该系统实现了-5V至+5V范围的电压测量功能,为理解模数转换原理和FPGA应用提供了实践案
2025-10-10 15:38:44
1373
原创 FPGA强化-DDS信号发生器
本文介绍了基于Altera EP4CE10 FPGA开发板的简易DDS信号发生器设计与实现。通过Verilog编程,结合外挂AD/DA模块,实现了可输出正弦波、方波、三角波和锯齿波四种波形的信号发生器。详细阐述了DDS工作原理、电路设计、Matlab波形数据生成、Verilog代码实现及仿真验证过程。重点讲解了相位累加器、波形ROM存储、按键控制等核心模块的设计方法,并提供了完整的工程实现方案。实验结果表明,该系统能稳定输出500Hz信号,通过按键可切换波形类型,通过参数修改可调整输出频率和相位。该设计为F
2025-09-29 17:49:52
1510
1
原创 FPGA强化-简易频率计
本文介绍了FPGA学习中的频率测量模块设计与实现。主要内容包括:1)讲解了等精度测量法的原理,通过比较标准时钟与被测时钟的周期数来计算频率,相比传统方法精度更高;2)详细设计了基于等精度法的简易频率计,包含时钟生成、频率计算和数码管显示三大模块,重点阐述了频率计算模块的波形设计与Verilog实现;3)通过仿真验证了设计正确性,最终在开发板上成功实现了5MHz被测信号的精确测量。实验结果表明,提高标准时钟频率(100MHz)和增大闸门时间(1s)可有效提升测量精度。文章还建议读者尝试调整参数并比较不同测量方
2025-09-28 14:38:51
1787
原创 FPGA入门-IP核
本文介绍了FPGA开发中常用的4种IP核(PLL、ROM、RAM、FIFO)的理论知识、配置方法及实际应用。 PLL(锁相环)IP核:用于时钟管理,可对输入时钟进行分频、倍频、相位调整等操作。文章详细讲解了PLL的结构原理、配置步骤(包括倍频、分频、相移等参数设置)及仿真验证方法。 ROM(只读存储器)IP核:介绍了单端口和双端口ROM的配置方法,重点讲解了如何创建.mif初始化文件,并通过数码管显示实验演示了ROM的读写操作时序。 RAM(随机存储器)IP核:讲解了单端口、简单双端口和真双端口RAM的区别
2025-09-25 10:05:02
1449
原创 FPGA入门-DHT11数字温湿度传感器
DHT11是一款低成本数字温湿度传感器,采用单总线通信方式,具有高可靠性和长期稳定性。其工作电压为3.3-5.5V,湿度测量范围5%-95%RH(±5%误差),温度范围-20℃-60℃(±2℃误差)。传感器通过特定的时序协议进行通信:主机发送18ms低电平起始信号后,DHT11响应并发送40位数据(湿度整数+温度整数+小数+校验位)。开发板通过状态机控制读取过程,将数据显示在数码管上,并通过按键切换温湿度显示。实验重点包括时序控制、数据校验和显示处理,验证了传感器在环境监测中的实用价值。
2025-09-24 10:54:40
854
原创 FPGA入门-DS18B20数字温度传感器
本文介绍了DS18B20数字温度传感器的工作原理与应用。DS18B20采用单总线通信,具有体积小、精度高、抗干扰强等特点,适用于各类温度监测场景。文章详细讲解了其内部结构、温度测量原理、配置寄存器及64位ROM编码等关键特性,重点阐述了1-Wire总线的初始化、读写时序控制方法。通过实验设计实现了温度采集与数码管显示功能,包括状态机控制、数据转换算法等关键模块的实现。最后通过仿真验证和硬件测试,展示了DS18B20在实际应用中的温度监测能力,为读者掌握该传感器的使用提供了完整的技术指导。
2025-09-22 14:40:57
1573
原创 FPGA入门-红外遥控
本文介绍了基于Altera EP4CE10 FPGA开发板的红外遥控实验实现。文章首先讲解了红外遥控的基本原理和NEC协议编码格式,包括引导码、地址码、数据码等组成部分的逻辑电平编码方式。随后详细阐述了实验设计:通过一体化接收头HS0038B接收红外信号,FPGA对信号进行解码后将按键码显示在数码管上,并在检测到重复码时控制LED闪烁。实验采用状态机方法实现红外信号解码,重点分析了各状态跳转条件和时序判断逻辑。文章提供了完整的Verilog代码实现,包括红外接收模块、LED控制模块等核心部分,并通过仿真验证
2025-09-19 16:52:18
1402
原创 FPGA入门-数码管动态显示
摘要: 本文详细介绍了数码管动态显示的原理与实现方法。通过1ms刷新间隔轮流点亮六位数码管,利用人眼视觉暂留效应实现稳定显示效果。文章包含理论分析、硬件设计、Verilog代码实现及仿真验证全过程,重点讲解了动态扫描原理、BCD码转换算法和模块化设计思路。实验实现六位数码管从0到999999的计数显示,每个模块均配有详细波形图和代码注释。最后介绍了上板调试步骤,并提供了拓展训练建议,如实现时钟显示和按键设置功能。该设计具有较高复用性,可灵活应用于不同显示需求。
2025-09-16 10:47:04
1453
原创 FPGA入门-数码管静态显示
本文是《野火FPGA Verilog开发实战指南》中关于数码管静态显示的章节内容摘要。该章节系统介绍了基于Altera EP4CE10开发板的六位数码管静态显示实现方法,主要内容包括: 理论知识部分详细讲解了八段数码管的结构原理、共阳/共阴分类,以及74HC595芯片的串并转换工作机制。 实验设计通过三个模块实现功能: 静态数码管驱动模块生成0.5s变化的十六进制显示数据 74HC595控制模块完成14位数据的串并转换 顶层模块整合前两个模块 开发板使用两片级联74HC595驱动共阳极数码管,仅需4个IO口
2025-09-15 14:17:58
858
原创 FPGA入门-无源蜂鸣器驱动
本文介绍了无源蜂鸣器驱动实验的方法。蜂鸣器是一种电子发声器件,分为有源和无源两种类型。实验使用无源蜂鸣器,通过PWM方波驱动发声,不同频率和占空比的方波可产生不同音调。文章详细讲解了如何通过FPGA开发板实现七个基本音调(262Hz-494Hz)的循环鸣叫,每个音调持续0.5秒。内容包括硬件资源介绍、程序设计思路、波形图设计、代码实现及仿真验证,最后完成上板调试。实验展示了通过控制PWM波的频率和占空比来驱动无源蜂鸣器发声的原理和方法。
2025-09-11 16:42:13
1797
原创 FPGA入门-状态机
本文系统介绍了状态机(FSM)的原理与应用,重点讲解了在FPGA设计中如何实现状态机。主要内容包括:1. 状态机基本概念:分为Moore型和Mealy型,前者输出仅与当前状态有关,后者输出还与输入相关;2. 设计方法:通过可乐机案例演示状态转移图绘制、状态编码(独热码/二进制码/格雷码选择)和Verilog实现;3. 实战案例:包含简单版(仅投1元)和复杂版(可投0.5/1元)可乐机设计,详细分析状态划分、转移条件和输出控制;4. 设计流程:抽象系统需求→绘制状态图→编写代码→仿真验证;5. 高级应用:给出
2025-09-10 17:15:37
2828
1
原创 FPGA入门-呼吸灯
本文介绍了呼吸灯的设计与实现过程。呼吸灯通过PWM占空比调节LED亮度,实现渐亮渐灭的"呼吸"效果。文章详细讲解了呼吸灯的工作原理,采用三个计数器(1us、1ms、1s)协同工作,通过比较计数器数值来控制LED亮度变化。设计过程包括模块框图、波形图绘制和Verilog代码实现,重点分析了计数器清零条件和状态转换逻辑。经过ModelSim仿真验证后,在开发板上成功实现了预期的呼吸灯效果。本文特别强调将复杂问题分解简化的思维方式,为初学者提供了清晰的实现思路。
2025-09-08 15:55:28
1209
原创 FPGA入门-流水灯
本文介绍了利用FPGA开发板实现流水灯实验的完整过程。首先阐述了流水灯的基本原理(通过控制I/O电平使LED依次点亮),然后详细讲解了硬件设计(使用4个低电平点亮的LED)、程序设计(包括计数器模块和移位控制)以及仿真验证方法。文章重点介绍了移位运算符的使用,并提供了完整的Verilog代码实现。最后通过上板验证,展示了LED灯以0.5秒间隔循环亮灭的流水效果。文末还提出了两个拓展练习:使用位拼接实现移位功能,以及改进为双向循环移动效果。该实验是FPGA入门经典案例,可帮助学习者掌握时序控制和移位操作等基础
2025-09-05 10:31:30
1108
原创 FPGA入门-按键控制LED
本文介绍了触摸按键的工作原理及其在LED控制中的应用。重点讲解了电容式触摸按键的感应原理,通过检测手指触摸引起的电容变化实现控制。实验部分详细说明了如何使用FPGA开发板实现触摸按键控制LED亮灭的功能,包括硬件连接、程序设计(涉及边沿检测技术)、仿真验证和上板调试全过程。最后提出拓展训练,鼓励读者实现触摸控制LED闪烁功能。该实验展示了触摸按键在实际应用中的便捷性和稳定性,为嵌入式系统的人机交互设计提供了实用范例。
2025-09-04 10:36:45
1246
原创 FPGA入门-按键消抖
本文介绍了基于Altera EP4CE10开发板的FPGA按键消抖模块设计与实现。首先分析了机械按键的抖动原理及硬件/软件消抖方法,重点采用软件延时方案,通过20ms计数器滤除抖动。文章详细讲解了模块设计流程,包括框图绘制、波形分析、Verilog代码实现及ModelSim仿真验证。通过计数器逻辑优化,确保输出稳定的单脉冲按键信号,有效解决了机械触点抖动导致的误触发问题。该设计方法兼顾了时间效率和可靠性,为FPGA外设接口处理提供了实用解决方案。
2025-09-03 09:37:11
1150
原创 FPGA入门-分频器
本文详细介绍了FPGA中分频器的设计与实现方法。主要内容包括:1. 分频器的基本原理及必要性:板载晶振频率固定,通过分频/倍频可产生所需时钟信号。2. 偶数分频实现:以6分频为例,介绍了两种实现方法:直接分频输出和使用标志信号降频,后者更稳定可靠。3. 奇数分频实现:以5分频为例,需在时钟上升沿和下降沿都工作,通过两路信号相与实现50%占空比。4. 验证过程:包括仿真波形分析和实际硬件测试,均达到预期分频效果。5. 实用建议:推荐使用标志信号降频法而非直接分频输出,以保持系统稳定性。文章最后建议将分频器参数
2025-09-02 17:28:50
1474
原创 FPGA入门-计数器
本文介绍了计数器在时序逻辑电路中的设计与应用。通过寄存器实现计数器功能,可精确控制信号时间关系。文章详细讲解了两种实现方式:不带标志信号和带标志信号的计数器设计,重点分析了波形图绘制、代码编写及仿真验证过程。其中,带标志信号的方法引入了脉冲标志信号(flag),可提高代码清晰度和资源利用率。最后通过LED闪烁实验(1秒间隔)进行上板验证,展示了计数器的实际应用。文章还总结了计数器设计的关键点,包括参数化设计、波形分析、硬件思想等,并提供了拓展训练题目。
2025-08-28 17:23:40
1227
原创 FPGA入门-阻塞赋值/非阻塞赋值
本文详细讲解了Verilog中阻塞赋值(=)与非阻塞赋值(<=)的区别与应用场景。阻塞赋值是立即执行的顺序操作,适合组合逻辑设计;非阻塞赋值是时钟沿触发的并行操作,适合时序逻辑设计。通过实例分析和仿真对比,展示了两种赋值方式在电路综合和波形上的差异:阻塞赋值导致信号延迟一拍,非阻塞赋值产生两拍延迟。文章最后给出设计规范建议:时序逻辑用非阻塞赋值,组合逻辑用阻塞赋值,避免混用赋值方式,并保持always块的变量赋值单一性。正确理解和使用这两种赋值方式对实现预期电路功能至关重要。
2025-08-27 10:18:35
1209
原创 FPGA入门-避免Latch的产生
本文讲解了锁存器(Latch)的概念、危害及避免方法。锁存器是一种电平敏感的存储单元,在异步电路中有用但在同步电路中应避免。其危害包括对毛刺敏感、不定态、增加时序分析难度和资源消耗。文章列举了三种易产生锁存器的错误写法:组合逻辑中if无else分支、case语句不完整且无default、输出变量自赋值。通过RTL视图展示了这些错误产生的锁存器结构,并强调在组合逻辑中必须确保输出在任何条件下都有确定值。最后指出随着综合器优化,能更好识别设计者意图,但规范编码仍是避免意外锁存器的关键。
2025-08-26 18:02:25
1085
原创 FPGA入门-时序逻辑
本文摘要:本章介绍了FPGA时序逻辑设计的基础单元——寄存器(D触发器)。重点讲解了同步复位和异步复位D触发器的区别,包括复位条件、波形特点和Verilog实现方式。通过按键控制LED的实例,演示了时序逻辑设计流程:模块分析、波形绘制、代码编写(同步/异步复位实现)、仿真验证和上板测试。文章强调时序逻辑"延一拍"的特性,对比了组合逻辑与时序逻辑的差异,并推荐在Intel芯片中使用异步复位以节省资源。最后总结了always语句块描述时序逻辑的用法和关键知识点,包括D触发器原理、波形分析方法
2025-08-25 14:19:41
1599
原创 FPGA入门-层次化设计
本文介绍了数字电路设计中的层次化设计方法,重点讲解了自底向上和自顶向下两种设计思路。通过全加器实例,演示了如何利用半加器模块进行层次化设计:首先分析全加器功能需求,将其拆分为两个半加器和一个或门电路,然后详细说明了模块间的信号连接关系。文章提供了完整的Verilog代码实现、仿真验证方法和FPGA上板测试步骤,并对比了层次化设计与单一模块设计的特点。最后强调层次化设计在复杂项目中的重要性,建议读者通过拓展训练加深理解。
2025-08-22 10:45:15
1669
原创 FPGA入门-半加器
摘要 本章介绍了半加器的设计与实现,重点讲解了其原理、Verilog代码编写及硬件验证过程。半加器用于两个1位二进制数的加法运算,输出和(sum)与进位(cout)。实验使用开发板按键作为输入(KEY1、KEY2),LED灯(D6、D7)分别显示和与进位结果。通过真值表分析、波形仿真和上板验证,确认了设计的正确性。代码采用简单的组合逻辑实现,综合后生成加法器单元。本章为后续全加器及层次化设计奠定基础,并提供了拓展训练建议,如用always语句或与非门实现半加器。
2025-08-21 15:33:06
320
原创 FPGA入门-38译码器
摘要:本文介绍了使用Verilog语言实现3-8译码器的设计过程。首先讲解了译码器的基本概念和工作原理,重点分析了3-8译码器在I/O端口扩展中的应用优势。然后通过两种实现方法(if-else和case语句)详细展示了代码编写过程,并对比了两种方法的RTL视图差异。文章还包含了完整的仿真验证流程,通过波形分析和打印结果验证了设计的正确性。最后总结了位拼接运算符等关键语法点,并建议读者通过拓展训练进一步理解if-else和case语句的差异。整个设计过程完整展示了从理论到实现的数字电路开发流程。
2025-08-20 09:46:34
1267
原创 FPGA入门-多路选择器
本文介绍了使用Verilog语言设计2选1多路选择器的完整流程。首先阐述了多路选择器的基本概念和工作原理,然后详细说明了硬件实验平台(包括按键和LED的连接方式)。重点讲解了三种Verilog实现方式:always块中的if-else语句、case语句以及assign语句中的三元运算符。文章还包含了仿真验证方法,展示了如何编写测试平台(testbench)和使用ModelSim进行波形分析。最后给出了FPGA开发板的上板验证步骤,包括引脚配置和实际测试结果。通过对比三种实现方式的RTL视图,说明虽然代码写法
2025-08-19 10:01:32
1454
原创 FPGA入门-点亮LED灯
本文详细介绍了使用FPGA开发工具点亮LED灯的完整开发流程。主要内容包括:1)建立规范的工程文件夹体系;2)通过Visio绘制模块框图和时序波形图进行前期设计;3)使用Quartus II创建工程、编写RTL代码;4)采用ModelSim进行功能仿真验证;5)进行管脚约束、全编译和程序下载;6)将程序固化到Flash存储器。文中重点讲解了FPGA开发的规范化流程和方法,包括设计规划、模块划分、波形设计、代码编写、仿真验证等关键步骤,并通过LED控制实例演示了从设计到实现的全过程。最后建议读者独立完成整个流
2025-08-18 09:37:52
891
原创 FPGA基础
本文是FPGA开发的基础入门指南,主要介绍了Verilog HDL语言的基础知识。文章首先对比了Verilog与VHDL、C语言的区别,强调Verilog更适合初学者。然后详细讲解了Verilog的核心语法,包括标识符、逻辑值、常量变量、参数、赋值语句、运算符优先级等基本概念,以及条件语句(if-else/case)、双向端口(inout)等关键语法。最后介绍了Verilog中的系统任务和函数,如$display、$monitor等仿真调试工具。作者建议初学者不必强记所有语法,而应通过后续实践项目逐步掌握。
2025-08-15 15:40:09
3144
原创 TSN协议原理-802.1AS(gPTP)协议一致性测试规范详解(下)
凉冰出品!必属精品!一定要看!!本文基于gPTP协议一致性测试规范详细解读后得出,从name,测试需求,设计目的,测试方法,部件与系统,备注,测试配置,测试步骤,期望结果多个维度详细解读。本文从测试的角度进一步理解gPTP,对于协议细节有了更深刻的认识。
2025-08-12 09:41:03
1450
原创 TSN协议原理-802.1AS(gPTP)协议一致性测试规范详解(上)
必属精品!一定要看!!!本文基于gPTP协议一致性测试规范详细解读后得出,从name,测试需求,设计目的,测试方法,部件与系统,备注,测试配置,测试步骤,期望结果多个维度详细解读。本文从测试的角度进一步理解gPTP,对于协议细节有了更深刻的认识。
2025-08-11 17:50:41
1490
原创 TSN协议原理-Automotive gPTP 协议详解-从原理讲明白车载gPTP为什么不同及异常处理
一定要看!! 本文通过对车载gPTP协议规范精读后总结 对车载gPTP值的配置,车载gPTP行为操作,以及异常处理进行详细分析。
2025-07-30 09:23:07
1259
原创 TSN协议原理-最详细全面的 IEEE 802.1AS(gPTP) 协议深度解析学习
一定要看!!最详细全面的gPTP深度解析,配图文表格公式:gPTP架构分析,时间同步协议流程与分层分析,不同版本更进内容,gPTP报文规范与解释,车载gPTP分析。
2025-07-25 17:36:51
4254
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅