自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MATLAB应用笔记(1、LCR电路仿真)

本文通过MATLAB仿真分析了LCR电路的动态特性。首先建立了电路的微分方程并推导出传递函数H(s)=s/(5s²+6s+0.142857)。通过系统分析工具研究了电路特性:阶跃响应显示系统无超调但调节时间较长(165.2秒);波特图和根轨迹图揭示了系统在低频段的响应特性;极点分析表明系统稳定。最后仿真了0.027Hz正弦激励下的响应,验证了电压电流相位基本一致,幅值增益为0.1667。该分析完整展示了LCR电路的时频域特性。

2026-05-09 09:55:55 402

原创 嵌入式Linux Lua使用ZeroBrane远程调试

本文介绍了在嵌入式Linux平台上实现ZeroBrane远程调试功能的技术方案。通过集成LuaSocket和MobDebug库,构建了支持远程调试的Lua脚本环境。关键步骤包括:1) 移植LuaSocket库提供TCP通信能力;2) 嵌入MobDebug调试协议实现;3) 创建调试模块封装C/Lua接口;4) 修改主程序支持调试参数。该方案实现了断点调试、单步执行等核心功能,解决了嵌入式环境下Lua脚本调试的难题,适用于基于Linux的仪器控制系统开发。

2026-03-30 09:35:17 492

原创 MATLAB基础学习笔记(6、MATLAB评价预测效果好坏)

本文介绍了MATLAB中常用的7种预测效果评价指标:SSE(误差平方和)、MSE(均方误差)、RMSE(均方根误差)、MAE(平均绝对误差)、MAPE(平均绝对百分比误差)、SMAPE(对称平均绝对百分比误差)和R²(决定系数)。通过实例数据演示了各指标的计算方法,并指出RMSE和R²是最常用的评价指标。其中RMSE与原始数据同量纲,R²越接近1表示预测效果越好。这些指标从不同角度量化了预测值与真实值的偏差程度,为模型评估提供了客观依据。

2026-03-05 15:31:39 379

原创 MATLAB基础学习笔记(5、MATLAB中矩阵计算)

前面学的abs、sin、round、log都可以用于矩阵运算,用于矩阵运算时,对矩阵中的每个元素分别运用这些数学运算函数,返回的结果也是一个矩阵。常用函数。

2026-03-05 10:42:16 277

原创 MATLAB基础学习笔记(4、MATLAB中的矩阵)

矩阵可以视为二维数组。

2026-03-04 17:32:25 468

原创 MATLAB基础学习笔记(3、MATLAB中的向量)

最常用,利用命令A:step:B来创建一个行向量,其中A是起始值,step是步长,B是终止值。linspace(a,b)创建一个行向量,向量第一个元素为a,最后一个元素为b,形成总数为100个元素的线性间隔向量。空格和逗号创建的是行向量,分号和回车创建的是列向量。将idx设置成一个向量,idx中为需要提取元素的索引,使用a(idx)命令即可。利用命令a(idx),小括号中的idx就是需要引用元素的索引。logspace(a,b)创建一个行向量,第一个元素为。利用等号赋值的方法对元素进行修改和删除,令向量。

2026-03-04 17:31:41 291

原创 MATLAB基础学习笔记(2、MATLAB入门知识)

从2016版本开始,Matlab支持了实时脚本功能,文件后缀是.mlx。

2026-03-04 17:30:47 441

原创 MATLAB基础学习笔记(1、矩阵基础知识)

本文介绍了矩阵的基础知识,包括矩阵定义(m×n数表)、特殊矩阵(方阵、同型矩阵、转置矩阵、单位矩阵)以及向量(矩阵特例)的概念。详细讲解了矩阵运算:加减法(要求同型)、数乘、矩阵乘法(左列等于右行)以及逆矩阵(AB=BA=E)。最后阐述了特征值与特征向量的定义(Av=λv)。这些概念构成了线性代数的基础框架。

2026-03-04 17:28:45 493

