AUTOSAR CP--chapter7从CAN网络学习Autosar通信

从CAN网络学习Autosar通信

  • 前言
  • 缩写词
  • CAN通信在AUTOSAR架构中的传输
  • 上位机配置

第六章总结:学习了如何使用工具的自动配置功能,位我们生成系统描述中部分ecu的BSW模块配置,但是自动配置的功能虽然为我们提供了极大的便利,我们仍然需要学会如何去自己建立BSW中关于通信的配置。

前言

有关通信部分的BSW配置,因为日后工作中,有一部分功能需要我们灵活地进行组织,相关的功能模块才能够去实现,所以后面的几个章节,为大家详细介绍,如何手工对这部分功能进行配置,进一步的帮助大家去理解,autosar标准是如何实现网络通信的以及它的配置逻辑是什么,如何帮助我们建立更为直观的网络配置流程。

缩写词

在这里插入图片描述
更多缩写词参考《AUTOSAR_CP_SWS_CANInterface》中的第二章节Acronyms and Abbreviations

CAN通信在AUTOSAR架构中的传输

can模块完成can通信收发过程,封装和解析。
首先是com层CAN Driver模块也是BSW的底层,canif,那么BSW层可能会用到PDUR和com模块,也经过RTE层,最终到达我们的ASW层的应用层SWC中去。
在这里插入图片描述
autosar中CAN通信通过不同L-PDU并且使用了PDU Rounter把这些功能模块通过I-PDU连接在一起,那么才能构建一个完整的can收发的过程。

autosar进行can收发的一个流程以及数据传递的方式。
首先为信号(可以理解装载的数据有效值,不只一个信号,将多个信号封装成一个报文)进行封装,完成封装功能的是com模块(接收和发送的处理),要知晓信号的位置和信号的排列方式(摩托罗拉或Inter)。

com模块把上层RTE层传来的信号装到PDU中,然后去触发发送。
组成:CanIf模块由CAN 硬件独立任务组成,属于相应ECU的CAN通信设备驱动。这些功能执行一次,为了基础CAN设备驱动仅专注于对相应的特定CAN硬件设备的访问和控制。
功能:CanIf主要实现PDUR和上层AUTOSAR协议栈的通信模块的控制流和数据流的请求,比如:发送请求处理、传输信息、接收标志、错误通知、CAN控制器的开始和结束,从而唤醒和参与网络中。
实现:CanIf主要负责将BSW层处理的PDU转换成LPDU后,通过CAN控制器,通过发送mail将PDU发送到CAN线上;也负责将CAN总线上的CAN消息转换成LPDU,然后再转换成PDU回馈到BSW层。主要功能便是完成众多的PDU与CAN mail之间的映射,需要配置HOH以及buffer以及它与CAN控制器之间的映射关系。

首先看一下CANif整个模块它的结构
第一个配置文件夹主要配置的是与CAN控制器相关的部分,

不同报文的数据传输通道不一样。
autosar 通信基本模块:初始化通道,收发设置,busoff设置。

上位机配置

手动配置的思路:第一步我们需要认识到autosar标准组建一个功能,是需要通过不同的模块来协作完成的,这些模块之间能通过pdu来相互传递数据和共用配合去完成一个功能,所以我们在进行can通信配置时,我们首先需要明确与can通信相关需要哪些模块特别是BSW层的模块,第二步我们需要分析完成CAN通信的配置,需要几个IPDU来连接这三个主要的模块,以发送为例:首先我们需要一个com的PDUR的IPU,第二个我们需要一个pdur到CANif的IPDU,这就意味着我们完成一个信号的发送。需要建立com到pdur,pdur到canif这两个IPDU,接下来我们进行具体的配置
建立CAN接收或发送的过程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/691442.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

专145+总420+哈尔滨工业大学803信号与系统和数字逻辑电路考研经验哈工大电子信息与通信,真题,大纲,参考书。

自从高考失利没有考入哈工大,一直带着遗憾,今年初试专业课803信号与系统和数字逻辑电路145,总分420顺利圆满哈工大,了却了一块心病,回看这一年的复习起起落落,心中的那块初心,让我坚持到了上岸&…

算法通关村-----继续看回溯问题

复原IP地址 问题描述 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。 例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.…

ElasticSearch之Index Template 和Dynamic Template

