自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(724)
  • 资源 (73)
  • 收藏
  • 关注

原创 一文搞懂工业通讯:RS232/485/422、RJ45与Modbus协议全解析

选型要点:反向工作电压VRWM ≥ 1.1 × 系统最大电压,钳位电压VC < 收发器最大耐受电压(通常<15V),结电容Cj < 30pF,避免信号畸变;本文将为你剥丝抽茧,将硬核的通讯接口参数和协议原理转化为结构清晰的技术科普,带你彻底搞懂 RS232、RS485、RS422、RJ45 以及 Modbus 协议。Modbus 是一种应用层协议,采用主从架构(Master-Slave),是工业领域的事实标准。基于TCP/IP协议,传输速率10/100/1000Mbps,通信距离。

2026-05-13 11:32:48 321

原创 希尔伯特变换:给信号做个“全身体检”的数学黑科技

从宏大的基站天线到微小的芯片,从轰鸣的工业厂房到静谧的医院诊室,希尔伯特变换以一种“润物细无声”的方式,支撑起了现代信息社会的半壁江山。通过希尔伯特变换构造解析信号,我们可以轻松提取出音频信号的瞬时幅度包络,这个包络信息反映了声音能量的起伏变化,被广泛用于自动增益控制和动态范围压缩,让轻柔的音符更清晰,爆炸声也不会过于刺耳,优化整体听感。从HIFI耳机的音质优化,到手机语音助手的语音增强,再到现场演出的啸叫抑制,希尔伯特变换以其数学之美,让我们听到的声音更加清晰动听。

2026-04-13 09:03:58 533

原创 一文读懂:控制界的万能公式——PID算法到底是什么?

当你能够在一遍遍的调试与观察中,让示波器上的波形从剧烈振荡变为一条平滑完美的直线时,你便真正掌握了这门控制艺术的精髓。:PID算法的数学公式极为简洁,占用单片机或PLC的计算资源极小。则是:你一直盯着水位计(传感器获取实际值),在脑海中计算当前水位与1米目标的差距(计算误差),然后根据这个差距不断调整水龙头的开关大小(输出控制量),直到水位精准停在1米。:经过近百年的工业实践验证,PID算法在面对外界干扰和系统内部参数漂移时,展现出了极强的抗干扰能力(鲁棒性),在多数场景下都能实现安全、可靠的控制。

2026-03-31 11:22:16 99

原创 希尔伯特变换

对于信号 x(t),它的希尔伯特变换记作:x^(t)=H{x(t)}=π1​∫−∞∞​t−τx(τ)​dτ。希尔伯特变换最大的作用是:把实信号变成 “复解析信号”,从而轻松提取瞬时幅度、瞬时相位、瞬时频率。这是专业变声软件(如变声器、Audition)里高质量变声的核心算法。解析信号求导就能得到瞬时频率:f(t)=2π1​dtdϕ(t)​。z(t):只含正频率,能直接求瞬时频率/相位,用来做自然变声。简单说:希尔伯特变换 = 信号与 1/(πt) 做卷积。h[n]={πn2​0​n 为奇数n 为偶数​。

2026-03-24 15:00:38 124

原创 硬核干货 | Xilinx FPGA 时钟之心:MMCME2_ADV 全面详解

在 FPGA 的浩瀚宇宙中,时钟系统不仅是驱动逻辑运转的“心脏”,更是决定系统稳定性与性能上限的“指挥棒”。MMCME2_ADV(Mixed-Mode Clock Manager Advanced)是 Xilinx 7 系列 FPGA(Artix-7, Kintex-7, Virtex-7)中最高级的硬核时钟资源。(DADDR, DCLK, DEN, DWE, DI, DO, DRDY) 通过类似总线读写的方式,在线修改倍频/分频系数,实现“变频”功能。简而言之,它是 FPGA 时钟树设计的核心模块。

2026-03-16 11:30:59 470

原创 STM32驱动LCD1602A

本文介绍了LCD1602A液晶显示模块的硬件接口定义和STM32驱动程序实现。内容包含:1)引脚功能定义,详细说明了RS、RW、E及各数据线D0-D7对应的GPIO端口和引脚配置;2)时序图展示,提供了读写操作的关键时序要求;3)信号真值表,明确了不同控制信号组合对应的操作模式;4)完整的STM32驱动源码,通过宏定义实现了对LCD1602A各控制线的操作函数,包括初始化GPIO时钟和设置高低电平的函数封装。该驱动代码为基于HAL库的LCD1602A模块控制提供了完整实现方案。

2026-03-10 17:31:27 119

原创 Xilinx FPGA 输入延迟原语:IDELAYE2 与 IDELAYE3 详解

本文将深度剖析 Xilinx 7 系列(IDELAYE2)与 UltraScale 系列(IDELAYE3)的底层原理,带你彻底攻克输入延迟校准难题。它采用“抽头(Tap)”式结构,共有 32 个 Tap,每个 Tap 平均延时约 78ps(受参考时钟影响),总延时范围 0 ~ 2.5ns。IDELAY 的作用,就是位于 FPGA IO Pad(焊盘)与内部逻辑之间,通过精确控制延时链(Delay Line),在亚纳秒级别“微调”输入信号的到达时间。在 DDR 等应用中,必须与 ISERDES 级联使用。

2026-03-02 10:05:45 519

原创 DAC的axi4-dma接口设计(AD9767)

在 AN9767 模块设计中, AD9767 芯片是工作在双端口模式,双通道的 DA 数字输入接口是独立分开的。AD9767 芯片的数字接口可以通过芯片的模式管脚(MODE)来配置成双端口模式(Dual)或。 输出接口: 2 路 BNC 模拟输出接口(用 BNC 线可以直接连接到示波器); 工作温度: -40°~85°模块使用芯片均满足工业级温度范围。 模块 PCB 层数: 4 层,独立的电源层和 GND 层; DA 转换芯片: AD9767; 输出电压范围: -5V~+5V;

2026-02-27 09:55:04 181

原创 低速ADC的axi4-dma接口设计(AD7606)

AD7606是一款集成式8 通道同步采样数据采集系统,片内集成输入放大器、过压保护电路、二阶模拟抗混叠滤波器、模拟多路复用器、 16 位 200 kSPS SAR ADC 和一个数字滤波器, 2.5 V 基准电压源、基准电压缓冲以及高速串行和并行接口。AD7606 采用+5V 单电源供电, 可以处理±10V 和±5V 真双极性输入信号, 同时所有通道均以高达 200KSPS 的吞吐速率采样。它采用单电源工作方式,具有片内滤波和高输入阻抗, 因此无需驱动运算放大器和外部双极性电源。

2026-02-27 09:47:19 327

原创 低速ADC的axi4-dma接口设计(AD9280)

AD9280 是亚德诺(ADI)推出的一款8 位、32 MSPS、单电源、低功耗流水线型模数转换器(ADC),集成采样保持与基准源,适合高速数据采集、通信与成像系统。电源:单电源 +2.7 V~+5.5 V,3 V 供电时功耗约 95 mW。最高采样率:32 MSPS(另有 80/100 MSPS 版本)输入:单端 / 差分可选;架构:多级差分流水线(Pipeline),保证全温无失码。温度范围:工业级 -40°C~+85°C。基准:片内可编程基准,也可外接基准。休眠模式:功耗降至 <5 mW。

2026-02-26 14:32:08 188

原创 低速DAC的axi4-dma接口设计(AD9708)

AD9708 是 8 位, 125MSPS 的 DA 转换芯片,内置 1.2V 参考电压,差分电流输出。芯片内部结构图如下图所示。

2026-02-11 11:19:37 237

原创 详细解释xilinx源语的使用:MMCME2_ADV

属性类型允许值默认值描述BANDWIDTH字符串指定MMCM编程算法,影响MMCM的抖动、相位裕量和其他特性。3位有效数字浮点数2.000 到 64.0005.000若需要不同频率,指定对全部CLKOUT时钟输出的乘法因子。该数值结合相关的CLKOUT#_DIVIDE值和DIVCLK_DIVIDE值确定输出频率。3位有效数字浮点数-360.000 到 360.0000.000指定时钟反馈输出的相位偏移(度)。偏移反馈时钟会导致MMCM所有输出时钟产生负相位偏移。

2026-02-11 10:35:58 1021

原创 HDMI dvi_decoder详细解析

像素时钟 (pixelclk):视频像素速率时钟(如74.25MHz、148.5MHz等)Bitslip后需要3个clk_div_in周期稳定(kBitslipDelay=3)串行时钟 (serialclk):像素时钟的5倍频(用于串并转换)总延迟范围:0-30 × 78.125ps ≈ 0-2.34ns。参考学习:详细解释xilinx源语的使用:IDELAYCTRL。串并转换:将1位高速串行数据转换为10位并行数据。每个IDELAYE2:31个tap(0-30)需要保持至少1个clk_div_in周期。

2026-02-09 10:08:41 848

原创 fpga lvds接口显示屏驱动

该Verilog模块实现LCD到LVDS的数据格式转换。模块接收350MHz和50MHz时钟信号,将输入的24位RGB数据(lcd_red/green/blue)和使能信号(lcd_de)转换为4对LVDS差分信号输出。通过lvds_tx模块将重组后的28位数据(包含RGB数据和使能信号)串行化,再通过OBUFDS缓冲器转换为差分信号输出。转换过程将RGB数据按特定位序分配到4个LVDS通道,最高位通过lvds_ind3传输。该设计支持低速(50MHz)和高速(350MHz)时钟域,实现了LCD显示数据到L

2026-02-06 10:52:43 69

原创 dvi_encoder编码模块的解析

将8位像素数据+2位控制信号编码为10位直流平衡的TMDS码流,用于DVI/HDMI数字视频传输。

2026-02-06 10:08:47 194

原创 xilinx源语OSERDESE2 的应用HDMI接口rgb2dvi

DVI 数字视频接口发送器(Transmitter) 的 FPGA 实现代码架构。

2026-02-05 14:36:46 162

原创 详细解释xilinx源语的使用:IDELAYE2和IDELAYE3

/ 完整的数据位对齐模块input wire dqs, // 数据选通input wire [7:0] dq_in, // 8位数据输入output wire [63:0] data_out // 并行数据输出// 延迟控制信号// 每个数据位都需要独立的IDELAYgenvar i;i < 8;// IDELAYE2实例.IDELAY_VALUE (10), // 初始值。

2026-02-02 14:31:27 287

原创 详细解释xilinx源语的使用:IDELAYCTRL

IDELAYCTRL 是 Xilinx FPGA(特别是支持高速 I/O 的系列,如 Virtex-5/6/7、Kintex-7、Artix-7、Spartan-6/7 等)中用于管理和校准输入延迟模块(IDELAYE2/IDELAYE3)的必须存在的参考时钟控制模块。

2026-01-31 14:39:21 155

原创 zynq 是不是有了设备树,再linux中不需要编写驱动也能控制

dts// 设备树配置// 需要对应的驱动❌ 这种情况:必须编写驱动实现 mycompany,mydevice 的匹配和处理。哪些设备可以"无驱动"使用?内核已有通用驱动的设备:设备类型 兼容字符串 用户空间接口GPIO 按键 "gpio-keys" /dev/input/eventXRTC时钟 "ds1307" /dev/rtc0看门狗 "wdog" /dev/watchdog温度传感器 "lm75" /sys/class/hwmon/用户空间直接访问的设备:bash。

