位置:51电子网 » 技术资料 » 其它综合

支持汽车电子的嵌入式软件编程接口库设计

发布时间:2007/8/29 0:00:00 访问次数:546

作者:吉林大学物理学院应用物理系 李志强 朱澄 李军


摘  要:本文介绍了一种支持汽车电子的嵌入式软件平台编程接口库的内容和设计方法。该接口库提供了以汽车电子领域常用算法为主的基础编程接口库和以底层硬件驱动函数为主的专用编程接口库,以及针对特定系统而设计的API函数库。系统以MPC555为硬件运行平台,用户通过调用接口库提供的API函数,就可实现运算和硬件操作。这种层次分明的设计思想也便于维护接口库和移植新的平台。


关键词:API;嵌入式系统;应用算法;底层驱动


引言


近年来,随着电子科学和计算机技术的飞速发展,汽车电子设备的应用越来越多。目前,国内汽车电子技术水平跟国外汽车厂商相比还有很大差距,尤其是在发动机电控方面,国内尚无独立开发先例。本文介绍的柴油机电控系统嵌入式软件平台就是面向汽车电子,遵循OSEK标准,应用于汽车动力总成控制的系统平台。


软件平台由微型系统内核和应用编程接口库组成。嵌入式操作系统内核负责任务调度及事件处理等,编程接口库负责将开发常用的算法和MPC555底层硬件的驱动函数进行控件级封装,供用户调用。在嵌入式系统中,开发人员通过调用编程接口库中已有的API函数,就可以实现常用运算功能以及常规硬件操作。



图1 发动机电控系统层次图


整个电控系统包括硬件平台、底层驱动、嵌入式软件平台和上层用户四个层次。各个层次关系,如图1所示。


硬件平台简介


发动机电控系统硬件平台主控CPU为MPC555,它是一款高性能的32位单片机,是专为汽车电子、航空航天、智能系统等高端嵌入式控制系统所设计的芯片。其独特之处在于其具有浮点运算单元,支持浮点代码的直接编程;此外,MPC555还具有可编程的时间处理模块,可通过对该模块的独立编程,实现对发动机曲轴、凸轮轴等复杂周期信号的处理,无需外接单独的CPU,从而大大简化了软、硬件设计。



图2 发动机电控系统硬件电路结构框图


以MPC555为核心控制单元,辅以相应的输入信号处理、输出控制和通讯单元设计的发动机电控系统硬件电路结构框图,如图2所示。


嵌入式操作系统内核简介


该嵌入式操作系统是以MPC555/MPC556单片机为硬件运行平台,参照欧洲OSEK标准,构建的超微型实时安全的嵌入式操作系统内核。该系统为用户提供各种任务调度、事件处理及中断响应机制,并由操作系统管理各个任务之间的切换和信息传递。


为满足系统实时性的要求,操作系统任务管理采用基于任务优先级的可抢占式任务机制,任务之间通过消息邮箱和消息队列传递变量和信息。另外,系统内核利用开放源码机制,通过裁减与移植,可以支持多种国际主流处理器。



图3支持汽车电子的嵌入式操作系统内核结构图


该嵌入式操作系统内核的功能结构,如图3所示。


嵌入式编程接口库设计


应用编程接口库的设计是将发动机电控系统需要的常规算法和硬件基本操作封装为函数形式,嵌入在操作系统中,为开发人员提供一个友好安全的软件平台。



图4 支持汽车电子的嵌入式编程接口库结构图


该嵌入式编程接口库的结构,如图4所示。


嵌入式基础编程接口库


嵌入式基础编程接口库是指各行业在电子控制方面通用的编程接口库。该库利用现有车辆数据作为模拟数据进行控制算法和线性插值算法库函数验证,数据结构符合ASAP2标准。该接口库为用户提供了一整套开发中常用的算法函数和基本操作,对典型的算法和操作进行控件级封装,为应用程序提供一个完整的通用的系统调用函数库。该函数库主要包括:


1. 2D、3D线性插值算法接口库:


在二维、三维表中,经过线性插值得到与输入量对应的函数值,用于发动机控制参数查表算法。


2. PID控制器算法接口库:


PID控制器是一种线性控制器。它根据给定值与实际输出值构成控制偏差,将偏差的比例、积分和微分通过线性组合构成控制量,主要用于控制喷油输出信号。


3. 平滑滤波处理算法接口库:


主要用于对采集的模拟信号进行平滑和去抖处理。


4. 其他汽车电子控制系统中,常用的控制算法和信号处理函数接口库。


嵌入式基础编程接口库的设计有两个目的:一是方便调用应用程序,增加程序可靠性和编程效率;二是希望通过将处理方法标准化,在不改变程序结构的情况下,可以将程序言在不同的硬件平台上进行移植,免去了软件开发人员对一些典型算法和操作的重复编程。


嵌入

