汽车电子嵌入式软件编程接口库如何设计比较合理

2020-05-20来源: 互联网关键字:嵌入式  编程接口

引言


近年来,随着电子科学和计算机技术的飞速发展,汽车电子设备的应用越来越多。目前,国内汽车电子技术水平跟国外汽车厂商相比还有很大差距,尤其是在发动机电控方面,国内尚无独立开发先例。本文介绍的柴油机电控系统嵌入式软件平台就是面向汽车电子,遵循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. 其他汽车电子控制系统中,常用的控制算法和信号处理函数接口库。


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


嵌入式专用编程接口库


嵌入式专用编程接口库,是指针对特定柴油机和ECU的硬件特殊需要设计的系统专用编程接口库。该接口库的设计符合OSEK操作系统调用规范,为用户提供底层硬件MPC555的各个功能模块的驱动,并针对汽车电子完成了基本的数据处理工作,提供软件方面的可调用函数。嵌入式专用编程接口库主要包括:


1. 模拟量输入检测及处理接口库:发动机的温度、压力等传感器信号以电压形式被电控单元ECU的模拟量通道采集。信号采集方式可以是需要时调用采集函数,也可以设置成QADC单元自动按定时器周期顺序采集。在系统初始化时,用户可根据具体情况分别设定各个通道的采集方式。


2. 开关量输入/输出接口库:用于对离合器、刹车等开关量信号采集并做去抖处理,结果赋值给指定的全局变量,供用户需要时读取。传感器电源、涡轮增压器控制等开关量输出,则通过直接调用相应函数由引脚输出高低电平实现。I/O口的引脚方向在系统初始化时根据硬件设计设定。


3. 周期量输入检测及输出控制接口库:MPC555单片机内部集成的时间处理单元TPU自带曲轴/凸轮轴信号检测功能和喷油信号输出控制功能。为方便用户使用,我们将各个功能封装为底层驱动函数形式,用户可以调用这些函数设定TPU的工作方式。


4. 其他和单片机硬件相关的驱动函数接口库。


底层驱动接口库是汽车电子开发人员和底层硬件系统之间的桥梁,使开发人员可以最大限度地脱离底层硬件转而专注于汽车控制算法设计。用户通过对底层驱动接口函数的调用,就可以方便地完成对MPC555底层硬件的操作。


嵌入式API函数库


基于上述算法和底层驱动函数库,针对该控制系统的具体需求和功能,兼顾在汽车电子领域的通用性,我们对函数和算法以及各种操作进行了更高一层的封装,为用户提供了更标准的API函数库,更大程度地方便了用户。API函数库包含了发动机各种信号的输入处理和输出控制函数,能够实现更加具体的功能。


以发动机喷油控制函数为例,当系统检测到曲轴信号缺齿位置时,产生中断。系统根据测得的发动机转数,以及各种温度和压力参数,结合怠速、刹车等开关的状态,设定喷油输出信号的起始时刻和脉冲宽度,从而实现对发动机性能的控制。


结语


本文介绍了一种支持汽车电子的嵌入式编程接口库的内容和设计方法。接口库提供了可供系统直接调用的各种API函数,以实现常规算法和硬件操作。接口库的设计相对独立,实现了与硬件平台、操作系统和控制算法的并行开发,最后统一联调,大大缩短了开发的时间。同时,这种层次分明的设计思想,也使得接口库设计更加通用和标准化,可以通过简单修改移植到新的软、硬件平台之上,提高了代码的重复利用率,有较高的使用价值。


关键字:嵌入式  编程接口 编辑:鲁迪 引用地址:http://news.eeworld.com.cn/qcdz/ic497668.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:自动驾驶哪家强?中美自动驾驶发展,百度谷歌谁才是一哥?
下一篇:晴天充电雨天当伞 福特研发太阳能车罩

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

