自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【烟花的学习笔记文章全览】点击访问所有文章!

本专栏面向嵌入式工程师,提供UDS、CAN、BLE、密码学等核心技术专题的实战解析。目前已发布28篇文章,涵盖诊断协议解析(UDS系列)、总线通信机制(CAN系列)、低功耗蓝牙原理(BLE系列8篇)、加密算法实现(密码学系列3篇)、MCU底层配置(嵌入式原理系列6篇)以及行业标准科普(杂谈系列5篇)。内容聚焦工程实践中的关键问题,旨在构建系统化的技术参考体系。专栏将持续扩展Autosar、常用总线、诊断协议等方向,欢迎工程师们订阅交流,共同完善这一实战知识库。

2025-08-03 15:45:44 348 1

原创 【嵌入式原理系列-第12篇】模数转换模块(A/D)解析

想要了解AD的原理,首先我们需要了解电容效应。假设我现在有一个截断导线,我在两端加电压理论上也会存在电子漂移,使得电子集中在负极,但由于外电场的作用,这个漂移很快会停止,直至形成平衡。如果我将电线弯曲成一个带有缺口的环,理论上缺口两侧(极板) 积累的电荷所产生的反向电场,会抵消外电场的作用,从而抑制电荷的进一步迁移。然而这个结构存储电荷的能力很弱,因此我们考虑将导体缺口处(极板) 的面积做大,以增大电容值,从而在相同电压下容纳更多电荷,从而形成足够强的反向电场来维持平衡——这就是一个电容模型。

2025-10-11 15:08:27 750 1

原创 【嵌入式原理系列-第11篇】半导体电子传输与PN结工作原理浅析

本文系统介绍了半导体基础知识与应用,重点讲解了PN结原理及晶体管工作模式。文章首先阐述了半导体的基本概念,包括载流子运动、本征与杂质半导体等原理;深入分析了PN结的形成机制及其正向导通、反向截止特性;详细说明了NPN三极管的三种工作状态(截止、放大、饱和)及其应用场景;最后补充了晶体管导通条件和TTL电平标准等实用知识。全文以工程应用为导向,将半导体物理原理与电子电路设计紧密结合,为读者提供了清晰的技术脉络和实践指导。

2025-10-07 20:55:04 943 1

原创 【嵌入式原理系列-第十篇】C代码是如何在芯片里跑起来的?

本文深入解析了计算机从硬件到软件的运行原理,重点介绍了C语言程序在哈佛体系结构下的执行流程。文章首先阐述了冯·诺依曼模型和哈佛体系结构的特点及区别,详细说明了存储器系统的发展历程。随后重点剖析了编译链接过程,包括预处理、编译、汇编和链接四个关键步骤,并解释了代码优化机制。最后,文章详细描述了基于哈佛结构的C语言程序运行流程,包括栈帧分配、函数调用机制、程序启动顺序等内容,特别强调了嵌入式系统中函数调用时的栈操作规则。全文通过硬件与软件结合的视角,揭示了高级语言程序如何最终在硬件上执行的完整过程。

2025-09-17 17:18:39 1136 1

原创 【嵌入式原理系列-第八篇】USART从原理到配置全解析

本文系统介绍了USART通信技术的基础知识及应用配置。首先阐述了通信领域关键概念,包括串/并行通信、同步/异步传输的区别,以及TTL、RS-232、RS-485等物理层协议特性。重点解析了USART的特点:支持同步/异步传输,但需配合物理层协议使用;详细说明了其帧格式(起始位、数据位、校验位、停止位)及与SPI、IIC等总线的对比优势。最后提供了USART工程配置的实用指南,包括数据传输参数设置、中断配置策略(推荐DMA方式),并针对不同传输模式(全双工/半双工)给出了具体的中断配置方案。全文兼顾理论基础与

2025-09-15 16:32:40 930 1

原创 【嵌入式原理系列-第七篇】DMA:从原理到配置全解析

