汽车嵌入式系统开发方法体系架构和流程
- 格式:pdf
- 大小:528.88 KB
- 文档页数:2
获取更多权威电子书请登录ARM嵌入式系统开发综述ARM开发工程师入门宝典获取更多权威电子书请登录 前言嵌入式系统通常是以具体应用为中心,以处理器为核心且面向实际应用的软硬件系统,其硬件是整个嵌入式系统运行的基础和平台,提供了软件运行所需的物理平台和通信接口;而嵌入式系统的软件一般包括操作系统和应用软件,它们是整个系统的控制核心,提供人机交互的信息等。
所以,嵌入式系统的开发通常包括硬件和软件两部分的开发,硬件部分主要包括选择合适的MCU或者SOC 器件、存储器类型、通讯接口及I/O、电源及其他的辅助设备等;软件部分主要涉及OS porting和应用程序的开发等,与此同时,软件中断调试和实时调试、代码的优化、可移植性/可重用以及软件固化等也是嵌入式软件开发的关键。
嵌入式系统开发的每一个环节都可以独立地展开进行详细的阐述,而本文的出发点主要是为嵌入式开发的初学者者提供一个流程参考。
因为对于初学者在面对一个嵌入式开发项目的时候,往往面临着诸多困难,如选择什么样的开发平台?什么样的器件类型?在进行编译时怎样实现代码优化?开发工具该如何选择和使用?在进行程序调试时应该注意那些问题以及选择什么样的嵌入式OS 等等。
希望通过本文,能帮助初学者了解有关ARM嵌入式系统开发流程。
获取更多权威电子书请登录目录前言 (2)1 嵌入式开发平台 (4)1.1 ARM的开发平台: (4)1.2 器件选型 (7)2 工具选择 (11)3 编译和连接 (13)3.1 RVCT的优化级别与优化方向 (16)3.2 Multifile compilation (21)3.3调试 (22)4 操作系统 (23)4.1 哪里可以得到os 软件包 (Open Source and LinuxKernel) (25)4.2 安装镜像 (26)4.3 交叉编译 (26)总结 (27)获取更多权威电子书请登录 1 嵌入式开发平台通常嵌入式开发的平台主要包括基于SoC或MCU开发板,板上提供常用的外设、接口和其他功能模块,开发者一般根据自己的应用需要选择适合自己板级开发平台。
嵌入式系统设计与开发基础试卷(答案见尾页)一、选择题1. 嵌入式系统的核心是什么?A. 中央处理器(CPU)B. 内存(RAM)C. 输入输出设备D. 操作系统2. 嵌入式系统的开发过程通常不包括以下哪个阶段?A. 系统需求分析B. 硬件设计C. 软件开发D. 系统测试与调试3. 嵌入式系统通常用于控制哪些类型的设备?(多选)A. 家庭电器B. 汽车电子C. 医疗设备D. 个人电脑4. 在嵌入式系统开发中,硬件抽象层(HAL)的主要作用是什么?A. 提供设备驱动程序B. 实现操作系统与硬件之间的接口C. 进行系统级优化D. 管理系统资源5. 在嵌入式系统设计中,如何确保系统的可靠性和稳定性?A. 使用高质量的组件B. 提高系统时钟频率C. 增加冗余设计D. 缩短系统开发周期6. 在嵌入式系统开发过程中,为什么需要遵循良好的编程规范?A. 保证代码的可读性B. 提高代码的可维护性C. 减少开发时间D. 降低系统故障率7. 嵌入式系统的硬件通常包括哪些组件?A. CPU、内存、I/O设备B. 硬盘驱动器、键盘、显示器C. 显卡、声卡、网络接口卡D. 光驱、软驱、USB接口8. 以下哪个不是嵌入式系统的特点?A. 低功耗B. 实时性C. 可定制性D. 高性能9. 嵌入式系统的实时性是指什么?A. 系统能够在预定时间内响应外部事件B. 系统能够处理大量数据C. 系统具有高度的可扩展性D. 系统能够进行多任务处理10. 在嵌入式系统设计中,通常首先需要进行哪种类型的分析?A. 性能分析B. 功能分析C. 可靠性分析D. 体系结构分析11. 嵌入式系统的软件开发通常采用哪种方法?A. 面向过程B. 面向对象C. 事件驱动D. 瀑布模型12. 在嵌入式系统中,经常使用的编程语言有:A. CB. C++C. JavaD. Python13. 嵌入式系统中的通信协议通常用于哪些场景?A. 网络通信B. 人机交互C. 数据处理D. 图像处理14. 在嵌入式系统测试中,常用的测试方法有:A. 单元测试B. 集成测试C. 系统测试D. 性能测试15. 嵌入式系统的未来发展趋势可能包括:A. 更高的性能B. 更低的功耗C. 更强的可定制性D. 更多的联网功能16. 嵌入式系统的硬件通常包括哪几部分?A. CPU、内存、I/O设备B. CPU、内存、外部接口C. CPU、内存、操作系统D. CPU、内存、软件17. 在嵌入式系统中,通常使用哪种编程语言进行开发?A. CB. C++C. JavaD. Python18. 嵌入式系统设计中,常说的“实时性”是指什么?A. 系统能够在规定的时间内响应外部事件B. 系统能够处理大量数据C. 系统具有高度的可扩展性D. 系统具有低功耗19. 嵌入式系统中的通信方式通常有哪几种?A. 串行通信和并行通信B. 同步通信和异步通信C. 有线通信和无线通信D. 以上都是20. 在嵌入式系统的开发过程中,调试是一个重要的环节。
符合ISO 26262的汽车电子软件开发流程董淑成**************************MathWorks中国ISO 26262(2011)高完整性软件开发标准和基于模型的设计01219901995200020052010基于模型设计的应用标准生效的年份DO-178B (1992)NASA-GB-8719.13(2004)IEC 61508(1998)DO-178C(2011)IEC 61508(2010)EN 50128(2001)EN 50128(2011)IEC 61511(2003)软件开发标准里出现基于模型的设计为什么?大纲▪ISO 26262软件开发项目的启动▪符合ISO 26262的软件开发过程软件开发ISO 26262定义的软件开发过程系统集成和测试系统设计软件需求验证软件集成和测试软件单元测试软件单元设计及实现软件需求定义软件架构设计系统测试软件测试软件测试软件测试设计验证设计验证设计验证软件开发ISO 26262的软件项目启动系统集成和测试系统设计软件需求验证软件集成和测试软件单元测试软件单元设计及实现软件需求定义软件架构设计系统测试软件测试软件测试软件测试设计验证设计验证设计验证1.软件开发计划2.软件验证计划3.编程、建模语言的选择4.编码、建模标准5.工具的选择6.工具应用指南建模/编程语言的选择及相关标准▪建模或者编程语言的选择标准–明确的定义–支持嵌入式实时软件和运行时错误处理–支持模块化、抽象及结构化▪语言本身不能涵盖的上述标准应通过相应的指导或开发环境涵盖TopicsASILA B C D 1a Enforcement of low complexity++++++++ 1b Use of Language subsets++++++++ 1c Enforcement of strong typing++++++++ 1d Use of defensive implementation technique O+++++ 1e Use of established design principles+++++ 1f Use of unambiguous graphical representation+++++++ 1g Use of style guides+++++++ 1h Use of naming conventions++++++++▪通常,汽车电子软件选择C语言–基础软件手工编写C代码–控制策略软件通过Simulink建模并自动生成代码C代码•建模/编码标准要涵盖的内容Simulink/Stateflow建模标准▪汽车行业建模标准(MAAB)–专门为汽车行业Simulink用户制定▪高完整性系统建模标准–专门为民航、火车、汽车等高完整性系统建模制定设计工具/验证工具的选择 工具的分类及资质审核TI 2TI 1TD 3TD 1TD 2TCL 3TCL 2TCL 1工具错误的检测工具置信水平高中无/ 低增加审核需求工具的影响ASIL 为TCL2级的资质审核无需额外的资质审核为TCL3级的资质审核工具分类工具资质审核UC 1..n 软件工具有引入错误或者不能检出错误的可能工具的功能/用例TÜV SÜD认证的工具▪Embedded Coder™功能:生产针对嵌入式优化的C和C++代码▪Simulink® Verification and Validation™功能:验证模型和模型生成的代码▪Simulink® Design Verifier™功能:定位设计错误,生成测试用例,并根据需求对设计进行验证▪Polyspace® Client™ for C/C++功能:证明源代码没有运行期错误▪Polyspace® Server™ for C/C++功能:在计算机集群执行代码验证并发布度量开发工具的应用指南▪除了选择开发工具之外,还要提供开发工具的应用指南▪Embedded Coder等工具具有非常详实的用户手册需求分析•模型架构•可实现性•可测性•可追溯•可配置模型建立•建模语言•建模标准•模型复杂度•平台化开发模型验证•建模标准•模型评审•形式化方法验证•功能测试代码实现•数据管理•等效性测试•代码验证•代码集成需求分析•模型架构•可实现性•可测性•可追溯•可配置模型建立•建模语言•建模标准•模型复杂度•平台化开发模型验证•建模标准•模型评审•形式化方法验证•功能测试代码实现•数据管理•等效性测试•代码验证•代码集成汽车电子软件的现状和复杂软件开发的困境▪GM汽车上的代码量▪软件工程师的工作效率▪解决复杂软件开发效率低下的途径–模块化开发模块化的原则和目标▪模块划分的一般原则–从功能上–高内聚–低耦合▪模块划分的目标–简化设计–便于分工–便于测试–便于后期维护▪In order to avoid failures resulting from high complexity, the software architecture design shall exhibit the following properties,–Modularity;–Encapsulation; and–Simplicity.ISO 26262软件架构设计原则▪软件架构设计原则MethodsASILA B C D1a Hierarchical structure of software components++++++++ 1b Restricted size of software components++++++++ 1c Restricted size of interfaces++++ 1d High cohesion within each software component+++++++ 1e Restricted coupling between software components+++++++ 1f Appropriate scheduling properties++++++++ 1g Restricted use of interrupts+++++软件的层次化结构设计▪模块如何划分–从功能上划分组件▪以发动机为例,分为:点火、进气、油量计算、怠速、巡航等▪模型实现上model reference发动机控制点火控制进气计算燃油控制怠速控制巡航控制其他–对复杂组件进一步划分为单元模块▪以发动机的怠速控制为例,分为暖机怠速、闭环速度控制、扭矩请求等单元▪模型实现上model reference系统级组件级单元级单元模块的设计不建议使用Model Reference.基于模型的嵌入式软件开发需求分析•模型架构•可实现性•可测性•可追溯•可配置模型建立•建模语言•建模标准•模型复杂度•平台化开发模型验证•建模标准•模型评审•形式化方法验证•功能测试代码实现•数据管理•等效性测试•代码验证•代码集成Simulink建模语言▪使用建模语言的子集▪Simulink和Stateflow之间的选择–如果算法是复杂的逻辑运算,使用Stateflow;–如果算法主要是数据运算,使用Simulink;▪Stateflow的flow chart和state chart之间的选择–如果算法本质上是计算工作状态或者离散状态,使用state chart;–如果算法本质上是if-then-else结构,使用flow chart或者真值表;ISO 26262软件单元的设计原则▪Example: Parallel states should not appear at the top level of a state-chart.--Misra Modeling GuidelineMethodsASILABCD1a One entry and one exit point in subprograms and functions++++++++1b No dynamic objects or variables, or else online test during their creation +++++++1c Initialization of variables++++++++1d No multiple use of variable names+++++++1e Avoid global variables or else justify their usage ++++++………1h No hidden data flow or control flow +++++++1jNo recursions++++++▪软件单元的设计和实现原则模型复杂度监测对单元模块进行复杂度监测–Model advisor–圈复杂度Simulink模型的平台化开发▪Model Variants–通过配置不同的参数选择不同的被引用模型–比如,K_Param== CLASS_A,选择Model_A.mdl;K_Param== CLASS_B,选择Model_B.mdl–支持生成条件编译的代码▪System Variants基于模型的嵌入式软件开发需求分析•模型架构•可实现性•可测性•可追溯•可配置模型建立•建模语言•建模标准•模型复杂度•平台化开发模型验证•建模标准•模型评审•形式化方法验证•功能测试代码实现•数据管理•等效性测试•代码验证•代码集成软件开发ISO 26262定义的软件开发过程系统集成和测试系统设计软件需求验证软件集成和测试软件单元测试软件单元设计及实现软件需求定义软件架构设计系统测试软件测试软件测试软件测试设计验证设计验证设计验证MAAB及相关规范的检查▪Model Advisor实现建模规范检查▪定制检查集▪定制检查项模型评审▪模型和需求的双向追溯–模型→需求–需求→模型▪Simulink Report Generator生成报告–为非Simulink用户生成报告▪Simulink Report Generator实现不同版本模型比较使用Simulink Design Verifier检查逻辑错误▪设定生成测试用例目标为MC/DC100%覆盖▪生成测试用例▪逻辑错误导致无法生成100%覆盖的测试用例,并提示错误逻辑使用Simulink Design Verifier检查数据错误▪通过算术运算分析定位错误–数据溢出–被零除▪证明没有错误的运算演示Simulink Design Verifier检查错误单元模块的功能测试▪仿真测试▪覆盖率分析模型测试的覆盖率要求▪对单元软件测试的结构覆盖率要求–覆盖率达到分支覆盖率100%–MC/DC 要求▪对软件架构测试的覆盖率要求MethodsASILABCD1a Statement coverage ++++++1b Branch coverage+++++++1cMC/DC (Modified Conditional/Decision Coverage)+++++MethodsASILABCD1a Function coverage ++++++1bCall coverage++++++模型的集成测试▪模型的组件级集成测试▪模型的系统级测试–模型在环测试–快速原型▪不同组件之间的接口测试▪不同组件功能上是否冲突基于模型的嵌入式软件开发需求分析•模型架构•可实现性•可测性•可追溯•可配置模型建立•建模语言•建模标准•模型复杂度•平台化开发模型验证•建模标准•模型评审•形式化方法验证•功能测试代码实现•数据管理•等效性测试•代码验证•代码集成代码生成的前提条件 模型经过充分验证模型符合建模标准功能测试覆盖率足够高模型不含有无效逻辑模型不含有数据错误GenerateCode数据对象和数据字典▪使用数据对象定义数据属性Properties (属性)Classes (类)Package (包)SimulinkSignal DataTypeData Storage ClassMin/Max ParameterData TypeData Storage ClassmodelName = 'f14';dictionaryName = 'myNewDictionary.sldd ‘;dictionaryObj =Simulink.data.dictionary.create(dictionaryName);set_param(modelName,'DataDictionary',dictionaryName);▪使用数据字典管理数据对象数据字典管理数据按照组件划分进行数据管理代码生成工具配置1. 通过系统目标文件设定回调函数2. 在代码生成设置的回调函数里固化设置软件工具除确定id 和版本号之外,还需要确定配置等效性测试▪SIL测试/PIL测试都是等效性测试–验证生成的代码和用于代码生成的模型具有相同的行为属性–PIL除等效性验证之外,还可以用来测量运行时间▪等效性测试的测试用例–功能测试的测试用例–Simulink Design Verifier自动生成▪模型覆盖率和代码覆盖率的比较代码的集成和集成测试▪代码集成的两种方式–单元模型的代码生成,代码级别做集成–模型级别集成,然后生成代码▪软硬件的系统级集成–硬件在环测试–台架测试–实车测试Plant model uController models1s2s3+Plant Model in PC uControllers1s2s3+基于模型的嵌入式软件开发需求分析•模型架构•可实现性•可测性•可追溯•可配置模型建立•建模语言•建模标准•模型复杂度•平台化开发模型验证•建模标准•模型评审•形式化方法验证•功能测试代码实现•数据管理•等效性测试•代码验证•代码集成MathWorksChange the world byAccelerating the paceof discovery, innovation, development, and learningin engineering and science。
AUTOSAR多核操作系统时序监控系统设计姚宇航,吴志红,朱元,王恩东,杜展志(同济大学汽车学院,上海201804)摘要:AUTOSAR多核操作系统遵循汽车嵌入式软件开发的标准,在快速增加的软件负载下需要保证系统的安全性、实时性要求。
仅依靠软件开发人员的经验进行配置常会存在操作系统运行时序上的种种问题,因此需要一种对OS进行监控的方法在开发初期阶段及时发现可能存在的时序错误。
针对上述难点,文章提出了一种OS时序的监控方法,并搭建了一套以Infineon AURIX TC397芯片和Vector Davinci工具链为软硬件平台的时序监控系,同时监控系统还包含上位机端软件进行监控数据处理并构建可视化窗口实时还原核内任务运行时序。
关键词:AUTOSAR;多核操作系统;时序监控;可视化中图分类号:TP311文献标识码:B文章编号:2096-9759(2023)03-0001-04Design of AUTOSAR multi-core operating system timing monitoring systemYAO Yuhang,WU Zhihong,ZHU Yuan,WANG Endong,DU Zhanzhi(Tongji University Automotive Institute,Shanghai201804)Abstract:The AUTOSAR multi-core operating system follows the standards of automotive embedded software development, and needs to ensure the security and real-time requirements of the system under the rapidly increasing software load.Only re-lying on the experience of software developers for configuration may cause various problems in timing of the operating system. In view of the above difficulties,this paper proposes an OS timing monitoring method and builds a timing monitoring system with Infineon AURIX TC397chip and Vector Davinci tool chain as software and hardware platform.The monitoring system also includes the upper computer software to process the monitoring data and construct a visual window to restore the running time sequence of tasks in the kernel in real time.Key words:AUTOSAR;multi-core operating system;Time sequence monitoring;Visualization0引言进入21世纪以来,得益于科学技术的不断进步,尤其是电子技术的发展,极大地提高了汽车的安全性和舒适性。
1 研究嵌入式系统和汽车电子系统内涵汽车电子产品可以对汽车行驶性能产生作用,如果依照其作用对它进行分类,大致分成两类:①汽车电子控制装置,有时还称为“机电结合”的汽车电子装置,它的作用主要体现在控制上,简单来说它就是包括电子燃油喷射、防抱死、牵引力控制等控制系统;②车载汽车电子装置,主要是指基于汽车环境的电子装置,它的作用主要体现在信息的处理上,具体的有汽车信息系统、导航系统、车载通讯系统、电视娱乐系统等。
作为汽车电子设备核心的汽车的嵌入式系统,主要是由软件和硬件组成的,其中软件主要是由操作系统、应用程序、引导程序,驱动程序等组成,硬件主要包括嵌入式微处理器、外围接口电路、储存器等。
嵌入式系统中最为常见的形式就是往控制对象的内部嵌入系统,实现多个网络之间的联系,通过这种网络化实现对内部外部信息的及时响应,最终构成一个复杂的反应式控制系统。
2 基本模型的开发方法与汽车嵌入式系统正在朝着复杂化发展的同时,系统开发在时空跨度上也正在逐步变大,在此期间,基于模型的开发方法产生了,而且应用的十分广泛。
这一开发方法就是一种软件设计方法,而且它也是基于模型,它的只有流程如下。
第一步:在某种特定建模语言的支持下按照嵌入式系统的预期功能要求建立模型;第二步:针对软件系统中那些比较关键的问题实行抽象化处理,在此期间描述系统解决方案;第三步:将系统模型在形式化的工具条件下进行验证,让嵌入式系统设计的准确性得到保障。
概念设计和交流、设计信息文档化和管理、系统分析与系统综合是实现方法过程中的四个大方面,在此本文将对这四个方面进行简要阐述:①概念设计和交流:为了实现概念的交流,将系统由一个或者多个可以共享的模型来表示是设计汽车嵌入式系统的核心内容,如果所建立的模型可以完整的描述系统的行为,那么验证系统设计可以借助建立模型来实现。
②设计信息文档化和管理:在产品设计阶段、生产阶段、维护阶段和回收阶段中文档都起到了举足轻重的作用,但是目前文本的文档管理的滞后性已经在实际中明显的表现出来了,为此现在要想描述清楚信息与信息间关系就必须基于模型对信息进行管理。
嵌入式软件设计嵌入式软件设计是指为嵌入式系统设计开发软件程序的过程。
嵌入式系统是一种特殊的计算机系统,它旨在执行特定任务,并通常涉及与物理世界的交互。
常见的嵌入式系统包括现代汽车、数字相机、智能手机、路由器、交通信号灯和医疗设备等。
这些设备需要高度优化、可靠且高效的软件,以便能够正确地执行其功能。
在开始嵌入式软件设计之前,首先要确定系统的架构和需求。
架构涉及处理器选择、内存容量、存储器、输入/输出接口和各种系统总线等。
需求涉及系统功能、性能、安全、可靠性和易用性等方面。
这些因素都将影响软件设计和开发的过程。
嵌入式软件通常是使用低级编程语言(如C或汇编语言)编写的。
低级语言允许程序员直接控制硬件的配置和操作。
这样可以最大程度地优化程序的性能和资源使用效率。
然而,低级编程语言也非常容易出错,因此需要进行精心的测试和调试工作。
在嵌入式软件设计的过程中,还需要考虑到多线程、中断处理、存储器管理和通信协议等方面。
多线程可以提高系统的并发性和响应能力,但也容易引入bug和死锁等问题。
中断处理可以确保在紧急情况下及时响应事件,但也可能会影响系统的稳定性。
存储器管理可以确保软件的内存使用高效,并确保不会发生内存泄漏和缓冲区溢出等问题。
通信协议可以确保与其他设备和系统之间的通信正确进行。
除了开发软件之外,还需要对软件进行测试和调试。
测试可以检测软件中的缺陷和错误,并帮助程序员调整代码以更好地满足预期的功能和性能要求。
调试可以帮助程序员快速定位问题并进行纠正。
最后,为了确保飞行安全和质量控制等方面的要求,嵌入式软件应符合国际标准和规范,例如RTCA-DO-178C(飞机软件开发的安全认证标准)和ISO 26262(汽车软件开发的安全认证标准)。
总之,嵌入式软件设计需要开发人员经过深思熟虑和严谨的方法来开发高效、高可靠性的软件程序。
这需要程序员具备一定的专业知识和技能,同时也需要完善的软件开发流程和测试方法。
只有这样,才能保证嵌入式系统的安全性和正常运行,同时也满足客户的需求和期望。
文件制修订记录1.0目的本程序以顾客为导向规定了公司所有嵌入式软件新产品开发的工作流程及所有要求,指导和保证整个嵌入式软件开发的有性效和符合性;2.0工作流程2.1嵌入式软件开发管理流程活动1-需求分析与定义➢研发部软件开发工程师按照《项目开发计划》要求的时机,评审、确定软件开发的需求,软件开发需求包括有:●顾客提供的功能清单●通信协议(LIN、CAN)●顾客提出的其他特殊要求●产品硬件的结构要求●软件开发的设计目标➢当顾客不提供《功能清单》时,应由研发部软件开发工程师根据概念需求,自行确定软件实现功能。
➢软件开发工程师将待开发软件进行编号,并记录在《软件开发登记清单》中;活动2-编制设计开发任务书➢研发部软件开发工程师根据需求定义要求,编制《软件设计开发任务书》,其内容可包括但不限于以内容:●软件设计开发目标●通信协议的确定●软件实施功能要求●DVP(可做为附件)●PVP(可做为附件)●软件开发子项目计划(可做为附件)➢《软件设计开发任务书》编制完成后,由软件开发工程师组织市场部、品管部相关人员进行评审,并提交研发部部长批准;活动3-提交顾客,设计冻结➢经评审满足要求的《软件设计开发任务书》,由市场部业务员提交、跟踪顾客书面确认,并设计冻结后的信息反馈至软件开发工程师,作为软件设计开发的输入依据;➢设计冻结的《软件设计开发任务书》若需要进行更改,则由软件开发工程师重新执行活动1、2、3步骤。
活动4-软件系统框架设计➢软件开发工程师阅读需求《软件设计开发任务书》,明确设计任务,准备相关的设计工具和资料。
通常情况下,组织推荐使用面向对象的分析设计方法,并使用相关工具和软件来开展设计。
●软件开发工程师从产品需求文档中提取需求约束,包括以下方面:●本系统应当遵循的标准或规范●软件、硬件环境(包括运行环境和开发环境)的约束●通信接口以及约束●软件质量的约束,如正确性、健壮性、可靠性、效率(性能)、易用性、清晰性、安全性、可扩展性、兼容性、可移植性等等。
1 研究嵌入式系统和汽车电子系统内涵汽车电子产品可以对汽车行驶性能产生作用,如果依照其作用对它进行分类,大致分成两类:①汽车电子控制装置,有时还称为“机电结合”的汽车电子装置,它的作用主要体现在控制上,简单来说它就是包括电子燃油喷射、防抱死、牵引力控制等控制系统;②车载汽车电子装置,主要是指基于汽车环境的电子装置,它的作用主要体现在信息的处理上,具体的有汽车信息系统、导航系统、车载通讯系统、电视娱乐系统等。
作为汽车电子设备核心的汽车的嵌入式系统,主要是由软件和硬件组成的,其中软件主要是由操作系统、应用程序、引导程序,驱动程序等组成,硬件主要包括嵌入式微处理器、外围接口电路、储存器等。
嵌入式系统中最为常见的形式就是往控制对象的内部嵌入系统,实现多个网络之间的联系,通过这种网络化实现对内部外部信息的及时响应,最终构成一个复杂的反应式控制系统。
2 基本模型的开发方法与汽车嵌入式系统正在朝着复杂化发展的同时,系统开发在时空跨度上也正在逐步变大,在此期间,基于模型的开发方法产生了,而且应用的十分广泛。
这一开发方法就是一种软件设计方法,而且它也是基于模型,它的只有流程如下。
第一步:在某种特定建模语言的支持下按照嵌入式系统的预期功能要求建立模型;第二步:针对软件系统中那些比较关键的问题实行抽象化处理,在此期间描述系统解决方案;第三步:将系统模型在形式化的工具条件下进行验证,让嵌入式系统设计的准确性得到保障。
概念设计和交流、设计信息文档化和管理、系统分析与系统综合是实现方法过程中的四个大方面,在此本文将对这四个方面进行简要阐述:①概念设计和交流:为了实现概念的交流,将系统由一个或者多个可以共享的模型来表示是设计汽车嵌入式系统的核心内容,如果所建立的模型可以完整的描述系统的行为,那么验证系统设计可以借助建立模型来实现。
②设计信息文档化和管理:在产品设计阶段、生产阶段、维护阶段和回收阶段中文档都起到了举足轻重的作用,但是目前文本的文档管理的滞后性已经在实际中明显的表现出来了,为此现在要想描述清楚信息与信息间关系就必须基于模型对信息进行管理。
③系统分析:系统分析作为系统设计的验证和推测手段,其方法就是通过分析结果进而判定目前所设计系统的行为能否达到预期要求,在汽车嵌入式系统开发过程中这一手段的作用特别明显,也就是运行环境对系统有重要影响所以在汽车嵌入式系统设计过程中要随时考虑其对系统的影响,为此在系统分析中这一技术手段比传统验证技术更加具有优势。
④系统综合:利用专用工具直接生成或辅助生成系统运行过程中的相关文档。
现在,多种自动综合的应用在汽车嵌入式系统开发中已经得到了成功应用,其中基于模型的自动生成产品代码最为常见,这个应用及时依靠图形化工具或建模语言描述系统的特性与行为。
3 AUTOSAR 的体系架构(1)复杂驱动模块主要就是操作复杂的执行器和传感器。
一般情况下时序问题经常影响复杂驱动模块,就是说在AU-TOSAR 没有经过标准化处理的情况下,在复杂驱动层将会有这类模块的映射。
(2)运行环境层主要为应用层提供所需要的通讯服务,另外ECU 具体应用直接影响着PTE 层的实现,就是必须分别实现每个ECU 。
(3)抽象化处理ECU 结构是ECU 抽象层的主要功能,简单的说就是有外设ECU 的联接方式等;各硬件接口的统一化一般是有微控制器的抽象层(MCAL )来实现,就是对硬件进行相应处理,由此避开微控制器中的寄存器直接连接到高层软件。
(4)服务、操作、通讯等系统模块组成了服务层,基础软件和应用模块的操作系统服务、ECU 状态管理和诊断服务、汽车网络通讯与管理服务、存储服务等都由服务层提供。
汽车嵌入式系统开发方法、体系架构和流程郑振,张仲颖(湖北工业职业技术学院,湖北十堰442000)摘要:文章笔者主要从AUTOSAR 的体系架构、开发V 模式的整个过程、模型开发手段这三个角度对汽车的嵌入式系统的整个开发系统进行介绍。
关键词:汽车嵌入式系统;开发方法;体系构架流程中图分类号:TP368.1文献标识码:A文章编号:1007-8320(2014)09-0064-01Methods,System Structure and Process of the Development of AutomotiveEmbedded SystemsZHENG Zhen,ZHANG Zhong-ying(Hubei Industrial Vocational and Technical College,Shiyan,Hubei 442000,China)Abstract:In this paper,the author introduced the whole development system of automotive embedded system mainly from the aspects of AUTOSAR architecture,the process of the development of the V model ,the methods to develop models.Key words:automotive embedded system development method;system architecture;process收稿日期:2014-09-06作者简介:郑振(1984-),男,大学本科,助教,主要研究方向:汽车电子。
(下转第66页)湖南农机HUNAN AGRICULTURAL MACHINERY第41卷第9期Vol.41 No.92014年9月Sept.2014尹春鹏,孙昌会:工业陶瓷烘房PLC 控制系统(5)执行器软件组件、传感器、应用软件等是应用层组件,其中借助PTE 实现ECU 资源访问和内部通讯的是软件组件。
4 基于V 模式的开发流程开发环境、编程环境、测试环境在V 模式开发流程中系统是允许相同的,此外还可以针对开发过程中所涉及步骤进行准确验证。
在简化和加速开发流程方面基于V 模式的开发方法起到了十分重要的作用。
下面的图4-1清晰地表达了基于V 模式的开发流程。
由图可知,有五个重要步骤决定了基于V 模式的开发流程,它们具体是指:①需求定义与功能设计;②快速控制原型(RCP);③测试与标定;④硬件环境(HIL );⑤目标代码生成。
下面将对这五个步骤进行简要介绍。
图4-1 基于V 模式的开发流程(1)需求定义与功能设计。
根据MATLAB/Simulink 环境和系统的预期功能要求,开展图形化建立模型,以此为基础建立所控制对象模型和控制器模型,在此期间对两者进行离线仿真和实地分析。
(2)快速控制原型构。
随时构建仿真模型,并且在原型系统中直接载入所建模型,使其连接实际所要控制的对象,进而方案的可行性利用测试来验证。
(3)测试与标定。
测试与标定ECU 抽象层就是该环节的主要任务,并对ECU 参数进行灵活调整(4)硬件环境。
让整个系统在真实的控制器中进行测试,为此系统运行环境和被控对象灵活采用实时物体和仿真模型。
(5)目标代码生成。
利用Targetlik 或Embedded Code 等软件转化模型,进而实现产品自动生成代码的目的。
5 结语综上所述,系统的开发方法、体系架构、开发流程直接影响着汽车嵌入式系统开发的高效性和可靠性。
本文笔者简要阐述了企业的嵌入式系统的开发方法、体系架构与开发流程。
通过研究可以发现,基于模型的开发方法、AUTOSAR 的体系架构、基于V 模式的开发流程很大程度上可以使汽车嵌入式系统开发体系的可靠性和完整性得到保证。
5 系统运行要求系统软件:Win9x/Me/NT/2000/XP 。
数据库管理系统:DBMS 。
硬件要求:奔腾200Mhz 以上;内存:128M 以上。
6 功能模块设计本系统整体被划分了六大模块:数据采集与控制、设备管理与控制、数据分析与绘制、数据操作与维护、系统参数设置、用户管理模块。
(1)数据采集与控制模块:本模块对陶瓷烘房温度,湿度等参数进行采集检测,通过PLC 控制系统控制点火,开关风机,进行温度和湿度的控制。
(2)设备管理与控制模块:本模块是上位机软件中对点火和开关风机的手动控制开关,实际上还是PLC 系统控制设备的开关。
(3)数据分析与绘制模块:本模块通过与PLC 系统通讯,对采集到的数据信息进行分析,进行跟踪曲线显示,动态显示各烘房温度动态,并且能够动态的绘制与显示温度动态曲线。
(4)数据操作与维护模块:本模块对数据曲线进行浏览,存储,编辑。
并且能够对历史数据进行保存,清除,恢复,能够对数据进行打印。
(5)系统参数设置模块:本模块能够对上位机软件进行人性化设置,能够对数据的采集周期,曲线刷新周期进行设置,仪表设置参数,能够对不同的PLC 控制系统进行配置,增加了系统的兼容性,更加方便使用。
打印机设置能够对打印参数进行设置,使打印格式符合一致。
(6)用户管理模块:能够对人员进行添加删除,通讯录进行管理,进行口令设置,给不同的用户分配不同的权限,保证了系统的安全性。
7 PLC 控制系统概要设计根据陶瓷烘房控制总体特点,可将各个独立运行的实体进行集中管理,设计成由若干个温区形成分布式控制系统,也就是将整个系统控制分割成若干子系统,每一个子系统由多个控制器下位机来负责具体的控制工作,操作人员使用该子系统中的集中操作站,一览整个系统情况,并可参与各个子系统的控制运行,监视各个控制站的报警和故障处理进程。
整个系统核心部分由一台功能强大的PLC(又称上位机)与终端显示设备、多个下位控制器(又称下位机)组成。
其中上位机与多个下位调节器是通过RS485总线形成的一个功能强大的异步协议宏通讯网络。
每一个下位机具体控制点火开关或者风机的开关。
本系统通过下位机采集陶瓷烘房的温度数据,通过一定的通讯协议与上位机软件进行通讯,上位机可以控制多个陶瓷烘房,对采集来的数据进行分析绘制,比较简单,从理论上采用这种结构是可行的。
由于以前没有接触过工业方面的东西,总是感觉十分棘手,所以不是轻而易举就可以完成的,同时也花费了大量时间和精力。
本文研究的是“工业陶瓷烘房PLC 控制系统”,研究过程严格按照软件工程的软件设计步骤进行的。
从需求分析,到功能模块设计,最后到系统模块的详细设计及具体实施,整个过程比较细致。
在个人看来,此系统具有很大的实用性,对于现实的工业加工方面有一定的作用。
(上接第64页)设计研究。