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

    文章

    1812

    浏览量

    129600
  • 寄存器
    +关注

    关注

    30

    文章

    5031

    浏览量

    117734
  • AUTOSAR
    +关注

    关注

    9

    文章

    329

    浏览量

    21137
  • GPIO
    +关注

    关注

    16

    文章

    1135

    浏览量

    50578
收藏 人收藏

    评论

    相关推荐

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

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

    关于AUTOSAR架构的知识点看完你就懂了

    关于AUTOSAR架构的知识点看完你就懂了
    发表于 10-18 07:41

    AUTOSAR架构是由哪些部分组成的

    AUTOSAR分层结构哪些?功能
    发表于 10-18 11:01

    CP AUTOSAR EcuM的相关资料下载

    AUTOSAR 标准更新许多版本,和ECU控制相关的模式管理模块EcuM主要包括两种类型,分别是Fixed和Flex,其中在CP AUTOSAR标准4.x之前的版本EcuM只有Fi
    发表于 02-11 07:05

    AUTOSAR功能安全机制之内存分区与实现

    1、AUTOSAR功能安全机制之内存分区与实现  在AUTOSAR架构,应用软件位于RTE上方,由互连的
    发表于 09-19 15:55

    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 37次下载

    AUTOSAR架构下的WdgDriver WdgIf WdgM模块

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

    AUTOSAR-MemIf的功能

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

    AUTOSAR架构自适应平台

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

    AUTOSAR架构中复杂驱动设计

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