http://blog.sina.com.cn/u/1081021605[订阅]
个人资料
分类
    内容读取中…
评论
读取中...
友情链接
访客
读取中...
好友
读取中...
博文

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

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

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

由于在消费类电子产品、计算机外设、汽车和工业应用中增加了嵌入式功能,对低成本、高速和高可靠通信介质的要求也不断增长以满足这些应用,其结果是越来越多的处理器和控制器用不同类型的总线集成在一起,实现与PC软件、开发系统(如仿真器)或网络中的其它设备进行通信。目前流行的通信一般采用串行或并行模式,而串行模式应用更广泛。

微处理器中常用的集成串行总线是通用异步接收器传输总线、串行通信接口、同步外设接口(SPI)、内部集成电路(I2C)和通用串行总线,以及车用串行总线,包括控制器区域网(CAN)和本地互连网(LIN)。这些总线在速度、物理接口要求和通信方法学上都有所不同。本文将对嵌入式系统设计的串行总线、驱动器和物理接口这些要求提供一个总体介绍,为选择最优总线提供指导并给出一个比较图表(表1)。为了说明方

 

    随着当前电子技术及发动机电控技术的发展,以32位嵌入式微控制器及多任务实时操作系统为基本技术特征的新一代电子控制单元ECU(Electronic Control Unit)。本文在

我先讲讲一点点布线常识(都是我的辛苦积累下来的呀,不是转发的),后面会讲一下实际中遇到的情况,请各位看客耐心看完。

我们在画PCB时一般都有一个常识,即走大电流的地方用粗线(比如50mil,甚至以上),小电流的信号可以用细线(比如10mil)。对于某些机电控制系统来说,有时候走线里流过的瞬间电流能够达到100A以上,这样的话比较细的线就肯定会出问题。一个基本的经验值是:10A/平方mm,即横截面积为1平方毫米的走线能安全通过的电流值为10A。如果线宽太细的话,在大电流通过时走线就会烧毁。当然电流烧毁走线也要遵循能量公式:Q=I*I*t,比如对于一个有10A电流的走线来说,突然出现一个100A的电流毛刺,持续时间为us级,那么30mil的导线是肯定能够承受住的。(这时又会出现另外一个问题??导线的杂散电感,这个毛刺将会在这个电感的作用下产生很强的反向电动势,从而有可能损坏其他器件。越细越长的导线杂散电感越大,所以实际中还要综合导线的长度进行考虑)

一般的PCB绘制软件对器件引脚的过孔焊盘铺铜时往往有几种选项:直角辐条,45度角辐条,直铺。他们有何区别呢?新手往往不太在意,随便选一种,美观就行了。其实不然。主要有两
在研制带处理器的电子产品时,如何提升抗干扰能力和电磁兼容性?

1、 下面的一些系统要特别注意抗电磁干扰?

(1) 微控制单元时钟频率特别高,总线周期特别快的系统。

(2) 系统含有大功率,大电流驱动电路,如产生火花的继电器,大电流开关等。

(3) 含微弱模拟信号电路以及高精度A/D 变换电路的系统。

2、 为增加系统的抗电磁干扰能力采取如下措施?

(1) 选用频率低的微控制单元?

选用外时钟频率低的微控制单元可以有效降低噪声和提升系统的抗干扰能力。同样频率的方波和正弦波,方波中的高频成份比正弦波多得多。虽然方波的高频成份的波的幅度,比基波小,但频率越高越容易发射出成为噪声源,微控制单元产生的最有影响的高频噪声大约是时钟频率的3 倍。

(2) 减小信号传输中的畸变

微控制单元主要采用高速CMOS 技术制造。信号输入端静态输入电流在1mA 左右,输入电容10PF 左右,输入阻抗相当高,高速CMOS 电路的输出端都有相当的带载能力,即相当大的输出值,将一个门的输出端透过一段很长线引到输入阻抗相当高的输入端,反射问题就很严重,它会引起信号畸变,增加
作者:一汽无锡油泵油嘴研究所 杭勇 杨明 陆娟
阅读:467
引用:0
发布时间:2006-12-19 00:45
出处:电子产品世界

挑战
 
发动机电控单元的开发面临着开发效率和开发质量的双重压力,如何在产品开发过程中快速地测试控制系统的功能性、可靠性,在保证开发质量的前提下,提高系统开发效率,是所有开发人员面前的难题。而在实际的发动机台架试验中,人为

1. 电子工程专辑 http://www.eetchina.com
及时提供和分析最新设计资讯和科技趋势
2. 我爱研发 http://www.52rd.com
中国最大的研发人网络,R&D大本营
3. Electronic Engineering Times http://www.eetasia.com
In-depth analysis of industry issues and technology trends
4. EETimes http://www.eetimes.com
5. 电子系统设计 http://www.elecdesign.com
http://china.elecdesign.com
6. EDN电子设计技术

一个好的电子产品,除了产品自身的功能以外,电路设计和电磁兼容性(EMC)设计的技术水平,对产品的质量和技术性能指标起到非常关键的作用。本文通过举例对开关电源电磁兼容设计,介绍了一般电子产品中

解析#pragma指令(2006-12-06 22:55)

在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或

者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与

C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器

或操作系统专有的,且对于每个编译器都是不同的。

其格式一般为: #Pragma Para

其中Para 为参数,下面来看一些常用的参数。

(1)message 参数。 Message 参数是我最喜欢的一个参数,它能够在编译信息输出窗

口中输出相应的信息,这对于源代码信息的控制是非常重要的。其使用方法为:

#Pragma message(“消息文本”)

当编译器遇到这条指令时就在编译输出窗口中将消息文本打印出来。

当我们在程序中定义了许多宏来控制源代码版本的时候,我们自己有可能都会忘记有没有正

确的设置这些宏,此时我们可以用这条指令在编译的时候就进行检查。假设我们希望判断自

己有没有在源代码的什么地方定义了_X86这个宏可以用下面的方法

#ifdef _X86

#Pragma message(“_X86 macro activated!”)

#endif