- 1、本文档共56页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汽车电子嵌入式驱动软件结构课件
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ECU抽象层 包括以下软件模块 通讯硬件抽象、内存硬件抽象、板载设备抽象、I/O硬件抽象 ECU抽象层 通信硬件抽象层 对于内部和ECU硬件架构上外部通信控制器的抽象 对于所有的通信系统(LIN,CAN,FlexRay),都需要特定的通信硬件抽象: LIN接口 CAN接口 FlexRay接口 如果MCU没有板载通信控制器,需要外部的ASIC ECU抽象层 通信硬件抽象层-LIN接口 为上层LIN SM模块和PDU Router模块提供驱动抽象接口,通过下层驱动模块对LIN硬件设备进行控制。功能主要包括:根据上层通信模块切换调度表,执行LIN数据帧的收发,控制设备的唤醒和睡眠,错误处理以及诊断服务 LIN接口被设计成硬件无关的。到上层模块(PDU路由器)和下层模块(LIN驱动)的接口被很好地定义。 LIN接口可以处理一个以上的LIN驱动。一个LIN驱动能够支持一个以上的通道。这指的是LIN驱动能够处理一个或多个LIN通道 ECU抽象层 通信硬件抽象层-LIN接口 LIN接口负责向上层提供LIN 2.0主要功能有: 每个与ECU连接的LIN总线执行当前选择的调度 当上层请求到来时,切换调度表 从上层接收帧的传送,并传送数据部分作为适当LIN帧中的响应 当相应的响应在适当的帧中接收时,为上层提供帧接收通知 睡眠和唤醒服务 错误处理 诊断传输层服务 ECU抽象层 通信硬件抽象层-CAN接口 为上层CAN SM模块,CAN NM模块,CAN TP模块以及PDU Router模块和下层CAN控制驱动和CAN收发驱动提供接口。提供了唯一的接口来访问管理CAN硬件设备,为上层服务层抽象了CAN硬件设备的分布和数量 CAN接口提供标准化的接口,通过ECU的CAN总线系统来支持通信。其API与专用CAN控制器及其通过CAN驱动层的访问无关。CAN接口能够通过统一的接口访问一个或多个CAN驱动 CAN接口仅能用于CAN通信,并且是为操作一个或多个底层CAN驱动而专门设计。涵盖不同CAN硬件单元的几个CAN驱动模块由一个在CAN驱动规范中指定的通用接口来表示。CAN之外(也就是LIN)的其他协议不支持 ECU抽象层 通信硬件抽象层-FlexRay接口 为上层FlexRay SM模块,FlexRay NM模块,FlexRay TP模块以及PDU Router模块提供驱动抽象接口,通过下层驱动模块对FlexRay硬件设备进行控制。提供的功能包括:初始化,收发数据,设定FlexRay运行模式,状态信息捕获以及各种定时 提供一种标准化的接口以访问FlexRay通信系统/硬件。FlexRay接口必须与所使用的专用FlexRay CC及其通过FlexRay驱动的访问无关。FlexRay接口提供通过统一接口的对一个或几个FlexRay驱动的访问 ECU抽象层 通信硬件抽象层-FlexRay接口 FlexRay接口的主要任务 为上层提供到FlexRay通信系统的抽象接口 FlexRay接口通过一个或多个硬件专用驱动模块来访问FlexRay硬件,而不是直接访问 为了访问FlexRay通信控制器,FlexRay接口使用一个或多个FlexRay驱动模块 为了访问FlexRay收发器,FlexRay接口使用一个或多个FlexRay收发器驱动模块 FlexRay接口可执行代码与FlexRay通信控制器和FlexRay收发器完全不相关 FlexRay接口允许代码模块的对象代码提交,遵循“one-fits-all”原则 ECU抽象层 内存硬件抽象层 提供对于内存外设和板级的内存设备抽象的一组模块 供相等的机制访问内部(片上的)和外部(板上的)的存储设备以及各种存储硬件(EEPROM,Flash) 具有板载Flash的Mcu,可以仿真EEPROM,因此,这一层只需要两个模块: Flash EEPROM仿真 内存抽象接口 ECU抽象层 内存硬件抽象层-内存抽象接口MEMIF 对于不同内存设备提供抽象内存接口 上层的NVRAM管理器模块可以通过抽象内存接口来访问不同的抽象内存模块甚至是供应商的特殊内存驱动(FEE或EA模块) 内存抽象接口抽象于下层FEE和EA模块的数目,并向上层提供统一线性地址空间上的虚拟分段 ECU抽象层 内存硬件抽象层-EEPROM抽象EA 扩展EEPROM驱动,提供片内EEPROM的访问接口,抽象了EEPROM的地址以及数量,向上层提供线性地址空间上的虚拟分段和“实际上无限制的”擦除/写循环。除此之外,它还应该提供与EEPROM驱动相同的
文档评论(0)