77范文网 - 专业文章范例文档资料分享平台

AUTOSAR技术分析报告(6)

来源:网络收集 时间:2018-12-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

(7)诊断传输层服务 3

外设

3.1 IO硬件抽象

IO硬件抽象是ECU抽象层的一部分。IO硬件抽象模块的目标是使数据通过RTE来传输,而完全不依赖于ECU硬件。这就是说软件组件设计者不需要更多的了解信号是如何影响物理层的。因此,该模块是特定于ECU的。

这主要通过把ECU信号映射到IO抽象端口上来实现。模块IO硬件抽象要提供用于初始化整个IO硬件抽象的模块。

下图显示了IO硬件抽象模块。它位于MCAL驱动之上。就是说IO硬件抽象模块要调用驱动API来管理片上设备。MCAL驱动的配置依赖于将由IO硬件抽象模块提供的ECU信号的质量。例如,当引脚层发生相关的改变时(上升沿、下降沿),需要进行通知。系统设计者不得不配置MCAL驱动,以允许对给定信号进行通知。通知来自于驱动,并在IO硬件抽象模块中进行处理。

3.2 ADC驱动

ADC驱动初始化并控制微控制器内部的模数转换单元。该驱动包含一系列的基本功能函数。为了能够在某些特殊的应用中进行信号的频率分析(例如,快速傅立叶变换),就需要加强流式存取的功能。

ADC驱动提供以下服务: · 信号值结果的访问模式 · 流式访问。

通常,ADC通道的变换请求通过ADC通道组来进行控制。通道组可以运行于持续的变换模式或者单触发变换模式。 变换处理和交互作用:

在同一时刻,ADC驱动要管理一个以上的被配置成不同变换模式的组。

转换过程:

通常,ADC通道的转换请求通过ADC通道组来进行控制。一个组可以运行于持续的转换模式或者单触发转换模式。单触发转换模式的触发条件也要被配置和控制。

如果通道运行于不同的模式(例如,在普通操作时采用持续的转换模式,在特定时间点的特殊转换时使用单触发或者按照命令的转换方式),通道必须被分配给拥有不同操作模式的多个组。

为了改变组间共享的通道的操作模式,应用程序必须停止任何对包含指定通道的组的当前转换,然后启动包含指定通道的新组的转换。

为了让应用程序能够在任何时候执行立即转换,就要定义一个按照命令的转换方式。它必须挂起组转换,然后在按照命令的转换活动完成后重新激活它。 3.3 DIO驱动

DIO驱动提供基于端口和通道的、对内部通用I/O断点的读和写访问。这里的读和写并不被缓冲。这个驱动的基本行为是同步的。

DIO驱动提供了用于对下列设施进行读、写的服务: · DIO通道(引脚) · DIO端口 · DIO通道组

这些服务的行为是同步的。该模块工作于引脚和端口上,由PORT驱动来对它进行配置。因此,在DIO驱动里面就没有对该端口结构进行配置和初始化。 端口驱动模块:

很多端口和端口引脚是由端口驱动模块分配给各种功能的,比如

· 常规I/O · ADC · SPI · PWM

DIO驱动抽象了对微控制器硬件引脚的访问。此外,它还能够对这些引脚进行分组。 DIO驱动提供以下服务:

· 一个一个地修改端口或通道组的输出通道的等级。 · 一个一个地读取端口或通道组的输入和输出通道的等级。

DIO驱动中的所有读写服务必须是可重入的。理由是:这些DIO驱动可以被不同的上层处理程序或驱动程序访问。这些上层模块可以并行的访问驱动。 3.4 GPT驱动

GPT驱动允许产生单触发或持续的计时器通知。这个模块使用通用计时器的硬件计时通道,因此就为操作系统中或者其它基本软件模块(在这类模块中,OS警告服务有过多的开销)中的使用提供了精确的、短期的计时。

GPT驱动提供了用于启动和停止硬件计时模块中的功能计时实例(通道)的服务。它能够产生单个超时周期以及重复超时周期。如果必须调用一个通知,那么当所请求的超时周期过期时,用户就能够对它进行配置。可以在运行时启用或禁用通知。

不管是从上一个通知发生以来的相对时间消耗,还是到下一个通知之间的剩余时间,都

可以进行查询。

