【车载开发系列】MCAL基本概念

【车载开发系列】MCAL基本概念

【车载开发系列】MCAL基本概念

  • 【车载开发系列】MCAL基本概念
    • 一. BSW与MCAL
      • 1)BSW-服务层
      • 2)BSW-ECU抽象层
      • 3)MCAL驱动层
    • 二. MCAL基本概念
    • 三. MCAL组成
      • 1)PORT
      • 2)DIO
      • 3)ADC
      • 4)PWM
      • 5)ICU:
      • 6)MCU
      • 7)GPT
      • 8)其他

一. BSW与MCAL

基础软件层(Basic Software Layer,BSW): 可以分为以下三层。BSW主要提供4个服务:通信 存储 系统 复杂驱动。

1)BSW-服务层

OS系统服务、存储器服务,通信服务 (像Java程序的服务,应用层调用服务层的服务接口完成上层业务逻辑,不需要关心下面怎么是实现)。

2)BSW-ECU抽象层

看门狗抽象,存储器硬件抽象,通信硬件抽象,io硬件抽象。
这一层的目的就是:使上层软件与ECU硬件设计无关。可以看ECU抽象层的位置 上层是服务 下层是硬件驱动来得到判断结果。

3)MCAL驱动层

微控制器驱动,存储器驱动,通信驱动。在这里插入图片描述

二. MCAL基本概念

MCAL是MicroController Abstraction Layer的简称。它叫做微控制器抽象层。Mcal是BSW层中的最下层,也就是BSW中最靠近硬件的层。这一层的代码直接与硬件打交道,就像是单片机中的HAL库或者标准固件库+BSP板级支持包,这部分代码可以直接驱动芯片引脚以及片内资源。

三. MCAL组成

在MCAL当中,由以下各个驱动模块组成。

1)PORT

它是对单片机各引脚属性的配置;
MCU每个引脚都是一个port,对port引脚的方向(输入或输出)、运行期间引脚方向的可变性、引脚的工作模式、运行期间引脚工作模式的可变性、引脚的初始值、内部上拉的激活等进行配置。

2)DIO

digital i/o ,即单片机中GPIO;
AUTOSAR中,将一个单片机数字I/O引脚(Pin)定义为DIO通道(Dio channel),可把若干个DIO通道通过硬件分组成为一个DIO端口(DIO Port),DIO端口中相邻几个DIO通道的逻辑组合则称为DIO通道组(DIO Channel Group)。
Dio模块中涉及的DIO Channel,即单片机引脚(Pin),用之前,必须在PORT模块中配置引脚属性为GPIO。

3)ADC

Analog-to-Digital Converter Driver 模/数转换单元。

4)PWM

pluse width modulation 脉宽调制;可产生占空比和周期都可改变的脉冲;
应用场景:调节灯光亮度 调节电机转速等…

5)ICU:

输入捕获 input capture unit

6)MCU

Microcontroller Unit Driver 提供微控制器的初始化、复位、休眠等功能;使能MCU时钟;设置MCU时钟相关的参数(:CPU时钟、锁相环(PLL) 、外设时钟、预分频器等);进入低功耗模式

7)GPT

General Purpose Timer Driver。通用定时器,硬件定时器;提供启动和停止硬件定时器、得到定时器数值、控制时间触发的中断、控制时间触发的中断唤醒等功能。

8)其他

OCU:输出比较
Ethernet:以太网
CAN:Can通信驱动
LIN:总线相关接口
SPI:一般就是用来读写存储器
EepROM:外部存储器
Flash: 内部 外部
WatchDog:看门狗

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

排序算法——直接插入排序

直接插入排序与希尔排序是插入排序的两个分支,直接插入排序是较为简单的一种排序算法,同时也是众多算法实现或优化的基石。 前提: 插入排序:有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数&…

BigKey的危害

1.2.1、BigKey的危害 网络阻塞 对BigKey执行读请求时,少量的QPS就可能导致带宽使用率被占满,导致Redis实例,乃至所在物理机变慢 数据倾斜 BigKey所在的Redis实例内存使用率远超其他实例,无法使数据分片的内存资源达到均衡 Redis阻…

nginx--自定义日志跳转长连接文件缓存状态页

自定义日志服务 [rootlocalhost ~]# cat /apps/nginx/conf/conf.d/pc.conf server {listen 80;server_name www.fxq.com;error_log /data/nginx/logs/fxq-error.log info;access_log /data/nginx/logs/fxq-access.log main;location / {root /data/nginx/html/pc;index index…

C/C++ BM33 二叉树的镜像

文章目录 前言题目解决方案一1.1 思路阐述1.2 源码 总结 前言 镜像说的好听,无非就是换下节点。 题目 操作给定的二叉树,将其变换为源二叉树的镜像。 数据范围:二叉树的节点数 0 ≤ n ≤ 1000 0≤n≤1000 0≤n≤1000, 二叉树每…

ThreeJS:本地部署官网文档与案例

