来源 | 汽车电子与软件
知圈 | 进“线控底盘社群”请加微信13636581676,备注底盘
![e6744b8add36ece80678a4f0b1cf45f8.png](https://i-blog.csdnimg.cn/blog_migrate/b16d455e36c7d8629d15a69b4359bb9c.png)
文档说明
考虑到这几篇AUTOSAR文档的结构完全一样,在此先对将涉及的文档做一个概括性说明。以CAN Driver规范为例,如下图1所示。
图1 CAN Driver规范的内容
总的来说,文档一般有10个章节,前5章相当于先做一个详细的背景知识介绍,只有了解好这个背景与前提,才能更好地解读后面章节的内容。然后列出了底层软件需求与详细软件设计的追溯关系,比如图2所示。
图2 底层系统需求与软件需求追溯示意,引自[1]
再描述了该模块的功能规范说明,接口与函数定义,以及功能执行时序图等内容,可理解为介绍如何用详细软件设计去实现需求的过程。就如图2所示内容,有一条底层软件需求是 CAN Driver模块必须提供一个接收通知服务,然后分解成2条详细软件设计去实现。类似于通过这种形式,即根据某模块一系列的软件需求,定义了一系列的软件详细设计,最终决定了该模块的软件架构和内容。 最后,配置规范。从配置工具角度来理解,这部分内容相当于定义好了配置工具的项目与内容。比如前面文章讲到的位速率,如果要配置它,那么配置工具应该在这个项目的配置页面设计位速率,SEG1,SEG2和SJW等配置内容。
图3 配置规范示意,引自[1]
关于AUTOSAR文档的一点感受:当阅读和研究部分AUTOSAR文档后,会有很多方面的收获,比如需求方面,软件方面,项目方面和技术方面。当然如果仅仅基于文档的话,也许会枯燥乏味,去结合实际项目,应该有助于更深入地理解以上提及的这些方面。 好了,关于文档大致说明到这,下面开始进入CAN Driver模块。
![b388f3ee11a29177a4bb8a1ee5a3ed4a.png](https://i-blog.csdnimg.cn/blog_migrate/b7e1000202fe979ca240de455e084c99.png)
CAN Driver
为了与文档描述保持一致,下文将使用CAN模块来表示CAN Driver。简单地说,CAN模块属于一部分的最底层内容,其作用是执行硬件访问和为上层提供独立的硬件接口(这里能访问CAN模块的上层只有Can Interface模块)。说到访问硬件,先了解几个概念,如图4所示: