- 博客(239)
- 收藏
- 关注
原创 2-DE10-Nano的HDMI彩条显示案例(分辨率可切换)—— VGA显示控制器模块设计
是一个可配置的 VGA 时序发生器,能生成标准的 VGA 行 / 场同步信号(vga_hs/vga_vs)、显示使能信号(vga_de),并在有效显示区域生成四色渐变测试图案(红 / 绿 / 蓝 / 白)。
2026-02-12 09:16:29
556
原创 1- DE10-Nano的HDMI彩条显示案例(分辨率可切换)(含Quartus完整工程免费下载)
本案例将介绍如何控制HDMI发送器(ADV7513)来输出视频和音频。
2026-02-04 14:25:43
621
原创 Altera FPGA 的 Avalon MM总线接口规范介绍(精简版)
Avalon总线是一种协议较为简单的片内总线,主要用于连接片内处理器与外设,以构成片上可编程系统(SOPC)。
2026-01-28 17:54:46
1083
原创 DE25-Nano开发板在Programmer的 Auto Detect 下检测出来的器件和友晶官方提供的工程里器件不一样有没有关系?
A5EA013BB23B是不带HPS的, A5EB013BB23B是带了HPS的。器件不同没有关系,它们的JTAG ID是一样的,不影响使用。
2026-01-21 11:05:35
175
原创 7-DE10-Nano的HDMI方块移动案例的整体实现(含Quartus完整工程免费下载)
每隔10ms移动的黑色方块,屏幕背景为白色,屏幕边框为绿色,方块遇到边框自行回弹反方向继续移动。
2026-01-14 10:26:53
1083
原创 6-DE10-Nano的HDMI方块移动案例——使用Modelsim仿真I2C控制器
ModelSim是Model Technology(Mentor Graphics的子公司)的HDL硬件描述语
2026-01-07 10:44:08
1044
原创 5-DE10-Nano的HDMI方块移动案例——基于FPGA的I2C控制模块设计
包含I2C写操作的实现、I2C三态门电路Verilog实现、I2C配置寄存器的Verilog实现。
2025-12-24 10:21:42
543
原创 4-DE10-Nano的HDMI方块移动案例——I2C通信协议
I2C(Inter-Integrated Circuit)是一种由飞利浦半导体(现为恩智浦半导体)在1980年代初开发的同步、串行、半双工的总线型通信协议。
2025-12-17 11:14:04
661
原创 3-DE10-Nano的HDMI方块移动案例——ADV7513芯片解读
ADV7513 接收数字视频数据,将其转换成符合 HDMI 标准的信号进行输出。
2025-12-10 17:56:44
984
原创 2-DE10-Nano的HDMI方块移动案例——HDMI接口介绍(含TMDS)
HDMI自问世以来,为了适应不同设备的需求,发展出了几种物理接口类型。同时,所有类型的HDMI接口都基于相同的核心信号定义(TMDS通道等19个引脚),只是物理尺寸和针脚排列不同,最常见的是Type A(标准HDMI接口)引脚排列和定义如下:注:1. 每个TMDS数据对(正、负)和时钟对都有自己的专用屏蔽线(Pin 2, 5, 8, 11),这对于保证高速信号传输的完整性和减少干扰至关重要。
2025-12-03 15:26:17
1080
原创 1-DE10-Nano的HDMI方块移动案例——显示器时序(DMT)标准介绍
HDMI既可以传输视频信号,也可以传输音频信号。HDMI接口显示使用DMT时序+TMDS编码来实现。当用FPGA控制HDMI的数据传输时,通常可以采用纯RTL实现TMDS算法或者使用专门的HDMI芯片(如ADV7513)这两种方案来完成。本文主要是介绍如何用FPGA控制ADV7513实现HDMI画面显示和音频播放。DMT(Display Monitor Timing)是由VESA(视频电子标准协会)制定的显示器时序标准,用于定义计算机显示器的视频信号参数。是现代数字显示设备的核心规范。
2025-12-01 15:05:10
879
原创 【答疑解惑】移植FPGA工程时遇到Nios II 工程的elf文件下载失败(Nios II IP核选择)
所以这里改选Nios II/e, 重新Generate HDL... ,重新编译工程,生成的sof就是正常的了。找到Quartus工程的\output_files文件夹,发现除了之前保留的UART_USB_LED.sof文件(旧日期)外,还有一个新的UART_USB_LED_time_limited.sof(当前日期),原来我前面操作当中Programmer下载的是带有_time_limited的sof文件。所以,遇到开头那种elf下载失败的报错,首先去查下载的sof文件是否存在问题。
2025-11-14 11:09:40
621
原创 Nios II 处理器的硬件抽象层(HAL)中文解说
另外,在HAL中还定义了常用的数据类型,这些定义在alt_type.h文件中,下面是alt_types.h文件内容的片段,从中我们可以看出,所有的数据类型都是以alt_开头,若是无符号类型,那么数据类型中含有“u”表示unsigned的意思,最后会用数据的位数来结尾,如8、16、32、64。对于I/O外设,HAL提供了一些宏定义来访问其中的寄存器,这些宏在<Nios II SBT 安装路径>/components/altera_nios2/HAL/inc/io.h中定义,以下是这些宏定义的详细介绍。
2025-11-14 11:07:31
747
原创 5-基于C5G 开发板的FPGA 串口通信设计 (FT232R, Altera UART IP和Nios II系统串口收发命令)
Quartus Prime软件中集成了UART控制器:UART(RS-232 Serial Port)Intel FPGA IP。UART(RS-232 Serial Port)Intel FPGA IP用于在Intel FPGA上的嵌入式系统与外部设备之间进行串行字符流通信。该IP实现了RS-232协议,并提供可调节的波特率、校验位、停止位和数据位。
2025-11-14 11:04:26
1067
原创 4-基于FPGA开发板DE10-Standard和T-Core的串口通信设计 (CH340)
DE10-Standard、T-Core、DE1-SOC以及DE10-Nano等开发板FPGA端没有板载UART电路,如果想在这些开发板FPGA端验证串口通信设计,可以通过这些板子的两根GPIO pin 去外接一个简单的USB-TO-TTL模块来实现。T-Core 开发板没有 UART 接口,将具有 UART 接口的 SIF 子卡连接到 T-Core 开发板上的 TMD 扩展接 口,则可在 T-Core 开发板上实现 UART 串口收发功能。然后双击CH341SER.EXE安装包将驱动安装到您的PC。
2025-11-14 10:59:24
1221
原创 3-基于FPGA开发板OSK/TSP/C5P的串口通信设计 (CP2102N)
本文详细介绍基于Terasic FPGA开发板TSP(又名C5P和OSK)和其板载CP2102N USB-UART桥接芯片的串口通信系统设计与实现。提到在使用UART转USB口之前,主机需要安装串口驱动程序,在操作系统中创建一个虚拟串口(如 COM3)。这样,上位机软件就可以像操作传统串口一样,通过这个虚拟串口与 FPGA 通信了。,Quartus工程下载:参见本文末,本工程使用Quartus 17.1 Lite版本,仿真(仿真设置步骤请参考。通过网盘分享的文件:TSP_UART.rar。
2025-11-14 10:55:28
615
原创 2-基于FPGA开发板DE23-Lite的串口通信设计 (FT2232H)
第三个波特位时间内,rx先发送低电平起始位,然后rx接收第二个测试数据11110000(低位在前,8'hF0),最后发送高电平停止位;第四个波特位时间内,rx先发送低电平起始位,然后rx接收第二个测试数据00001111(低位在前,8'h0F),最后发送高电平停止位;第一个波特位时间内,rx先发送低电平起始位,然后发送8bit数据01010101(低位在前,8'h55),最后发送高电平停止位;tx则一直是高电平。:等待一个完整的位周期(停止位),然后将接收到的数据输出,并产生一个时钟周期的接收完成信号。
2025-11-14 10:51:33
701
原创 1-串行通信基础知识
就拿DE2-115开发板上的RS232接口来说,RS232的电平使用负逻辑电平,和FPGA 的电平(TTL)不一样,需要中间的转换芯片,DE2-115开发板采用的是ZT3232LEEY,将+-15v的逻辑电平转换为TTL电平。它只在板级或极短距离内有效,因为 TTL 电平抗干扰能力差,传输距离短。但DB9的体积比较大,为了节省开发板的空间,现在大多用USB口替代,比如C5G和TSP开发板,分别用FT232R和CP2102N来作为USB电平和TTL电平之间的转换,以及uart协议和USB协议之间的转换。
2025-11-14 10:40:16
708
原创 最新版Quartus Prime Pro 25.1 的安装和使用演示(含Questa仿真)
如果用户开发板是基于Agilex 3、Agilex 5等高阶器件,则需要安装高版本的Quartus软件比如Quartus Prime Pro 25.1版本,这个版本在安装包和license获取(免费)等方面跟以往的Quartus软件略有不同,本文将一步步演示该版本的软件安装、工程创建和仿真验证。: 若在运行RTL Simulation时没有Questa 软件出现,可能是license文件的环境变量没有设置,或者是设置了环境变量但没有重启Quartus软件让变量生效。
2025-09-24 10:49:08
2223
原创 06-基于FPGA和LTC2308的数字电压表设计-ModelSim仿真与Matlab模拟信号产生
(注: 上述仿真代码会访问一个s_sample.txt文件,该文件是事先用matlab代码生成的专为硬件测试用的激励信号源,仿真时放在C:\Users\Test\Desktop\digital_voltmeter路径下)test_bench的核心是模拟ADC LTC2308采集的数据,并将采集的数据按照要求时序,按位赋给ADC_SDO信号。单独安装),现在,我们需要将Modelsim 的安装路径设置一下,然后就才可以自动调用我们指定的仿真工具。s_sample.txt文件内容如下:。
2025-09-24 10:40:01
1083
原创 05-基于FPGA和LTC2308的数字电压表设计-用FPGA实现SPI协议通讯
接下来看看320这个数值是如何计算出来的。然后根据LTC2308的时序图标记出配置字的三个阶段(三个状态):config_init(配置初始化时间段) 、config_enable(可配置时间段) 和 config_done(配置完成时间段)。config_init(配置初始化时间段):初始状态下,将配置字的高字节赋给ADC_SDI。config_enable(可配置时间段):将配置字剩余的5个bit逐个赋给ADC_SDI。config_done(配置完成时间段):配置完成阶段将0赋给ADC_SDI。
2025-09-24 10:33:29
576
原创 04-基于FPGA和LTC2308的数字电压表设计-SPI协议详解
SPI(Serial Peripheral Interface)是串行外设接口的缩写,SPI是一种高速、主从模式、全双工、同步的串行通信总线,由摩托罗拉公司(Motorola)于 20 世纪 80 年代提出,主要用于短距离内的芯片间通信,广泛应用于传感器、存储器、显示屏、ADC/DAC 等外设与微控制器(MCU)的连接。
2025-09-24 10:31:46
1089
原创 03-基于FPGA和LTC2308的数字电压表设计-LTC2308数据手册解读
当为单端输入时,每个通道相对于COM端,单极性状态下可以输入0~4.096V的范围,双极性为±2.048V的范围,其中,负数是以2的补码形式表示。O/S在差分方式下,控制两个信号的正负极性,当O/S为1时,表示奇数通道输入信号的符号为正,偶数通道输入信号的符号为负;当O/S为0时,表示奇数通道输入信号的符号为负,偶数通道输入信号的符号为正。O/S在单端模式下,当O/S为1时,表示奇数通道输入信号的符号为正;在单端模式下,S1、S0构成2位通道选择信号,用于选择奇数通道里的4个通道以及偶数通道里的4个通道。
2025-09-24 10:27:48
787
原创 02-基于FPGA和LTC2308的数字电压表设计-模数转换原理
假设输入的模拟量为3.2V, A/D转换器的基准电压是5V,根据逐次比较型A/D转换器的工作原理,电路启动后,第一个CP将移位寄存器置为10000000,该数字经数据寄存器送入D/A转换器。例如要将0~1V的模拟电压转换为3位二进制码,取Δ=1/8V,采用舍尾取整法,凡数值在0~1/8V之间的模拟量,都当作0Δ;传输门TG由取样信号S(t)控制,在S(t)高电平期间,TG导通,输出信号vo(t)等于输入信号vi(t),而在S(t)低电平期间,传输门关闭,输出信号vo(t)=0。
2025-09-23 18:03:00
1211
原创 01-基于FPGA和LTC2308的数字电压表设计(总概述)
(或者是DE1-SOC、DE25-Standard、C5G、TSP开发板也都支持,DE10-Nano、ADC-SOC、DE0-Nano-SOC 、TSOM(ADC在TSOM-BB底板上)这四种开发板上虽然有LTC2308器件,但是没有数码管显示,所以工程不能直接套用。3. 继续创建2个Verilog 文件(seg_display.v和adc_ltc2308.v),代码直接拷贝digital_voltmeter.zip里面的。通过FPGA对模数转换芯片(LTC2308)的采样控制,实现一个简易的数字电压表。
2025-09-23 17:58:11
1017
1
原创 基于DE1-SoC的My_First_oneAPI(二)
教程中的示例基于Nios II处理器嵌入式系统构建并在DE1-SoC开发板上运行,演示如何使用oneAPI工具包将用C++编写的高级直接内存访问(Direct Memory Access,DMA)代码转换为 RTL IP 代码,然后将生成的 IP 集成到Nios II嵌入式系统中。3. 安装完成后,修改PC的环境变量,新增变量名QUARTUS_ROOTDIR_OVERRIDE,变量值指向Quartus安装路径,比如E:\intelFPGA\23.1std\quartus。
2025-06-24 16:03:31
777
原创 基于DE1-SoC的My_First_oneAPI(一)
教程中的示例基于Nios II处理器嵌入式系统构建并在DE1-SoC开发板上运行,演示如何使用oneAPI工具包将用C++编写的高级直接内存访问(Direct Memory Access,DMA)代码转换为 RTL IP 代码,然后将生成的 IP 集成到Nios II嵌入式系统中。3. 安装完成后,修改PC的环境变量,新增变量名QUARTUS_ROOTDIR_OVERRIDE,变量值指向Quartus安装路径,比如E:\intelFPGA\23.1std\quartus。
2025-06-24 16:00:21
932
原创 第15篇:Linux设备驱动程序入门<二>
规范的Linux驱动模块包含的结构按顺序由头文件、模块参数、模块功能函数、模块加载函数、模块卸载函数和模块许可声明组成
2025-04-30 13:53:17
284
原创 第11篇:Linux程序访问控制FPGA端HEX<四>
在HEX5 ~ HEX0上从右往左滚动显示字符0123456789AbCdEF,每隔0.5秒滚动一个字符。
2025-04-18 13:55:50
481
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