自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 量化环境搭建实战

Windows 11 + conda 26.5.3,2026 年 9 月实际操作记录。

2026-09-06 07:30:52 370

原创 【芯片测试】:相干采样

模拟世界里最典型的两类混合信号器件是ADC(模数转换器)和DAC(数模转换器)。激励信号通常由一台**任意波形发生器(AWG)**产生,它内部其实就是一个 DAC,把我们用数学算出来的一串数字变成模拟波形送给被测件(DUT)。被测信号则由一台**数字化仪 / 采样器(digitizer / sampler)**采集,它内部是一个 ADC,把模拟波形重新变回一串数字。也就是说,激励是"用数学造出来的",测量结果也是"用数学处理出来的"。

2026-06-14 10:17:22 464 1

原创 【芯片测试】:频谱分析入门-从DFT到FFT

Xk1N∑i0N−1xicos⁡⁣2πikN−jsin⁡⁣2πikN(2)Xk​N1​i0∑N−1​xi​cosN2πik​−jsinN2πik​2k−N2到N2−1k = -N/2 \ \text{到}\ (N/2-1)k−N/2到N/2−1,是频率 bin 的编号;xi\{x_i\}xi​是时域里采样得到的离散数据序列,NNN。

2026-06-13 22:28:44 496

原创 【芯片测试】:DSP 测试基础

DAC(数模转换器):把数字码转换成模拟电压。ADC(模数转换器):把模拟电压转换成数字码。测试机是怎么测它们的呢?测试机资源内部核心作用AWG(任意波形发生器)内含一个 DAC用"数学方法"算出一段波形数据,送给 DAC,产生模拟激励信号数字化仪 / 采样器(Digitizer / Sampler)内含一个 ADC把被测模拟信号采集成数字数据,再用"数学方法"算出各种参数激励信号是"算"出来的,测量结果也是"算"出来的。这套"用数学方法生成与分析信号"的方法论,本质就是。

2026-06-06 21:45:05 473

原创 【芯片测试】:DC测试基础

本教程首先回顾欧姆定律(Ohm’s Law)——它是理解 DC 测试中电压、电流、电阻关系的核心基础之一;随后讨论电阻测量(resistance measurement),重点讲清四线测量为什么能测准。

2026-06-06 19:07:49 466

原创 Win11 + WSL 完全配置指南:从零搭建 AI 编程环境

想在 Windows 上获得原生 Linux 开发体验,同时用上 Claude Code、OpenAI Codex、Kimi Code 这些强大的 AI 编程工具?是最优解。本文带你从 0 到 1,完成 WSL 安装、环境配置、AI 工具部署,以及项目实战。现在你已经拥有了一套完整的 Windows + WSL + AI 编程环境。WSL 提供 Linux 环境,Windows 提供编辑器,AI 工具在 Linux 里跑,项目文件放在 WSL 文件系统中性能最佳。

2026-05-31 08:27:41 558

原创 【ADC 测试技术】:5. SNR、SFDR、SNDR、ENOB

经过了测试,我们得到了 ADC 的 SNDR。但如何直观地评价一个 ADC 的"真实分辨率"?有效位数(ENOB, Effective Number of Bits)提供了这样一个统一的尺度。一个理想 ADC 要达到与被测 ADC 相同的 SNDR,需要多少位?由SNDR6.02⋅N1.76SNDR6.02⋅N1.76ENOBSNDR−1.766.02ENOB6.02SNDR−1.76​​示例一个宣称 12 位的 ADC,实测 SNDR = 68 dBENOB。

2026-05-24 09:00:36 564

原创 【ADC 测试技术】:4. 加窗技术与频谱测试实战

系列:《从原理到实测:ADC 测试技术深度解析》第四篇难度:进阶关键词:加窗、Nuttall 窗、Hann 窗、旁瓣抑制、频谱泄漏、整数周期法对比。

2026-05-24 08:59:23 447

原创 【ADC 测试技术】:3. DFT/FFT 频谱分析原理

