【车载开发系列】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:看门狗

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

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

相关文章

阿里云开源大模型开发环境搭建

ModelScope是阿里云通义千问开源的大模型开发者社区,本文主要描述AI大模型开发环境的搭建。 如上所示,安装ModelScope大模型基础库开发框架的命令行参数,使用清华大学提供的镜像地址 如上所示,在JetBrains PyCharm的项目工程终端控…

1688详情,搜索,店铺,图搜

简要描述\n根据商品id获取详情数据\n请求URL\nhttp://xxx.xxx.xxx.xxx:xxxx/get_item\n请求方式\nget\n请求Query参数\n参数名 示例值 必选 类型 说明\nitemid 590347769363 是 string 商品id\ntoken admin.api 是 string 权限token\nsales_data 2 是 string 2\nchannel 0 否 s…

第六十六章 Apache 的替代选项 (Windows) - Microsoft Windows 的锁定 Apache 环境

文章目录 第六十六章 Apache 的替代选项 (Windows) - Microsoft Windows 的锁定 Apache 环境Microsoft Windows 的锁定 Apache 环境推荐选项的配置:Apache API 模块 (CSPa24.dll)替代选项 2 的配置:带有 NSD 的 CGI 模块 (nph-CSPcgi.exe)替代选项 3 的配…

【SSL 1974】鹊桥(DFS)

题目大意 据说银河是一个树形结构,共有 N N N 个星球,每到七夕时,喜鹊会在星球之间搭起桥,共有 N − 1 N−1 N−1 座鹊桥。 牛郎和织女就会从两个不同的位置出发,沿着最短路相向而行,并在途中相会。 假设…

机器人正反向运动学(FK和IK)

绕第一个顶点可以沿Z轴转动,角度用alpha表示 绕第二个点沿X轴转动,角度为Beta 第三个点沿X轴转动,记作gama 这三个点构成姿态(pose) 我们记第一个点为P0,画出它的本地坐标系,和世界坐标系一样红…

SpringCloud知识点梳理

1. Spring Cloud 综述 1.1 Spring Cloud 是什么 [百度百科]Spring Cloud是⼀系列框架的有序集合。它利⽤Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中⼼、消息总线、负载均衡、断路器、数据监控等,都可以⽤ Spring Boot的开发⻛格…

(C语言)文件操作与函数,超详解

目录 1. 文件 1.1 为什么使用文件? 1.2 什么是文件? 1.2.1 程序文件 1.2.2 数据文件 1.3 文件名 1.4 二进制文件和文本文件 2. 文件的打开和关闭 2.1 流和标准流 2.1.1 流 2.1.2 标准流 2.2 文件指针 2.3 文件的打开和关闭 3. 文件的顺序…

更改 DeepXDE 的后端

DeepXDE 库为科学计算和工程优化等领域提供了深度学习方法,是一个非常有用的工具。其中一个重要的功能是它允许用户自定义后端。在本文中,我们将指导如何更改 DeepXDE 的后端,并且验证更改是否成功。 更改 DeepXDE 的后端 DeepXDE 支持多种…

Go Web 开发【Gin 框架快速开发】

1、Gin Web 快速开发 1.1、环境准备 1.1.1、导入 gin 依赖 这里就叫 gin 依赖了,在 Goland 命令行中输入下面的命令: go get -u github.com/gin-gonic/gin 1.1.2、设置代理 如果下载失败,最好设置一下代理,在 cmd 命令行中输…

深度学习论文:Local Feature Matching Using Deep Learning: A Survey

深度学习论文: Local Feature Matching Using Deep Learning: A Survey Local Feature Matching Using Deep Learning: A Survey PDF: https://arxiv.org/pdf/2401.17592 1 概述 近年来,深度学习模型的引入引发了对局部特征匹配技术的广泛探索。本文旨在全面概述局…

创建并管理Python虚拟环境:深入理解venv

引言 Python作为一门广泛应用于Web开发、数据分析、人工智能等领域的编程语言,其生态系统中的第三方库数量庞大且种类繁多。随着项目复杂度的增加,管理不同项目间的依赖关系变得尤为重要。venv,全称为Virtual Environment,是Pyth…

爬虫学习:基本网络请求库的使用

目录 一、urllib网络库 1.urlopen()方法 2.request方法 二、requests网络请求库 1.主要方法 2.requests.get()和requests.post() 一、urllib网络库 1.urlopen()方法 语法格式: urlopen(url,data,timeout,cafile,capath,context) # url:地址 # data:要提交的数据…

POWERBI==官网教程

地址 COVID-19 tracking sample for US state and local governments - Power BI | Microsoft Learn 已经非常全面了

JSON教程(非常详细)

参考文章来源:JSON教程(非常详细) 目录 JSON JSON 发展史 为什么要使用 JSON? JSON 的不足 存储格式 使用场景 1) 定义接口 2) 序列化 3) 生成 Token 4) 配置文件 JSON语法规则 JSON 与 JavaScript 对象的区别 JSON数…

解决Pycharm全局搜索与输入法简繁切换快捷键冲突问题

Pycharm中全局搜索快捷键Ctrl Shift F 如图所示: 微软输入法简繁切换快捷键设置: 解决办法: 关掉输入法的切换功能即可,或者更改简繁切换快捷键,毕竟简繁切换使用频率极低。

骑缝电子章怎么盖?

盖骑缝电子章通常涉及几个基本步骤,这里提供一个通用的流程,适用于大多数电子文档处理软件,尤其是那些支持电子签名和印章功能的软件,比如Adobe Acrobat Pro DC、e-章宝(易友EU3000智能盖章软件)等。请注意,具体操作可…

【经典算法】LeetCode 108. 将有序数组转换为二叉搜索树(Java/C/Python3/Go实现含注释说明,Easy)

目录 题目描述思路及实现方式一:递归中值法思路代码实现Java版本C语言版本Python3版本Golang版本 复杂度分析 方式二:迭代法思路代码实现Java实现Python实现C实现Go版本 复杂度分析总结 总结相似题目 标签(题目类型):树,二叉搜索树…

2024年五一数学建模C题完整解题思路代码

2024年第二十一届五一数学建模竞赛题目 C题 煤矿深部开采冲击地压危险预测 煤炭是中国的主要能源和重要的工业原料。然而,随着开采深度的增加,地应力增大,井下煤岩动力灾害风险越来越大,严重影响着煤矿的安全高效开采。在各类深…

路由器的构成

一、路由器简介 路由器是互联网中的关键设备: 连接不同的网络路由器是多个输入端口和多个输出端口的专用计算机,其任务是转发分组(转发给下一跳路由器)下一跳路由器也按照这种方法处理分组,直到该分组到达终点为止 …

Python项目开发实战:如何基于Keras的深度学习来预测国际旅行人数

注意:本文的下载教程,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。 下载教程:深度学习-基于Keras的Python项目开发实战_国际旅行人数预测_编程案例实例教程.pdf 在预测国际旅行人数这一问题上,我们可以利用深度学习技术,尤其是…