自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 三种定时ADC采样方案对比

方案1:CPU说了算什么时候采;方案2:TIM硬件计时到点通知CPU,CPU去干活;方案3:硬件和硬件直接连线触发,CPU只是事后读数据。

2026-11-02 14:16:40 303

原创 ATE设备分类

功率分立器件(如SiC MOS、IGBT)测试需专用ATE,核心为大电流HCU、高压源、高速数字化仪及微秒级硬件保护,重点测Rds(on)、Eon/Eoff、短路耐受等动态参数;SoC ATE以数字向量机和PMU为主,支持JTAG、时序、模拟混合信号测试,但不擅长功率开关;存储ATE则聚焦海量DQ通道与存储时序控制,无功率或逻辑测试能力。国产厂商中,华峰测控在功率分立领域领先,长川科技主攻存储与SoC,悦芯科技提供模块化通用平台,芯矩、天光专注功率赛道,芯测专精存储,阿贝斯、胜科纳米规模较小。选型应根据被测

2026-10-28 20:11:45 322

原创 PMU / HCU / HRU模式对比

1. 信号脚、模拟输入、Vth 扫描、普通小漏流 → **PMU**2. 电源轨 VDD/VDDIO、存在上电浪涌 / Latch-up / 电荷泵倒灌、RdsOn 大功率测试 → **HCU**3. 栅氧、隔离介质、GΩ 以上绝缘漏电 → **HRU**4. 大电流测低阻,消除 Pogo 压降 → HCU + 四线 Kelvin5. 只要 DUT 有可能把电压泵的比源设定更高、产生灌电流,优先 HCU,不要 PMU6. 超高阻看的是 Guard 护环抑制寄生漏,不是 Kelvin

2026-10-28 17:03:27 379

原创 示波器实现方案对比

FNIRSI这类低成本示波表用的SOC一体化方案(商用通用SoC,不是仪器专用ASIC)复用一颗通用集成MCU/视频SoC,把示波器采集、万用表、信号发生器、屏幕显示全部塞在一套主控里,搭配廉价通用ADC,主打低成本、多功能三合一。普源/鼎阳这类专业台式示波器架构(分离采集架构)模拟前端、独立采集板、专用ADC、采集FPGA、大容量采集存储、主控CPU是物理独立、分区屏蔽的模块,模拟链路和数字处理严格隔离,信号保真、触发、死区、噪声、计量指标优先。

2026-10-28 16:13:56 219

原创 STM32 SPI软件设计方案

本文介绍了一个基于STM32F103的SPI总线多设备设计方案,采用C++面向接口的分层架构。核心思想是将硬件驱动与设备层解耦,通过抽象接口实现可移植性。方案包含四层架构:抽象接口层定义SPI和GPIO的纯虚接口,硬件驱动层使用标准库实现STM32的SPI1和GPIO功能,设备层实现W25Q Flash和SPI ADC的业务逻辑,应用层负责对象实例化和业务调用。硬件上采用单SPI总线挂载多个设备(SCK/MOSI/MISO共享,CS独立)。该设计实现了硬件无关性,设备层代码可跨平台复用,同时支持多SPI设备

2026-08-21 10:22:05 372

原创 STM32F103底层开发知识总结

本文基于寄存器开发、CMSIS文件、内存映射IO、总线、触发器硬件原理,从工程实践逐层下沉到芯片硬件原理,覆盖从写串口工程到寄存器背后硅片电路的完整链路。

2026-08-18 10:34:18 352

原创 2026_4_28投资笔记

腾讯小米。

2026-04-28 15:25:42 60

原创 ATE半导体测试底层原理全解(二)

高端功率驱动,输出电流/电压正极:低端功率驱动,电流回流负极(地端):高端电压采样,采集DUT引脚真实电位:低端电压采样,采集DUT地电位Force线:走电流、有压降、有损耗Sense线:不走电流、零压降、只看电压开尔文四线:同一个芯片引脚,两根独立Pogo针接触;Force针负责送电做功,Sense针负责安静看电压;两路同时工作,机器实时补偿线损,实现精准测试。

2026-04-27 20:51:21 832

原创 ATE半导体测试底层原理全解(一)

输出加电必开CONNECT,静态测量必切HIZ;模式混用会直接导致测试数据失效、芯片打火烧毁。测量数据不准:大概率是未使用四线Sense采样、未开Prepin接触不稳、测量时未切HIZ模式;短路电流失控、电压钳位无效:短路阻抗趋近于0,电压无法抬起,Clamp不触发,必须依靠OCP过流保护;频繁烧针烧芯片:无Prepin时序、边接触边加电,半接触打火短路;无法精准稳压稳流:仅使用二线测试,未通过Sense补偿Pogo针和走线压降。

