1. 概述
    1. DIO驱动程序使用端口外设。端口外设的使用责任由AUTOSAR划分为两个模块。PORT驱动程序配置和设置端口引脚的属性。DIO驱动程序读取或写入端口引脚。DIO驱动程序提供了对内部通用IO端口的基于端口、通道和通道组的读写访问。DIO驱动程序中的所有读写服务都是未缓冲的。通道指的是单个通用IO引脚,端口指的是由硬件分组的DIO通道,通道组指的是由一个逻辑组表示的几个相邻DIO通道的正式逻辑组合。注意,一个DIO通道组应该属于一个DIO端口。

 

  1. 配置预览

container:DioGeneral 中包含了关于Dio模块的通用配置,本例中关闭了错误诊断,关闭了安全模式,失能了DioFlipChannel, DioVersionInfo这几个接口API。

 

container:Dioconfig 中包含了Dio模块使用到的所有pin的配置(关于这些pin的底层配置在Port模块中实现,参阅Port章节),图中配置了两组DioPort,分别是DioPort_0和DioPort_1,其中DioPort_0映射到真实的Port_20,DioPort_1映射到真实的Port_33。

 

container:Dioconfig 的 sub-container:DioPort 中可以进行DioPort和真实Port的映射。DioPortId 列用于指示真实的Port号,注意该值并不等于PortContainer_33,这里的细节信息参考Port章节。

 

sub-container:DioChannel 中列出了DioPort_0下支持的所有通道,这里共使用了4个通道,这里一个通道对应一个真实的物理pin脚,分别是Port20的 Pin11 到 Pin14。DioPort_1 的配置与 DioPort_0同理。

同时列出了一个基于前面4个Pin组成的一个组DioChannelGroup,DioChannelGroup 中成员DioPortMask用来决定哪些通道合并为一个组,30720 = (1 << 11) | (1 << 12) | (1 << 13) | (1 << 14),表示将4个通道全部合并为一个组。DioChannelGroup既可以创建也可以保持默认值,非必须配置项。

 

container:DioChannel 中 成员Name表示通道的名称,符合命名规则,全局不重名即可。DioChannelId 表示各通道对应的Pin号,此Pin号既不是PortPinId,也不是PortPin_n,而是PortPinSymbolicName中结尾的数值。

 

Port驱动模块中对于Dio的基础配置支持:

在Port中配置Port20的Pin11-14配置为Dio中需要的PORT_PIN_OUT模式, 同时复用模式选择GPIO。

 

container:CommonPublishedInformatica 中是软件自动生成的版本号默认值,用户无需修改,保持默认即可。

posted on 2022-12-28 11:48  lance9527  阅读(949)  评论(0编辑  收藏  举报