写在前面 在ElasticSearch之Mapping 一文中我们一起看了es的dynamic mapping机制,通过该机制允许我们不需要显式的定义mapping信息,而是es根据插入的文档值来自动生成 ,比如插入如下的文档: {"firstName": "Chan…

前端新手Vue3+Vite+Ts+Pinia+Sass项目指北系列文章 —— 第十一章 基础界面开发 (组件封装和使用)

前言 Vue 是前端开发中非常常见的一种框架,它的易用性和灵活性使得它成为了很多开发者的首选。而在 Vue2 版本中,组件的开发也变得非常简单,但随着 Vue3 版本的发布,组件开发有了更多的特性和优化,为我们的业务开发带…

css pointer-events 多层鼠标点击事件

threejs 无法滑动视角,菜单界面覆盖threejs操作事件。 pointer-events /* Keyword values */ pointer-events: auto; pointer-events: none; pointer-events: visiblePainted; /* SVG only */ pointer-events: visibleFill; /* SVG only */ pointer-events: visib…

Python中HTTP请求的基本方法:穿越网络的魔法咒语

在网络世界中,HTTP请求就像是对服务器的“魔法咒语”,它能让我们的Python程序与远方的服务器进行沟通,获取或发送数据。今天,我们就来聊聊Python中HTTP请求的基本方法,看看这些“咒语”是如何施展的。 首先&#xff0…

java数据结构与算法刷题-----LeetCode155. 最小栈

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 1. 法一:使用辅助最小栈 解题思路:时间复杂度O(1)…

自己怎么做小程序?如何通过小程序赚钱?如何确保产品有竞争力?

引言 随着科技的迅速发展,小程序已经成为创业者们进军电商领域的一种重要途径。在这个数字时代,通过小程序卖东西已经成为一种便捷而高效的商业模式。本文将为您解析自己如何通过小程序销售商品,并实现盈利的关键步骤。无论您是初入创业圈的…

ClickHouse 基础(一)

官网 以毫秒为单位查询数十亿行 ClickHouse是用于实时应用和分析的最快、资源效率最高的开源数据库。 安装ClickHouse 使用ClickHouse,你有三个选择: ClickHouse云:官方ClickHouse作为一项服务,-由ClickHouse的创建者构建,维护和支持快速安…

Hadoop-Yarn-调度器总结

一、Yarn有哪些调度器 在cdh中Yarn组件中查看配置如下: 可以看到Yarn有三种调度器,分别是FairScheduler、FifoScheduler、CapacityScheduler,它们都是Hadoop的一个可插入调度器。 cdh默认的调度器是FairScheduler,hadoop默认的调…

Linux-目录I/O-004

学习重点: 1.目录I/O的函数接口 2.目录的遍历,目录的递归遍历 1.【mkdir】 1.1函数原型 【int mkdir(const char *pathname, mode_t mode);】1.2函数功能 创建目录文件1.3函数参数 1.3.1【pathname】 文件路径1.3.2【mode】 文件的权限1.4返回值 …

【Java EE初阶二十】关于http(一)

1. 初识http HTTP 最新的版本应该是 HTTP/3.0,目前大规模使用的版本 HTTP/1.1; 下面来简单说明一下使用 HTTP 协议的场景: 1、浏览器打开网站 (基本上) 2、手机 APP 访问对应的服务器 (大概率) 前面的 TCP与UDP 和http不同,HTTP 的报文格式&a…

【conda环境 安装 tensorflow2.2】 解决方案

1.检查anaconda安装:在cmd输入 conda --version 2.检测已经安装的环境:conda info --envs 3.新建一个python3.5的环境,tensorflow: ###conda create -n xxx python3.5 xxx为虚拟环境名 ###conda create -n xxx python3.6 xxx为虚拟…

openGauss 5.0.0全密态数据库应用小试

前言 openGauss HCIA教材中,安全是一个重要的章节,在实际项目中,随着网络安全和信息安全形势的变化,企业也越来越重视数据库安全。去年在HALP内部进行openGauss培训时,安全特性就被学员们提出来要重点讲解&#xff0c…

SICTF Round#3 Web方向 题解WP

100%_upload 题目描述:小茂夫说:一直上传恶意文件尊嘟要生气了,世事莫固守,转变思路求突破 开题,注意有个文件包含 题目把后缀过滤死了,无法上传php后缀文件。文件内容些许过滤,短…

在ubuntu20.04 上配置 qemu/kvm linux kernel调试环境

一:安装qemu/kvm 和 virsh qemu/kvm 是虚拟机软件,virsh是管理虚拟机的命令行工具,可以使用virsh创建,编辑,启动,停止,删除虚拟机。 (1):安装之前&#xff0c…

LLM应用开发与落地:chroma的近似搜索问题

背景 最近开始测试一个游戏客户的RAG模块,发现一个向量数据库中大家容易忽略的一个点:近邻搜索算法。一开始我们选择的是chroma作为向量数据库,因为chroma的用户接口和设计非常简单,而我偏向于简单。创建collection时设置的距离计…

EasySass: could not generate CSS file. See Output panel for details.微信小程序报错及解决

解决微信小程序导入vscode的easysass包报错 问题发现问题来源和解决制作不易,感谢三联,谢谢大家啦 问题发现 当我喜滋滋的在vscode中导入easysass包之后,又在微信小程序中添加vscode扩展,又去文件中改好了配置文件后却直接弹出了…

npm run dev运行出现NODE_OPTIONS=--max_old_space_size=4096 vite --mode dev --host?

问题描述 PS E:\AWorkDataease\DataEase\core\core-frontend> npm run dev dataease0.0.0 dev NODE_OPTIONS–max_old_space_size4096 vite --mode dev --host 0.0.0.0 ‘NODE_OPTIONS’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 解决方案 遇到…

生成对抗网络----GAN

系列文章目录 文章目录 系列文章目录前言一、基本构成二、应用领域三、基本原理四、如何训练GAN 前言 一、基本构成 GAN (Generative Adversarial Network) : 通过两个神经网络,即生成器(Generator)和判别器(Discriminator&#…