2026-04-27 20:15:13 701

原创 单片机仿Linux驱动开发(三)

抽象基类Peripheral:定义所有外设的统一接口(Init、Read、Write、Ctrl、DeInit),纯虚函数强制派生类实现派生类:UART、I2C、SPI、ADC、PWM、AHT10、OLED、Flash,继承基类,实现自身专属逻辑兼容HAL库:直接调用HAL接口,无需修改底层,和原有C语言框架功能完全一致可扩展性:新增外设只需新增派生类,重写纯虚函数,不修改原有基类和其他派生类。

2026-04-24 17:43:22 415

原创 单片机仿Linux驱动开发(二)

统一状态码:所有驱动共用一套状态定义,规范错误处理统一驱动接口(仿 Linux file_operations):所有外设均使用 Init/Read/Write/Ctrl/DeInit 统一接口,调用方式完全一致统一设备注册表(仿 device tree):支持设备注册、按名称获取,实现设备统一管理统一总线抽象(I2C/SPI):抽象总线操作,外设驱动无需关心底层总线实现,提升可移植性。

2026-04-24 15:48:11 444

原创 单片机仿Linux驱动开发(一)

分层解耦:驱动只操作硬件,应用层只做业务接口标准化:统一使用 Init / Read / Write / Ctrl / DeInit代码规范化:枚举代替魔法值、结构体打包参数、static/const合理使用。

2026-04-24 15:20:35 406

原创 漏电流测量

ATE 漏电流测试是半导体芯片DC 参数测试的核心环节。它通过PMU 执行 FVMI,精确控制引脚电压并测量 pA~µA级电流,有效筛选出存在绝缘缺陷、工艺瑕疵的不良芯片,是保障产品低功耗与高可靠性的关键质量关卡。

2026-04-22 18:34:12 851

原创 SECS / GEM(通信协议标准)

规定“说什么内容、做什么动作、状态如何切换”几乎所有半导体厂要求机台必须支持。通用设备模型(SEMI E30)基于 SECS,定义。

2026-04-21 17:41:32 466

原创 git使用记录

刚提交但未推送,或仅修正最后一次 commit 信息。

2026-04-15 10:27:45 41

原创 价格包容一切

不用想太多,你可以完全不听消息,关闭手机,只看K线的走势,同样能做好交易,因为价格会包容一切。

2026-04-09 17:16:46 44

原创 c++计时器类

以下实现高精度(支持微秒/纳秒)、带 ID 管理、可同时测多个计时器的 C++ 类。

2026-04-09 15:38:30 163

原创 封装动态库并调用

用 C 语言写一个极简 runtime 库 → 编译成→ 写主程序调用它。

2026-04-02 16:28:55 464

原创 智能指针详解

智能指针的核心是RAII 机制,通过析构函数自动释放内存,替代裸指针的手动管理;unique_ptr适用于独占所有权场景(轻量、高效),shared_ptr适用于共享所有权场景(需注意循环引用),weak_ptr用于观察共享对象;优先使用创建智能指针,避免手动new,提升异常安全性;智能指针是 C++ 内存管理的最佳实践,彻底解决裸指针的内存泄漏、重复释放等问题。

2026-03-17 19:15:57 464

原创 正则表达式工程示例

正则表达式的核心是元字符+限定符+分组的组合,用于精准匹配/提取字符串;\d/\w/\s是预定义字符集,*+/{}?是限定次数,^/$/\b是定位位置;贪婪匹配(默认)会尽可能多匹配,非贪婪匹配(加?)则尽可能少匹配;分组分为捕获分组(())和非捕获分组(:)),反向引用(\1)可复用分组结果;实战中可通过匹配片段、smatch提取分组,是字符串解析的高效工具。

2026-03-12 11:25:28 193

原创 协议解耦的通信框架

核心设计:通过protocol_t结构体定义统一抽象接口,所有协议实现该接口,业务层只依赖接口不依赖具体协议;解耦关键:协议注册/查找/匹配逻辑与具体协议实现分离,核心框架(protocol.c)永远无需修改;无缝切换:新增/替换协议仅需修改,业务层通过协议名/ID调用,无需改动任何业务逻辑。这套设计完美解决了嵌入式通信协议耦合的问题,符合“开闭原则”(对扩展开放、对修改关闭),是嵌入式领域解耦协议的经典实践。

2026-02-27 11:07:27 430

原创 嵌入式产品固件版本管理

