自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CAN总线抗干扰实战:用差分传输解决地线电压漂移问题

理想情况下,系统中所有设备的“地”都是0V基准点,但实际电路中,由于导线阻抗、回路电流、电磁干扰等因素,不同设备的地线之间可能存在非预期的电压差(从mV级到数十V),这种现象称为地线电压漂移。汽车中,发动机ECU与车身控制器的地线因距离远、大电流负载(如电机)导致地电位差达1-2V;工业现场,PLC与传感器的地线因接地方式不同,可能出现5V以上的漂移。CAN总线通过“差分电压传输+高CMRR收发器”的组合,从物理层天然具备对抗地线电压漂移的能力。必须用双绞线布线,确保干扰对称耦合;

2025-07-17 17:19:27 979

原创 ISO 15765-2TP传输协议

定义与定位:道路车辆 - 诊断通信通过控制器局域网(CAN) - 第2部分:传输层协议和服务核心功能:实现诊断数据的可靠传输,支持大数据量传输应用场景:汽车ECU与诊断工具之间的通信与其他标准的关系ISO 14229 (UDS) → 应用层ISO 15765-2 → 传输层ISO 15765-3 → 网络层ISO 11898 → 数据链路层和物理层 (CAN)

2025-07-14 18:04:42 670

原创 ISO 14229TP传输协议

定义与定位ISO 14229:道路车辆 - 统一诊断服务(Unified Diagnostic Services, UDS)标准化组织:国际标准化组织(ISO)适用范围:汽车电子控制单元(ECU)的诊断通信核心作用定义诊断服务的语法和语义规范请求/响应消息格式提供统一的错误处理机制支持多种底层传输协议(CAN、LIN、FlexRay、Ethernet等)

2025-07-13 15:24:57 963

原创 UDS诊断

UDS诊断是现代汽车电子系统的核心技术,通过标准化的接口实现了跨厂商、跨车型的统一诊断方案。从故障检测到参数调整,UDS诊断为汽车全生命周期的维护和管理提供了强大支持。

2025-07-11 08:55:50 394

原创 UDS刷写程序全流程详解(从上位机到最底层)

通过以上步骤,可实现从上位机到ECU底层的完整UDS刷写流程,确保程序安全、可靠地更新。

2025-07-10 08:36:21 1059

原创 UDS刷写程序的原理详解

UDS刷写程序通过分层协议设计、安全机制和内存管理技术,实现了汽车电子、工业控制等领域的程序安全更新,是现代嵌入式系统不可或缺的核心技术之一。

2025-07-09 17:34:02 562

原创 从节点波特率校准过程

为了进一步理解上文中的从节点的校准过程,将通过分步拆解表格中的数值关系,并结合硬件原理和生活类比,重新梳理整个校准逻辑。

2025-07-08 16:28:50 879

原创 LIN总线通讯主从节点同步波特率:从节点的“测量-计算-调整”三步法

通过同步场0x55实现波特率同步的核心在于:从节点通过测量主节点发送的物理信号边沿间隔,动态计算出实际位时间,并据此调整自身的采样时机和波特率配置。以下是具体解释:2. 计算实际位时间由于第2位和第4位之间间隔2个位时间,因此:示例:若测量到,则实际位时间为,对应波特率为。3. 调整采样点与波特率配置采样点校准:LIN协议规定采样点位于7/8位时间处(即位周期的87.5%位置),以避开信号边沿的不稳定期。波特率寄存器更新:从节点MCU的UART模块根据计算出的位时间更新波特率寄

2025-07-07 14:48:51 850

原创 LIN总线通讯中从节点波特率同步原理

通过同步场0x55的“节拍器”作用,LIN总线实现了主从节点的时钟统一,这是保证通信可靠性的基础机制。理解这一过程,有助于在硬件设计(如选择时钟源)和软件调试(如波特率异常排查)中避免常见问题。在LIN总线中,主节点与从节点各自拥有独立的时钟源(如MCU内部RC振荡器),但由于制造工艺差异,时钟频率可能存在±5%~±10%的偏差。,让所有从节点能基于主节点的物理信号重新校准本地时钟,类似于“乐队指挥通过节拍器统一演奏节奏”。

2025-07-06 15:26:37 613

原创 LIN总线主节点发送帧头与从节点发送响应的过程

在一些特殊情况下,如事件触发帧的冲突解决、偶发帧的传输等,主节点可能还需要执行额外的操作来确保数据的正确传输和网络的正常运行。在LIN总线系统中,从节点发送数据是一个被动响应主节点请求的过程。

2025-07-04 08:43:27 957

原创 汽车LIN总线通讯:从物理层到协议栈的深度解析