作者:吉林大学物理学院应用物理系 李志强 朱澄 李军


摘  要:本文介绍了一种支持汽车电子的嵌入式软件平台编程接口库的内容和设计方法。该接口库提供了以汽车电子领域常用算法为主的基础编程接口库和以底层硬件驱动函数为主的专用编程接口库,以及针对特定系统而设计的API函数库。系统以MPC555为硬件运行平台,用户通过调用接口库提供的API函数,就可实现运算和硬件操作。这种层次分明的设计思想也便于维护接口库和移植新的平台。


关键词:API;嵌入式系统;应用算法;底层驱动


引言


近年来,随着电子科学和计算机技术的飞速发展,汽车电子设备的应用越来越多。目前,国内汽车电子技术水平跟国外汽车厂商相比还有很大差距,尤其是在发动机电控方面,国内尚无独立开发先例。本文介绍的柴油机电控系统嵌入式软件平台就是面向汽车电子,遵循OSEK标准,应用于汽车动力总成控制的系统平台。


软件平台由微型系统内核和应用编程接口库组成。嵌入式操作系统内核负责任务调度及事件处理等,编程接口库负责将开发常用的算法和MPC555底层硬件的驱动函数进行控件级封装,供用户调用。在嵌入式系统中,开发人员通过调用编程接口库中已有的API函数,就可以实现常用运算功能以及常规硬件操作。



图1 发动机电控系统层次图


整个电控系统包括硬件平台、底层驱动、嵌入式软件平台和上层用户四个层次。各个层次关系,如图1所示。


硬件平台简介


发动机电控系统硬件平台主控CPU为MPC555,它是一款高性能的32位单片机,是专为汽车电子、航空航天、智能系统等高端嵌入式控制系统所设计的芯片。其独特之处在于其具有浮点运算单元,支持浮点代码的直接编程;此外,MPC555还具有可编程的时间处理模块,可通过对该模块的独立编程,实现对发动机曲轴、凸轮轴等复杂周期信号的处理,无需外接单独的CPU,从而大大简化了软、硬件设计。



图2 发动机电控系统硬件电路结构框图


以MPC555为核心控制单元,辅以相应的输入信号处理、输出控制和通讯单元设计的发动机电控系统硬件电路结构框图,如图2所示。


嵌入式操作系统内核简介


该嵌入式操作系统是以MPC555/MPC556单片机为硬件运行平台,参照欧洲OSEK标准,构建的超微型实时安全的嵌入式操作系统内核。该系统为用户提供各种任务调度、事件处理及中断响应机制,并由操作系统管理各个任务之间的切换和信息传递。


为满足系统实时性的要求,操作系统任务管理采用基于任务优先级的可抢占式任务机制,任务之间通过消息邮箱和消息队列传递变量和信息。另外,系统内核利用开放源码机制,通过裁减与移植,可以支持多种国际主流处理器。



图3支持汽车电子的嵌入式操作系统内核结构图


该嵌入式操作系统内核的功能结构,如图3所示。


嵌入式编程接口库设计


应用编程接口库的设计是将发动机电控系统需要的常规算法和硬件基本操作封装为函数形式,嵌入在操作系统中,为开发人员提供一个友好安全的软件平台。



图4 支持汽车电子的嵌入式编程接口库结构图


该嵌入式编程接口库的结构,如图4所示。


嵌入式基础编程接口库


嵌入式基础编程接口库是指各行业在电子控制方面通用的编程接口库。该库利用现有车辆数据作为模拟数据进行控制算法和线性插值算法库函数验证,数据结构符合ASAP2标准。该接口库为用户提供了一整套开发中常用的算法函数和基本操作,对典型的算法和操作进行控件级封装,为应用程序提供一个完整的通用的系统调用函数库。该函数库主要包括:


1. 2D、3D线性插值算法接口库:


在二维、三维表中,经过线性插值得到与输入量对应的函数值,用于发动机控制参数查表算法。


2. PID控制器算法接口库:


PID控制器是一种线性控制器。它根据给定值与实际输出值构成控制偏差,将偏差的比例、积分和微分通过线性组合构成控制量,主要用于控制喷油输出信号。


3. 平滑滤波处理算法接口库:


主要用于对采集的模拟信号进行平滑和去抖处理。


4. 其他汽车电子控制系统中,常用的控制算法和信号处理函数接口库。


嵌入式基础编程接口库的设计有两个目的:一是方便调用应用程序,增加程序可靠性和编程效率;二是希望通过将处理方法标准化,在不改变程序结构的情况下,可以将程序言在不同的硬件平台上进行移植,免去了软件开发人员对一些典型算法和操作的重复编程。


嵌入

相关IC型号

热门点击

 

推荐技术资料

罗盘误差及补偿
    造成罗盘误差的主要因素有传感器误差、其他磁材料干扰等。... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!