汽车电子报告.docx
- 文档编号:29890395
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:27
- 大小:1.36MB
汽车电子报告.docx
《汽车电子报告.docx》由会员分享,可在线阅读,更多相关《汽车电子报告.docx(27页珍藏版)》请在冰豆网上搜索。
汽车电子报告
3目录
摘要-1-
1绪论-2-
2总体设计-3-
3硬件设计-4-
3.1发动机温度信号采集-4-
3.2发动机转速信号采集-6-
3.3CAN接收模块-8-
3.4CAN发送模块-13-
4软件设计-15-
4.1CAN控制器SJA1000程序设计-15-
4.2单片机控制程序设计-15-
5调试结果-15-
6结论-16-
参考文献-17-
致谢与心得体会-18-
附录1-19-
附录2-19-
附录3-23-
附录4-25-
基于CAN总线技术的车载发动机信号监控系统
摘要
摘要:
设计一种基于CAN总线技术的车载发动机信号监控系统.该系统采集了汽车发电机的冷却液温度,转速两个参量.并把采集到的数据存储起来以供显示和作为电子控制器(ECU)作出控制的依据.该系统由三大模块构成:
数据存储显示模块,发动机冷却液温度模块,发动机转速采集模块.各个模块中,用AT89C51单片机作为控制单元,用SJA1000CAN控制器和82C250收发器构成CAN收发模块.各模块之间用双绞线连接起来.实现数据和命令的的交互.使驾驶员更直接方便的的了解汽车行驶工况,及时了解到异常状况.
关键词:
CAN总线,单片机,数据采集,SJA1000.
Abstract:
TodesignavehicleenginedataacquisitionsystembasedonCANbus.Thesystemcollectedthecargenerator'scoolanttemperatureandspeed.Andthesystemstorethecollecteddatafordisplaying,oruseittobethebasisforanelectroniccontroller(ECU)tocontrolthecar.Thesystemconsistsofthreemodules:
datastorageanddisplaymodules,enginecoolanttemperaturemoduleandenginespeedacquisitionmodule.Foreachmodule,usingAT89C51microcontrollerascontrolunit,withSJA1000CANcontrollerand82C250transceivertomakeupaCANtransceivermodule.Amongthemodules,theyareconnectedwithtwistedpairtoachievetheinteractionofdataandcommands.Sothedrivercanknowthecar'sdrivingsituationmoredirectlyandconveniently.
Keywords:
CANbus,microcontrollerunit,dataacquisition,SJA1000.
绪论
CAN是控制器局域网络(ControllerAreaNetwork,CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO11898)。
是国际上应用最广泛的现场总线之一。
到目前为止,世界上已经拥有20多家CAN总线控制器芯片生产商,110多种CAN总线协议控制器芯片和集成CAN总线协议控制器的微处理器芯片。
在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。
近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。
发动机作为汽车的核心部件,而若发动机的工况出现异常,直接影响汽车的行车性能,更有甚者若没有及时处理,可能会对发动机带来永久性伤害,或者会影响驾驶者的行驶安全。
通过对相关资料的学习和参考,设计一个基于CAN简单的发动机信号监控系统,希望通过本系统可以在CAN总线的基础上实时监控发动机的基本参数,方便驾驶者对发动机的参数的及时了解,及时做出相应的处理措施。
2总体设计
Can-Bus总线技术是“控制器局域网总线技术(ControllerAreaNetwork-BUS)”的简称,它具有极强的抗干扰和纠错能力,最早被用于飞机、坦克等武器电子系统的通讯联络上。
通过遍布车身的传感器,汽车的各种行驶数据会被发送到“总线”上,这些数据不会指定唯一的接收者,凡是需要这些数据的接收端都可以从“总线”上读取需要的信息。
Can总线的传输数据非常快,可以达到每秒传输32bytes有效数据,这样可以有效保证数据的实效性和准确性。
传统的轿车在机舱和车身内需要埋设大量线束以传递传感器采集的信号,而Can-Bus总线技术的应用可以大量减少车体内线束的数量,线束的减少则降低了故障发生的可能性。
发动机是汽车的最重要部分,及时监控发动机的工况是必要的,保证率驾驶者的行车安全。
本系统正是基于CAN总线开发的发动机信号监控系统.系统中由三个模块构成,分别是:
数据存储显示模块,发动机冷却液温度模块,发动机转速采集模块。
各个模块都是采用89C51单片机作为控制单元,采用SJA1000CAN控制器和82C250CAN收发器实现数据的串行传输.而且本系统充分的考虑到抗干扰能力以及低功耗等问题,使系统具有很强的实用性.系统总体设计框图如图1-1所示
大众汽车公司是世界十大汽车公司之一,1937年5月28日,创始人世界著名的汽车设计大师费尔迪南特•波尔舍在奔驰公司的支持下创建了大众开发公司,同年9月改为大众汽车股份有限公司。
一汽-大众汽车有限公司(简称一汽大众)是大众汽车公司与中国第一汽车集团公司的合资公司,也是大众集团在中国的第二家合资企业。
2006年和2007年,随着中国市场的不断成熟,一汽大众投产了迈腾和速腾。
他们采用了PQ35和PQ46平台(世界领先),全系标配ESP,这是同级车绝无仅有的。
现在选定大众迈腾车型作为本次设计的原型车型,并确定监控发动机的温度和转速信号。
3硬件设计
3.1发动机温度信号采集
迈腾冷却液温度传感器-G62-和-G83-
冷却液温度的特征值存储于发动机控制单元中。
实际的冷却液温度值通过循环系统中两个不同的点识别,并且传输给发动机控制单元一个电压信号。
-冷却液温度实际值1:
安装于冷却液法兰的冷却液出口处。
-冷却液温度实际值2:
安装于散热器前出水口处。
发动机控制单元通过比较温度值1和2,调节散热器电子扇。
冷却液温度传感器G62
冷却液温度传感器是负温度系数热敏电阻(NTC)。
安装在缸盖的冷却液的接头上,将冷却液温度传送给发动机控制单元。
其具体作用如下:
信号作用:
发动机控制单元利用冷却液温度传感器信号,修正喷油量。
同时与散热器出水口温度传感器G83进行比较,控制冷却风扇的转速。
图3-1-1G62图3-1-2负温度系数电阻的电阻特性
电阻特性-负温度系数:
30℃-1500~2000Ω,80℃-275~375Ω。
信号采集电路设计:
NTC的电阻值可以随温度的上升而下降,由于其温度系数非常大,所以可以检知微小的温度变化,因此被广泛应用在温度的测量、电路软启动,控制与补偿。
电阻值和温度变化的关系式为:
其中,RT为在温度T(K)时的NTC热敏电阻阻值,RN为在额定温度TN(K)时的NTC热敏电阻阻值。
(TN取25℃,RN=1.20kΩ),T为规定温度(K),B为NTC热敏电阻的材料常数,又叫热敏指数。
而且,
通过公式
(1)、
(2)以及表1,可求得B=3900K,从而可以得出电阻值和温度变化的关系式为:
由于传感器直接输出的模拟量幅度一般较低,同时为了更好地提高系统的抗干扰能力,在传感器的后端一般要进行调理,调理电路通常选用运算放大器完成。
这里,采用OP07组成一个差分放大器完成后续幅度放大和隔离。
OP07具有极低的输入失调电压、失调电压零漂、噪声电压等特点。
调理电路的原理图如图2-1-3所示,其中RT1为热敏电阻。
传感器输出电压经过放大后,输出给AD转换器。
图3-1-3温度信号采集电路
3.2发动机转速信号采集
迈腾冷却液温度传感器-G28-和-G40-
G28
发动机转速传感器,这是一只电磁感应式的传感器(G28,如图2-2-1)。
这个传感器由一个磁铁芯和绕在磁铁上的线圈组成,并且又要与一个脉冲轮组合在一起作为传感器,当脉冲轮转动时,将输出感应电压。
而这个感应电压就是该传感器输出的感应信号。
工作原理(如图2-2-2)脉冲轮由大窗口、铁片和小窗口组成。
磁场在转动的脉冲轮的作用下,这时脉冲轮的小窗口、铁片、大窗口将会对磁铁的磁场做切割磁力线的作用。
于是小窗口、铁片、大窗口将会使磁力线发生变化,而这变化的磁力线将会使线圈产生出感应电压。
当小窗口在转动中正对磁铁时,这时的磁力线变化最低。
而铁片在正对磁铁时,这时磁力线变化最高。
由脉冲轮的结构看,小窗口的宽度要比铁片的宽度大一些。
一个大窗口相当于三个小窗口。
这个脉冲轮一共有57个小窗口和一个大窗口。
所以当脉冲轮在磁场中转动时,产生了磁力线变化而引起的线圈的交变电压变化信号。
发动机转速传感器G28在脉冲轮转动切割磁力线时将会产生交变的磁场,而这个磁场变化将会在传感器两端产生交变的信号。
这个交变的信号是交变电压信号。
对G28这个传感器它的电阻在1k左右。
当车辆发动时,这时G28传感器向电脑输出交变的脉冲信号电压。
这个交变的电压信号可以通过脉冲轮的大窗口的数量反应转速。
如一个大窗口的脉冲反映了曲轴转动一圈,而小窗口和铁片反应了转角。
图3-2-1G28传感器
图3-2-2传感器G28工作原理
G40
凸轮轴位置传感器(霍尔传感器)安装在发动机排气端侧壁上,监测安装在凸轮轴齿轮上的靶轮上的位置。
霍尔式曲轴位置传感器是利用霍尔效应的原理,产生与曲轴转角相对应的电压脉冲信号的。
它是利用触发叶片或轮齿改变通过霍尔元件的磁场强度,从而使霍尔元件产生脉冲的霍尔电压信号,经放大整形后即为曲轴位置传感器的输出信号。
(如图2-2-3)
图2-2-3霍尔传感器原理图
信号采集电路设计:
发动机转速信号,是由传感器G28和G40信号共同确定的,两个传感器的输出信号均为脉冲电压信号,因此在采集处理后不需要经过A\D转换。
电路如图2-2-4
图2-2-4转速信号采集电路
3.3CAN接收模块
硬件介绍:
AT89C51
AT89C51(图2-3-1)是美国ATMEL公司生产的低电压,高性能COMS8位单片机,片内含4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
图3-3-1AT89C51
SJA1000
CAN的通信协议主要由CAN控制器完成。
CAN控制器主要由实现CAN总线协议的部分和实现与微处理器接口部分的电路组成。
对于不同型号的CAN总线通信控制器,实现CAN协议部分电路的结构和功能大多相同,而与微处理器接口部分的结构和方式存在一些差异。
SJA1000是一种独立CAN控制器。
它是PHILIPS公司的PCA82C200CAN控制器的替代产品。
SJA1000具有BasicCAN和PeliCAN两种工作方式。
PeliCAN工作方式支持具有很多新特性的CAN2.0B协议。
SJA1000(在软件和引脚上都是与它的前一款PAC82C200独立CAN控制器兼容的,在此基础上增加了很多新的功能。
为了实现软件兼容,SJA1000采用了两种工作方式:
BasicCAN方式(PCA82C200兼容方式)和PeliCAN方式(扩展特性方式)。
工作方式通过时钟分频寄存器中的CAN方式位来选择。
上电复位默认工作方式是BasicCAN方式。
BasicCAN和PeliCAN方式的区别如下:
在PeliCAN方式下,SJA1000有一个重新设计的含很多新功能的寄存器组。
SJA1000包含PCA82C200中的所有位,同时增加了一些新的功能位。
PeliCAN方式支持CAN2.0B协议规定的所有功能(29位的标识符)。
图3-3-2SJA1000
6N137
6N137光耦合器是一款用于单通道的高速光耦合器,其内部有一个850nm波长AlGaAsLED和一个集成检测器组成,其检测器由一个光敏二极管、高增益线性运放及一个肖特基钳位的集电极开路的三极管组成。
具有温度、电流和电压补偿功能,高的输入输出隔离,LSTTL/TTL兼容,高速(典型为10MBd),5mA的极小输入电流。
特性:
①转换速率高达10MBit/s;②摆率高达10kV/us;③扇出系数为8;④逻辑电平输出;⑤集电极开路输出;工作参数:
最大输入电流,低电平:
250uA最大输入电流,高电平:
15mA最大允许低电平电压(输出高):
0.8v最大允许高电平电压:
Vcc最大电源电压、输出:
5.5V扇出(TTL负载):
8个(最多) 工作温度范围:
-40°Cto+85°C典型应用:
高速数字开关,马达控制系统和A/D转换等。
图3-3-36N137
82C250
82C250是CAN控制器与物理总线之间的接口,它最初是为汽车中的高速应用(达1Mbps)而设计的。
器件可以提供对总线的差动发送和接收功能。
82C250的主要特性如下:
•与ISO11898标准完全兼容;
•高速率(最高可达1Mbps);
•具有抗汽车环境下的瞬间干扰,保护总线能力;
•采用斜率控制(SlopeControl),降低射频干扰(RFI);
•过热保护;
•总线与电源及地之间的短路保护;
•低电流待机模式;
•总线至少可连接110个节点;
•未上电节点不会干扰总线;
图3-3-482C250
接收模块硬件设计
本设计的CAN总线系统智能节点,采用89C51作为节点的微处理器。
在CAN总线通信接口中,采用PHILIPS公司的SJA1000和82C250芯片。
SJA1000是独立CAN通信控制器,82C250为高性能CAN总线收发器。
图2-3-5所示为CAN总线系统智能节点硬件电路原理图。
从图1中可以看出,电路主要由五部分构成:
微控制器89C51、独立CAN通信控制器SJA1000、CAN总线收发器82C250和高速光电耦合器6N137、液晶显示和LED警报。
微处理器89C51负责SJA1000的初始化,通过控制SJA1000实现数据的接收和发送等通信任务。
SJA1000的AD0~AD7连接到89C51的P0口。
CS连接到89C51的P2.0,P2.0为0的CPU片外存储器地址可选中SJA1000,CPU通过这些地址可对SJA1000执行相应的读写操作。
SJA1000的RD、WR、ALE分别与89C51的对应引脚相连,INT接89C51的INT0。
89C51也可通过中断方式访问SJA1000。
为了增强CAN总线节点的抗干扰能力,SJA1000的TX0和RX0并不是直接与82C250的TXD和RXD相连,而是通过高速光耦6N137后与82C250相连,这样就很好地实现了总线上各CAN节点间的电气隔离。
不过,应该特别说明的一点是光耦部分电路所采用的两个电源VCC和VDD必须完全隔离,否则采用光耦也就失去了意义。
电源的完全隔离可采用小功率电源隔离模块或带多5V隔离输出的开关电源模块实现。
这些部分虽然增益了节点的复杂程序,但是却提高了节点的稳定性和安全性。
发动机转速或者温度通过液晶显示其实时数据,当超过最高额定值的时候,相应的LED灯会亮,喇叭发出警报。
图3-3-5接收模块
3.4CAN发送模块
硬件介绍
AD0809
AD0809是8路8位逐次比较逼近式的A/D转换器。
采用单一的+5V电压供电。
工作时钟典型值位640kHz,转换时间约为100uS.输出电压符合TTL电平。
可直接接到单片机的数据总线端口。
如图,/RD和/WR通过一个反相器后分别接到START和OE。
AD0809转换接上标准信号EOC触发单片机的外部中断1。
在外部中断1服务子程序中可以进行数据的采集。
1.主要特性
1)8路输入通道,8位A/D转换器,即分辨率为8位。
2)具有转换起停控制端。
3)转换时间为100μs(时钟为640kHz时),130μs(时钟为500kHz时)
4)单个+5V电源供电
5)模拟输入电压范围0~+5V,不需零点和满刻度校准。
6)工作温度范围为-40~+85摄氏度
7)低功耗,约15mW。
ADC0809工作过程
首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。
此地址经译码选通8路模拟输入之一到比较器。
START上升沿将逐次逼近寄存器复位。
下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。
直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。
当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。
转换数据的传送A/D转换后得到的数据应及时传送给单片机进行处理。
数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。
可才用三种方式:
定时传送方式、查询方式、中断方式。
不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。
首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。
图3-4-1ADC0809
本模块用到的其余芯片在接收模块中有介绍。
发送模块电路设计如图2-4-2.
图3-4-2发送模块
4软件设计
4.1CAN控制器SJA1000程序设计
CAN总线节点的软件设计主要包括三大部分;CAN节点初始化、报文发送和报文接收。
熟悉这三部分程序的设计,就能编写出利用CAN总线进行通信的一般应用程序。
当然要将CAN总线应用于通信任务比较复杂的系统中,还需详细了解有关CAN总线错误处理、总线脱离处理、接收滤波处理、波特率参数设置和自动检测以及CAN总线通信距离和节点数的计算等方面的内容。
下面仅就前面提出的三部分程序的设计作一个描述,以供大家在实际应用中参考。
1.SJA1000的初始化
通过向CAN控制器SJA1000模式寄存器写0x01,让其进入复位模式,然后分别对SJA1000的时钟分频寄存器、错误报警限额寄存器、中断使能寄存器、接收代码和接受屏蔽寄存器、总线时序寄存器和输出控制寄存器设置,最后向模式寄存器写0x08,进入正常工作模式。
初始化程序请翻至附录1。
2.发送CAN报文
CAN报文发送函数负责电池管理系统向整车控制器发送报文,发送时需将待发送的数据按CAN协议格式组合成一帧报文,送入SJA1000发送缓冲区中,然后启动发送命令。
CAN发送程序请翻至附录2。
3.接收CAN报文
CAN报文接收函数主要负责接受整车控制器发送的控制指令,来完成对充放电继电器、风扇以及电池等器件的控制。
CAN接受程序请翻至附录3。
4.2单片机控制程序设计
利用89c51单片机对转速或温度传感器经过A\D转换的信号进行判断处理,程序请详见附录。
5调试结果
用proteus仿真,运行程序得到如下结果
图5-1
6结论
该系统的设计是对发动机参数监控的系统。
而本系统以大众的迈腾车型为原型只是通过发动机最基本的转速与温度的探测作为实例,着重简述CAN总线技术在汽车电子系统中的应用。
对于传感器的信号采集模块的设计采用典型的电路设计方法和数据处理算法。
考虑到汽车的运行环境的复杂性。
每个模块的设计都使用了不同软硬件抗干扰技术,提高系统的稳定性,理想提高行车的安全性。
参考文献
[1]麻友良,汽车电器与电子控制系统[M],北京:
机械工业出版社,2006:
497-504
[2]肖金球,单片机原理与接口技术[M],北京:
清华大学出版社,2004:
78-104
[3]鲁植雄、黄学勤,基于CAN总线的车灯控制网络系统的设计[J],轻型汽车技术,2007,212(4):
10-13
[4]DanielROUCHE.汽车车载网络(VAN/CAN/LIN)技术详解[D].北京:
机械工业出版社,2006:
1–7.
致谢与心得体会
本次课程设计在晋京老师的悉心指导下,在我们队长蔡长水同学的组织安排下,经过我们组员分工协作顺利完成。
通过这次课程设计,深刻的感受到理论实践跟理论的不同,认识到实践的重要性,了解了课程设计的重要之处。
理论学习只能给我们对于汽车电子有一个粗略的认识,因为没有亲身的感受,而在本课程设计中,我们遇到了很多意想不到的问题,原因也是因为这个,而通过实践并解决问题,我们对于汽车电子的理解进入到另一个层次。
对于课程讲授的知识有了更深刻的理解。
在课程设计过程中,由于有些模块的设计没有硬件平台。
比如设计说转速的采集时,我们把设计好了原理图和程序,但是没有硬件我们不能知道是否会有bug,我们只能用另种等效的方式做软件仿真。
我们使用Proteus进行仿真。
用脉冲发生器代替脉冲的产生。
通过调整脉冲发生器的频率来测试我们的设计的正确性。
在课程设计过程中,收获了知识,提高了能力。
但是仅仅一次课程设计以及课堂讲授的知识是远远不足以应付现在市场以及社会激烈的竞争的。
要将本次课程设计中总结出来的学习方法,应用到日后的学习中,不断进步,方能应付即将到来的职场挑战。
附录1:
SJA1000初始化程序:
#defineSJA1000_Data_portA000
ioportunsignedintportA000;//定义数据输入/输出端口
#defineSJA1000_Address_Portport8000
ioportunsignedintport8000;//定义地址输入端口
SJA1000_WRITE(REG_MODE,0x01);
TempDataSJA1000_READ(REG_MODE);//向模式寄存器写0x01,进入复位模式
while((TempData&0x01)!
=0x01);//等待SJA1000复位
do
{
SJA1000_WRITE(REG_MODE,0x08);
TempDataSJA1000_READ(REG_MODE);
}
while((TemData&0x01)!
=0x00);//等待SJA1000进入正常工作模式
附录2:
CAN发送报文程序:
if((TempData&0x10!
=0x10);//CAN控制器空闲
{
#include
#include"lcd1602_8.h"
#include"Mcp2515.h"
#defin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汽车 电子 报告