原创 MAX10 FPGA在线升级调试笔记

本文介绍了基于10M08SAE144C8G FPGA的双镜像在线升级方案。系统采用双压缩镜像模式,通过SPI协议实现MCU与FPGA通信,使用Xshell和Ymodem协议传输rpd文件进行升级。详细说明了闪存配置模式、onchip flash IP核的接口时序和寄存器配置,包括avmm_csr和avmm_data两个接口的操作流程。同时提供了verilog驱动代码,实现了通过localbus协议对FPGA寄存器的读写控制。该系统设计具有安全可靠的升级机制,通过config_sel引脚选择启动镜像,有效防止

2026-02-26 09:01:24 634

原创 Lua 学习笔记

本文记录了Lua脚本语言的学习笔记,重点介绍了其核心语法特性。Lua作为轻量级嵌入式脚本语言,具有变量自动类型推导、灵活的table数据结构(兼具数组和字典功能)、多返回值函数等特色。文章详细讲解了变量声明、数值/字符串操作、流程控制、全局表_G等基础语法,并提供了实用示例代码。特别强调了Lua的独特设计:数组下标从1开始、table的混合使用模式、逻辑运算符模拟三元运算等。最后总结了使用注意事项,如局部变量声明、类型转换陷阱和table长度限制等,为仪器软件开发中的脚本接口实现提供了实用参考。

2026-01-24 22:37:57 953

原创 windows驱动开发笔记(1、环境搭建&开发套路)

本文记录了从Linux驱动转向Windows驱动开发的经验总结。主要区别包括:1) Windows驱动资料较少,需依赖官方文档;2) 使用INF文件替代设备树;3) 开发模式相似但API不同。作者详细介绍了开发环境搭建(270元二手主机)、工具配置和开发流程,重点说明了驱动匹配、设备符号创建和IOCTL实现方法。文中指出Windows驱动调试更方便,建议借鉴Linux UIO思想实现关键功能。整体认为两种系统驱动开发思路相似,主要差异在于具体接口实现。

2025-10-24 10:50:45 556

原创 放大器学习笔记(一、放大器的分类和运放关键指标)

本文系统介绍了运算放大器的分类和关键性能指标。放大器主要分为晶体管型、运算放大器和功能放大器三大类。重点阐述了运放的12项核心参数:失调电压/电流、噪声特性、输入/输出电压范围、共模抑制比、开环增益、压摆率、带宽指标(单位增益带宽、增益带宽积、-3dB带宽、满功率带宽)、建立时间、相位裕度、电源抑制比、总谐波失真以及热阻参数。文章详细解释了各项指标的定义、优劣范围及实际应用中的注意事项,为运放选型和电路设计提供了全面的技术参考。

2025-08-22 16:47:29 887

原创 分享一个FPGA寄存器接口自动化工具

本文介绍了CERN开发的寄存器接口生成工具cheby及其GUI版本reksio的使用方法。通过图形界面描述寄存器属性后,cheby可自动生成Verilog代码、C语言头文件及接口文档,解决了FPGA开发中模块接口规范性问题。工具支持从YAML文件一键生成SV格式接口包装、C头文件及HTML接口文档,大幅提升开发效率。文章详细展示了各功能生成效果,并提供了工具的开源代码仓库地址。这套工具特别适用于需要保证寄存器接口一致性的FPGA开发场景。

2025-07-30 17:11:37 658

原创 STM32上移植Lua解析器

基于arm-gcc和Makefile,将lua解析器移植到stm32f407。

2025-07-17 16:52:51 846

原创 LVDS TX RX IP调试笔记

本文介绍了基于Xilinx ZYNQ平台的LVDS IP调试过程。使用xc7z020开发板进行验证,通过200MHz LVDS差分信号实现板间通信。文章详细阐述了硬件设计(包括供电、引脚分配和连接方式)和软件架构(包含发送/接收模块、时钟管理和调试逻辑)。重点分析了IDELAYCTRL参考时钟优化、数据延时校准和滑位同步机制。测试结果表明,该系统在降低频率的杜邦线连接下仍能稳定工作,实现了发送数据的正确回环接收。最后提供了时序分析和资源占用情况,并指出了REFCLK频率限制问题的解决方案。

2025-07-10 11:21:55 1121

原创 基于ZYNQ7000的AD9226采集卡实现(3、PS LINUX DMA驱动实现)

本文介绍了PS侧DMA驱动的实现,主要包括DMA初始化和应用接口设计。在DMA初始化阶段,通过probe函数完成缓冲区的分配和配置寄存器设置。驱动为应用程序提供了三种接口方式:1)通过read接口获取DMA缓冲区写指针位置;2)使用mmap将DMA缓存映射到用户空间实现高效访问;3)通过sysfs导出DMA控制属性。此外还设计了debugfs接口用于调试信息查看,包括帧长、帧数量等关键参数。这些接口共同实现了用户空间对DMA的高效访问和控制。

2025-07-08 11:16:12 322

原创 基于ZYNQ7000的AD9226采集卡实现(2、PL DMA搬运采集数据)

本文实现了PL侧DMA将AXIS数据搬运至PS DDR的功能,支持地址、帧长度和数量配置。系统通过AXI总线连接PL和PS,使用DataMover IP实现DMA传输。设计采用AXIS FIFO缓冲数据,并定义了命令格式和控制寄存器。实验验证了内存分块循环写入功能,成功捕获了两帧报文的头部数据。该方案有效实现了PL到PS的高速数据传输,避免了数据丢失。

2025-07-02 11:17:39 621

原创 基于ZYNQ7000的AD9226采集卡实现(1、采集数据到PL)

本文介绍了基于ZYNQ7010平台的AD9226数据采集系统设计。系统采用12位65MHz采样率的ADC,通过PL端采集数据并通过AXI总线传输至PS端DDR。硬件部分包括主控板和采集模块,AD9226采用简单时序,只需在时钟上升沿读取12位数据。FPGA代码实现了AD9226驱动模块,将采集数据打包为AXIS接口格式,支持配置采样次数和帧长度。仿真验证了数据采集的正确性。该系统实现了高效的数据采集和传输,为后续处理提供了可靠的数据源。

2025-06-30 15:15:43 1641

原创 vivado建立时间计算详解

结合一个实际工程,分析一条路径的建立时间余量是如何得到的。

2024-11-20 13:28:56 554

原创 STM32F405RGT6单片机原理图、PCB免费分享

做机创比赛时画的板子,比到一半因为疫情回家,无后续,,,已打板验证过,使用stm32f405rgt6做主控。

2024-11-06 08:50:14 1289

原创 FPGA时序分析和约束学习笔记(4、IO传输模型)

用于搜索时过滤,各类型的含义如下:cellsLUT、IOBUF、CLKCTRL、D触发器(寄存器)keepers写代码的过程中定义的各种信号名称pinsCell的输入和输出端口ports整个设计顶层的输入输出和双向端口registersD触发器(寄存器)

2024-11-06 08:40:22 683

原创 CAN总线学习笔记(1、CAN总线定义)

CAN总线入门教程视频学习笔记

2024-11-04 16:05:13 1749

原创 FPGA时序分析和约束学习笔记(3、Timequest时序路径详解和优化)

FPGA Timequest时序路径详解和优化

2024-10-30 10:46:10 516

原创 FPGA时序分析和约束学习笔记(2、FPGA时序传输模型)

Tsu建立时间:目的寄存器自身的特性决定,在时钟上升沿到达其时钟接口时,其数据输入端(D)的数据必须提前Nns稳定下来,否则就无法确保数据正确存储。Skew时钟偏斜:时钟从源端口出发,到达目的寄存器和源寄存器的时间差值(Tclk2-Tclk1)Slack:数据需求时间和数据到达时间的差值,为正值时数据能被目标寄存器正确接收。Tco输出延时时间:数据输出到Q端口的时间-时钟上升沿到达CLK端口时间。Tclk1:时钟信号从时钟源端口出发,到达源寄存器端口的时间。Tclk1+Tco+Tdata:数据到达时间。