部署方式 部署之前请确保已经配置好node.js环境。 1. 下载ThreeJS源码 ThreeJS的GitHub地址:GitHub - mrdoob/three.js: JavaScript 3D Library.,可以简单查看ThreeJS当前版本:r164, 我们可以选择对应的版本(此处为r1…

打印机-STM32版本 硬件部分

最终PCB EDA工程: 一、确定芯片型号 根据项目需求,梳理需要用到的功能, 电量检测:ADC 按键:IO input外部中断 LED:IO output 温度检测:ADC 电机控制:IO output 打印通讯:SPI …

淘宝/天猫商品评论API接口:用户反馈实时追踪与商家决策优化

一、引言 在电子商务迅猛发展的今天,淘宝/天猫作为中国最大的电子商务平台之一,为众多商家提供了广阔的舞台。然而,面对日益激烈的市场竞争,如何精准把握用户需求、优化产品策略、提升服务质量,成为摆在众多商家面前的…

Linux环境与历史和Xshell安装与使用

各位大佬好 ,这里是阿川的博客 , 祝您变得更强 个人主页:在线OJ的阿川 大佬的支持和鼓励,将是我成长路上最大的动力 阿川水平有限,如有错误,欢迎大佬指正 Linux是一个操作系统.全称叫Linux is not UNIX。由…

【C++】哈希的应用---位图

目录 1、引入 2、位图的概念 3、位图的实现 ①框架的搭建 ②设置存在 ③设置不存在 ④检查存在 ​4、位图计算出现的次数 5、完整代码 1、引入 我们可以看一道面试题 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数…

通过iMock学习Jvmsandbox

Jvm-sandbox Jvm-sandbox基于Jvm-sandbox的Mock平台iMockiMock的工程学习iMock怎么写的(sandbox的module应该怎么写) Jvm-sandbox Jvm-sandbox是阿里开源的一款java的沙箱,看网上的介绍在沙箱里你可以做你能想到的奇妙的事情。 基于Jvm-san…

智慧旅游开启智慧生活,科技让旅行更轻松:通过智慧旅游,旅行者可以享受到更加便捷、高效的旅行服务,让旅行成为生活的一部分

一、引言 随着科技的飞速发展,我们生活的方方面面都在经历着前所未有的变革。旅游业作为服务业的重要组成部分,也在这场变革中迎来了前所未有的发展机遇。智慧旅游,作为科技与旅游深度融合的产物,正以其独特的魅力,引…

瑞_23种设计模式_解释器模式

文章目录 1 解释器模式(Interpreter Pattern)1.1 介绍1.2 概述1.2.1 文法(语法)规则1.2.2 抽象语法树 1.3 解释器模式的结构1.4 解释器模式的优缺点1.5 解释器模式的使用场景 2 案例一2.1 需求2.2 代码实现 3 案例二3.1 需求3.2 代…

信息时代的智慧导航:高效搜索、信息筛选与信任构建的全面指南!

文章目录 一、高效搜索:快速定位目标信息的秘诀二、信息筛选:去伪存真,找到有价值的信息三、信任构建:深入了解与直接沟通《搜索之道:信息素养与终身学习的新引擎》亮点内容简介目录获取方式 随着科技的飞速发展&#…

小白总结uniapp微信小程序跨域问题的解决(前端)

前言:本人前端小白一枚,在B站听了一个很不错的视频,关于uniapp Vue3超详细教程,有需要的小伙伴可以去听,受益匪浅,下面是该博主的链接: gitee源码地址:https://gitee.com/qingnian8/…

windows 驱动开发-DMA技术(三)

在早期,是按照基于包或者基于流的方式来描述DMA的,不过这个描述可能不准确,故在Vista之后修改为使用数据包/使用公共缓冲区的系统DMA。 简单的解释一下基于包和基于流的说法的原因,数据包是指一个个基于一定大小的数据块&#xf…

Tensorflow2.0笔记 - ResNet实践

本笔记记录使用ResNet18网络结构,进行CIFAR100数据集的训练和验证。由于参数较多,训练时间会比较长,因此只跑了10个epoch,准确率还没有提升上去。 import os import time import tensorflow as tf from tensorflow import keras …

数据库和缓存一致性问题

hello,各位小伙伴们大家好,我是颜书凌,下面给大家讲解一下数据库和缓存的一致性问题,话不多说 1、一致性介绍 一致性就是数据保持一致,在分布式系统中,可以理解为多个节点中数据的值是一致的。 强一致性…

2024年【G3锅炉水处理】试题及解析及G3锅炉水处理模拟考试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年G3锅炉水处理试题及解析为正在备考G3锅炉水处理操作证的学员准备的理论考试专题,每个月更新的G3锅炉水处理模拟考试题祝您顺利通过G3锅炉水处理考试。 1、【多选题】在可逆反应中,下面哪…

Node.js -- express 框架

文章目录 1. express 使用2. 路由2.1 路由的使用2.2 获取请求报文参数2.3 获取路由参数2.4 路由参数练习 3. express 响应设置4. 中间件4.1 全局中间件4.2 路由中间件4.3 静态资源中间件 5. 获取请求体数据 body-parser6. 防盗链7. 路由模块化8. 模板引擎8.1 了解EJS8.2 列表渲…

面试二十四、继承多态

一、继承的本质和原理 组合(Composition): 组合是一种"有一个"的关系,表示一个类包含另一个类的对象作为其成员。这意味着一个类的对象包含另一个类的对象作为其一部分。组合关系通常表示强关联,被包含的对象…