AutoSAR系列讲解(入门篇)4.2-BSW的I/O功能

news/2024/7/9 6:34:55

一、架构与术语解释


这里主要是说I/O的功能,而其中会用到一些模块,下面途中我将用到的模块都高亮显示了,并且放大到了右边的途中展示其中的子模块(该子模块就是BSW中最小的单位了,如其中的ADC子模块)。这里要强调的一点是:I/O并非是我们经常说的GPIO,这里的I/O包括了DIO(数字输入输出,就等同于单片机上的GPIO)、ADCPWM

 

下面我将详细解释上图子模块的功能:

  • I/O Signal Interface: 对输入数据的初步处理,比如输入消抖
  • Driver for ext. ADC ASIC:外置ADC的驱动,比如当有外部ADC采样芯片的时候,通过SPI通信,将数据传入主芯片。这里就需要有对外部ADC处理的驱动模块
  • Driver for ext. I/O ASIC: 同上,只不过这里是I/O
  • SPI Handler:SPI处理驱动,将硬件中的SPI封装成API供上层调用(有的使用的是I2C,这里就不单独列出来了,大家把图中的SPI改成I2C就行了)
  • ADC PWM DIO:MCAL中的驱动,将硬件中的ADC、PWM、DIO分别封装成API供上层调用
  • SPI ADC PWM DIO(Hardware): 就是指芯片中的这些功能模块

值得一提的是,I/OHwAb是需要手写代码的(当然也可以Matlab生成,这里的手写是指非AutoSAR的代码,需要我们自己添加),在DaVinci中可以申请一个SWC声明为IOHwAb,来作为一个c文件,在其中添加代码(说白了就是当成SWC使用)。

二、举个例子


比如:汽车车内温度传感器传入温度数据并被ECU处理的流程


上图中:

  • Adc_ReadGroup是MCAL对上层开放的API函数,Read到的是ADC采样值(比如12位精度最大就是4095)
  • Get_SensorValue是一个服务函数,是写在了IoHwAb中的,Sensor

        SWC和IoHwAb是通过C/S相连的,Sensor
        SWC就可以通过 Rte_Call_Get_<port>_SensorValue 来调用整个函数。这个函数的主要作用就是通过ADC采样值计算出实际的传感器阻值(多少欧姆)

  • Send_Temperature就是将Sensor SWC中的树传递给App SWC,在Sensor

        SWC中可以将欧姆值计算成实际的温度值。这样一来,最终App
        SWC拿到的就是实际的温度值


http://lihuaxi.xjx100.cn/news/1294693.html

相关文章

基于 unity 配置 adb

1.打开环境变量配置path的环境 2 找到自己的unity安装目录,找到对应路径 配置到 path 属性中 C:\~\Editor\2021.3.0f1c1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platform-tools 3 应用保存即可

python numpy 多维数据广播

广播规则&#xff1a;从最右侧开始广播。 Broadcasting — NumPy v1.25 Manual 截图 下面给出一些样例&#xff1a; 三维矩阵广播 a np.array([[[0,0],[0,0]],[[0, 0],[0, 0]]])print(-*10, a, -*10) print(a.shape) print(a)b np.array([[[1]],[[2]]]) print(-*10, b, -*…

Excel表格密码去除,轻松解锁大全

【】在线Excel表格解密方法&#xff1a;找回Excel密码、去除密码、安全简单易操作 【】 对于使用Excel表格的用户来说&#xff0c;有时候会遇到表格被密码保护的情况&#xff0c;无法编辑或查看内容&#xff0c;这给工作和学习带来了一些困扰。但是&#xff0c;不用担心&#…

使用vue+element开发一个谷歌浏览器插件

谷歌浏览器插件-二维码生成器 使用vue2element ui开发&#xff0c;参考文章&#xff1a; https://blog.csdn.net/qq_35606400/article/details/123183420 代码地址&#xff1a;https://github.com/changwenxia/chrome-qr-tools 开发过程&#xff1a; 1.将package.json里的mai…

人脸识别损失函数总结

1、Softmax Loss 公式 特点 Softmax鼓励不同类别的特征分开&#xff0c;但没有对特征分离的距离进行限制 2、L-Softmax Loss 公式 特点 增加margin角度参数m&#xff0c;压缩类内角度范围&#xff0c;实现类内紧凑&#xff0c;增加类间决策边界间隔参数m压缩了cos函数角度…

kotlin Calendar打印每天的信息

fun printEveryDay(){val calendar Calendar.getInstance()calendar.firstDayOfWeek Calendar.MONDAY // 设置一周的第一天为周一val year calendar[Calendar.YEAR]val month calendar[Calendar.MONTH]calendar[year, month] 1 // 设置日期为月份的第一天for (day in 1..c…

项目——学生信息管理系统2

目录 用户类型&#xff0c;我们创建一个枚举类 在 org.xingyun.model 包下创建 UserType 枚举类 快速生成 get set 方法 修改代码&#xff0c;下拉框的内容&#xff0c;用我们的枚举类型 给登录按钮绑定事件 我们在 org.xingyun.utils 包下创建一个工具类 Eclipse 智能提…

Arduino驱动BH1750模块实现光照强度采集

Arduino驱动BH1750模块实现光照强度采集 简介特征电气参数接线程序结果 简介 BH1750FVI是一个用于I2 C总线接口的数字环境光传感器IC。该IC最适合于获取调节手机液晶显示屏和键盘背光功率的环境光数据。在高分辨率下探测大范围是可能的。(1 - 65535 lx )。BH1750FVI可以应用于…