- 架构设计目标 - Architecture design goals
软件架构设计必须满足的关键系统功能需求和质量约束,这些功能需求和质量要求对软件架构有重大的影响,并决定了架构的设计。
- 系统工作原理分析- Hardware Platform & Working Analysis
- 软件组成– Software Component
VCM采用双CPU架构:VCU和SCU。其中VCU是整个VCM控制的核心,几乎所有的控制策略都被定义在这个CPU上执行,而SCU主管安全监控。
为加快开发速度,方便程序的移植及维护,VCU和SCU可采用相同的软件结构。
VCM软件包括三个部分:boot-loader、底层软件平台及控制策略(也称应用层)软件。其中,boot-loader作为一个单独的工程开发,生成一个独立的二进制文件;底层软件平台及控制策略软件合称为应用软件,作为一个工程开发,生成一个独立的二进制文件。
VCM系统复位后,将根据外部硬件配置选择boot-to-flash模式:跳转到boot-loader,执行RAM自检。如果自检成功并且检测到有有效的应用软件,将跳转到应用软件;不然,则进入boot-loader模式,等待刷新有效的应用软件。在应用程序运行过程,若果接收到有效的刷新命令,应用程序也将跳转到boot-loader,执行刷新任务。
图1VCU/SCU控制器软件执行流程
VCU/SCU系统复位后,将根据外部硬件配置(VCU根据)选择boot-to-flash模式:跳转到boot-loader,执行RAM自检。如果自检成功并且检测到有有效的应用软件,将跳转到应用软件;否则,进入boot-loader模式,等待刷新有效的应用软件。在应用程序运行过程,若果接收到有效的刷新命令,VCU/SCU控制器也将跳转到boot-loader,执行刷新任务。
- 软件复用和可移植性设计- Software reuse and transplantable design
系统中核心软件架构采用分层结构设计,将硬件依赖层和应用层(控制策略部分)通过硬件依赖层进行隔离。一方面使得硬件依赖层和硬件抽象层能够被其他使用相同CPU的项目进行复用。另一方面使得控制策略不被CPU的型号所约束,策略的可移植性非常高。此外,控制策略采用基于模型的开发,控制模型亦可在其他项目中复用。