嵌入式产品固件版本管理的核心是“自动化、完整化、便捷化”,通过本文提出的自动化注入方案,可彻底解决传统手动管理方式的痛点,实现版本信息的自动生成、精准注入与快速查询,大幅提升故障排查效率与代码追溯能力。规范版本号迭代规则:明确主版本、次版本、修订版本的迭代标准,避免版本号混乱,建议结合Git标签管理正式版本;完善校验机制:实现版本信息校验和的计算(如CRC32校验),在固件启动时校验版本信息完整性,避免因存储异常导致信息错乱;

2026-02-11 15:27:08 723

原创 Linux-USB设备驱动

核心要点Linux USB驱动核心是实现usb_driver结构体,其中probe(匹配成功)和disconnect(设备断开)是核心入口;URB是USB数据传输的最小单元,需完成“申请→填充→提交→回调处理→释放”完整生命周期;字符设备接口是用户空间与USB驱动交互的标准方式,需实现等函数。扩展建议实际使用需替换为设备真实值;若为批量/中断传输,需替换为;可添加read函数实现数据接收,补充rx_urb的填充与提交逻辑;增加并发保护(如mutex),避免多进程读写冲突。

2026-02-11 11:57:21 351

原创 预处理技巧-X宏

X宏本质:通过预处理宏的“重定义+展开”,实现对一份数据清单的多维度复用;核心价值:解决嵌入式开发中“数据与逻辑分离、多实例/多MCU统一管理”的问题,尤其适合外设驱动框架;使用要点清单定义要清晰(固定格式,便于多场景复用);每次复用后用#undef X还原宏,避免冲突;结合驱动框架时,可将X宏生成的配置表直接接入设备管理器,减少手动配置工作量。X宏是嵌入式驱动开发中“工程化、可维护性”的关键技巧,能大幅降低多外设、多MCU场景下的代码维护成本。

2026-02-11 11:37:56 803

原创 外设驱动框架

核心特性实现方式高移植性HAL层隔离MCU差异,上层无MCU专属代码灵活配置配置表集中管理外设参数,支持多实例独立配置性能可控高频操作(如发送)用静态函数,配置操作(如初始化)用函数指针易扩展性新增外设仅需定义接口+实现HAL层,无需修改框架核心代码。

2026-02-11 11:34:42 285

原创 聚合初始化(Aggregate Initialization)

聚合初始化是C++中一种简洁的初始化方式,专门用于初始化聚合类型(Aggregate Type)的对象/数组。聚合类型包含两类:数组(无论元素类型是什么)满足以下条件的类/结构体/联合体:没有用户定义的构造函数(你之前看到的Parser构造函数是用户定义的,但数组初始化时是“用参数匹配构造函数”的聚合初始化变体)没有私有/保护的非静态成员没有虚函数没有基类(C++17前)核心特点:用{}

2026-01-19 10:44:16 325

原创 上下文简析

Linux内核的上下文,本质是执行实体(进程/线程/中断)的运行环境,按场景分为以下几类,且严格区分上下文边界(比如中断上下文不能睡眠)。进程上下文(用户态+内核态)定义:进程执行时的完整环境,包含内存空间(mm_struct)、进程控制块(task_struct)、CPU寄存器(pt_regs)、栈(内核栈/用户栈)、文件描述符表、信号掩码等。触发:进程调度切换时,内核保存当前进程的硬件上下文(寄存器+栈)到task_struct,加载目标进程的上下文,实现无缝切换;

2026-01-14 18:57:03 621

原创 「CIC→DMA→FIFO」的完整数据流程

CIC是硬件级的通信接口控制模块封装底层通信协议(如SPI/I2C/UART/以太网/自定义工业总线);管理“上行/下行”数据的收发逻辑(上行:从外设→主机,下行:主机→外设);对接芯片内部的DMA控制器或CPU总线,负责数据的“桥接转发”;典型场景:工业控制中传感器数据采集、ATE设备的工位数据上报、车载ECU的CAN数据转发等。CIC负责“按协议造数”,DMA负责“高效搬数”,FIFO负责“缓冲存数”;

2025-12-25 16:41:17 1157

原创 多级缓存架构

该系统是4核+三级缓存(L1独享、L2独享、L3局部共享的多核架构,Cache同步的核心问题是“多核心缓存同一份数据时的不一致”,需通过MESI等缓存一致性协议,结合总线广播机制实现缓存数据的同步,保证各核心访问数据的正确性。

2025-12-25 11:35:41 1116

原创 嵌入式时间测量方法总结

测量场景推荐方法核心优势函数/中断的微秒级耗时CPU周期计数器精度最高任务/周期函数的中等时长片上定时器通用无额外硬件多信号时序对齐/调试GPIO+示波器直观可视化多任务系统的CPU占比RTOS运行时间统计/Trace系统级瓶颈定位。

2025-12-24 14:59:26 408

原创 nanoMODBUS 库

nanoMODBUS 是一款轻量级、跨平台的 MODBUS 协议实现库,专为嵌入式系统(如单片机、FPGA 嵌入式硬核、物联网设备)设计,核心特点是体积小、资源占用低、易移植、功能精简且够用,完美适配内存/Flash 受限的嵌入式场景。nanoMODBUS 是嵌入式 MODBUS 开发的“轻量首选”,无需复杂配置,仅需适配底层硬件即可快速实现主机/从机通信。上述示例覆盖了最常用的 RTU 模式读写寄存器场景,TCP 模式仅需替换传输层接口,适配成本极低。

2025-12-22 16:31:54 1419

原创 NanoPB库:轻量级Protobuf实现

NanoPB是Google Protocol Buffers(Protobuf)的轻量级嵌入式实现,专为资源受限的MCU/嵌入式系统设计。Protobuf是一种跨平台、跨语言的序列化协议,通过定义结构化数据格式,实现不同设备/系统间的高效数据传输与解析;而NanoPB在保留Protobuf核心优势的前提下,极致优化了内存占用和代码体积,成为嵌入式领域(如STM32、ESP32、Arduino等)Protobuf落地的首选方案。创建// 版本声明(兼容Protobuf 3)// 传感器数据结构。

2025-12-22 14:39:02 1468

原创 装修经验整理

装修案例

2025-12-22 14:34:39 223

原创 ADC驱动设计与实现

ADC驱动是嵌入式系统感知物理世界的核心模块,其设计的核心是“解耦”与“可靠”:通过面向对象的封装实现硬件与应用的解耦,通过DMA环形采样+数据有效性校验保证采样的可靠性。在工程实践中,需根据场景选择合适的ADC类型(片上/外置),平衡精度、速度、功耗需求;软件层面遵循“资源封装→硬件初始化→数据安全获取”的流程,同时兼顾精度优化与性能优化,最终实现“易用、稳定、可扩展”的ADC驱动。

2025-12-22 11:59:42 867

原创 存储器介绍(2)

概念存储介质/硬件形态读写特性速度/延迟(FPGA场景)掉电易失性核心用途是否可编程(FPGA)片内RAMFPGA内部逻辑资源构成(SRAM)随机读写,无擦写次数限制最快(ns级,<10ns),延迟极低易失临时缓存、寄存器堆、小数据缓冲区、FIFO底层可配置(大小/位宽)ROMFPGA内部固化/配置的只读存储(或片外ROM)只读(部分FPGA可配置为一次编程)速度接近片内RAM(ns级)非易失存储固定参数、固件、查表(如LUT)部分可烧写(如FPGA的配置ROM)FIFO。

2025-12-22 11:51:05 654

原创 站点回复管理系统

以下实现了一个基于派生的类,结合内存分配(alloc())、对象管理、生命周期控制、序列化/反序列化、异常处理等功能,覆盖实际开发中常见的场景。

2025-12-22 11:46:09 378

原创 嵌入式系统(基于FreeRTOS)串口命令行调试工具

【代码】嵌入式系统(基于FreeRTOS)串口命令行调试工具。

2025-12-16 19:55:00 663

原创 windows用户态到内核态

ioapist.hioapist.h 并非 Windows 系统原生公开的头文件(不属于 MSDN/Windows SDK 标准头文件),而是行业 / 厂商自定义的接口头文件,核心用于封装设备 I/O 操作的 API 集合(尤其是通过DeviceIoControl实现的设备控制、数据交互逻辑),常见于硬件驱动开发、工业控制、嵌入式 Windows 设备通信等场景。该文件是驱动和用户态的“协议约定”,需保证两端结构体、IOCTL完全一致。#endif。

2025-12-16 19:37:39 720

原创 std::thread与pthread关系

对比维度pthread核心优势跨平台、OOP 封装、RAII 资源管理、易用功能全面、底层可控、支持高级线程特性核心劣势高级特性缺失、依赖 C++ 标准库跨平台差、C 风格繁琐、手动管理资源底层关系Linux 下基于 pthread 实现原生系统 API是 C++ 对线程的“易用封装”,pthread是类 Unix 系统的“原生线程接口”—— 优先用保证跨平台和易用性,需要高级线程特性时再结合pthread原生 API。

2025-12-12 10:11:32 1072

原创 进程间通信

以「两个进程(各含两个线程)+ 共享内存(进程间通信)+ 条件变量(线程间通信)+ 互斥锁(线程同步)」为核心特性,设计一个示例。

2025-12-10 14:25:39 631

空空如也

空空如也

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

TA关注的人

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