AUTOSAR认识与BSW通信架构
Ⅰ.初步认识AUTOSARBSW类开发流程及其工具链DaVinci DeveloperAUTOSAR 经典平台CP的应用层组件开发工具,用来设计软件组件SW-C、接口、端口配置运行时环境 RTE是 AUTOSAR 应用层开发的核心工具和下方的 Configurator 配合使用。DaVinci Configurator ClassicBSW 工程师的核心主力工具用来配置 AUTOSAR 基础软件栈BSW包括 MCU 驱动、CAN/LIN 协议栈、操作系统、内存管理、诊断栈等所有底层模块最终直接生成可编译的 ECU 底层代码。tresos Studio和 Vector DaVinci Configurator 是直接竞品同样是AUTOSAR BSW 配置工具用来配置 EB 自家的 AUTOSAR 基础软件方案。很多车企 / Tier1 用 EB 的软件栈就会用这套工具功能定位和 DaVinci CFG 完全对标。ZCANPRO配套周立功 CAN 盒的上位机软件实现 CAN 报文的收发、监控、记录、回放是低成本的国产 CAN 调试工具入门开发、现场调试很常用。CANoe 12.0车载总线领域的行业标杆级仿真测试工具支持 CAN/CAN FD/LIN/ 车载以太网等几乎所有车载总线可完成总线监控、节点仿真、诊断测试、自动化测试等全流程工作。图中标注 “仅用于回放报文” 只是它最基础的功能之一完整功能覆盖车载开发测试全场景。小tipsⅡ.需具备的专业技能CAN2.0A/B波特率都一样CAN FD具有灵活数据速率数据段高速仲裁段低速Ⅲ.初步认识Autosar网络管理1.什么是网络管理2.什么是网管报文3.什么是主动唤醒4.什么是被动唤醒5.网络管理的类型Ⅳ.AUTOSAR开发基本流程1、需求规范2、Autosar 官方规范3、代码包 Autosar 指导文档4、ISO 标准规范5、芯片手册文档作用需求规范整车 / ECU 业务需求定义产品要实现什么功能是开发输入源头Autosar 官方规范AUTOSAR 标准文档规定 BSW 各模块 API、行为、接口定义代码包 Autosar 指导文档芯片厂商提供的 MCAL 使用手册教如何配置、使用代码包ISO 标准规范行业国际标准如 ISO‑14229 (UDS)、ISO‑11898 (CAN)芯片手册MCU 硬件手册寄存器、外设、电气参数底层驱动开发依据Ⅴ.AutoSAR通信服务概述模块全称核心职责分层COMCommunication通信模块信号 ↔ I‑PDU 互相转换接收方向PduR 上来 I‑PDU → 解析出信号通过 RTE 给到 Application 应用层发送方向应用层 RTE 下发信号 → 组装成 I‑PDU 交给 PduR报文布局由DBC/ARXML定义做信号接口、网关功能应用层不用关心底层是什么总线。通信和诊断服务DCMDiagnostic Communication Manager 诊断通信管理接收诊断报文处理 UDS 诊断服务上层诊断业务模块。通信和诊断服务BusTpTransport Layer传输层专为诊断设计CAN 单帧最大 8 字节超过 8 字节的数据由 Tp 层完成多帧分包、组包ISO‑TP。通信和诊断服务PduRPDU Router PDU路由层PDU (Protocol Data Unit) 协议数据单元统一管理 CAN/LIN/Eth 各类报文负责 PDU 的转发、路由决定报文往上送给 COM/DCM还是向下发给总线接口层支持 IPDU 多路复用 IPDU‑Mux。通信和诊断服务CanIf /LinIf /EthIf总线接口层通信硬件抽象层屏蔽 CAN/LIN/ETH 硬件差异向上提供统一的硬件无关接口调用 MCAL 接口完成报文收发。通信硬件抽象McalMicrocontroller Abstraction Layer微控制器抽象层包含总线控制器驱动、收发器驱动向上给CanIf/LinIf/EthIf提供硬件驱动接口是最贴近寄存器的一层。通信驱动数据流方向发送流程应用往外发 CAN 报文Application应用层 → RTE → COM (信号打包成 I‑PDU) → PduR 路由 → BusTp (大于 8 字节才走) → CanIf → MCAL → CAN 硬件总线接收流程总线上收到 CAN 报文CAN 硬件 → MCAL → CanIf → BusTp (多帧重组) → PduR 路由分发 → COM (I‑PDU 解包成信号) → RTE → Application应用层Ⅵ.协议数据单元PDU这个图是 AutoSAR 官方文档中截取这个图把 Autosar 的通信服务很细致的面描述出来了。包括 Eth、FlexRay、CAN、LIN 4 种总线通信协议栈。L‑PDUData Link Layer PDU 数据链路层 PDU可以理解就是一帧总线报文N‑PDUNetwork Layer PDU 网络层也就是传输 TP 层PDU一般诊断报文会走 TP 层通信报文直接从 IF 层转到 PduR 层当诊断是多帧传输的时候一个 I‑PDU 就会被分段成多个 N‑PDUI‑PDUInteraction Layer PDU 交互层 PDUPDUR 路由转发 I‑PDU。三种 PDU 代表在通信协议栈不同分层的协议数据单元I‑PDU 就包含了数据 buffer 指针、数据长度、和 I‑PDU ID本质就是一个结构体。Ⅶ.通信服务传输数据流应用层模块通过 RTE 调用 COM 模块 Com_SendSignal 请求发送信号COM 写信号进 PDU bufferPDU 被事先定义好的 PDU 路由表发送到指定目的层根据 PDU ID 来查找 PDU 的路由表比如 CAN 总线的 PDU 就会路由到 CanIf 层Lin 的 PDU 就会路由到 LinIf 层。Interface 层根据不同的通道把报文写入到不同队列中Driver 根据报文优先级发送报文注意这里涉及到 PDU 的 buffer 缓存问题一般情况下上层到 If 层都不会有 PDU 拷贝过程直接把 Buffer 缓存指针进行传递。到了驱动层可能会拷贝进入驱动 buffer 进行发送。这样可以提高传输效率节省 RAM 资源。驱动通过轮询或者中断接收报文驱动调用 IF 层的 RxIndication 将数据传递给 Interface 层Interface 调用 PduR 层的 RxIndication 将数据传递给 PduR 层PduR 层根据 PDU ID 找到路由表路由到指定上层通信报文一般都路由到 COM 层。进入 COM 层之后根据 SWCs 的情况要么直接通过 RTE 把信号给到 SWCs要么缓存到自己的 Buffer。注意这里也涉及到 PDU 的 buffer 缓存问题一般情况从驱动上来也不会有 Buffer 拷贝只有到 COM 层才会有自己的 Buffer这样可以提高传输效率节省 RAM 资源。

相关新闻

MFAC无模型自适应控制的Matlab实现与工业应用

MFAC无模型自适应控制的Matlab实现与工业应用

1. 项目背景与核心价值去年在给某工业设备厂商做控制系统升级时,遇到一个棘手问题:他们的高温反应釜温度控制系统因物料特性变化频繁,传统PID控制效果波动很大。当时尝试了各种建模方法都难以准确描述这个非线性时变系统,直到接触…

2026/9/15 0:42:58 阅读更多 →
谷歌SEO优化实战:提升排名与流量的核心技术

谷歌SEO优化实战:提升排名与流量的核心技术

1. 谷歌SEO的本质与核心价值谷歌SEO(Search Engine Optimization)是一套系统化的技术方案,旨在通过优化网站结构、内容和外部因素,使其在谷歌搜索结果中获得更高排名。不同于简单的关键词堆砌,现代SEO更强调为用户提供…

2026/9/16 4:57:12 阅读更多 →
免费3D看图工具-3D阅阅三维模型测量、标注、版本比对、BOM导出实测

免费3D看图工具-3D阅阅三维模型测量、标注、版本比对、BOM导出实测

3D阅阅是一款面向3D打印、CNC机加工、模具制造、工业设计领域的轻量化三维模型在线处理与协同审图平台。平台依托自研三维轻量化引擎,实现纯在线、跨终端、免安装的一站式模型处理,全面兼容STEP、IGES、STL、OBJ、3MF、FBX等十余种主流工业三维格式。核心…