2026-01-27 13:52:48 682

原创 ZYNQ linux驱动 (1)

本文介绍了Linux驱动程序的分类与实现原理。主要内容包括:1) Linux驱动程序分为字符设备、块设备和网络设备三类,分别具有不同的访问特点和典型设备;2) 详细阐述了每类设备的特点、典型实例及对应的内核API接口结构;3) 通过一个字符设备驱动示例代码,展示了驱动程序的注册、操作函数实现和模块加载/卸载过程。该示例实现了基本的打开、读写和关闭操作,演示了内核与用户空间数据交换的典型方法。文章为理解Linux设备驱动开发提供了基础框架和实践参考。

2026-01-26 11:13:10 61

原创 ZYNQ MPSOC SD卡启动盘制作

本文介绍了嵌入式Linux系统移植tslib和Qt库的完整流程。首先将boot文件拷贝到SD卡FAT32分区,解压rootfs到EXT4分区。随后移植tslib库,配置环境变量指定输入设备和显示参数。接着移植Qt库到系统目录,设置Qt运行环境变量。最后测试验证了tslib的触摸功能和Qt示例程序的运行效果。整个过程详细展示了嵌入式系统触摸屏和图形界面的配置方法,为嵌入式GUI开发提供了实用参考。

2026-01-22 09:51:09 73

原创 zynq mpsoc 以太网联网脚本

摘要 本文提供了两种Linux网络配置脚本:静态IP和动态IP设置。静态IP脚本使用ifconfig配置固定IP地址、子网掩码和广播地址,并包含root权限检查。动态IP脚本通过ip命令管理网口状态,使用udhcpc工具通过DHCP自动获取IP地址。两个脚本均包含状态反馈功能,执行后会显示当前网络配置信息。文末附有相关配置示意图。

2026-01-17 10:19:35 72

原创 zynqmpsoc linux如何启动自动执行.sh

本文介绍了如何通过修改profile文件实现脚本自启动。方法是在/etc/profile.d/目录下创建脚本文件myscript.sh,添加执行路径并赋予可执行权限。具体步骤包括:1)使用sudo nano命令创建脚本;2)在脚本中添加要执行的程序路径;3)保存后即可实现开机自动运行。文中配有操作截图辅助说明修改过程。该方法适用于Linux系统下配置开机自启动脚本的需求。

2026-01-17 09:25:18 101

转载 基于 FPGA LMS 算法的自适应滤波器设计

完成整个系统的搭建,最后下板测试,下板测试结果如图3-5所示,使用Vivado的ila工具,抓取数据源和滤波结果,从抓取到的波形可以看出,滤波后的信号效果比较理想,完成了自适应滤波的功能。MATLAB仿真如图3-1和图3-2所示,首先生成一个原始信号,和高斯噪声信号,并将噪声信号假如到原始信号中,再分别将原始信号和加噪后的信号作为参考信号dn和系统输入信号xn,最终通过自适应滤波算法,得到如图3-2所示的滤波结果,从图3-2分析可得,信号的滤波效果很好,误差很小,收敛于0.02。

2026-01-14 10:30:50 83

转载 <span class=“js_title_inner“>ZYNQ MPSOC VCU介绍</span>

由上图可知, 视频解码器单元的运行架构与编码器单元类似, VCU 解码器包括两个相互连接的HEVC/AVC 解码器(HEVC/H.264 Decoder core0~1),它还包含全局的寄存器(Global Registers)、中断控制器(Interrupt controller)和定时器(Timer)。由上图可知, VCU 拥有独立的视频编码单元(Encoder)和解码单元(Decoder),每个单元受微控制器单元(MCU)控制, MCU 控制来自 AXI 接口的待编码或解码的数据流。

2026-01-07 11:31:14 58

原创 ZYNQ MPSOC linux hello world

程序最终是需要运行在板卡上的,我们需要选择 arm 的编译器,为板卡编译程序。这里,我们选择 Petalinux 安装时,附带的编译器。1,运行下面命令,将 arm 编译器加入环境变量,环境变量仅在当前终端有效,后面命令要在当前终端完成。3,将程序导入到板卡运行。

2025-12-02 09:44:32 257

原创 <span class=“js_title_inner“>fpga实现音频预加重(pre-emphasis)滤波器</span>

平衡频谱:语音信号在产生过程中受到声门脉冲和口唇辐射的影响,天然具有大约-6dB/倍频程的高频衰减。提升高频特征:清辅音(如/s/、/f/、/th/)包含重要的高频信息但能量较弱,预加重能增强这些关键特征,提高识别准确率。1 .提升高频分量,平衡语音频谱,使得高频特征更加明显,便于后续的特征提取(如MFCC)。在CELP、ACELP等线性预测编码中,预加重使信号频谱平坦化,提高线性预测的准确性。录制时预加重:提升高频信号,克服磁带本底噪声(主要是高频噪声)。作用:这是预加重最经典和最重要的应用。

2025-11-25 11:28:53 309

原创 fpga实现音频预加重(pre-emphasis)滤波器

本文介绍了预加重滤波器在语音信号处理中的关键作用与应用。预加重通过一阶高通滤波器提升高频分量,平衡语音频谱,增强高频特征(如清辅音),改善信噪比。主要应用场景包括语音识别前端处理、语音编码、语音增强及FM广播等。文章详细阐述了预加重原理与传递函数,并提供了Matlab实现代码与时频域分析示例。最后给出了FPGA硬件实现方案,采用三级流水线结构处理16位定点数运算,其中预加重系数α=0.97(Q1.15格式)。实验结果表明预加重能有效提升语音高频分量,为后续特征提取奠定基础。