摘要:DMA(直接存储器访问)是MCU中用于高效数据拷贝的外设。主要配置参数包括:源/目的地址(RAM或外设缓冲区)、传输方向(存储器-外设或反之)、位宽设置(需考虑总线限制)、地址增量模式(支持连续传输)和传输计数(防止越界)。DMA通过硬件通知机制与外设协同工作,支持循环模式和数据块传输(需配置FIFO)。中断通知类型包括传输完成、半传输和错误中断。多通道DMA需设置优先级,因各通道通常共享总线资源。车载领域为避免数据丢失风险,推荐采用半传输中断+循环模式而非双缓冲结构。

2025-09-09 17:02:11 1340

原创 【嵌入式原理系列-第九篇】从 LD 到 MAP:嵌入式内存布局分析指南

摘要: MAP文件是嵌入式开发中用于分析内存布局的关键工具,由编译器/链接器生成(如Keil/IAR/GCC)。其核心功能包括:可视化段(.text/.data)地址范围、追踪全局/静态变量及函数地址、优化内存浪费(如未使用符号、对齐空洞)。开发者通过解析MAP文件可快速定位内存溢出、冲突等问题,并优化链接脚本。不同工具链的MAP格式略有差异,但均包含符号表、段信息等关键数据。学习路径建议从基础查看逐步进阶到复杂项目优化,结合AUTOSAR/RTOS内存策略。适用于资源受限的MCU开发,尤其汽车电子等高可靠

2025-09-01 14:47:00 811

原创 【科普向-第七篇】Git全家桶介绍:Git/Gitlab/GitHub/TortoiseGit/Sourcetree

本文对比分析了三大主流代码管理工具Git、GitHub和GitLab的核心功能与适用场景。Git作为基础版本控制系统,适用于所有开发者;GitHub侧重开源协作,拥有丰富社区生态;GitLab则提供一体化DevOps解决方案。文章还介绍了SourceTree、TortoiseGit等图形化辅助工具,并针对不同开发场景(个人学习、企业开发等)给出了工具组合建议。最后强调Git是必备基础技能,其他工具可视需求搭配使用,共同构建高效开发工作流。

2025-09-01 12:28:40 1271

原创 【科普向-第六篇】CMMI & ASPICE在嵌入式开发中的应用解析

本文对比分析了CMMI和ASPICE两个标准在嵌入式开发中的应用差异。CMMI侧重组织级流程成熟度评估,适用于提升整体管理水平;ASPICE则专注汽车电子项目的开发流程规范,是行业准入必备。文章从背景、原理、应用场景等维度详细比较了两者,指出CMMI适合了解团队运作机制,ASPICE则是汽车电子工程师必须掌握的技能。针对嵌入式开发者,建议深入理解ASPICE的V模型和双向可追溯性等核心概念,并熟悉相关工具链。随着汽车电子发展,ASPICE认证将成为职业发展的重要考量。

2025-08-31 09:30:00 1607

原创 【嵌入式原理系列-第六篇】从Flash到RAM:MCU ld脚本全解析

本文介绍了嵌入式系统中ld链接脚本文件的核心作用与语法结构。ld文件负责控制代码在Flash和RAM中的静态存储布局和动态运行布局,包括中断向量表、代码段、只读数据段、堆栈等区域的地址分配。文章详细解析了ld文件的基本语法,包括MEMORY和SECTIONS块的定义、输入输出段指定、地址指针操作、KEEP关键字、对齐处理、NOLOAD属性以及OUTPUT_FORMAT等关键概念,并举例说明了如何实现数据段从Flash到RAM的初始值迁移。通过ld脚本可以精确控制嵌入式系统中各存储区域的分配和使用,确保程序正

2025-08-30 12:34:54 1567

原创 【嵌入式原理系列-第五篇】MCU初始化/休眠唤醒/复位解析

本文从工程实践角度总结了GPIO配置与MCU初始化的关键要点。在GPIO配置方面,详细分析了输出速率选择(高速/低速)对功耗和EMI的影响,阐述了推挽输出与上/下拉电阻的搭配原则,并给出了UART、I2C、SPI等常用通信接口的GPIO推荐配置方案。在MCU初始化流程方面,提出了分阶段初始化的9步建议:从核心时钟、看门狗开始,依次完成系统时钟、GPIO、外设时钟、调试接口等初始化,最后启动RTOS。文章特别强调了初始化顺序对系统稳定性的重要性,并给出了各环节的注意事项和最佳实践。

2025-08-29 09:55:10 1491

原创 【嵌入式原理系列-第四篇】MCU窗口看门狗详解:启动、喂狗及紧急处理

摘要:本文详细介绍了窗口看门狗的初始化流程和中断处理机制。初始化包括时钟使能、预分频配置、窗口值设置等9个关键步骤。中断触发条件涉及未及时喂狗或喂狗时机不当两种情况,多数芯片支持设置单一窗口值以降低敏感性。特别说明部分芯片允许中断触发后保留软件处理周期(T_Sw),在此期间复位计数器可避免系统重启,为故障排查提供了便利。文章最后附有相关技术文章链接。(150字)

2025-08-28 09:30:00 1160

原创 【嵌入式原理系列-第三篇】系统时钟初始化一般流程详解

本文介绍了MCU时钟初始化的稳健爬坡式启动流程。核心步骤包括:1)进入临界区关中断;2)禁用时钟安全检测;3)配置低速内部时钟作为基础时钟源;4)切换至高速内部时钟提升初始化速度;5)根据项目配置选择高速时钟路径;6)详细解析HSE初始化流程;7)配置PLL;8)切换至最终系统时钟;9)启用安全检测功能;10)退出临界区。文章强调了先低速后高速的稳妥策略,并提醒注意硬件差异性和低功耗设计考虑。

2025-08-27 10:00:00 1088

原创 【科普向-第五篇】MISRA C实战手册:规则与指令全解析

本文摘要: MISRA C:2012是汽车行业嵌入式C语言开发规范,包含143条规则和16条指令,旨在提高软件安全性和可靠性。规则分为变量与类型、条件控制、循环控制、函数等章节,按强制程度分为Mandatory、Required和Advisory三级。主要内容包括:变量需显式初始化并使用固定宽度类型;条件表达式必须明确且避免副作用;循环需保证终止条件可控;函数应单一职责且参数明确。规范强调代码可读性、可维护性和可移植性,要求避免未定义行为、魔法数字、全局依赖等问题,适用于对安全性要求高的嵌入式系统开发。

2025-08-26 10:30:00 1433

原创 【科普向-第四篇】嵌入式输出文件对比:Motorola S-Record(S19) 与 Intel HEX

【摘要】本文对比分析了嵌入式开发中两种常用的烧录文件格式:Intel HEX和Motorola S-Record(S19)。Intel HEX采用冒号起始的ASCII编码,支持16/32位地址扩展,通过记录类型区分功能,校验和为字节和取补码;S19格式以"S"开头,通过行类型直接区分16/24/32位地址,校验和计算方式类似。关键差异在于:HEX用02/04类型扩展地址,S19通过S1-S3区分地址长度;HEX以01记录结尾,S19用S7-S9结束。两种格式均需注意行长度限制和校验正确性

2025-08-25 10:30:00 820

原创 【BLE系列-第八篇】SMP完全解析——从配对流程到秘钥交换

本文是BLE安全机制SMP协议的第一部分,主要概述SMP协议的核心概念和配对流程。SMP协议通过配对和绑定两个步骤实现设备间的安全通信,保障机密性、真实性和完整性。文章详细解析了配对流程的三个阶段:特性交换与配对方法选择、临时密钥生成、加密启用与链路建立。重点比较了传统连接和安全连接在密钥生成机制上的差异,并介绍了四种配对方法(JustWorks、PasskeyEntry、NumericComparison、OOB)的特点及适用场景。SMP协议为BLE设备提供了灵活的安全框架,厂商可根据需求在标准基础上进行

2025-08-23 09:05:23 1653

原创 【密码学系列-第三篇】椭圆曲线密码学(ECC)核心原理:从加法器到密钥交换

由定理中可知,已知P和Q坐标,我们可以计算出P和Q所在直线与曲线的交点第三点R的坐标。然后我们可取R关于X轴对称得到 P+Q。

2025-08-22 10:56:30 1121

原创 【科普向-第三篇】汽车电子MCU操作系统详解:CP AUTOSAR与FreeRTOS

本文对比了CPAUTOSAR和FreeRTOS两种嵌入式操作系统。CPAUTOSAR诞生于2003年,由汽车厂商联合开发,强调标准化与功能安全,适用于汽车电子MCU控制器,开发依赖专业工具链,架构分层模块化,支持功能安全认证,但灵活性较低。FreeRTOS由Richard Barry创建,轻量灵活,适用于广泛MCU场景,开发环境自由,核心架构简单,实时性取决于配置,安全性需自行实现。两者在代码实现、商业生态方面差异显著:CPAUTOSAR采用模板化开发,工具链昂贵但支持汽车行业规范;FreeRTOS手工搭建

2025-08-21 16:26:12 1372

原创 【科普向-第二篇】一文读懂嵌入式功能安全26262

《功能安全:现代工程的风险管理之道》 功能安全的核心在于"故障可控"而非"永不故障",通过检测、处理和缓解机制管理风险。ISO26262标准定义了从概念到报废的安全生命周期流程,确立安全目标和ASIL等级评估风险。安全规划需完成危害分析,建立可追溯的需求链条,并运用ASIL分解策略降低复杂性。软件架构需遵循模块化、冗余和免干扰原则,实施输入验证、程序流监控等安全机制。验证环节要求严格的测试覆盖率和故障注入测试,确保硬件保障与软件响应协同工作。项目后期需平衡安全与性能,

2025-08-20 10:00:00 899

原创 【BLE系列-第六篇】GATT解析:属性、特征、描述符的逻辑关系

本文系统介绍了BLE协议中的ATT和GATT机制。ATT以"属性"为基本数据单元,包含UUID、Handle、权限和Value四个要素。GATT则在ATT基础上构建了服务、特征和描述符的层次结构:服务(UUID:0x2800/0x2801)通过声明属性标识,特征声明(UUID:0x2803)指向特征值(UUID:0x2Axx或自定义),描述符(UUID:0x2900~0x290F)提供附加信息。GATT复用ATT发现机制,通过定义特定UUID语义实现服务发现和特征管理。这种设计使BLE设

2025-08-19 18:43:32 1514

原创 【BLE系列-第五篇】从零剖析ATT:属性、Handle、UUID详解

本文介绍了BLE核心协议ATT(属性协议)的基本原理和工作机制。ATT通过属性表组织数据,每个属性包含UUID、Handle、权限和值等字段。协议采用请求-响应机制,支持25种报文类型,用于属性发现、读写、通知等操作。ATT通过Handle映射提高查询效率,并支持MTU协商(默认23字节,最大517字节)以优化数据传输。作为GATT的基础,ATT的简洁设计确保了BLE的低功耗特性。文章详细解析了属性结构、权限类型、报文格式及MTU协商机制等关键技术点。

2025-08-18 17:38:02 1387 2

原创 【科普向-第一篇】数字钥匙生态全景:手机厂商、车厂与协议之争

华为主导、中国汽车工业协会发起,成员包括一汽、上汽等车企,旨在打破国际垄断,确保车辆控制权与数据归属主机厂。:小米、OPPO、vivo联合部分车企(如上汽)推动,试图将汽车纳入手机生态。:对称密钥体系,开发成本低,换手机可云端同步钥匙,但安全性弱于非对称加密。:车端UWB模块成本超200元,仅15%豪华车型搭载(如宝马、奔驰)。:国内覆盖最广,支持超200款车型(如丰田、长城),市占率超45%。:CCC/ICCOA强制支持,但用户使用率低(需主动贴车)。

