AUTOSAR Mcal Dio - 模块介绍 + EB配置工具介绍

1. 模块简介

Dio,全称“Digital Input Output”。Dio模块(Digital Input/Output Driver)是MCAL层(微控制器抽象层)的核心基础驱动,负责对微控制器(MCU)的数字引脚进行标准化、硬件无关的访问与控制。通俗讲就是给Pin和Port做一层抽象,可根据具体功能去命名。
在这里插入图片描述

2. 主要功能

  • 提供通道(Pin)的读写操作
  • 提供端口组(Port)的读写操作
  • 提供通道组(一个端口中相邻Pin的组合)的读写操作
  • 翻转输出端口状态,周期为T的任务中循环调用,就能得到一个周期2T,50%占空比的方波
    备注:Pin相关配置(输入/输出、上拉/下拉、推挽/开漏等配置)均在Port模块完成,Dio模块仅负责数字接口的读写操作

3. 缩略语

在这里插入图片描述

4. API接口

在这里插入图片描述
备注:除Dio_GetVersionInfo以外,其他函数的参数,均使用Dio_Cfg.h中的宏定义,就不会出现开发错误。
Eg:P00端口的P00.3是LED0的GPIO引脚,对Pin命名时即可考虑端口号 + 功能作为描述。
在这里插入图片描述
在这里插入图片描述

5. 功能介绍

主要提供数字IO读写相关的操作。此处主要讲一下Dio_ReadChannelGroup、Dio_WriteChannelGroup和Dio_MaskedWritePort三个接口,Channel和Port分别对应硬件的哪个Pin和哪个端口,无特殊讲解。

5.1. ChannelGroup

Dio_ReadChannelGroup、Dio_WriteChannelGroup传入的参数是一个结构体类型地址,而不是简单的某个ChannelId或PortId,此处结构体中包含端口号、掩码、偏移三个参数。通过三个参数去确认具体的哪个Port下的哪些相邻的Pin。
在Ifx的EB配置页面中,偏移固定为0,用户不可配,只能通过掩码确认ID号,例如下面的14对应二进制的1110B,即端口组包括P00.1~P00.3四个引脚。用户使用时同样使用Dio_Cfg.h中的宏定义。
在这里插入图片描述

5.2. Dio_MaskedWritePort

非标准接口,作为Dio_WriteChannelGroup的补充,可以同时设置任意不相邻通道的输出电平在工具配置页面只有该功能的使能开关,该接口有PorId、Level、Mask三个参数。
PortId:端口号
Level:uint16类型的变量,bit0bit15分别对应Pxx.0Pxx.15
Mask:需要操作的引脚
在这里插入图片描述

6. 序列图

6.1.读GPIO电平

在这里插入图片描述

6.2. 设置GPIO电平

在这里插入图片描述

7. EB 工具配置

Dio模块简单,只是对Channel、Channel组、Port进行抽象,无太多注意事项。

7.1.General

无特殊讲解,都是针对功能进行裁剪的开关。
在这里插入图片描述

7.2.DioPort

根据实际需要增加相应的Port组,一般情况下Port的名字与物理的端口号或某个功能保持一致,增加可读性。
在这里插入图片描述
选中某个Port组向下展开后,可配置需要使用的Channel或ChannelGroup。
在这里插入图片描述

8. 参考资料

AUTOSAR Mcal Port - 模块介绍 + EB工具配置介绍
General Purpose I/O Ports and Peripheral I/O Lines (Ports)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值