对NNN个以Ts1fsTs​1/fs​为间隔采集的样本x0x1xN−1x0x1xN−1进行 DFT,得到NNNXm∑k0N−1xk⋅e−j2πmkNm01N−1Xmk0∑N−1​xk⋅e−j2πmkNm01N−1频率轴的解读共NNN个频率 bin,均匀覆盖000到fsf_sfs​第mmm个 bin 对应的物理频率为fmm⋅f。

2026-05-24 08:57:54 552

原创 【ADC 测试技术】:2. 正弦波直方图测试

对于幅度为AAA、频率为fxf_xfx​的正弦信号vtAsin⁡2πfxtvtAsin2πfx​t在过零点附近,信号变化最快(dvdtdv/dtdvdt最大),ADC 在此区间内采集到的样本数最少在正负峰值附近,信号变化最慢(dvdtdv/dtdvdt趋近于零),ADC 在此区间内采集到的样本数最多因此,如果我们直接对正弦波输入的 ADC 输出做直方图,会得到两端高、中间低的"浴缸形"分布,而。

2026-05-23 15:51:23 408

原创 【ADC 测试技术】:1. 直方图法测量 ADC 的 DNL 与 INL

在介绍直方图法之前,有必要了解它所取代的传统方法——码边界伺服(Code Boundary Servo)。向 ADC 施加一个初始电压,读取输出码字 A将 A 与目标码字 B 输入数字比较器比较器输出驱动两路电流源i1i_1i1​i2i_2i2​,对积分电容C1C_1C1​充放电积分器输出经R2R_2R2​C2C_2C2​低通滤波后作为 ADC 输入回路不断调整,直到 ADC 输出恰好在 A 与 B 之间反复跳变。

2026-05-23 15:18:13 575

原创 【芯片测试】:8. Test Program 执行流程与状态机

前七篇把所有测试数据(Board、Spec、Pattern、Action、OS)和测试代码(Test Method)都讲清楚了。点击"Run"之后,到底发生了什么?调试"为什么我的 PreBind 没有执行"解决开发环境 OOM 但生产不 OOM 的问题处理某个 site 停止后的清理顺序设计高效的 multisite 测试策略Idle││ (读取 .prog 文件,加载 DUT board,初始化变量)│↓ load()

2026-05-23 07:59:30 576

原创 【芯片测试】:7. Action 与 Operating Sequence

前几篇讲了测试数据(Pattern、Spec、DUT Board),本篇讲执行:仪器动作(Action)怎么被触发,Pattern 和 Action 如何在时间轴上编排,Test Method 在什么时候执行什么代码。这是把所有配置"接通电源"的一环。概念一句话关键点Action仪器的单个可触发操作定义在.spec,从 Test Method/Pattern/OS 触发Action 生命周期四阶段:Preparation→Activation→Execution→Deactivation。

2026-05-23 07:54:00 677

原创 【芯片测试】:6. 向量、Sequencer 指令与高速串行 IO

Pattern(模式)是 SmarTest 测试中最"庞大"的数据单元,可能包含数亿个向量,占据数 GB 的存储空间。理解 Pattern 的结构,不仅关系到写出正确的测试,更关系到如何在有限的测试机内存中高效组织数据。基础:Pattern 的文件结构、Vector 的格式、Signal Group存储:向量内存的硬件组织与优化(Memory Pooling)高级:SOC 多核测试的 Virtual Pattern,以及高速串行接口的 Link Scale / HSIO。

2026-05-23 07:48:49 684

原创 【芯片测试】:5. Driver、Comparator、PMU 与 Active Load

知道怎么写 SmarTest 配置是一回事,知道配置背后硬件在做什么是另一回事。vihvilvohvolvt这些参数在硬件上对应什么?term = hiz有什么实质区别?Active Load 是怎么"强制"电流的?电压钳位(Clamping)保护的是什么?PMU 电流极性为什么要特别注意?Termination mode 定义了当 DUT 在输出信号时,测试机如何对这路信号进行终端匹配。通过term = xxx;在电平配置中设定。模块职责关键参数输出激励信号给 DUT;

2026-05-22 22:30:17 721

原创 【芯片测试】:4. Timing、X-Mode 与 Wavetable

数字测试的核心挑战是:如何精确控制发送给 DUT 的每一个波形边沿的时间位置?如何在测试机的物理速率限制下,测试更高数据率的 DUT?如何高效利用有限的波形存储器?Wavetable(波形表)Timing Set(时序集)X-Mode(扩展模式),以及实际开发中必须理解的Break Cycle(休止周期)机制。Break waveform(休止波形)是一种特殊波形,用途不是向 DUT 发送有效激励,而是在 DUT 不需要新的激励时,保持信号线处于"无操作"状态。

2026-05-22 22:27:51 614

原创 【芯片测试】:3. DUT Board Description 与 Measurement Specification 详解

dbd:描述物理连接.spec:描述仪器设置这两类文件是所有测试的基础。一个测试程序可以替换.spec而不改.dbd,也可以在不同 DUT board 上使用同一套.spec——理解这种解耦设计,是真正用好 SmarTest 的关键。文件关注点不包含可被覆盖.dbd物理连接(signal↔pogo pin)、site 数仪器参数、向量否(整个程序统一用一份).spec仪器配置(参数、timing、level)、signal 分组。

2026-05-22 22:03:57 633

原创 【芯片测试】:2. SmarTest 测试程序架构总览

prog.flow.spec.pat.seq……这些文件分别是做什么的?谁调用谁?谁覆盖谁?本篇从架构视角解答这些问题,把 SmarTest 的整体层次结构讲清楚。理解这张"地图"之后,后续每一篇深入具体模块时,你都能清楚地知道自己在哪个位置。Test Program 定义范围,Testflow 控制流程,Test Suite 绑定执行,Test Method 实现测量,Setup Files 提供配置,覆盖规则保证灵活性。Test Program(范围 + 引用)↓ 调用。

2026-05-22 21:53:35 732

原创 【芯片测试】:1. SmarTest 开发环境入门

很多工程师第一次打开 SmarTest,看到的是一个"长得像 Eclipse 的东西"。没错,SmarTest 的开发环境确实是基于 Eclipse 构建的——但它不是一个简单的皮肤,而是在 Eclipse 的扩展机制之上,深度定制了专门面向半导体测试的工具链。Workspace(工作区)Work Center(工作中心)Project(项目),以及几个容易踩坑的细节。概念一句话关键约束Workspace工作根目录,管理项目引用和个人偏好不可共享、版本绑定、不要把 Project 放在里面。

2026-05-22 21:39:20 759

原创 【芯片测试】:5. 基于时钟的时序提取

前四篇覆盖了 VCDSTIL 的核心工作流:自动提取、手动强制、条件选择。本篇介绍系列中最"聪明"的一种时序模式——基于时钟的时序提取(Clock-Based Timing)。注意:Clock-Based Timing 目前仅在GUI 模式下可用,CLI 暂不支持。

2026-05-21 21:00:48 374

原创 【芯片测试】:4. 自定义波形与条件波形

前三篇介绍的都是 VCDSTIL 的"自动提取"模式:工具从 VCD 中识别所有波形,如实地将它们翻译成 STIL。在理想情况下,这已经足够用。但现实世界中,自动提取往往不是终点,而是起点。问题一:异步信号产生海量波形当 VCD 文件来自纯事件驱动的异步仿真时,同一根信号线在不同周期内可能在不同的时间点发生跳变,导致自动提取产生数十甚至数百个"相似但不完全相同"的波形。这些波形在 ATE 上是无法直接使用的——ATE 要求每个引脚的波形数量有限,且时间点固定。问题二:需要精确控制驱动/采样时机。

2026-05-21 20:57:57 499