2025-08-16 09:00:21 1703 3

原创 【BLE系列-第四篇】从零剖析L2CAP:信道、Credit流控、指令详解

本文系统解析了蓝牙BLE协议中L2CAP层的关键技术。作为链路层与上层的适配层,L2CAP承担协议复用、数据分段和流控三大核心功能。文章详细阐述了L2CAP帧格式、逻辑信道划分机制(包括固定CID和用户自定义CID),重点分析了信令信道(CID0x0005)的指令体系和Credit流控规则。特别指出Credit流控机制仅适用于用户自定义逻辑信道(CID0x0040~0x007E),而固定信道采用透传方式。通过对L2CAP协议的深入剖析,为BLE设备开发提供了重要的协议层实现参考。

2025-08-15 15:12:36 1695

原创 【BLE系列-第三篇】数据链路层(LL):广播/连接/扫描流程详解

从机发送完广播后,在IFS时间内切换到接收模式,在IFS结束开始等待主机报文(即从机等待接收周期)。从扫描和广播的机制可知:主机检测到从机的广播报文是一个概率事件,要想提高主机扫考到从机的成功率,需要合理地设计各个参数,尤其是:广播间隔、接收周期、扫描间隔、扫描窗口。低功耗设备(如 Beacon)通常设定较长的广播间隔(如 1s),而希望被快速发现的设备(如配对模式下的耳机)可能会使用较短的广播间隔(如 50ms)。如主机收到广播报文后,若决定发起连接,需要在T_IFS后立即返回(在从机接收周期内返回)。

2025-08-14 13:56:00 945

原创 【CAN系列-第二篇】降低CAN负载和首帧延迟的实用方法

合理设计报文周期与优先级,结合负载均衡策略和健壮性测试,能够保障CAN通信的实时性、稳定性及可靠性。配合合适的硬件选型和发送接收策略,实现高效的CAN总线系统。想了解更多嵌入式技术知识,请点击阅读我的其他文章烟花的文章链接集合-CSDN博客。

2025-08-13 09:51:55 966

原创 【嵌入式原理系列-第二篇】时钟树配置及RTC注意事项

时钟源与RTC虽然在系统中“默默工作”,但它们的选型与配置往往影响全局。良好的时钟架构不仅能提升系统性能与稳定性,还能降低功耗与维护成本。工程实践中,应结合功耗、精度、启动速度、成本等多方面权衡,制定合适的时钟与RTC策略。想了解更多嵌入式技术知识,请点击阅读我的其他文章烟花的文章链接集合-CSDN博客。

2025-08-12 18:28:16 1191

原创 【UDS系列-第一篇】搞不清14229-X和15765–X的关系?一篇文章帮你梳理清楚

本文梳理了UDS及其相关标准之间的关系,重点阐明了ISO 14229系列与ISO 15765系列的职责划分。UDS作为汽车诊断的统一应用层协议,其核心服务和交互逻辑由ISO 14229-1定义,独立于具体传输媒介。而ISO 15765-2专注于CAN总线网络层的数据分包与重组,保证长消息能在经典CAN帧限制内顺利传输。ISO 14229-3则是UDS在CAN上的具体实现标准,负责地址分配和帧格式规范,缓解了厂商间CAN ID混乱问题,尽管实际应用中存在一定灵活性。

2025-08-11 13:17:52 1215

原创 【BLE系列-第二篇】数据链路层(LL):基于1M PHY模式的报文详解