LIN总线采用单线(LIN_H)加地线(GND)的拓扑结构。显性电平(Dominant):逻辑值为0,LIN_H线电压被拉低至接近0V,由LIN收发器内部的MOSFET导通接地实现。隐性电平(Recessive):逻辑值为1,LIN_H线电压通过上拉电阻维持在VBAT/2(如车辆12V系统中约为6V)。这种单端信号传输方式虽然不如CAN总线的差分传输抗干扰能力强,但在短距离(总线长度不超过40米)、低速率(最高20kbps)的车身电子应用场景中,成本优势显著。

2025-07-03 09:32:29 852

原创 MCU、LIN收发器、LIN总线、节点,它们之间是如何协作的?

fill:#333;color:#333;color:#333;fill:none;协议层级节点UARTLIN_H线数据帧应用层数据链路层物理层LIN总线LIN收发器MCU其他节点。

2025-07-01 14:49:28 939

原创 MCU和LIN收发器是如何实现通讯的

通过分工协作实现通信功能。MCU负责处理高层协议和应用逻辑,而LIN收发器则负责物理层的信号转换和传输。当LIN收发器接收到同步场(0x55,01010101)时,通过RXD通知MCU,MCU以此校准接收时序。通过理解MCU与LIN收发器的协作机制,结合硬件连接和软件编程,可实现可靠的LIN总线通信系统。当LIN收发器检测到错误时,通过状态引脚或中断通知MCU,MCU执行错误恢复流程(如重发帧)。MCU通过UART设置与LIN总线一致的波特率(通常19.2kbps)。在LIN总线系统中,

2025-06-30 14:25:34 652

原创 MCU、LIN收发器与LIN总线是如何进行交互的?

MCU、LIN收发器与LIN总线是如何进行交互的

2025-06-29 15:57:48 1032 1

原创 LIN总线通讯中的重要概念

概念描述相关示例波特率通常为1-20kbps,标准值19.2kbps位时间=1/波特率(如19.2kbps → 约52μs/位)采样点位中间的采样位置(通常为7/8位时间处),用于准确判断电平状态19.2kbps时,采样点约为45.5μs唤醒信号持续拉低LIN_H线≥250ms,触发从节点唤醒车门开启时唤醒LIN总线上的模块节点保护时间从节点接收帧头到发送响应之间的最小延迟(通常≥200μs)避免多个从节点同时响应造成冲突理解这些概念对于深入分析LIN总线通信、解决实际工程问题至关重要。

2025-06-28 11:14:21 582

原创 LIN总线通讯中的重要概念信号(Signal)、帧(Frame)和 节点(Node)

在 LIN(Local Interconnect Network)总线通讯中,信号(Signal)、帧(Frame) 和 节点(Node) 是三个核心概念,分别代表数据单元、传输载体和通信实体。

2025-06-28 11:10:28 697

原创 LIN总线LDF文件

LIN总线LDF文件

2025-06-28 10:57:24 309

原创 将4字节数据从内存中以大端字节序的方式读取并组合成一个32位无符号整数的方法

这段 C 语言代码定义了一个名为LOAD32H的宏,用于将 4 字节数据从内存中以大端字节序(高位在前)的方式读取并组合成一个 32 位无符号整数。

2025-06-28 10:49:41 741

原创 uint8_t是什么数据类型?

本文深入解析C语言中的整数类型,重点介绍固定宽度整数类型uint8_t及其应用。文章从标准整数类型和固定宽度类型(stdint.h)的基础知识入手,详细阐述uint8_t的定义、优势及使用场景,包括位操作、嵌入式开发等。通过代码示例展示uint8_t在跨平台编程和性能优化中的实际应用,并指出类型转换、编译器兼容性等注意事项。最后强调在需要明确数据宽度的场景下,固定宽度类型的优势及重要性,为C语言开发者提供实用参考。

2025-05-24 15:34:39 957

原创 常见嵌入式软件架构

核心功能:存放嵌入式系统的上层应用程序,直接实现用户需求的业务逻辑(如电机控制、传感器数据处理、人机交互界面等)。与其他模块的关系:依赖于下层的RTE、OS和BSP提供的接口,不直接操作硬件。核心功能:负责硬件与软件的底层交互,为上层提供统一的硬件抽象接口。关键职责:初始化硬件外设(如GPIO、UART、SPI)、处理硬件中断、管理内存映射等。核心功能:管理系统资源(CPU、内存、外设),提供任务调度、进程通信、内存管理等服务。常见嵌入式OS。

2025-05-24 12:51:35 1238

原创 STM32 DAC详解:从原理到实战输出正弦波

本文从STM32的DAC基础原理出发,详细讲解了配置方法、数据输出模式及实战应用,覆盖了从寄存器操作到HAL库函数调用的全流程。通过结合DMA和定时器,开发者可实现高精度波形输出,满足工业控制、音频处理等场景需求。参考代码与资料STM32F1 DAC开发手册HAL库DAC配置示例正弦波生成原理。

2025-03-14 17:28:28 2316 2

原创 深入解析ADC寄存器:从原理到实战配置

掌握ADC寄存器操作是嵌入式开发者的高阶技能,需深入理解芯片手册的位域定义与硬件特性。随着RISC-V生态的发展,开源ADC核(如Roa Logic ADC)的寄存器设计更趋透明化,为开发者提供了更大的定制空间。讨论话题:您在寄存器配置中踩过哪些“坑”?欢迎分享经验!

2025-03-13 09:45:54 1290

原创 深入解析模拟/数字转换(ADC):从原理到应用实践

ADC(Analog-to-Digital Converter)通过采样、保持、量化、编码采样:以固定频率截取模拟信号瞬时值(需满足奈奎斯特采样定理,即采样率≥2倍信号最高频率)。保持:通过采样保持电路(SHA)维持采样值稳定,供后续处理。量化:将连续幅度离散化为有限个量化电平(如12位ADC对应4096个电平)。编码:将量化值转换为二进制代码。图1:ADC工作流程示意图ADC作为模拟与数字世界的“翻译官”,其性能直接决定系统智能化水平。

2025-03-11 14:48:29 6392

原创 嵌入式软件工程师为什么要撰写博客?——开启技术进阶与职业发展的双重大门

在嵌入式开发领域,代码是面向机器的语言,而博客是面向未来的技术遗产。它不仅是个人能力的数字化证明,更是推动行业进步的知识载体。每一篇博客都是在技术海洋中埋下的锚点,既能为后来者指引方向,也能让自己在职业浪潮中站稳脚跟。让我们用文字为代码赋予生命力,用知识沉淀开启嵌入式工程师的星辰大海。

2025-03-11 12:30:51 1270

原创 一文搞懂MCU和SoC的核心差异:从架构到应用场景全解析

CU(微控制器单元)与SoC(片上系统)是嵌入式开发中两大核心芯片,但其设计理念与应用场景截然不同。MCU主打精简,集成单一处理器、基础外设与存储,专为低功耗、实时控制而生,适用于家电控制、传感器等简单场景;SoC则强调整合,融合多核CPU、GPU、AI加速器等模块,支持复杂操作系统与高性能计算,广泛用于智能手机、自动驾驶等高阶领域。二者在性能、功耗、外设扩展及开发复杂度上差异显著:MCU成本低、开发简单,SoC功能强大但功耗与成本更高。本文附对比表格与避坑指南,助开发者精准决策。

2025-03-10 10:04:35 3220

原创 STM32通用与复用功能I/O(GPIO与AFIO)详解

STM32通用与复用功能I/O(GPIO与AFIO)详解

2025-02-27 19:55:47 1664

原创 STM32存储器和总线架构深度解析:从内核到外设的全链路设计

STM32存储器和总线架构深度解析:从内核到外设的全链路设计

2025-02-26 19:03:43 989

原创 深入解析STM32时钟树:从原理到实战配置

深入理解STM32时钟树需要理论与实践相结合。使用示波器实测各节点时钟信号研究《参考手册》中时钟控制章节尝试不同配置下的功耗测试掌握时钟配置的开发者,才能真正驾驭STM32的强大性能。希望本文能成为您深入探索嵌入式系统的基石,期待在评论区与您交流实战经验!

2025-02-24 18:58:54 1617

原创 STM32之UART(通用异步收发器)通信

UART作为嵌入式开发的基础通信接口,其配置灵活性和低成本特性使其在STM32项目中广泛应用。掌握波特率计算、中断处理及DMA优化等关键技术,可显著提升系统实时性和稳定性。建议结合具体项目需求,灵活选择查询、中断或DMA模式。

2025-02-22 20:30:12 708

原创 AI会让嵌入式软件工程师失业?不!会这些技能的人更吃香了

AI会让嵌入式软件工程师失业?不!会这些技能的人更吃香了

2025-02-21 14:51:44 735

原创 单工通信、半双工通信和全双工通信之间到底有什么区别?

一文搞清楚单工通信、半双工通信和全双工通信之间到底有什么区别

2024-12-18 14:33:41 1632

原创 STM32F103C8T6标准库实现SPI通信控制三块从芯片代码实现

一块stm32芯片与另外三块stm32芯片通过SPI协议进行通信

2024-12-17 09:30:20 1090

原创 通俗语言理解SPI的四种工作模式

一文弄清 SPI 工作模式

2024-12-16 09:36:14 6214

原创 以STM32为例-通俗语言理解SPI通信协议

以STM32为例-通俗语言理解SPI通信协议

2024-12-15 17:47:11 1154 1

空空如也

空空如也

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

TA关注的人

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