原创 【芯片测试】:3. CLI 实操篇

上一篇我们通过图形界面(GUI)完整走了一遍转换流程。GUI 直观易用,适合探索和验证;但在实际工程中,VCD 文件往往由仿真脚本自动生成,转换过程需要无人值守地批量执行,这时**命令行(CLI)**才是正确的选择。本篇将演示如何用 CLI 完成与上一篇完全相同的工作:以为输入,生成对应的 STIL 文件。CLI 工作流分为三个阶段。

2026-05-21 20:50:27 588

原创 【芯片测试】:2. GUI 实操篇

上一篇我们理解了 VCDSTIL 的工作原理和三种运行模式。本篇将使用图形界面(GUI),以 I8254 的仿真文件为输入,完整走一遍从 VCD 到 STIL 的转换过程。GUI 模式适合初次上手,它把三个工作阶段(引脚提取 → 时序提取 → STIL 生成)整合在一个可视化界面中,每一步都有即时的结果反馈。整个流程分为5 个步骤启动 GUI└─ 第一步:指定输入文件└─ 第二步:配置参数(Setup)└─ 第三步:提取引脚信息└─ 第四步:提取时序信息└─ 第五步:生成 STIL。

2026-05-21 20:43:21 840

原创 【芯片测试】:1. 什么是 VCDSTIL?

本系列教程以经典的可编程计数器/定时器芯片作为示例 DUT。I8254 是一款提供三路独立 16 位计数器的定时器芯片,每路计数器支持最高 10 MHz 的时钟输入,广泛应用于早期 PC 系统中的时间管理。引脚名方向I/O 控制信号A0, A1InputInputCS_InputD0 ~ D7InOutInputOutputRD_, WR_InputD_dirInput。

2026-05-21 20:38:28 780

原创 【芯片测试】:斜坡直方图测试

原因:斜坡从 0 开始、到 V_REF 结束,首尾两个码受边界效应影响(实际范围超出量程),采样次数异常偏多,不反映真实步长。ADC(Analog-to-Digital Converter,模数转换器)将连续的模拟电压转换为离散的数字码。位数每增加 1 位,测试时间翻倍。替代精密电压扫描:不逐点测量转换电压,而是通过统计每个输出码出现的次数,反推每个码的步长。:把沙子均匀撒在尺子上,数每格的沙粒数 → 沙粒多的格子宽,沙粒少的格子窄。其中 n 为每个码所需采样次数,Tₛ = 1/fₛ 为采样间隔。

2026-05-09 20:48:08 506

原创 【嵌入式系统设计师】:2. 嵌入式系统软件1-18

中间件本质上位于操作系统和应用程序之间,是一种。

2026-04-11 17:42:02 396

原创 【嵌入式系统设计师】:1. 计算机系统基础61-81

软件可靠性通常是指:软件在。

2026-03-31 21:40:10 421

原创 【嵌入式系统设计师】:1. 计算机系统基础41-60

配合起来,在软硬件共同作用下形成的一种“容量比主存大得多”的存储体系:程序运行时,当前需要的部分先放在主存中执行,暂时不用的部分放在辅存中,需要时再调入主存,因此用户会感觉自己拥有一个很大的连续存储空间。在程序执行过程中,主存中的数据块装入 Cache 的哪一行、访问时怎样判断命中、未命中后如何替换,这些操作都要求速度非常快,而且对程序员应尽量透明,因此并不是由程序员手工调度,也不是由操作系统逐次管理,而是由。两大部分组成,其中算术逻辑单元(ALU)属于运算器,专门负责完成算术运算和逻辑运算,而。

2026-03-30 22:50:38 404

原创 【嵌入式系统设计师】:1. 计算机系统基础21-40

在程序执行过程中,主存中的某个块该放入 Cache 的哪一行、访问时是否命中、未命中后如何替换,这些操作都要求速度极快,而且对程序员和操作系统应尽量透明,因此并不是由程序员手工调度,也不是由操作系统逐次管理,而是由。是衡量 Cache 性能的重要指标,命中率越高,CPU 直接在 Cache 中找到所需信息的概率越大,系统效率也越高,因此 C 正确。,这样才能起到加速作用,因此 A 正确,而 B 说“Cache 的存取速度小于主存”显然与 Cache 的设计目的相反,所以它是不正确的表述;

2026-03-28 21:41:14 385

原创 【嵌入式系统设计师】:1. 计算机系统基础01-20

所以题中 A“层次越高读写速度越快”是对的,C“高层存储器可以看作低层存储器的缓存”也是对的,例如 Cache 是主存的高速缓冲,寄存器也可看作更高层的快速暂存;Cache 的作用是利用程序访问的局部性原理,把主存中经常使用的数据块自动调入高速缓存,以提高访问速度,而主存块装入 Cache 的哪一行、如何进行命中判断与替换,都是由。Cache 是位于 CPU 与主存之间的高速小容量存储器,设计目的是利用程序访问的局部性原理,把主存中近期常用的数据和指令暂时放到更快的存储部件中,因此。题目中的关键信息是“

2026-03-28 10:48:21 380

原创 【信号完整性】:信号与连接

摘要:本文探讨了连接对信号波形的影响及信号传输过程。实验表明,在5MHz低频下PCB走线对信号影响较小,但当频率升至100MHz时,信号出现明显振荡、过冲等现象。信号完整性分析强调接收端波形的重要性,纠正了"信号波形仅由输出器件决定"的错误认知。通过缩短走线可改善信号质量。文章还解析了信号传输物理过程,将导线等效为分节电容集合,说明电压信号需要时间传输,并阐述了PCB走线与地平面层构成的分节电容传输模型。

2026-01-01 21:15:23 738

原创 【信号完整性】:信号完整性由来

摘要:文章分析了数字信号波形特性及其随频率变化的规律。理想逻辑波形与实际波形存在差异,实际信号会出现过冲、下冲和振荡现象。研究表明,信号完整性问题主要由快速上升/下降时间引起,而非单纯频率提升。当信号频率超过50MHz或上升时间过短时,波形失真加剧,可能导致毛刺等异常现象,影响电路正常工作。文中通过10MHz、25MHz和100MHz时钟信号的波形对比,验证了这一结论。

2026-01-01 11:06:01 707

原创 【STM32】:STM32CubeIDE 的使用

本文介绍了STM32CubeIDE开发环境的基本使用,包括安装配置、项目结构、界面功能和操作要点。主要内容有:1)软件安装路径设置与项目导入方法;2)工作空间、项目、视图等核心概念说明;3)C/C++开发场景的界面布局和编辑器操作技巧;4)CubeMX项目文件组成,包括CMSIS驱动、HAL驱动和用户程序文件;5)项目管理操作如项目清理、刷新和生成HEX文件。文章通过图文结合的方式详细讲解了STM32开发环境的配置和使用流程,适合嵌入式开发者快速上手STM32CubeIDE开发工具。

2025-12-06 14:47:40 3259

原创 【芯片测试】:SmarTest 8 三温和三压测试程序的搭建

本文介绍了三温和三压测试程序的搭建方法。三温测试针对高温(105°C)、低温(-40°C)和常温(25°C)环境,通过创建不同的testprogram文件,设置独立的dsa_path变量来区分温度条件,并生成对应的测试文件和目录。三压测试则通过定义电压系数变量(高压1.05、低压0.95、常压1.0),在spec文件中设置初始值,并在testmethod中根据flow传递的参数动态调整电压参数。两种测试方法都实现了在不同环境条件下的自动化测试配置,确保芯片在各种工作环境中的性能测试准确性。

2025-12-03 21:28:50 1397

原创 【STM32】:STM32CubeMX 的使用

本文介绍了STM32CubeMX的安装配置及项目创建流程。首先下载安装STM32CubeMX和JDK,注意安装路径不能含中文。然后设置固件包存储路径并手动安装所需芯片系列(如STM32F4)的固件库。接着详细说明了新建项目的步骤:选择MCU型号、配置引脚功能(GPIO/ADC/定时器等)、设置时钟树(HSE/HSI/PLL等)、进行项目管理(设置项目名称、工具链等)。文章重点讲解了图形化配置界面的使用技巧,包括引脚功能分配、时钟源选择以及代码生成选项设置,为开发者提供了完整的STM32开发环境搭建指南。

2025-11-29 21:01:09 2064

原创 【硬件】:CPU如何被制造出来

本文系统介绍了CPU从设计到生产的全流程。在产业分工方面,半导体行业分为设计(Fabless)、制造(晶圆代工)和封测三大环节。CPU纳米工艺的核心在于栅极沟道宽度控制,直接影响芯片性能。生产流程以高纯度硅为基础,通过熔炼、切割、光刻、离子注入等工艺将硅原料转化为晶圆,再经过多层电路加工、测试、切割和封装形成最终芯片。文章还提炼出芯片制造的三大基本手法:生长、挖掉和掺杂,这些工艺都依赖光刻技术的精准控制。整个生产过程展现了从数字设计到物理实现的复杂转化过程。

2025-10-26 11:41:08 1137

原创 【硬件】:认识电流、电压、功率

本文系统介绍了电流、电压和功率的基本概念。电流定义为电荷通过截面的速率,分为平均电流和瞬时电流,单位是安培(A),方向与电子流动方向相反。电压是驱动电荷移动的电动力,分为直流和交流两种类型,通常以最低电位点作为参考零点。功率是能量转换的速率,计算公式为P=VI,单位为瓦特(W),与材料特性无关。文章通过手电筒电路等实例,阐述了这些电学基本量在实际电路中的应用和相互关系。

2025-10-24 22:51:36 1531

原创 【芯片测试】:LIN总线

LIN总线是汽车电子中常用的低成本通信总线,通常作为CAN总线的子网。它采用单线传输,速率较低(如19200bps),由1个主节点(指挥官)和最多16个从节点(响应者)组成。通信采用报文帧结构,包含令牌和数据两部分:令牌由主节点发送,含同步字段和标识符;数据部分由指定从节点响应,最多8个数据字节加校验和。物理层采用收发器实现3.3V/5V与9-18V电平转换,通过上拉电阻实现隐性(高电平)和显性(低电平)状态。LIN总线以简单架构满足汽车电子中低速通信需求,是CAN网络的有效补充。

2025-08-31 21:13:42 1536

原创 【STM32】:串口通信

本文系统介绍了串行通信的基本原理与实现方式。主要内容包括:1)串行与并行通信的传输机制对比;2)异步通信的字符帧结构和同步通信的时钟同步方式;3)单工、半双工和全双工三种通信模式;4)通信速率指标(比特率、波特率)和RS-232接口标准;5)USART结构框图及其发送/接收流程;6)串口与RS232、RS485、USB的电路转换连接方案。通过图文结合的方式,详细阐述了各类通信方式的实现原理、硬件连接和典型应用场景。

2025-07-20 13:39:24 1928

原创 【STM32】:F407 时钟系统

本文详细介绍了STM32F407时钟系统架构,包括复位默认时钟、时钟源切换机制和故障监测功能。系统支持HSI(16MHz RC)和HSE(4-26MHz外部时钟)两种时钟源,通过PLL倍频最高可达168MHz。文章还解析了AHB/APB分层总线架构,以及通过CubeMX配置时钟树的要点,包括PLL锁相环设置、时钟分发路径和各模块频率限制。特别强调了USB必须精确48MHz、VCO频率范围等关键参数,并提供了晶振电路设计参考链接。

2025-07-13 23:17:11 2278

芯片测试:频谱分析入门-从DFT到FFT

芯片测试:频谱分析入门-从DFT到FFT

2026-06-13

空空如也

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

TA关注的人

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