数据链路层(LL)是 BLE 协议中的关键一环,主要负责在物理无线信道上实现可靠、高效的点对点或广播数据传输。BLE 物理层虽然负责无线信号的发送与接收,但仅靠物理层无法保证数据传输的正确性和高效性。数据链路层承担了链路管理和数据流控制的任务,确保无线通信在复杂环境下稳定、低耗地运行。没有数据链路层,设备间的通信就像是没章法的广播,数据丢失多、功耗高、体验差。

2025-08-07 13:04:12 1515

原创 【BLE系列-第一篇】BLE是怎么一步步统治低功耗通信的?

2.1 频段与信道划分BLE 使用 2.4GHz ISM 频段,这是一个免许可的公共频段,因此BLE经常需要和 Wi-Fi 等协议共用。为了减少和Wi-Fi等协议的冲突,BLE 将这个频段划分为 40 个信道,编号0~39,每个信道带宽为 2MHz。其中37、38、39是广播信道,用于设备发现和连接,其余37个信道用于数据传输。3个广播信道的频段特意选在Wi-Fi主信道之间的空隙,以减少冲突。1)2.4GHz ISM 频段总宽度:2402 MHz~2483.5 MHz。

2025-08-06 17:50:00 979

原创 【密码学系列-第二篇】HMAC 与 CMAC 通俗对比:嵌入式场景下的完整性防护指南

嵌入式通信场景下,单靠加密并不足以保证安全。:别人不能读出内容 → 用对称加密(如 AES):别人不能悄悄改数据 → 用消息认证码(MAC):别人不能复制旧数据 → 用随机数/序列号等机制于是我们设计了这样一套逻辑:加密:我不想别人看到内容 → 用 AES 等对称加密算法认证:我不想别人篡改数据 → 加入 HMAC 或 CMAC 等认证码防重放:我不想别人复制老包 → 加入 nonce 或 IV 做唯一标识。

2025-08-05 16:23:58 989

原创 【密码学系列-第一篇】嵌入式开发中的加密算法详解:AES与RSA实战指南

本文系统介绍了加密算法在嵌入式系统中的应用。对称加密部分重点解析了AES算法的配置项(密钥长度、工作模式、填充方式)和处理流程,指出AES-128-CBC是嵌入式领域的首选方案。非对称加密部分对比了RSA、ECC等算法的特点,推导了RSA的数学原理,并针对不同嵌入式场景给出了算法选型建议。文章强调对称加密适合数据加解密(速度快),非对称加密则主要用于身份认证和密钥分发。最后针对资源受限的嵌入式环境,提供了密钥管理的最佳实践方案。

2025-08-04 18:31:07 859

原创 【嵌入式原理系列-第一篇】GPIO开漏/推挽/上拉/下拉怎么选?

本文从工程实践角度系统介绍了GPIO的配置要点。首先阐述了GPIO的基本概念和作用,重点分析了推挽与开漏两种输出结构的原理、特点及使用场景对比。针对低功耗场景,详细说明了未使用引脚、电平保持和外部输入检测的配置建议。最后提出了连接未知设备时的安全原则:输出端使用开漏结构,输入端必须配置上拉/下拉电阻。文章强调工程实践中的注意事项,如推挽输出可能导致的短路问题,以及不同场景下的功耗优化配置方法,为嵌入式开发者提供了实用的GPIO配置指南。

2025-08-03 15:53:59 1094

原创 【CAN系列-第一篇】CAN总线入门全解析:嵌入式工程师必须掌握的通信机制

网络管理模式网络管理报文应用报文(*)发送接收发送接收睡眠模式(Bus Sleep Mode)NYNN预睡眠模式(Prepare Bus Sleep Mode)NYN(*)N网络模式(Network Mode)YYYYYYYYNYYYY:表示允许发送/接收报文N:表示不允许发送/接收报文N(*):表示已经在发送缓冲区的报文是允许发送的应用报文(*):包含应用报文、诊断报文10.1 字节序10.1.1 摩托罗拉格式10.1.2 英特尔格式。

2025-07-31 15:39:45 2127 4

空空如也

空空如也

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

TA关注的人

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