嵌入式传感器是智能移动增长的关键
翻译自——embedded 移动即服务(MaaS)被认为是智能移动的一个关键要素,而机器人汽车技术将是智能移动的一个重要因素,它又高度依赖于嵌入式传感器。 根据市场研究和战略咨询公司Yole development pement (Yole)的预测,在这种情况下,高端传感器技术和原始计算能力将成为这场正在进行的市场颠覆的中心,用于机器人车辆的传感器将成为它们自己的产业,在未来15年内,CAGR将达到51%。在一份名为《机器人移动传感器2020》的新报告中表示,到2024年,传感器预计将产生9亿美元的收入,到2028年将达到34亿美元, 2032年将达到170亿美元,届时将有100万辆机器人汽车
发表于 2020-04-22
嵌入式传感器是智能移动增长的关键
高云半导体安全FPGA系列推进嵌入式产品安全开发
全球极具创新性的可编程逻辑器件供应商—广东高云半导体科技股份有限公司(以下简称“高云半导体”)在2019年发布了的安全FPGA系列产品(SecureFPGAs),因其实现了硬件PUF(物理不可克隆功能)的安全性,从而为高云半导体的μSoC FPGAs提供了信任基础。自此后,高云半导体一直在与各类安全技术人员合作开发应用案例,以便快速推进其嵌入式产品上的安全开发。  近期,纽约理工学院(NYiT)温哥华分校与高云半导体 SecureFPGAs合作开发了解决方案,并将其作为该校INCS 870网络安全顾问研究生课程的一部分。 通过与高云半导体合作,学生们使用Secure FPGA、μSoC FPGA解决通用安全问题
发表于 2020-04-21
高云半导体安全FPGA系列推进嵌入式产品安全开发
基于S3C2410A微处理器实现嵌入式GPS导航系统的设计
1、引言随着中国的城市化的程度不断加快,使得越来越多的人口与事业单位集中在一个“狭小”范围内生活与工作。城市的迅速“膨胀”直接导致了交通网络的日趋复杂,人员流动的日益频繁也使得每个人对空间信息有了更多的依赖。人们更加关心“当前我在哪里?”“目的地在哪里?”“如何到达?”等问题。而以嵌入式系统为平台的数字地理集成应用方案可以有效地解决这些矛盾。在此背景下,本文给出了基于ARM的嵌入式解决方案。2、硬件实现本嵌入式GPS导航系统的硬件核心是三星公司ARM9系列中的16/32位RISC处理器S3C2410A芯片,该芯片强大的实时处理能力和丰富的外围接口非常适合嵌入式系统的开发,本系统正是基于该芯片的这些特点而设计的。系统框图如图1所示
发表于 2020-04-20
基于S3C2410A微处理器实现嵌入式GPS导航系统的设计
嵌入式汽车电子系统的新设计挑战与解决方案
格外重要。消费者甚至期望车商提供高质量的仪表板功能。要将这些先进功能导入汽车系统往往需要付出代价。汽车电子设计人员的一项挑战是迅速推出新的电子元器件,提高乘客的舒适性、安全保护和其它加强功能。设计人员必须缩短整体的设计与认证时间和增强现有系统功能,并且不能影响日益严格的质量与可靠性要求和成本目标。为了克服这些挑战,汽车电子设计人员需要集成度更高的解决方案以便提高系统的功能密度。混合信号元器件的高功能集成就是很有吸引力的一项替代方案。捕捉、运算和通讯几乎所有的嵌入式汽车电子系统都必须执行捕捉、运算和通讯等三种功能。“捕捉”是从实际世界取得信息,再将它转为数字形式。这可能是车胎监控系统的压力传感器所传来的模拟电压,或是碰撞侦测感应器I
发表于 2020-04-20
嵌入式汽车电子系统的新设计挑战与解决方案
EmStat Pico:支持软件运行的嵌入式小型电化学恒电势器系统化
摘要/简介 电化学产品日趋微型化。仪器仪表从机架安装式或台式机缩小为手持式设备,以进行目标点或环境分析。下一代仪器仪表开始将恒电势器集成到更小的设备(例如可穿戴设备、医疗设备或气体监测仪)中。ADI公司与PalmSens BV合作研发的EmStat Pico就是一款微型(30.5 mm × 18 mm × 2.6 mm)恒电势器系统化模块(SOM),它延续了这一尺寸缩小的趋势。该器件采用ADI技术构建,包括ADuCM355、ADP166、ADT7420和AD8606。 电化学传感器系统的开发需要具备固件、模拟和数字电子学知识以及对电化学的深入了解。工程部门通常不具备这种知识组合。EmStat Pico模块只需
发表于 2020-04-20
EmStat Pico:支持软件运行的嵌入式小型电化学恒电势器系统化
嵌入式Linux学习笔记之——代码重定位002_链接脚本的引入
① NOR启动:② nand 启动:上次讲到的g_char不能按照程序正确输出的原因是nor启动的时候g_char在nor flash中,其不可写的特性决定了输出结果。现在能否修改Makefile让nor启动时讲代码拷贝到SDRAM中,这样就可以实现全局变量的可读可写了。现在想在nor flash启动的时候将其中的代码段拷贝至SDRAM中0地址起始的空间,将全局变量g_char拷贝至0x30000000起始的空间。编译之后发现.bin文件变成了800M,805306369-->0x30000001,符合程序中的g_char所占1字节的设置。但是nor flash一共才2M,不可实现。解决方法有两种:第1种: 只是重定位了全局变
发表于 2020-04-19
嵌入式Linux学习笔记之——代码重定位002_链接脚本的引入
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved