自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 硬件电路中的 EMC 设计

例如,开关电源的 MOS 管高速开关是干扰源,电源线、地线、空间辐射是耦合路径,单片机复位脚、ADC采样脚、通信接口就是敏感对象。它的核心作用是:当输入线上出现 ESD、EFT、浪涌、插拔尖峰时,把高压瞬态钳位到较低电压,保护后级 DC/DC 模块。U1 是 VRB2424S-10WR3 隔离 DC/DC 模块,它的作用是将输入 24V 转换为隔离输出 24V_1。隔离 DC/DC 可以让输入地和输出地在直流上隔离,降低外部负载、传感器、通信设备或后级模块通过地线把干扰反灌回输入侧的风险。

2026-05-12 00:36:33 643

原创 STM32中的中断与轮询

在 Cortex-M(如 M3)中,“中断”属于 **异常(Exception)**的一种,靠 NVIC(Nested Vectored Interrupt Controller)管理。在 MCU 工程里,本质上要解决两件事:1.如何发现外设事件(例如:串口来字节、GPIO 触发、定时器溢出、ADC 转换完成、DMA 传输完成);并附“轮询等价写法”和“低功耗等待写法”。:Cortex-M3 在进入 ISR 前,会自动把 xPSR、PC、LR、R12、R0-R3 等“最小现场”压栈(硬件完成)。

2026-03-02 00:24:43 940

原创 基于数字门控芯片的倍压电路

这套 15 V→30 V 电路本质是 CD4011 产生两相/互补方波 + C14/C15/D5/D6 组成的非稳压倍压电荷泵。理想输出满足VOUT∼2VINVOUT​∼2VIN​VOUT∼2VIN−VD5−VD6−IOUTROVOUT​∼2VIN​−VD5​−VD6​−IOUT​RO​。

2026-02-06 00:59:11 1273

原创 STM32中的中断机制与应用

几乎所有外设中断都满足这个规律:1.外设先置位 状态标志 Flag(例如:TIM_SR.UIF、USART_SR.RXNE、EXTI_PR某位);2.同时要求对应 中断使能位 Enable/IE 开启(例如:TIM_DIER.UIE、USART_CR1.RXNEIE、EXTI_IMR)。外设事件:如 GPIO 边沿(EXTI)、定时器溢出/比较(TIM)、串口收到字节(USART RXNE)、DMA传输完成等。5.CPU 进入异常:自动压栈保存现场(部分寄存器),从向量表取 ISR 地址。

2026-01-13 00:56:19 871

原创 STM32 通信接口:SPI、I²C、USART原理

CPHA=0:在前沿(Leading edge)采样,CPHA=1:在后沿(Trailing edge)采样。(4)NSS/CS(Chip Select):片选,通常低有效,定义一次事务的边界。(stream),没有像 I²C 的 START/STOP、SPI 的 NSS 那样的“事务边界”,所以可靠通信通常要上层协议(包头/长度/CRC/超时等)。注:这里的“前沿/后沿”含义:若 CPOL=0(空闲低),前沿=上升沿,后沿=下降沿;若 CPOL=1(空闲高),前沿=下降沿,后沿=上升沿。

2026-01-08 23:43:24 1109

原创 STM32定时器与 PWM 原理

fcnt​fpwm​。

2026-01-03 22:46:54 803

原创 嵌入式系统中STM32ADC学习笔记

JEXTSEL[2:0] 选择触发源(如 TIM1_TRGO、TIM1_CH4、TIM2_TRGO、TIM2_CH1、TIM3_CH4、TIM4_TRGO、EXTI_15 等);通道切换时,内部采样节点上往往还残留“上一通道”的电压(来自采样电容的电荷),再叠加开关注入电荷,会造成:多通道扫描时,切换后的第一个样本更容易偏解决手段就是:增大采样时间、降低源阻抗、或在ADC脚边加合适的 RC/缓冲(你之前提的方案A正是为这个问题服务)。3.被选通道的电压被送到同一个“内部采样节点”(后面接 S/H)。

2026-01-02 01:28:03 1019

原创 新能源电动车烟火式熔断/断电器(PyroFuse)详解:从原理分析到集成测试的工程笔记

Pyrofuse的难点主要还是集中在灭弧上,如何有效的进行灭弧是关键。

2025-12-28 19:42:32 2629 9

原创 一个 for 循环把程序“锁死”:加速度值测试不稳定的原因分析

写代码时在逻辑清晰的情况下,也要注意书写的规范,在每次循环后留意参数是否需要清零。

2025-12-21 00:43:12 293

原创 加速度模块测试复盘:调试教训与流程方法总结

这次加速度模块测试的调试经历可谓一场“苦战”,从最初的方向错判到最终锁定真正原因,耗时4.5小时,过程曲折。然而,好在事后进行了冷静的复盘,总结出宝贵的经验教训和一套系统化的调试流程。嵌入式调试就像侦探破案,需要敏锐的观察力和严谨的推理方法。

2025-12-09 00:59:10 672 1

原创 嵌入式软件设计总结

嵌入式系统的设计需要一种闭环思维:从需求出发,经过逻辑推演形成架构,再细化为模块和接口,最后落地为代码实现并反哺验证需求。良好的架构和程序设计逻辑能够极大提升软件的可靠性、可维护性和复用性。在需求到实现的过程中,设计者应始终保持整体观和逻辑严谨性,确保每个模块的实现都能回溯到需求,且各模块间逻辑契合无矛盾。这种从顶层到细节、一致迭代的设计方法可以避免“头痛医头脚痛医脚”的拼凑,使系统具有清晰的逻辑主线。

2025-12-05 00:35:11 805

原创 常见数据校验算法和STM32裸机实现(C语言)

本文系统介绍了五种常见的数据校验算法:奇偶校验、校验和、块校验字符(BCC)、循环冗余校验(CRC)和海明码。奇偶校验通过添加1位校验位检测单比特错误,实现简单但可靠性有限;校验和通过对数据块累加检测错误,速度快但可能漏检特定错误模式;BCC基于异或运算提供快速分组奇偶校验,适合基础场景;CRC利用多项式除法实现强检错能力,广泛应用于网络通信;海明码不仅能检测还能纠正错误,适用于高可靠性系统。文章分析了每种算法的原理、优缺点、应用场景,并提供了基于STM32的C语言实现示例,为工程应用提供了实用参考。

2025-09-11 00:29:52 1864

原创 加速度传感器原理、外围电路及过载算法C程序代码(SC7A20TR)

  SC7A20TR内部集成了一个微机械传感单元和信号接口电路。微机械传感单元由悬挂的质量块和硅制框架构成,质量块通过弹性梁(锚点)固定在框架上,能够在三维空间内微小移动。当加速度作用在传感器上时,由于惯性效应,质量块相对于硅框架发生偏移(类似于二阶弹簧-质量系统)。质量块与固定电极形成的电容阵列随之发生变化:通常采用差分电容结构,即质量块偏向一侧时,一组电容增大,另一组电容减小。这种差分电容的不平衡程度正比于加速度引起的位移。为了保护机械结构,芯片在封装时覆盖了保护盖帽,防止封装应力损伤悬梁质量块。(1)

2025-09-08 16:01:09 1850 2

原创 按键矩阵电路原理及C程序

该函数利用行列扫描的方式识别3×3矩阵键盘中被按下的按键,具体通过以下方法确保准确性和抗干扰性:**消抖延时:**按键按下时延迟20ms再次确认,避免机械抖动导致误判。**防鬼键:**如果发现有多个列同时为高或一个列对应多个行,此时认为有鬼键现象,直接返回0,避免误触。**逐行轮询:**先确定是哪一列响应,再通过逐行激活来定位是哪一行,从而计算出唯一的按键编号。这种扫描方式适合于小型矩阵键盘,既能快速响应,也能有效过滤短暂抖动和多键干扰。

2025-08-12 00:51:52 3208 7

原创 使用grok对自己的职业进行详细规划

我是一名西南石油大学电子信息专业的研究生,研究生期间研究方向为深度学习在医学图像识别方向的应用,会使用python和AI算法,期间在上市公司的算法部进行过实习,本科期间专业为电子信息工程。毕业在一家军工单位作为一名硬件工程师工作了两年,平时主要工作内容为AD电路原理图设计和布线(较为简单),硬件电路板产品测试(功能测试和环境测试),同时也会使用keil进行编程(主要是控制单品机如pic和stm32的电平,较为简单),另外接触了一定的项目管理(如产品从设计、提计划、测试、验收等全流程)。

2025-07-13 22:46:35 865

原创 AD20学习笔记之PCB板实物调试

不知道什么原因AD,在原理图更新到PCB电路过程中,隔离电源VRB2424S-10WR3和ADM2682EBRIZ等元器件的管脚定义消失,导致布线时管脚之间没有连线,布线时也没注意引脚没定义。最后在实物调试的时候出现了问题。由于疏忽大意,错把管脚5的NC当成了GND,把管脚7进行了悬空,导致在实物调试的时候发现隔离电源和的输出时出现问题。数据手册管脚定义PCB管脚定义在布线时没注意管脚2和管脚15没有定义,导致在实物调试的时候发现该模块的输出有问题。数据手册管脚定义PCB管脚定义。

2024-10-03 01:29:12 1350

原创 【AD20电路设计学习笔记】

AD20学习笔记

2024-07-10 01:05:46 2734

原创 U-Net实现医学图像分割(pytorch)

开始学习pytorch的时候,在github上下载过一些大佬的图像分割代码,但用来训练自己的数据集时常容易报错,并且不容易找到问题所在。于是自己在kaggle上下载了一个比较简洁的分割代码,从数据输入到输出整体过了一遍后,又根据自己的需求进行了修改评价指标、网络框架搭建以及可视化功能编写。本文的主干代码来自:kaggle数据集网址:评价指标:自己的github网址:第一次写博客,如有错误欢迎大家指出。步骤1.库导入import numpy as npimport pandas as pd

2022-08-19 01:16:50 12433 12

空空如也

空空如也

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

TA关注的人

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