2025-10-25 10:34:30 234

原创 ZYNQ MPSOC VCU介绍

VCU(视频编解码单元)是Zynq UltraScale+ MPSoC EV型器件中集成的专用硬件IP核,用于高效完成视频编解码任务。它支持H.264/AVC和H.265/HEVC标准,最高支持4Kp60实时编解码,具有高性能、低延迟和低功耗特点。VCU包含独立的编码器和解码器单元,由MCU控制,通过AXI接口与系统交互。相比H.264,H.265采用更灵活的编码树单元,压缩效率提升约50%。VCU广泛应用于视频监控、视频会议等领域,可通过Xilinx官方文档和参考设计进一步学习。

2025-10-23 14:25:57 257

转载 基于FPGA的USB接口控制器设计(附代码)

方法是首先选择菜单File—>Open Device打开USB设备(如图64所示),如果打开设备成功,选择File—>Play Cube,在出现的密码输入框内输入密码,如果密码正确,立方体就会开始转动,并且cube程序在不时地和USB设备之间进行密码校验(可以看到PDIUSBD12的GOODLINK灯会不停的闪,这表示有数据传输)。可见,当一个总线上同时有两个驱动的时候,很有可能产生不定态 X,但是如果其中一个信号为高阻态 Z 的话,则是一个确定的状态(即另一个信号的状态)。

2025-10-22 11:30:34 143

原创 DAC1282 Programming

寄存器写入操作包含两字节操作码及后续一个或多个寄存器数据字节。命令首字节为写入操作码与寄存器地址的组合值,次字节指定单次连续写入的寄存器数量(实际值为n-1)。后续字节为待写入的寄存器数据。需注意,进行多寄存器写入操作时,若地址超过末位寄存器,地址指针不会自动回绕。寄存器读取操作包含两字节操作码输入,随后输出一个或多个寄存器数据字节。命令首字节为操作码与寄存器地址的组合值,次字节指定待读取的寄存器数量(实际值为n-1)。寄存器读取与寄存器写入命令均为两字节命令参数加若干数据字节,而复位命令为单字节命令。

2025-10-17 10:37:10 402

原创 FPGA的灰度质心法求取质心

灰度质心法(Gray-scale Centroid Method)是一种基于图像灰度分布的加权平均位置计算方法。它将图像的灰度值作为质量权重,计算图像的"质量中心"。3 FPGA 实现灰度质心法求取质心。2 matlab 实现灰度质心法。1. 离散图像的计算公式。2. 连续情况下的推广。是图像的灰度分布函数。类比物理学中的质心概念。

2025-10-14 11:30:57 508

原创 DAC1282寄存器介绍以及模式操作介绍

DAC1282A 与 DAC1282 的区别:主要体现在 GANMOD 寄存器的 GAIN[2:0] 位,DAC1282A 仅支持其中三个增益设置(1/1, 1/4, 1/16)。地址 (Address) 寄存器名称 (Register) 上电默认值 (Default) 位 7 位 6 位 5 位 4 位 3 位 2 位 1 位 0。DCG2: 最高有效字节 (MSB), Bits [7:0] = DCG[23:16]DCG0: 最低有效字节 (LSB), Bits [7:0] = DCG[7:0]

2025-10-11 16:36:23 1072

原创 fpga实现灰度质心法求取质心

本文介绍了灰度质心法的原理及其在MATLAB和FPGA上的实现方法。灰度质心法通过计算图像灰度分布的加权平均位置来确定图像的质量中心,其数学原理基于离散和连续图像灰度值的加权坐标计算。文章提供了MATLAB实现代码,包括图像读取、灰度转换、坐标网格创建和质心计算等步骤。同时,还给出了FPGA实现方案,采用Verilog HDL语言设计了状态机模块,能够实时处理视频流数据并输出质心坐标。两种实现方法均通过可视化方式展示了计算结果,验证了灰度质心法的有效性。

2025-10-08 14:41:27 239

原创 <span class=“js_title_inner“>ZYNQ/嵌入式ui设计用什么好?</span>

SEGGER官方页面: https://www.segger.com/products/user-interface/emwin/在国内有较多应用和支持。文档:https://github.com/zlgopen/awtk/blob/master/docs/README.md。微软官方页面:https://azure.microsoft.com/en-us/products/rtos/guix/文档: https://learn.microsoft.com/en-us/azure/rtos/guix/

2025-09-28 11:30:36 967

原创 ZYNQ自定义函数实现UI(源码)

ZYNQ UI设计合集:1,2,自定义函数设计的GUI效果展示信号发生器的GUI设计示波器的GUI设计。

2025-09-01 17:00:39 157

原创 嵌入式开发,裸机开发和OS开发区别以及各自优势?

极致的性能和效率:无OS开销,代码执行路径清晰,中断响应速度达到硬件极限。极低的成本:对MCU的ROM和RAM要求最低,可以选择更便宜、资源更少的芯片。完全的控制权:开发者对硬件和软件流程有绝对控制,便于进行极致的优化。确定性:程序流程简单,理论上更容易推导出最坏执行时间(WCET)。

2025-08-28 15:35:41 345

原创 ZYNQ/嵌入式ui设计用什么好?

本文介绍了嵌入式开发中常用的UI解决方案,分为三类: 轻量级字符/文本型UI:适用于无图形显示屏,如段码屏、字符LCD或串口命令行界面,包括自定义驱动和终端CLI(如linenoise)。 轻量级图形库:适用于低分辨率彩色屏,如LVGL(功能强大、开源)、emWin/STemWin(商用级稳定)、TouchGFX(STM32动画优化)、Qt for MCUs(跨平台需付费)等。 基于Linux的GUI框架:如Qt for Embedded Linux(功能完整)、Android(生态丰富)、GTK+(传统移

2025-08-26 14:20:49 177

原创 ZYNQ uGUI的设计与实现(1)

μGUI是一个轻量级开源GUI库,支持窗口、按钮、文本框和图片四种基本元素,允许自定义样式和交互功能。其核心特点包括:1)必须基于窗口构建界面;2)需周期性调用UG_Update()实现界面刷新;3)通过UG_TouchUpdate()支持触摸屏等坐标输入设备,结合窗口回调函数实现人机交互。该库仅包含ugui.c/h两个文件,适用于嵌入式系统开发,用户可自定义元素属性和交互逻辑。更多资源可通过官网或GitHub获取,包含使用手册和示例项目。

2025-08-25 14:55:21 244

原创 c语言将bmp图片转换成c语言数组

功能类似:主要针对超高分辨率图片。pack1pack。

2025-08-14 16:40:03 516

FPGA 实现DS18B20的温度采集显示

DS18B20 是常用的数字温度传感器,其输出数字信号来表示温度,具有体积小,硬件开销低,抗干扰 能力强,精度高的特点,又由于封装形式多样,适用于各种狭小空间设备数字测温和控制领域,也可应用 于锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。本章我们将使 用 FPGA 开发板学习如何使用 DS18B20 进行温度测量。 DS18B20 的内部结构主要由 8 部分组成: 64 位 ROM 和单线接口、存储器和控制逻辑、高速缓存器、 温度传感器、配置寄存器、高温触发器 TH、低温触发器 TL、 8 位 CRC 生成器。 verilog

2025-05-20

QT 下载:Download from your IP address is not allowed

Download from your IP address is not allowed 百度网盘永久连接: QT下载: qt-opensource-linux-x64-5.8.0.run: 链接:https://pan.baidu.com/s/1sQ3tqPaWdDnmhBYAc_XR7g qt-opensource-linux-x64-5.13.1.run: 链接:https://pan.baidu.com/s/1IZ2scvtzW1lK7SyUJQDAzQ qt-opensource-linux-x64-5.13.1.run: 链接:https://pan.baidu.com/s/1VI03aljuuGjTJwcFn9rh6w

2024-08-02

ZYNQ PS裸机开发RS485

RS485 是一种通用的通信标准,广泛用于数据采集和控制应用中。 它的主要优点之一是它允许将多个 RS485 设备放在同一条总线上,这使得多个节点可以相互连接。 RS-485是美国电子工业协会(EIA)在1983年批准了一个新的平衡传输标准(balanced transmission standard),EIA一开始将RS(Recommended Standard)做为标准的前缀,不过后来为了便于识别标准的来源,已将RS改为EIA/TIA。目前标准名称为TIA-485,但工程师及应用指南仍继续使用RS-485来称呼此标准。 RS-485仅是一个电气标准,描述了接口的物理层,像协议、时序、串行或并行数据以及链路全部由设计者或更高层协议定义。RS-485定义的是使用平衡(也称作差分)多点传输线的驱动器(driver)和接收器(receiver)的电气特性。 差分传输增加噪声抗扰度,减少噪声辐射 长距离链路,最长可达4000英尺(约1219米) 数据速率高达10Mbps(40英寸内,约12.2米) 同一总线可以连接多个驱动器和接收器 宽共模范围允许驱动器和接收器之间存在地电位差异,允许

2024-07-26

ZYNQ EMIO接口 SPI-OLED

OLED-RES、OLED-DC、OLED-SCLK、OLED-SDIN 直接连接到 Zynq GPIO,其中 RES 和 DC信号低电平有效;PIN7 VDD和PIN5 VBAT是高电平有效的,但是并非直接连接至Zynq GPIO,而是通过 PMOS 管进行驱动。根据 PMOS 管的导通特性可以知道,当 OLED_VBAT和OLED-VDD 为低电平时,3.3V的电压才会送到VBAT和VDD,换句话说,对于Zynq而言,VBAT和BDD是低电平有效。市面上大多是将VBAT和VDD直接连接到高电平,这样一来不需要额外的控制,但是功耗也相对高一些。Miz702和Miz702N开发板将VBAT和VDD 连接到Zynq GPIO,可以通过软件控制OLED的通、断电,可以降低整个板子的功耗。 CS:OLED片选信号。 RST(RES):硬复位OLED。 DC:命令/数据标志(0,读写命令;1,读写数据)。 SCLK:串行时钟线。在4线串行模式下,D0信号线作为串行时钟线SCLK。 SDIN:串行数据线。在4线串行模式下,D1信号线作为串行数据线SDIN。

2024-07-26

ZYNQ 学习定时器中断

定时器作为 PS 的重要组成部分,可以不受 CPU 的干预,自己独立运行,来完成计时、定时、中断以 及计算来自 MIO 或 EMIO 引脚的信号脉冲宽度等。 在 ZYNQ 嵌入式系统中,定时器的资源是非常丰富的,每个 Cortex-A9 处理器都有各自独立的 32 位私 有定时器和 32 位看门狗定时器,这两个 CPU 同时共享一个 64 位的全局定时器(Global Timer)。除此之外,PS 中还有一个 24 位的系统看门狗定时器(SWDT)和两个 TTC(Triple Timer Counters)。系统看门狗定时器可以在系统发生灾难性的故障时(如 PS 中的 PLL 工作异常)发出信号,使得系统程序重新启动,保证了系统安全可靠的运行。TTC 用于计算来自 MIO 引脚或 EMIO 引脚的信号脉冲宽度,每个 TTC 都有三个独

2024-07-26

