1 简介和功能概述
FlexRay驱动程序(Fr)抽象了特定FlexRay通信控制器(CC)的硬件相关实现细节。本规范主要依赖于符合FlexRay规范[13]的FlexRay CC。此外,本规范还支持符合FlexRay规范[14]的旧版FlexRay控制器。本SWS中因支持的FlexRay规范不同而导致的不同行为在适用的情况下以脚注或备注的形式指出。
FlexRay控制器支持的所有功能都封装在Fr模块中,只能通过此统一接口访问。API提供抽象的功能操作,这些操作根据实际实施的Fr模块映射到一系列硬件访问。因此,作为Fr模块的用户,FlexRay接口(FrIf)独立于底层FlexRay CC硬件。Fr模块没有主函数或ISR。所有Fr模块API函数仅在FrIf上下文中执行。
单个Fr模块仅支持一种类型的FlexRay CC硬件实现。Fr支持此单个硬件实现的多个FlexRay CC。FlexRay驱动程序的前缀是每个Fr模块唯一分配的,以允许使用不同的FlexRay驱动程序,这些驱动程序的名称由命名空间分隔。FrIf可以使用不同的FlexRay驱动程序访问不同的FlexRay CC硬件实现。FrIf配置确定使用不同类型中的哪个驱动程序来访问特定CC。
Fr模块的配置应在系统配置时完成,Fr模块的特定配置由模块配置生成器(MCG)生成,它将ECU配置参数中的参数转换为Fr模块特定的配置数据结构。
图1描述了FlexRay堆栈的基本结构。一个FrIf使用一个或多个FlexRay驱动程序访问多个CC。