自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

weixin_47841246的博客

友晶科技分享FPGA干货

  • 博客(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

原创 【答疑解惑】如何临时解决带Nios II的FPGA设计在测试时遇到time_limited文件导致elf下载不了的问题

两种方法去临时解决该问题

2025-12-01 15:48:24 815

原创 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

原创 第22篇:Linux系统的Switch字符设备驱动设计

编写设计DE1-SoC-UP Linux系统的Switch字符设备驱动程序

2025-05-14 15:09:51 432

原创 第21篇:Linux系统的KEY字符设备驱动设计

编写设计DE1-SoC-UP Linux系统的KEY字符设备驱动程序

2025-05-14 09:18:29 193

原创 第20篇:Linux设备驱动程序入门<七>

编写定时器中断驱动内核模块

2025-05-09 13:48:50 539

原创 第19篇:Linux设备驱动程序入门<六>

扩展上一期的KEY中断内核模块程序,将计数值同时显示在HEX上。

2025-05-09 09:50:34 256

原创 第18篇:Linux设备驱动程序入门<五>

编写内核模块驱动程序响应按键中断,实现计数器功能

2025-05-07 14:52:33 405

原创 第17篇:Linux设备驱动程序入门<四>

编译、加载和卸载Linux设备驱动模块

2025-05-07 10:03:33 269

原创 第16篇:Linux设备驱动程序入门<三>

编写简单的Linux内核模块程序Hello World,以及Makefile文件用于编译驱动模块

2025-04-30 14:49:13 282

原创 第15篇:Linux设备驱动程序入门<二>

规范的Linux驱动模块包含的结构按顺序由头文件、模块参数、模块功能函数、模块加载函数、模块卸载函数和模块许可声明组成

2025-04-30 13:53:17 284

原创 第14篇:Linux设备驱动程序入门<一>

理解DE1-SoC-UP Linux系统的设备驱动程序。

2025-04-25 13:43:25 305

原创 第13篇:Linux程序访问控制FPGA端Switch<二>

写.c代码读取滑动开关SW的值显示在数码管HEX上。

2025-04-25 08:58:01 315

原创 第12篇:Linux程序访问控制FPGA端Switch<一>

写.c代码访问读取FPGA端的滑动开关SW的值。

2025-04-18 14:15:59 604

原创 第11篇:Linux程序访问控制FPGA端HEX<四>

在HEX5 ~ HEX0上从右往左滚动显示字符0123456789AbCdEF,每隔0.5秒滚动一个字符。

2025-04-18 13:55:50 481

空空如也

空空如也

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

TA关注的人

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