ZYNQ EMIF进行PS与PL间的数据交互

AXI-EMC IP 是一个可以可以支持各种内存型号的控制器,利用这个IP可以非常方便地模拟各种类型的内存或者FLASH接口实现数据的交互和通信。以下是AXI-EMC IP的功能特性: 1、支持AXI4 Slave Memory Map 接口,数据宽度为32位和64位 2、支持写入/读取寄存器的可选AXI4-Lite Slave数据宽度为32位 3、支持AXI4增量和包传输 4、支持AXI4窄带和非对齐传输 5、最多支持四个外部存储器组 6、支持具有可配置字节奇偶校验和流水线级的同步SRAM 7、支持的内存类型

2024-07-19

ZYNQ AXI4 FDMA内存读写

果用过ZYNQ的都知道,要直接操作PS的DDR 通常是DMA 或者VDMA,然而用过XILINX 的DMA IP和 VDMA IP,总有一种遗憾,那就是不够灵活,还需要对寄存器配置,真是麻烦。对于我们搞 FPGA的人来说,最喜欢直接了当,直接用FPGA代码搞定。现在XILINX 的总线接口是AXI4总线,那么熟练自定义AXI4 IP挂到总线上就非常方便了。基于这个目的,定义了一个基于AXI4 FULL MASTER的IP,暂且取名为FDMA。

2024-07-19

ZYNQ FPGA实现电子相册

电子相册的实现就是通过按键来改变显示器的图片轮换。本节将通过ps端的按键来控制ARM选择不同的图片通过HDMI输出到显示屏。 ZYNQ FPGA实现电子相册

2024-06-01

ZYNQ PL PS中断 共享中断

当处理器收到中断,它会停下当前正在做的任务,然后跳转到需要处理的地方去。这和轮询的方式是 相反的,轮询是由软件同步获取设备的状态。在中断方式中,不需要由处理器不断地轮询设备的I/O端口来 查看是否需要处理,设备本身会中断处理器。中断(主要是硬件中断)可以进一步被分类为以下几种类型: • 可屏蔽中断(Maskable Interrupts,IRQ)——可通过在中断屏蔽寄存器中设定位掩码来关闭。触发可 屏蔽中断的事件源不是每次都是重要的。程序设计人员需要决定该事件是否应该导致程序跳到所需处理的 地方去。使用可屏蔽中断的设备包括定时器、比较器和ADC。 • 不可屏蔽中断(Non-Maskable Interrupts,NMI)——无法通过在中断屏蔽寄存器中设定位掩码来关闭。 这些是不可忽视的中断。NMI的事件包括上电、外部重启(用实际的按钮)和严重的设备失效。 • 处理器间中断(Inter-Processor Interrupts,IPI)——在多处理器系统中,一个处理器可能需要中断另一 个处理器的操作。在这种情况下,就会产生一个IPI,以便于处理器间通信或同步。 Zynq 芯片的P

2024-05-30

ZYNQ I2C 通信例程-EEPROM

EEPROM 是一种用于计算机系统的非易失性存储器,也常在嵌入式领域中作为数据的存储设备,在物 联网及可穿戴设备等需要存储少量数据的场景中也有广泛应用。 在ZYNQ 系列芯片的PS端IOP部分有两个I2C控制器(I2C0、I2C1),控制器的接口只需一根数据 线(SDA)和一根时钟线(SCL)。 功能概述:本实例使用ARM 侧IIC0 EMIO来读写E2PROM,先往E2PROM里面写8个数值,然后再读取出来,通过串口打印显示。 E2PROM 简介:EEPROM (Electrically Erasable Programmable read only memory)是指带电可擦可编程只读存储器。是一种掉电后数据不丢失的存储芯片。 EEPROM 可以在电脑上或专用设备上擦除已有信息重新编程。一般用在即插即用。在微机的发展初期,BIOS都存放在ROM(Read Only Memory,只读存储器)中。 E2PROM 背景知识:ROM内部的资料是在ROM的制造工序中,在工厂里用特殊的方法被烧录进去的,其中的内容只能读不能改,一旦烧录进去,用户只能验证写入的资料是否正确,不能再作任何修改。如

2024-05-24

Zynq-7000 PL端HDMI的显示控制

HDMI(High Definition Multimedia Interface)是高清晰多媒体接口线的缩写,能高品质地传输未经压缩的高清视频和多声道音频数据,最高数据传输速度为5Gbps。同时无需在信号传送前进行数/模或者模/数转换,可以保证最高质量的影音信号传送。 HDMI线支持5Gbps的数据传输率,最远可传输30米,足以应付一个1080p的视频和一个8声道的音频信号。而因为一个1080p的视频和一个8声道的音频信号需求少于4GB/s,因此HDMI线还有很大余量。这允许它可以用一个电缆分别连接DVD播放器,接收器和PRR。此外HDMI支持EDID,DDC2B,因此具有HDMI的设备具有“即插即用”的特点,信号源和显示设备之间会自动进行“协商”,自动选择最合适的视频/音频格式。如下图是一根HDMI线。

2024-05-24

ZYNQ ARM IIC EMIO读写ADXL345三轴陀螺仪

ADXL345是一款小而薄的超低功耗3轴加速度计,分辨率高(13位),测量范围达± 16g。数字输出数据为16位二进制补码格式,可通过SPI(3线或4线)或I2C数字接口访问。ADXL345非常适合移动设备应用。它可以在倾斜检测应用中测量静态重力加速度,还可以测量运动或冲击导致的动

2024-05-23

ZYNQ BRAM实现PS与PL数据交互

有时CPU需要与PL进行小批量的数据交换,可以通过BRAM模块,也就是Block RAM实现 此要求。本章通过Zynq的GP Master接口读写PL端的BRAM,实现与PL的交互。在本实验中 加入了自定义的FPGA程序,并利用AXI4总线进行配置,通知其何时读写BRAM。 以下为本实验原理图,CPU通过AXI BRAM Controller读取BRAM数据,CPU仅配置自定义 的PL BRAM Controller 的寄存器,不通过它读写数据。

2024-04-23

ZYNQ-PL读写PS端DDR数据

PL 和PS的高效交互是zynq 7000 soc开发的重中之重,我们常常需要将PL端的大量数 据实时送到PS端处理,或者将PS端处理结果实时送到PL端处理,常规我们会想到使用DMA 的方式来进行,但是各种协议非常麻烦,灵活性也比较差,本节课程讲解如何直接通过AXI总 线来读写PS端ddr的数据,这里面涉及到AXI4协议,vivado的FPGA调试等。

2024-04-23

基于FPGA的万年历实验

基于FPGA的万年历实验 verilog quartus ii lcd1602 显示

2024-01-09

基于FPGA的打地鼠实验

地鼠随机出现,通过按键打地鼠。 错误标志为高时,蜂鸣器发出滴滴声 verilog quartus II工程 //计数器对50MHz时钟计数,计数周期为0.5s always @(posedge clk or negedge rst_n) begin if(!rst_n) alarm_cnt <= 25'd0; else if(alarm_cnt < 25'd12500) alarm_cnt <= alarm_cnt + 25'd1; else alarm_cnt <= 25'd0; end

2024-01-09

FPGA 篮球计分器设计

该模块与我们的 FPGA 开发板搭配可实现电子篮球计分牌的功能 1.可显示 A 队 B 队的得分,通过按键实现加分减分功能 2.可显示 A 队 B 队的暂停次数,犯规次数 3.可显示每一节比赛的时间 4.可显示 24 秒倒计时 verilog设计

2023-12-30

Vivado DDS IP核仿真

Vivado DDS IP核仿真

2023-10-11

05-SFP-GTX.rar

aurora 8b10b 光纤传输

2023-09-22

基于FPGA 的cordic算法实现sin和cosine波形发生器

CORDIC算法原理利用简单的移位就实现,主要用于三角函数、双曲线、指数、对数的计算,在以二进制操作为基础的FPGA硬件中就显得尤为重要。虽然现在的fpga有了集成IP核,但是对于其基本原理还是需要关注的。 基于个人理解,本文主要对该算法进行简单推导,同时利用matlab进行仿真,并在fpga中实现。

2023-07-03

基于FPGA的cordic算法实现DDS-sincos

verilog实现cordic算法产生dds sin和cos波形产生。 CORDIC(Coordinate Rotation Digital Computer)算法即坐标旋转数字计算方法,是J.D.Volder1于1959年首次提出,主要用于三角函数、双曲线、指数、对数的计算。该算法通过基本的加和移位运算代替乘法运算,使得矢量的旋转和定向的计算不再需要三角函数、乘法、开方、反三角、指数等函数。 本文是基于使用Verilog HDL设计实现Cordic算法,实现正弦、余弦、反正切函数的实现。将复杂的运算转化成RTL擅长的加减法和乘法,而乘法运算可以用移位运算代替。Cordic算法有两种模式,旋转模式和向量模式。可以在圆坐标系、线性坐标系、双曲线坐标系使用。本文初步实现在圆坐标系下的两种模式的算法实现。

2023-07-03

基于FPGA驱动液晶显示器12864单色图片显示设计验证

基于FPGA驱动液晶显示器12864单色图片显示设计验证 包含verilog代码,quartus II工程的实现以及说明文档。 内容齐全,下板测试无误。 lcd1864 FPGA驱动 ,iic接口

2023-06-02

基于FPGA的五子棋游戏

FPGA verilog实现,vga显示,五个按键操作方向

2023-03-05

基于FPGA的64位8级流水线加法器

64位8级流水线加法器,即是将64位拆成8个8位进行运算,最后将8个8位运算的结果相加得出最后的和和进位位。采用8级流水线进行加法运算,则从第一次输入两个加数的第一个时钟起,需要第8个时钟周期对应的和才输出来,之后源源不断的输入加数,则和也不断的输出,如下图所示: 8级流水线需要将加法运算拆分成8个时钟周期来完成,每个时钟周期需要将前面计算得到的和、还未进行计算的加数进行缓存,由此,比如第1个8位计算得到的和就需要缓存7次,第2个8位计算得到的和就需要缓存6次,以此类推。同时,还要将未进行计算的加数进行缓存,比如[63:56]这个8位就需要缓存7次,[55:48] 这个8位就需要缓存6次。 第1个时钟周期:计算第1个8位的和,并加上前一个的进位位。缓存前面得到的和、未进行计算的加数 第2个时钟周期:计算第2个8位的和,并加上前一个的进位位。缓存前面得到的和、未进行计算的加数 第3个时钟周期:计算第3个8位的和,并加上前一个的进位位。缓存前面得到的和、未进行计算的加数 第4个时钟周期:计算第4个8位的和,并加上前一个的进位位。缓存前面得到的和、未进行计算的加数 第5个时钟周期:计

2023-03-05

ICC lab0-gui

icc学习 lab0_gui

2023-01-03

smic.18工艺的memory compiler

分享一个适用于smic.18工艺的memory compiler,亲测可用,我的运行环境是simics 3.04 + solaris 10, 具体的内容可以下下面的截图,包括分享的文件夹内容截图和MC正常运行并且成功生成sram的截图,有需要的朋友可以下载,希望能帮到各位

2022-12-15

基于FPGA的DS1302设计 quartus II

FPGA读写DS1302 RTC实验Verilog逻辑源码Quartus工程文件+文档资料, FPGA为CYCLONE4系列中的EP4CE6E22C8. 完整的工程文件,可以做为你的学习设计参考。 DS1302 FPGA module top( //sys input clk, input rst_n, output rtc_sclk, output rtc_ce, inout rtc_data, output [5:0] seg_sel, output [7:0] seg_data ); wire[7:0] read_second; wire[7:0] read_minute; wire[7:0] read_hour; wire[7:0] read_date; wire[7:0] read_month; wire[7:0] read_week; wire[7:0] read_year; seg_bcd seg_bcd_m0( .c

2022-12-01

基于FPGA MIPS CPU的设计

FPGA 1,Vivado工程 2,verilog代码 3,四个工程 4,手把手一步一步教你学习MIPS 设计CPU

2022-11-21

Synopsys DC工具学习 11课源码

Synopsys DC工具学习 11课源码 从入门到精通

2022-10-19

远程无线电子钢琴(基于Basys 3 FPGA开发板)

远程无线电子钢琴(基于Basys 3 FPGA开发板)

2022-07-14

基于FPGA实现坦克大战游戏 basy3

本设计是基于Xilinx Basys3的坦克大战游戏,通过Basys3板卡控制“坦克”的移动和射击,由拨码开关控制游戏的开始、模式选择等。游戏分为经典模式和无尽模式,经典模式中有4辆“敌方坦克”追击“己方坦克”,被击中后血量减一,直至血量为零后游戏终结,同时每击毁5辆坦克可使血量加一;无尽模式中以时间为游戏进度,倒计时结束后游戏终止,两种模式下击毁的坦克数均显示在开发板的数码管上。同时设置了道具机制,游戏中可随机掉落“加速”、“激光”、“冻结”等不同的道具,分别对应不同效果,丰富了游戏体验。 vivado basy3 verilog

2022-07-04

STM32驱动LCD1602A

STM32驱动LCD1602A

2026-03-10

要求设计一种可以自动或手动控制的智能加湿器,实现对环境温湿度的监控加湿的效果 需要学生应用QuartusII软件,完成仿真编程和原理图的绘制 该系统需要完成以下几项功能: 1.利用按键调整时间,切换

要求设计一种可以自动或手动控制的智能加湿器,实现对环境温湿度的监控加湿的效果。需要学生应用QuartusII软件,完成仿真编程和原理图的绘制。 该系统需要完成以下几项功能: 1.利用按键调整时间,切换模式(手动或自动)。 2.实时水位显示。 3.自动模式下,可以自动调节加湿器的状态,也可以进行手动调节。 4.自动模式下,环境湿度低于阈值,会声光报警

2026-01-09

zynq emio实现0.96寸oled的驱动

zynq emio实现0.96寸oled的驱动x显示

2025-08-13

FPGA DDR4读写测试实验

本实验为后续使用 DDR4 内存的实验做铺垫, 通过循环读写 DDR4 内存, 了解其工作原理和 DDR4 控制器的写法, 由于 DDR4 控制复杂, 控制器的编写难度高, 这里笔者介绍 XILINX 的 MIG 控制器情况下应用, 是后续音频、 视频等需要用到 SDRAM 实验的基础。

2025-06-24

FPGA LM75温度采集

LM75A 是一个高速 I2C 接口的温度传感器,可以在-55℃~+125℃的温度范围内将温度直接转 换为数字信号,并可实现 0.125℃的精度。控制器可以通过 I2C 总线直接读取其内部寄存器中的数 据,并可通过 I2C 对 4 个数据寄存器进行操作,以设置成不同的工作模式。LM75A 有 3 个可选的 逻辑地址管脚,使得同一总线上可同时连接 8 个器件而不发生地址冲突。LM75A 可配置成不同的 工作模式。它可设置成在正常工作模式下周期性地对环境温度进行监控,或进入关断模式来将器 件功耗降至最低。

2025-06-24

FPGA实现RTC实时时钟的数码管显示

PCF8563 是一款多功能时钟/日历芯片。因其功耗低、控制简单、封装小而广泛应用于电表、水表、传 真机、便携式仪器等产品中。 verilog

2025-05-20

FPGA实现eeprom的读写

FPGA实现eeprom的读写 EEPROM 是一种用于计算机系统的非易失性存储器,也常在嵌入式领域中作为数据的存储设备,在物 联网及可穿戴设备等需要存储少量数据的场景中也有广泛应用。 EEPROM (Electrically Erasable Progammable Read Only Memory, E2PROM)即电可擦除可编程只读存储 器,是一种常用的非易失性存储器(掉电数据不丢失), EEPROM 有多种类型的产品,我们开拓者开发板 上使用的是 ATMEL 公司生产的 AT24C 系列的 AT24C64 这一型号。 AT24C64 具有高可靠性, 可对所存数 据保存 100 年,并可多次擦写,擦写次数达一百万次。

2025-05-20

FPGA实现数字频率计

FPGA实现数字频率计 verilog

2025-05-20

FPGA实现DHT11数字温湿度采集显示

FPGA实现DHT11数字温湿度采集显示 DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它使用专用的数字模 块采集技术和温湿度传感技术,具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件 和一个 NTC(负温度系数热敏电阻器)测温元件,并与一个高性能 8 位 MCU 相连接。每个 DHT11 传感器 都在湿度校验室中校准过,校准系数以程序的形式储存在 OTP(一次性可编程)内存中,传感器内部在检 测信号的处理过程中要调用这些校准系数。 DHT11 使用单线制串行接口, 4 针单排引脚封装,信号传输距 离可达 20 米以上,在各类应用甚至很苛刻的环境中都能正常工作。 verilog

2025-05-20

空空如也

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

TA关注的人

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