汽车电子嵌入式驱动软件结构课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《汽车电子嵌入式驱动软件结构课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汽车 电子 嵌入式 驱动 软件 结构 课件
- 资源描述:
-
1、电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心汽车电子嵌入式驱动软件结构汽车电子嵌入式驱动软件结构电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心主要内容主要内容 汽车电子软件体系结构汽车电子软件体系结构 软件模块类型介绍软件模块类型介绍 微控制器抽象层微控制器抽象层 ECUECU抽象层及示例抽象层及示例 复杂驱动复杂驱动电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心 基础软件体系结构基本层:基础软件体系结构基本层: 汽车电子软件体系结构汽车电子软件体系结构电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心 基础软件体系结构细化分层:基础软件体
2、系结构细化分层: 汽车电子软件体系结构汽车电子软件体系结构电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心软件模块类型介绍软件模块类型介绍l驱动驱动(Driver)功能:控制和访问功能:控制和访问内部内部或或外部外部设备设备 内部设备:内部设备: 设备位于微控制器内部,如:内部EEPROM、内部CAN控制器、内部ADC 内部设备的驱动称为内部驱动,并且驱动位于微控制器驱动层 外部设备:外部设备: 设备位于在ECU硬件的微控制器外部,如:外部EEPROM、外部Watchdog、外部Flash 外部设备的驱动称为外部驱动,并且驱动位于在ECU抽象层,它通过微控制器驱动层访问外部设备,如
3、:带SPI接口的外部EEPROM驱动通过SPIHanderDriver驱动访问外部EEPROM电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心软件模块类型介绍软件模块类型介绍l接口接口(Interface)接口包含的功能是为上层抽象特定设备的硬件实现接口包含的功能是为上层抽象特定设备的硬件实现提供通用提供通用APIAPI访问设备特定类型,不考虑这种设备访问设备特定类型,不考虑这种设备类型存在的数量和不同设备硬件实现类型存在的数量和不同设备硬件实现接口不改变数据内容接口不改变数据内容通常接口的位于通常接口的位于ECUECU抽象层抽象层例如:一个CAN通讯系统接口提供通用API访问CA
4、N通讯网络而不用管ECU上的CAN控制器的数量和硬件实现电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心软件模块类型介绍软件模块类型介绍l处理程序处理程序(Handler)处理程序是一个特殊接口,它控制一个或多个访问处理程序是一个特殊接口,它控制一个或多个访问程序对一个或多种驱动程序的并发、多重和异步方程序对一个或多种驱动程序的并发、多重和异步方式的访问,如:执行缓冲、队列、仲裁、多路传输式的访问,如:执行缓冲、队列、仲裁、多路传输处理程序不改变数据内容处理程序不改变数据内容处理程序功能是提供合并的驱动或接口(处理程序功能是提供合并的驱动或接口(e.g.e.g.,SPIHandle
5、rDriver,ADC DriverSPIHandlerDriver,ADC Driver)电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心微控制器抽象层微控制器抽象层l微控制器抽象层的驱动微控制器抽象层的驱动基础软件中最底层的位置,向上层软件屏蔽微控制器和ECU硬件设备驱动的细节和差异,是降低汽车电子应用软件与硬件的相关性,提高汽车电子应用软件和功能组件可重用性和可移植性的重要技术手段直接访问uC内部外设和内存映射uC外部设备电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心微控制器抽象层微控制器抽象层l微控制器抽象层的驱动微控制器抽象层的驱动l包括:包括:微控制器驱动
6、、内存驱动、通讯驱动、I/O驱动电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心微控制器抽象层微控制器抽象层 微控制器驱动微控制器驱动包括:看门狗驱动WDG、通用定时器驱动GPT、微控制器单元驱动MCU内部外设的驱动(e.g.,Watchdog,通用时钟)直接uC可存取的功能(e.g.,Core测试)电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心微控制器抽象层微控制器抽象层 微控制器驱动看门狗驱动微控制器驱动看门狗驱动 设定片内看门狗模式以及触发看门狗设备,触发程序由上层系统服务层的看门狗管理器模块进行调用,内部看门狗驱动控制MCU的内部看门狗计时器,它提供触发器功能
7、和模式选择服务电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心微控制器抽象层微控制器抽象层 微控制器驱动通用定时器驱动微控制器驱动通用定时器驱动GPTGPT 为定时服务程序提供定时中断 GPT驱动允许产生单触发或持续的计时器通知,这个模块使用通用计时器的硬件计时通道,因此就为操作系统中或者其它基本软件模块(在这类模块中,OS警告服务有过多的开销)中的使用提供了精确的、短期的计时。 GPT驱动提供了用于启动和停止硬件计时模块中的功能计时实例(通道)的服务。它能够产生单个超时周期以及重复超时周期。如果必须调用一个通知,那么当所请求的超时周期过期时,用户就能够对它进行配置。可以在运行时启
8、用或禁用通知。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心微控制器抽象层微控制器抽象层 微控制器驱动通用定时器驱动微控制器驱动通用定时器驱动GPTGPT 不管是从上一个通知发生以来的相对时间消耗,还是到下一个通知之间的剩余时间,都可以进行查询。 注意,GPT驱动仅产生时间基础,而不服务于时间计数器。这个功能是由另一个模块(ICU驱动)提供的 GPT驱动可以用来唤醒ECU,不管预定义的超时周期是否过期。模式转换服务将GPT驱动在普通操作和睡眠模式之间进行转换。 该驱动不提供超时周期,这些超时周期超过了被时钟源、预定标器和计时寄存器所限制的最大值。用户必须对这个进行处理。电子科技大
9、学嵌入式软件工程中心电子科技大学嵌入式软件工程中心微控制器抽象层微控制器抽象层 微控制器驱动微控制器单元驱动微控制器驱动微控制器单元驱动MCUMCU 负责微处理器的各项设定,包括复位,初始化,电源管理,唤醒,时钟设定等。 MCU驱动提供用于基本微控制器的初始化,下电,复位和其它MCAL软件模块需要的微控制器特定功能的服务。初始化服务提供了灵活性,同时,除了启动代码之外,还提供了应用程序相关的MCU初始化。启动代码是完全特定于MCU的。MCU驱动直接访问微控制器硬件,它位于微控制器抽象层(MCAL)中电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心微控制器抽象层微控制器抽象层 内存驱
10、动内存驱动包括:内部EEPROM、内部Flash、RAM测试片上内存设备的驱动(e.g.,内部Flash,内部EEPROM)电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心微控制器抽象层微控制器抽象层 内存驱动内存驱动EEPROMEEPROM驱动驱动提供读、写、擦除EEPROM的服务,提供用于比较EEPROM中数据块和内存中数据块的服务,这些服务是异步方式的电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心微控制器抽象层微控制器抽象层 内存驱动内存驱动FLASHFLASH驱动驱动提供读、写和擦除闪存的服务,以及设置写/擦除保护的配置接口提供了一个内置加载器,以加载闪存存取
11、代码到RAM中,并在需要的时候执行写/擦除操作电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心微控制器抽象层微控制器抽象层 内存驱动内存驱动RAMRAM测试测试负责RAM单元(包括用于寄存器的单元)的物理性诊断(非数据检测),不同的诊断方式需要预编译然后根据系统或用户需要实时运行电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心微控制器抽象层微控制器抽象层 通讯驱动通讯驱动包括:SPI驱动、LIN驱动、CAN驱动、FlexRay驱动ECU板级上的通信驱动(e.g.,SPI,I2C)车载通信驱动(e.g.,LIN,CAN,FlexRay网络)电子科技大学嵌入式软件工程中心电
12、子科技大学嵌入式软件工程中心微控制器抽象层微控制器抽象层 通讯驱动通讯驱动SPISPI驱动驱动提供外设的SPI读写通信控制驱动允许多个客户端对一个或多个SPI总线的并发访问。为了抽象SPI的特征,SPIHandlerDriver要直接处理微控制器中的片选引脚。这就意味着这些引脚对DIO驱动无效SPI总线是一种主从多节点总线系统,主节点设置片选(CS)来选择一个从节点来进行数据通信。SPI有一个4线的同步串行接口。使用片选线来激活数据通信电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心微控制器抽象层微控制器抽象层 通讯驱动通讯驱动SPISPI驱动驱动 SPI模块提供基于通道的对SPI
13、总线上的不同设备的读、写和传输访问,SPI通道代表数据元素(8到16比特)。这些通道可能是顺序组合的,不能够被中断。通道有一个静态配置定义的波特率、片选等等。SPI设备通常由所使用的SPI硬件单元和相关的片选线来标识。这个模块能够作为SPI主节点来使用 这个软件模块的功能范围应该是可静态配置的,以尽可能多的适应每个ECU的时间需要。那就是说,比如同步的、异步的、或者两者都有的SPI访问都可以存在于ECU。因此,两个SPI驱动可以存在,但仅有一个处理接口。电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心微控制器抽象层微控制器抽象层 通讯驱动通讯驱动LINLIN驱动驱动为上层的LIN
14、接口模块提供硬件抽象接口,负责对LIN 硬件进行控制,比如初始化。对于属于相同LIN硬件单元LIN驱动模块支持多路通道。只支持LIN2.0主节点LIN驱动是最底层的一部分,执行硬件访问和为上层提供硬件无关的API。上层唯一能够访问到LIN驱动的就是LIN接口一个LIN驱动能够支持一个以上的通道。LIN驱动能够处理一个或多个属于相同LIN硬件单元的LIN通道电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心微控制器抽象层微控制器抽象层 通讯驱动通讯驱动CANCAN驱动驱动为上层的CAN 接口模块提供硬件抽象接口,负责对CAN硬件传输进行初始化,实现事件通知,控制属于相同CAN硬件单元的
15、CAN控制器。CAN驱动尽可能合理地隐藏了相关CAN控制器的硬件专用性。CAN驱动是最底层的一部分,为上层执行对硬件的访问和提供硬件无关的API。上层中唯一能够访问CAN驱动的是CAN接口。如果几个CAN控制器属于相同的CAN硬件单元,那么它们能够由CAN驱动来控制一个CAN控制器总是与一个物理通道相关联。它被允许与总线上的物理通道相连接,不管CAN接口是否将相关的CAN控制器分别对待电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心微控制器抽象层微控制器抽象层 通讯驱动通讯驱动FlexRayFlexRay驱动驱动为上层的FlexRay 接口模块提供硬件抽象接口,负责对FlexRay
16、 硬件传输进行初始化,实现事件通知,控制属于相同FlexRay 硬件单元的FlexRay 控制器FlexRay驱动模块必须为FlexRay接口模块、API的使用者提供统一接口,以访问许多FlexRay通信控制器,这些控制器通常是相同类型的。FlexRay驱动是一个软件层,它将抽象功能请求映射到CC专用硬件的序列上。CC的硬件实现将从FlexRay接口隐藏电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心微控制器抽象层微控制器抽象层 I/OI/O驱动驱动ICU驱动、PWM驱动、ADC驱动、DIO驱动、PORT驱动模拟和数字I/O驱动(e.g.,模数转换器ADC,脉宽调制PWM,数字输入
17、输出DIO)电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心微控制器抽象层微控制器抽象层 I/OI/O驱动驱动ICUICU驱动驱动 对周期性输入信号进行频率检测以及占空比测量,计算脉冲,解调脉宽调制信号,捕获非周期输入信号,产生相应的中断或唤醒中断电子科技大学嵌入式软件工程中心电子科技大学嵌入式软件工程中心微控制器抽象层微控制器抽象层 I/OI/O驱动驱动PWMPWM驱动驱动对微控制器内部PWM端口进行初始化和控制每个PWM通道都连接到一个属于微控制器的硬件PWM上。该驱动提供了初始化和控制微处理器内部的PWM的服务。PWM模块产生有不同宽度的脉冲电子科技大学嵌入式软件工程中心电子
展开阅读全文