0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AutoSAR架构中对Port Driver模块有哪些功能呢

冬至子 来源:Vehicle软件开发 作者:Vehicle软件开发 2023-01-18 16:21 次阅读

首先介绍MCAL的Port Driver模块。

PortDriver模块作为一个最基本的模块主要完成MCU的Port_Pin引脚的相关功能定义和初始化。通常而言Port_Pin的主要功能是作为GPIO、ADCCANICU、PWM、SPI等功能使用。

而对于一个Port_Pin而言,具体作为什么功能使用,要结合实际的原理图进行定义。无论一个Port作为什么功能使用,在AutoSAR中大概的策略就是通过IO HardWareAbs层进行相关的控制,具体的控制逻辑如下所示。

2.jpg

IO HardWare Abstraction SW根据用户设置的操作结合Port Driver模块对Port不同模式的设置,发出调用命令,然后Port Driver对Port中的相关寄存器进行操作,从而达到对Port具体Pin脚输入输出的控制。

AutoSAR架构中对Port Driver模块提供了几个以下几个具体的功能:

1.配置Port_Pin的属性

对于Port_Pin属性的定义主要包括:引脚不同功能的定义,也就是我们常说的复用功能,定义Port_Pin作为GPIO使用还是作为ADC或者是CAN等特殊功能使用;引脚方向定义(输入还是输出)、引脚初始值定义、是否支持输入输出方向变化、是否支持复用模式转换功能等;作为输入时选择上拉还是下拉、作为输出时选择开漏还是推挽输出、是否支持回读功能;未使用到的Port_Pin状态的定义;定义Port_Pin在使用中的Symbol Name(常见的定义方式PORT_A_PIN_0)等。

2.版本校验

对于特定的Port Driver在AutoSAR中都有相应的版本号,对于版本号的校验通过该功能进行使能与否,一旦使能,可以通过相应的API来核对版本号。

3.开发中相关错误的追溯

对Port Driver在实际开发中出现的相关错误进行定义,在开发阶段可以结合Det模块对Port Driver常见的错误进行追溯,快速定位开发中因为考虑不全或者粗心产生的错误。AutoSAR提供的Det功能可以快速定位相关错误。然后,根据具体的错误去修改相应的配置和进行代码优化。

4.常用的API

Port Driver模块主要做一些基础的初始化配置使用,因此用的API相对较少,主要包括Port_Init、Port_SetPinDirection、Port_RefreshPortDirection 、Port_GetVersionInfo、 Port_SetPinMode 等,具体的函数功能结合API的名字一般能猜到,具体的使用请参考AutoSAR的标准文档。在Port模块这些函数可以直接调用。

对于Port Driver这个模块在工具中的配置,AutoSAR标准文件也提供了详细的说明。下面图片展示了相关的配置内容。ETAS、Vector、EB等配置工具都是基于AutoSAR标准提供的参考进行定义的。

2.jpg

无论是基于工具的配置,还是手写功能对于Port层面的设计按照以上图中包含的内容进行设计基本上能满足大多数要求,但是有一些额外的设置可以根据具体的芯片型号结合配置工具实现。

下面结合本人在使用的时候出现的问题总结了几点经验:

1.在使用该模块的时候一定要结合具体的硬件进行选择相应的Port_Pin的模式,如果在使用的时候用到了模式切换的功能,一定要添加所有切换的模式状态,同时使能模式切换相关的API。

2.在选择输入输出方式的时候要考虑硬件的外部电路,据具体的电路和芯片相关的要求选择。

3.对于PartionRef功能的使用可能要结合具体的功能安全需求以及整个系统的Partion区分做选择。

4.对于没有使用的Port一定要根据要求配置,多数情况下默认状态就可以,但是也要具体问题具体分析。

5.对于支持方向变化的Port_Pin,作为方向切换使用时,一定要注意配置的端口的属性,防止使用的时候因为配置原因导致读出或者写入的电平出现不一致。

审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN总线
    +关注

    关注

    145

    文章

    1946

    浏览量

    130726
  • 寄存器
    +关注

    关注

    31

    文章

    5336

    浏览量

    120230
  • AUTOSAR
    +关注

    关注

    10

    文章

    360

    浏览量

    21553
  • GPIO
    +关注

    关注

    16

    文章

    1204

    浏览量

    52051