2024-10-05 09:41:12 780

原创 FPGA时序分析和约束学习笔记(1、FPGA基本原理)

Field现场Programmable可编程Gate门Array阵列。

2024-10-04 13:25:07 1214

原创 ramdisk制作并加载启动

ramdisk制作并加载启动

2024-06-29 10:47:06 553

原创 STM32F407VET6单片机原理图、PCB分享

已打板验证过,使用STM32F407VET6做主控,免费分享

2024-04-13 15:35:06 5370

原创 基于XDMA的简易FPGA网卡实现(二)

上一期笔者实现了百兆网卡,但使用iperf测tcp速度时,tcp发送速度只有33Mb。本期记录此问题解决过程。

2024-04-05 16:42:30 1353 1

原创 基于XDMA的简易FPGA网卡实现(一)

XDMA虽然是sgdma,但驱动一次只能发送一个包(可能有多个分片),等完成中断才能唤醒下一次发送,所以发送速度不理想。skb_put修改sk_buff的tail和len,dma_unmap_single sk_buff的物理地址,执行netif_rx提交到协议栈。ip:提供axis数据位宽转换功能,将xdma 128bit axi-stream转为8bit供fifo使用,使用了两个此模块实现双向转换。在网卡驱动的probe函数中进行第一次接收,在接收完成中断或tasklet中配置后续接收。

2024-03-27 21:10:32 3593 6

原创 nginx 80端口转发到8086端口

这是因为nginx使用了/etc/nginx/sites-enabled/defaule这个默认配置,直接删除这个文件,然后查看实际配置。访问80端口时始终显示“Welcome to nginx!在/etc/nginx/conf.d目录下增加配置文件。查看端口占用,确保80端口不被占用。重启nginx,80端口恢复正常。

2024-02-27 13:08:42 715

原创 XDMA驱动流程分析

通过xmind简图,描述xdma驱动加载及执行流程

2024-01-11 12:56:54 1533

原创 vscode使用clangd报error: invalid AST错误

vscode使用clangd报error: invalid AST错误

2024-01-10 16:08:30 3529 3

原创 AD实用快捷键

AD实用快捷键

2024-01-04 20:39:31 1817

原创 串口控制器及驱动实现

增加一个程序版本寄存器,方便核对程序版本uart控制器寄存器依次为:0x00 串口使能寄存器0x04 串口读写控制寄存器0x08 串口数据寄存器0x0c 串口发送波特率寄存器0x10 串口发送fifo数据个数寄存器0x14 串口发送fifo状态寄存器0x18 串口接收波特率寄存器0x1c 串口接收fifo数据个数寄存器0x20 串口接收fifo状态寄存器0x24 串口中断控制寄存器/* OFFSET:0x00 版本信息 *///程序版本。

2024-01-04 17:17:39 1899

原创 abaqus焊接助手

可简化CAE操作;使用图形界面配置焊接参数,生成焊接热分析脚本;将脚本导入abaqus后实现焊接过程模拟

2024-01-04 16:25:20 985

原创 制作stm32mp157 img

利用loop设备stm32mp157镜像

2024-01-04 16:21:47 464

原创 ZYNQ linux开发环境搭建笔记

ZYNQ linux开发环境搭建笔记

2024-01-04 16:18:11 4741 2

原创 嵌入式多平台云开发

嵌入式多平台云开发

2024-01-04 16:12:46 1277

原创 基于docker的gitlab使用笔记

基于docker的gitlab使用笔记

2024-01-04 15:56:50 1161

原创 stm32f4启动代码、链接脚本、编译脚本分析

stm32启动过程逐行代码分析

2024-01-04 15:38:49 1281

单片机原理图、PCB分享

STM32F407VET6单片机原理图、PCB免费分享

2024-04-13

空空如也

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

TA关注的人

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