打印

基于AUTOSAR规范设计和实现MCU驱动

[复制链接]
3097|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sqcumt123|  楼主 | 2012-4-17 16:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1 AUTOSAR规范
    AUTOSAR是面向汽车领域的嵌入式软件体系结构标准。该体系结构采用了分层模型,每一层只能使用下一层的接口,并向上一层提供服务接口,从上至下依次为应用层、RTE层、服务层、ECU抽象层、微控制器抽象层,还有一个特殊的复杂驱动……
2 MCU驱动设计与实现
    MCU驱动为MCU提供时钟和RAM初始化服务。在启动代码之后,MCU驱动进一步完善程序运行的硬件环境,如图2所示。

2.1文件结构
    参考AUTOSAR MCU模块驱动规范[1]中的文件结构体系,本文设计了如图3所示的驱动工程文件结构,其中Std_Type.h,Complier.h,Platform_Type.h分别用于管理数据类型、编译器、平台说明等; Det.h和Dem.h用于管理错误处理机制; MemMap.h,MCU_Cfg.h,MCU.c,MCU.h用于管理模块的驱动程序。
2.2 API定义
    根据AUTOSAR中MCU模块的API规范、具体ECU的硬件特性以及考虑上层应用的灵活性定义出MPC5634[3]MCU驱动程序API的函数原型,确定接口函数名称,返回类型以及形参类型。其中主要的API如表1所示。
2.3 构造参数配置接口
    构造参数配置接口就是细化AUTOSAR规范中API的相关型参。参数配置接口用于上层应用进行相关参数设置并通过API函数来达到初始化和配置指定模块功能的目的。其实质就是一个底层驱动程序的数据入口,它的实现与具体ECU相关,因此需按照API所需的功能来分析该功能在具体ECU中实现流程,参数设置,寄存器配置,并对需要的配置参数进行分类。找出可供上层根据具体应用来灵活设置的参数簇,并用宏定义,结构体数据类型,枚举数据类型等进行封装,作为上层对底层操作时,参数设置,数据传输……
2.4 MCU 驱动API函数实现
    API函数实现即是抽象接口函数的实例化,它把上层应用所配置的参数写入到硬件中并通过硬件实现API函数所给出的功能。这需要根据具体ECU中模块相应功能的驱动流程设计实现算法。如MPC5634的MCU初始化函数void Mcu_Init(const Mcu_ConfigType* ConfigPtr)的实现示例为:void Mcu_Init(const Mcu_ConfigType* ConfigPtr)
{
FMPLL.ESYNCR1.B.EMODE = 1;
FMPLL.ESYNCR2.B.LOLRE = 0;
FMPLL.ESYNCR1.B.EPREDIV = ConfigPtr -> PLLSetting.inputClockDivider;
……
}

相关帖子

沙发
职场新鲜人| | 2012-4-18 10:37 | 只看该作者
咋连个结束语都没有,楼主至少要总结一下

使用特权

评论回复
板凳
huangfeng33| | 2012-4-18 16:29 | 只看该作者
看不到表,也看不到图,~~~~~~
呵呵,不过题目不错,

使用特权

评论回复
地板
lyfly_away| | 2019-6-10 17:34 | 只看该作者
请教下,FreeRTOS里的 vTaskDelay(),在Autosar里怎么实现呢?看了Autosar OS文档,没有找到相关接口。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

88

主题

2107

帖子

1

粉丝