收藏 人收藏

    评论

    相关推荐

    复杂驱动如何将现有的或新的概念引入AUTOSAR软件架构的?

    复杂驱动(Complex Driver,CDD)是一种不受 AUTOSAR 标准化约束的软件实体,它可以通过 AUTOSAR 接口和/或基础软件模块 API 进行访问
    的头像 发表于 11-22 10:57 1602次阅读
    复杂驱动如何将现有的或新的概念引入<b class='flag-5'>AUTOSAR</b>软件<b class='flag-5'>架构</b><b class='flag-5'>中</b>的?

    AUTOSAR分层架构

    AUTOSAR分层架构
    发表于 09-26 11:12

    功能安全---AUTOSAR架构深度解析 精选资料分享

    AUTOSAR架构深度解析本文转载于:AUTOSAR架构深度解析AUTOSAR的分层式设计,用于支持完整的软件和硬件
    发表于 07-23 08:34

    AUTOSAR架构深度解析 精选资料推荐

    AUTOSAR架构深度解析本文转载于:AUTOSAR架构深度解析目录AUTOSAR架构深度解析
    发表于 07-28 07:40

    AUTOSAR架构深度解析 精选资料分享

    AUTOSAR架构深度解析本文转载于:AUTOSAR架构深度解析AUTOSAR的分层式设计,用于支持完整的软件和硬件
    发表于 07-28 07:02

    LLCE driver是否可以在非autosar os运行?

    S32DS、RTD和LLCE CAN驱动对应的工具版本吗?我想知道,LLCE driver是否可以在非autosar os运行,是否有关于LLCE
    发表于 04-18 09:21

    Virtual Serial Port Driver 6.9(虚拟串口)

    电子发烧友网站提供《Virtual Serial Port Driver 6.9(虚拟串口).rar》资料免费下载
    发表于 08-02 00:00 39次下载

    AUTOSAR架构下的WdgDriver WdgIf WdgM模块

    ,DaVinci Configurator 为AUTOSAR工具链。 01 模块架构与依赖 1、模块介绍AUTOSAR
    的头像 发表于 09-09 11:17 6446次阅读

    一种AUTOSAR软件架构RTE的实现方法

    介绍了一种AUTOSAR软件架构RTE的实现方法。
    发表于 07-13 16:02 6次下载

    AUTOSAR架构CanNm模块的问题解答

    CanNm模块配置完成后,基本不需要和其他非标准AUTOSAR模块进行交互(除了user data数据的使用),但是在深入理解CanNm模块是发现一下几个问题还是比较疑惑:
    的头像 发表于 11-28 10:38 4918次阅读

    AUTOSAR-MemIf的功能

    AUTOSAR架构图中可以看出,MemIf(Memory Abstraction Interface)模块位于Memory Hardware Abstraction。 
    的头像 发表于 05-26 16:35 1310次阅读
    <b class='flag-5'>AUTOSAR</b>-MemIf的<b class='flag-5'>功能</b>

    AUTOSAR是什么?AUTOSAR软件架构简介

    AUTOSAR的全称是AUTomotive Open System Architecture,直译为汽车开放系统架构
    的头像 发表于 07-08 17:26 1.3w次阅读
    <b class='flag-5'>AUTOSAR</b>是什么?<b class='flag-5'>AUTOSAR</b>软件<b class='flag-5'>架构</b>简介

    AUTOSAR架构自适应平台

    AUTOSAR架构的目标是实现汽车电子系统的模块化、可重用和可扩展,以提高开发效率和系统的可靠性。 AUTOSAR架构由三个主要的层次组成
    的头像 发表于 10-27 15:23 1269次阅读
    <b class='flag-5'>AUTOSAR</b><b class='flag-5'>架构</b>自适应平台

    AUTOSAR架构复杂驱动设计

    复杂驱动(Complex Driver,CDD)是一种不受 AUTOSAR 标准化约束的软件实体,它可以通过 AUTOSAR 接口和/或基础软件模块 API 进行访问
    的头像 发表于 12-21 10:13 4531次阅读
    <b class='flag-5'>AUTOSAR</b><b class='flag-5'>架构</b><b class='flag-5'>中</b>复杂驱动设计

    AUTOSAR通信堆栈的配置 AUTOSAR通信模块测试方法

    )的开发和生产。通信堆栈是AUTOSAR架构的关键组成部分,负责处理ECU之间的通信。 AUTOSAR通信堆栈的配置 通信模型 :
    的头像 发表于 12-17 15:01 194次阅读