2026/9/18 13:33:26 阅读更多 →

最新新闻

3招搞定策划文案怎么写,面试必问实战解析

3招搞定策划文案怎么写,面试必问实战解析

3招搞定策划文案怎么写,面试必问实战解析 学会语法却不知怎么搭项目,这是很多转行技术岗或刚入行的朋友最大的痛点。在技术面试中, 面试必问…

2026/9/22 4:28:54 阅读更多 →
国债327事件复盘:3个维度拆解风控最佳实践

国债327事件复盘:3个维度拆解风控最佳实践

国债327事件复盘:3个维度拆解风控最佳实践 很多刚入行的朋友,手里攥着Python或者Java的语法书,背熟了 for 循环和 class…

2026/9/22 4:28:54 阅读更多 →
深度xp精简版6.2实战:从语法到架构的面试必问拆解

深度xp精简版6.2实战:从语法到架构的面试必问拆解

深度xp精简版6.2实战:从语法到架构的面试必问拆解 刚把Python的for循环写熟,转头就要设计高并发接口?这大概是很多开发者最崩溃的时刻。你背下了语法,却在面对真实项目时手足无措,不知道模块怎么拆,数据流怎么通。这种“只会写片段,不会…

2026/9/22 4:28:54 阅读更多 →
告别代码报错,陈列馆保姆级教程带你从零搭建

告别代码报错,陈列馆保姆级教程带你从零搭建

告别代码报错,陈列馆保姆级教程带你从零搭建 刚接手一个项目,把网上扒来的“陈列馆”展示模块代码复制进来,直接报错 Module not found…

2026/9/22 4:28:53 阅读更多 →
华为c8813解锁工具性能优化:告别卡顿,掌握最佳实践

华为c8813解锁工具性能优化:告别卡顿,掌握最佳实践

华为c8813解锁工具性能优化:告别卡顿,掌握最佳实践 官方文档堆成山,代码跑起来像蜗牛?别慌。面对华为C8813这类硬件设备的解锁与底层调试场景,很多开发者第一反应是查阅冗长的官方手册,结果半小时过去了,还没找到关键API的调用顺序。更糟…

2026/9/22 4:28:53 阅读更多 →
地球在线高清卫星地图API升级避坑速查手册

地球在线高清卫星地图API升级避坑速查手册

地球在线高清卫星地图API升级避坑速查手册 版本升级后 API 全变了,以前能跑的代码现在全报 404,抓头发也没用。别慌,这份 速查手册 专治各种“API 迁移疑难杂症”,帮你把地球在线高清卫星地图的底层逻辑吃透。 很多开发老哥在对接…

2026/9/22 4:27:53 阅读更多 →

日新闻

3台商务办公笔记本实测:手写实现环境配置,告别卡半天

3台商务办公笔记本实测:手写实现环境配置,告别卡半天

3台商务办公笔记本实测:手写实现环境配置,告别卡半天 配置环境就卡半天?别怪机器慢,多半是你没选对工具链。在Java、Go或Python的项目现场, 手写实现…

2026/9/22 0:00:41 阅读更多 →
剑帝加点速查手册:3分钟搞懂核心逻辑

剑帝加点速查手册:3分钟搞懂核心逻辑

剑帝加点速查手册:3分钟搞懂核心逻辑 面试被问原理答不上来,是不是常态?别慌。很多开发者对着 GitHub 开源仓库里的代码发呆,看似简单实则暗藏玄机。今天这份【剑帝加点】速查手册,直接带你拆解核心实现,把面试必考的原理讲透。…

2026/9/22 0:00:41 阅读更多 →
手写实现图片压缩网站核心:搞定WebP转换与质量调优

手写实现图片压缩网站核心:搞定WebP转换与质量调优

手写实现图片压缩网站核心:搞定WebP转换与质量调优 复制来的代码跑不通不知道怎么调?别慌,这种“复制粘贴地狱”在开发圈太常见了。尤其是做 图片压缩网站…

2026/9/22 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/21 3:13:20 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/21 15:36:51 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/21 15:36:51 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/22 2:43:42 阅读更多 →