注意,GPT驱动仅产生时间基础,而不服务于时间计数器。这个功能是由另一个模块(ICU驱动)提供的。

GPT驱动可以用来唤醒ECU,不管预定义的超时周期是否过期。模式转换服务将GPT驱动在普通操作和睡眠模式之间进行转换。

该驱动不提供超时周期,这些超时周期超过了被时钟源、预定标器和计时寄存器所限制的最大值。用户必须对这个进行处理。 3.5 ICU驱动

ICU驱动控制微控制器的输入捕获单元。它提供了下列特性: · 周期性的、低端的、高端的时间测量 · 边缘检测和通知 · 边缘计数 · 边缘时间戳 · 唤醒中断

对于信号边缘检测来说,需要使用捕获比较单元的边缘检测器或外部时间的中断控制器。

对于信号测量来说,需要一个捕获计时器以及至少一个捕获寄存器。

ICU调制PWM信号,计算脉冲,测量频率和责任(duty)周期,产生简单的中断以及唤醒中断。

ICU驱动提供以下服务: · 信号边缘通知 · 控制唤醒中断 · 周期信号时间测量

· 边缘时间戳,可用于获取非周期的信号 · 边缘计数

为了保证数据一致性,应该提供可重入的代码。 时间单元节拍

为了从寄存器值中获得时间,需要知道振荡器频率、预定标器等等。因为这些设置是在MCU模块中或其它模块中产生的,不可能计算这些时间。因此,时间和节拍之间的转换是由上层负责的。

3.6 MCU驱动

MCU驱动提供用于基本微控制器的初始化,下电,复位和其它MCAL软件模块需要的微控制器特定功能的服务。初始化服务提供了灵活性,同时,除了启动代码之外,还提供了应用程序相关的MCU初始化。启动代码是完全特定于MCU的。MCU驱动直接访问微控制器硬件,它位于微控制器抽象层(MCAL)中。

MCU驱动的特征:

· 初始化MCU时钟,PLL,时钟预定标器和MCU时钟分布 · 初始化RAM部件 · 激活微控制器节电模式 · 激活微控制器复位

另外,还有提供一个服务来从硬件处获得复位的原因。

MCU驱动微时钟和RAM初始化提供MCU服务。在MCU配置集中,特定于MCU的时钟(例如,PLL设置)和RAM(例如,段基地址和大小)设置必须被配置。 3.7 端口驱动

该模块初始化微控制器的整个端口结构。很多端口和端口引脚可以被分配给不同的功能,比如:

· 通用I/O · ADC · SPI · SCI · PWM

由于这个原因,必须对这个端口结构进行总的配置和初始化。这些端口引脚的配置和使用是依赖于微控制器和ECU的。

该模块应该提供用于初始化微控制器的整个端口结构的服务。很多端口和端口引脚可以被分配给各种不同的功能。由于这个原因,必须有该端口结构的全部配置和初始化。这些端口引脚的配置和模式是依赖于微控制器和ECU的。

该端口驱动模块应该完成端口结构的全部配置和初始化,该端口结构是用在DIO驱动模块中的。因此,DIO驱动工作再引脚和端口之上,由端口驱动对它进行配置。端口和端口引脚的配置顺序是由配置工具负责的。

端口驱动应该在使用DIO功能之前进行初始化。否则DIO驱动会产生未定义的行为。 端口访问的原子性:端口驱动应该通过使用原子指令或者利用OS的中断屏蔽功能来提供对端口的原子访问。 3.8 PWM驱动

每个PWM通道都连接到一个属于微控制器的硬件PWM上。该驱动提供了初始化和控制微处理器内部的PWM的服务。PWM模块产生有不同脉冲宽度的脉冲。 3.9 SPI处理程序/驱动

SPI总线是一种主从多节点总线系统,主节点设置片选(CS)来选择一个从节点来进行数据通信。SPI有一个4线的同步串行接口。使用片选线来激活数据通信。

下列SPI模块提供基于通道的对SPI总线上的不同设备的读、写和传输访问。SPI通道代表数据元素(8到16比特)。这些通道可能是顺序组合的,不能够被中断。通道有一个

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库AUTOSAR技术分析报告(6)在线全文阅读。

AUTOSAR技术分析报告(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/341622.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: