汽车电子控制器处理芯片及ECU板级抽象技术研究报告资料.doc
《汽车电子控制器处理芯片及ECU板级抽象技术研究报告资料.doc》由会员分享,可在线阅读,更多相关《汽车电子控制器处理芯片及ECU板级抽象技术研究报告资料.doc(48页珍藏版)》请在三一办公上搜索。
1、 密级: 汽车电子控制器处理芯片及ECU板级抽象技术研究报告编号TM-DMP-01-RD-PRE-013拟制陈丽蓉日期 2010 年 2 月 1 日审核日期 年 月 日会签日期 年 月 日标准化日期 年 月 日批准日期 年 月 日顾客/代表日期 年 月 日修订历史记录日期&修订人修订记录版本标识备注2010/4/20陈丽蓉完成初稿V1.02010-4-29赵焕宇增加硬件特征描述V1.1目 录引言1背景1概述1缩写词和名词定义1参考资料21 AUTOSAR国际标准分析31.1 系统概述31.2 微控制器抽象层71.3 复杂驱动171.4 ECU抽象层191.6 抽象接口实现示例321.7 主要参
2、考的AUTOSAR规范列表352 主流汽车电子嵌入式微处理器及ECU硬件特性分析372.1 MPC563X嵌入式微处理器特性372.2 MPC5554特性382.3 MPC555特性392.4 9S12X特性402.5 9S12DP512特性412.6 HCS08特性412.7 STM08特性423 开发环境433.1 基础开发工具433.2 配置生成工具444 国内汽车厂商应用需求分析444.1 一汽应用需求分析444.2 上汽应用需求分析504.3 奇瑞应用需求分析504.4 长安应用需求分析505 汽车电子控制器处理芯片及ECU板级抽象软件实现策略515.1 控制器处理芯片抽象软件实现策
3、略515.2 ECU板级抽象软件实现策略51引言背景本项目来源于核高基重大专项3-1课题:实时嵌入式操作系统及开发环境,本项目为该课题的分课题:汽车电子硬件抽象技术研究。在分课题中,科银京成将以总课题组制定的汽车电子基础软件平台体系规范为基础,通过对国内外相关技术和标准的充分研究,以及汽车电子控制系统硬件平台的详细调研,研究汽车电子硬件抽象的关键技术,设计开发汽车电子基础软件平台中的硬件驱动软件模块,并实现对电子控制单元(ECU)和微控制器外部设备的抽象,为汽车电子基础软件平台中其他相关的软件组件如嵌入式实时操作系统与系统服务、存储服务、通信服务等各种服务及管理组件(包括驱动自身的管理组件)提
4、供支持和功能调用、以及系统的引导启动、系统软件加载等支撑服务;为支撑本课题组形成汽车电子应用软件设计、编程、调试、仿真、集成、测试、部署的一体化工具环境,提供与硬件适配相关的图形化配置工具、部署工具及接口,以便在进行应用开发时能有效地完成硬件相关的配置和使用。概述本文档将从以下几方面描述有关汽车电子控制器处理芯片及ECU板级抽象技术研究的内容:l AUTOSAR标准分析l 主流汽车电子嵌入式微处理器及ECU硬件特性分析l 开发环境l 国内汽车厂商应用需求分析l 汽车电子控制器处理芯片及ECU板级抽象软件实现策略缩写词和名词定义缩写、术语解 释AUTOSARAUTomotive Open Sys
5、tem Architecture 汽车开放系统结构DIODigital Input/Output 数字输入/输出ADCAnalogue Digital Converter 模数转换器SPISerial Peripheral Interface 串行外设接口PWMPulse Width Modulation 脉冲宽度调制PORT端口ICUInput Capture Unit 输入捕获单元Watchdog看门狗FLASH闪存EEPROM电子可檫除、可编程只读存储器RAM test内存测试CANController Area Network 控制器局域网Timer定时器SCI串行通信接口参考资料l
6、AUTOSAR 3.1系列规范l 各种汽车电子嵌入式微处理器芯片手册、ECU板级资料1 AUTOSAR国际标准分析以AUTOSAR 3.1为参考,对汽车电子基础软件架构进行分析,通过对AUTOSAR、OSEK国际规范的分析和研究,包括在:标准接口、配置描述语言、基本数据类型、文件组织结构、错误处理机制等内容上,集合国内整车厂商和零部件厂商的实际需求,形成自主汽车电子基础软件规范中关于汽车电子硬件抽象层(板载设备抽象、存储器抽象、通信器件抽象、I/O硬件抽象等)统一接口规范。1.1 系统概述图1展示了AUTOSAR软件架构的主要层次关系,总体上可分为应用层、运行时环境、基础层(包括操作系统与系统
7、服务、存储服务、通信服务、硬件抽象与驱动层)。图1 AUTOSAR嵌入式软件架构图2 AUTOSAR嵌入式软件分层架构图3 AUTOSAR嵌入式软件各层次模块目标硬件环境适配层处于汽车电子基础软件平台中最底层的位置,其作用是向上层软件屏蔽微控制器和ECU硬件设备驱动的细节和差异,是降低汽车电子应用软件与硬件的相关性,提高汽车电子应用软件和功能组件可重用性和可移植性的重要技术手段。本课题中目标硬件环境适配层由硬件抽象层和设备驱动层组成,如下图所示:图4 目标硬件环境适配层注:上图中Flash Check,Ext Watchdog Driver,Ext EEPROM Driver,Ext Flas
8、h Driver,Ext Can Driver,Ext FlexRay Driver,Complex Driver等7个基础软件模块目前不属于AUTOSAR 3.1的规范。设备驱动层提供控制和访问设备的功能,由以下模块组成:1、 通信驱动程序ECU板上(如SPI)和车辆通信(如CAN)的驱动程序。2、 I/O驱动程序模拟和数据I/O(如ADC、PWM、DIO)的驱动程序。3、 存储驱动程序片上存储设备(如内部FLASH、内部EEPROM)及内存映射的外部存储设备(如外部FLASH)驱动程序。4、 微控制器驱动程序其它内部设备(如Watchdog、通用时钟)的驱动程序;直接访问微控制器的功能(如
9、核心调试)。设备抽象层对ECU板上设备的物理特性进行抽象,向操作系统、系统服务和支撑服务提供统一的访问接口。汽车电子硬件抽象技术的研究必要性,主要由于汽车电子系统应用的硬件环境差异软大,因此,如何有效地使汽车电子系统软件应用于各种不同的应用环境是汽车电子发展中必须解决的关键问题,经过不断的发展,在操作系统内核和各类服务层软件与微控制器硬件之间新增加抽象技术,包含操作系统内核和各类服务层及硬件所要求的所有功能,通过标准统一的接口与上层操作系统和各类服务进行交互,向底层硬件传递信息,这样就有效地屏蔽了底层硬件的多样性,上层操作系统和各类服务不再直接面对具体的硬件环境,使硬件系统与软件系统得到了很好
10、分离,大大提高了移植性和重用性。对汽车电子硬件抽象技术的研究主要达到的目标是:隐藏特定平台的硬件接口细节,为操作系统实时内核、系统服务、存储服务、通信服务、提供所需硬件支持的所有功能和统一的标准接口,使其具有与硬件无关性,可在多种硬件平台上进行移植,从软硬件测试的角度来看,软硬件的测试工作都可分别基于硬件抽象层来完成,使得软硬件测试工作的并行进行成为可能。1.2 微控制器抽象层图5 微控制器抽象层模块图1.2.1 通信驱动通信驱动层主要包括:SPI驱动、LIN驱动、CAN驱动、FlexRay驱动等内容。1.2.1.1 SPI驱动(SPI Handler Driver)SPI驱动提供外设的SPI
11、读写通信控制驱动。在很多ECU中,许多板载硬件设备如外部EEPROM,外部I/O ASIC,外部看门狗等,通过SPI与微控制器连接,如下图所示。图6 通过SPI接口访问各种板级外设SPIHandlerDriver允许多个客户端对一个或多个SPI总线的并发访问。为了抽象SPI的特征,SPIHandlerDriver要直接处理微控制器中的片选引脚。这就意味着这些引脚对DIO驱动无效。SPI总线是一种主从多节点总线系统,主节点设置片选(CS)来选择一个从节点来进行数据通信。SPI有一个4线的同步串行接口。使用片选线来激活数据通信。SPI模块提供基于通道的对SPI总线上的不同设备的读、写和传输访问。S
12、PI通道代表数据元素(8到16比特)。这些通道可能是顺序组合的,不能够被中断。通道有一个静态配置定义的波特率、片选等等。SPI设备通常由所使用的SPI硬件单元和相关的片选线来标识。这个模块能够作为SPI主节点来使用。这个软件模块的功能范围应该是可静态配置的,以尽可能多的适应每个ECU的时间需要。那就是说,比如同步的、异步的、或者两者都有的SPI访问都可以存在于ECU。因此,两个SPI驱动可以存在,但仅有一个处理接口。SPI处理程序/驱动提供了一些服务来对通过SPI总线连接的设备进行读写。它提供了所需的机制来配置片上SPI外设。单片式的SPI处理程序/驱动包含处理和驱动功能。它的主要目标是充分利
13、用每个微控制器的特性,使得依赖于静态配置的实现最优化,以尽可能多的适应ECU的需要。1.2.1.2 LIN驱动LIN驱动为上层的LIN 接口模块提供硬件抽象接口,负责对LIN 硬件进行控制,比如初始化。对于属于相同LIN硬件单元LIN驱动模块支持多路通道。只支持LIN2.0主节点。其软件架构如下图:图7 LIN Driver架构LIN驱动是最底层的一部分,执行硬件访问和为上层提供硬件无关的API。上层唯一能够访问到LIN驱动的就是LIN接口。一个LIN驱动能够支持一个以上的通道。LIN驱动能够处理一个或多个属于相同LIN硬件单元的LIN通道。1.2.1.3 CAN驱动CAN驱动为上层的CAN
14、接口模块提供硬件抽象接口,负责对CAN硬件传输进行初始化,实现事件通知,控制属于相同CAN硬件单元的CAN控制器。CAN驱动尽可能合理地隐藏了相关CAN控制器的硬件专用性。CAN驱动是最底层的一部分,为上层执行对硬件的访问和提供硬件无关的API。上层中唯一能够访问CAN驱动的是CAN接口。如果几个CAN控制器属于相同的CAN硬件单元,那么它们能够由CAN驱动来控制。一个CAN控制器总是与一个物理通道相关联。它被允许与总线上的物理通道相连接,不管CAN接口是否将相关的CAN控制器分别对待。1.2.1.4 FlexRay驱动FlexRay驱动为上层的FlexRay 接口模块提供硬件抽象接口,负责对
15、FlexRay 硬件传输进行初始化,实现事件通知,控制属于相同FlexRay 硬件单元的FlexRay 控制器。FlexRay驱动模块必须为FlexRay接口模块、API的使用者提供统一接口,以访问许多FlexRay通信控制器,这些控制器通常是相同类型的。FlexRay驱动是一个软件层,它将抽象功能请求映射到CC专用硬件的序列上。CC的硬件实现将从FlexRay接口隐藏。1.2.2 I/O驱动1.2.2.1 ICU驱动ICU输入捕获单元驱动:对周期性输入信号进行频率检测以及占空比测量,计算脉冲,解调脉宽调制信号,捕获非周期输入信号,产生相应的中断或唤醒中断。ICU驱动提供了下列特性:周期性的、
16、低端的、高端的时间测量边缘检测和通知边缘计数边缘时间戳,可用于获取非周期的信号唤醒中断对于信号边缘检测来说,需要使用捕获比较单元的边缘检测器或外部时间的中断控制器。对于信号测量来说,需要一个捕获计时器以及至少一个捕获寄存器。ICU调制PWM信号,计算脉冲,测量频率和责任(duty)周期,产生简单的中断以及唤醒中断。为了保证数据一致性,应该提供可重入的代码。时间单元节拍为了从寄存器值中获得时间,需要知道振荡器频率、预定标器等等。因为这些设置是在MCU模块中或其它模块中产生的,不可能计算这些时间。因此,时间和节拍之间的转换是由上层负责的。1.2.2.2 PWM驱动PWM脉宽调制驱动负责对微控制器内
17、部PWM端口进行初始化和控制。每个PWM通道都连接到一个属于微控制器的硬件PWM上。该驱动提供了初始化和控制微处理器内部的PWM的服务。PWM模块产生有不同脉冲宽度的脉冲。1.2.2.3 ADC驱动ADC模数转换驱动:负责对微控制器内部ADC端口进行初始化和控制。ADC驱动初始化并控制微控制器内部的模数转换单元。该驱动包含一系列的基本功能函数。为了能够在某些特殊的应用中进行信号的频率分析(例如,快速傅立叶变换),就需要加强流式存取的功能。ADC驱动提供以下服务:信号值结果的访问模式流式访问。通常,ADC通道的变换请求通过ADC通道组来进行控制。通道组可以运行于持续的变换模式或者单触发变换模式。
18、变换处理和交互作用:在同一时刻,ADC驱动要管理一个以上的被配置成不同变换模式的组。转换过程:通常,ADC通道的转换请求通过ADC通道组来进行控制。一个组可以运行于持续的转换模式或者单触发转换模式。单触发转换模式的触发条件也要被配置和控制。如果通道运行于不同的模式(例如,在普通操作时采用持续的转换模式,在特定时间点的特殊转换时使用单触发或者按照命令的转换方式),通道必须被分配给拥有不同操作模式的多个组。为了改变组间共享的通道的操作模式,应用程序必须停止任何对包含指定通道的组的当前转换,然后启动包含指定通道的新组的转换。为了让应用程序能够在任何时候执行立即转换,就要定义一个按照命令的转换方式。它
19、必须挂起组转换,然后在按照命令的转换活动完成后重新激活它。1.2.2.4 DIO驱动DIO数字化I/O驱动负责对DIO通道的管脚和组以及端口进行读写。DIO驱动提供基于端口和通道的、对内部通用I/O断点的读和写访问。这里的读和写并不被缓冲。这个驱动的基本行为是同步的。DIO驱动提供了用于对下列设施进行读、写的服务:DIO通道(引脚)DIO端口DIO通道组这些服务的行为是同步的。该模块工作于引脚和端口上,由PORT驱动来对它进行配置。因此,在DIO驱动里面就没有对该端口结构进行配置和初始化。端口驱动模块:很多端口和端口引脚是由端口驱动模块分配给各种功能的,比如常规I/OADCSPIPWMDIO驱
20、动抽象了对微控制器硬件引脚的访问。此外,它还能够对这些引脚进行分组。DIO驱动提供以下服务:一个一个地修改端口或通道组的输出通道的等级。一个一个地读取端口或通道组的输入和输出通道的等级。DIO驱动中的所有读写服务必须是可重入的。理由是:这些DIO驱动可以被不同的上层处理程序或驱动程序访问。这些上层模块可以并行的访问驱动。1.2.2.5 PORT驱动PORT(端口)驱动提供微控制所有端口的初始化。该模块初始化微控制器的整个端口结构。很多端口和端口引脚可以被分配给不同的功能,比如:通用I/OADCSPISCIPWM由于这个原因,必须对这个端口结构进行总的配置和初始化。这些端口引脚的配置和使用是依赖
21、于微控制器和ECU的。该模块应该提供用于初始化微控制器的整个端口结构的服务。很多端口和端口引脚可以被分配给各种不同的功能。由于这个原因,必须有该端口结构的全部配置和初始化。这些端口引脚的配置和模式是依赖于微控制器和ECU的。该端口驱动模块应该完成端口结构的全部配置和初始化,该端口结构是用在DIO驱动模块中的。因此,DIO驱动工作再引脚和端口之上,由端口驱动对它进行配置。端口和端口引脚的配置顺序是由配置工具负责的。端口驱动应该在使用DIO功能之前进行初始化。否则DIO驱动会产生未定义的行为。端口访问的原子性:端口驱动应该通过使用原子指令或者利用OS的中断屏蔽功能来提供对端口的原子访问。1.2.3
22、 存储器驱动存储器驱动层主要包括内部EEPROM驱动、内部Flash驱动、RAM测试等内容。1.2.3.1 EEPROM驱动EEPROM驱动提供读、写、擦除EEPROM的服务。也提供了用于比较EEPROM中数据块和内存中数据块的服务。这些服务是异步的。有两类EEPROM驱动:内部EEPROM驱动外部EEPROM驱动内部EEPROM驱动直接访问微控制器硬件,并且定位在微控制器抽象层。外部EEPROM驱动使用处理程序(handler)或驱动访问外部EEPROM设备。它定位在ECU抽象层。两种类型的驱动的功能需求和功能范围都是相同的。所以API在语义上是相同的。1.2.3.2 flash驱动如果受到
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汽车 电子 控制器 处理 芯片 ECU 抽象 技术研究 报告 资料
链接地址:https://www.31ppt.com/p-3880344.html