登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 电子信息类 > 电子科学与技术 > 正文

基于CAN总线车用多功能报警器设计与实现毕业论文

 2021-10-25 09:10  

摘 要

为了减少因行车过程中车身故障或一些不安全行车方式而导致的交通事故,同时为了减少车身系统中复杂的通信线束,本文提出了基于CAN总线的车用多功能报警器设计与实现,并确定了采用STC89C51单片机作为主控芯片的主从ECU节点设计方案。系统所实现功能主要包括发动机水温过高报警功能、安全带未系提示功能、灯丝检测功能及车灯未关提示功能,其中水温检测采用PTC热敏电阻电压和参考电压经LM324电压比较器比较来实现AD转换,同样车灯未关检测则采用光敏电阻电压与参考电压的比较来实现AD采样,安全带状态检测则通过相应的开关电路来实现,灯丝检测也主要是通过对灯丝正常和异常状况下两种不同的灯丝电压分布来判断灯丝是否正常。

最终系统的硬件设计电路原理图通过Altium Designer软件实现,而系统的软件设计则通过采用C语言在Keil软件平台上进行编程设计来实现,系统的硬件实物板则通过将单片机、CAN控制器SJA1000、CAN驱动器TJA1050、AD采样电路等基本电路模块进行整合和搭建来实现。本文设计方案的可行性通过最后的功能测试及参数测试结果得以验证。

关键词:CAN总线;单片机;车用报警器;主从ECU节点

Abstract

In order to reduce traffic accidents caused by vehicle body failures or some unsafe driving methods during driving, At the same time, in order to reduce the complicated communication harness in the vehicle body system, this paper proposes the design and implementation of a multi-function alarm for vehicles based on CAN bus, and determines the master-slave ECU node design plan using STC89C51 microcontroller as the master chip. The functions implemented by the system mainly include the alarm function of high water temperature of the engine, the reminder function of the seat belt not connected, the function of the filament detection and the reminder function of the car lights not turned off. Among them, water temperature detection adopts PTC thermistor voltage and reference voltage to realize AD conversion by comparing with LM324 voltage comparator. Similarly, when the light is not turned off, the comparison of the photoresistor voltage and the reference voltage is used to achieve AD sampling. The seat belt state detection is achieved through the corresponding switch circuit. The filament detection is also mainly through the normal and abnormal conditions of the filament. The following two different filament voltage distributions are used to determine whether the filament is normal.

The hardware design circuit schematic diagram of the final system is realized by Altium Designer software, and the software design of the system is programmed on the Keil software platform by using C language, and the physical board of the system is implemented by the single chip, CAN controller SJA1000, CAN driver TJA1050, The basic circuit modules such as AD sampling circuit are integrated and built to achieve. The feasibility of the design scheme in this paper is verified by the final function test and parameter test results.

Key Words:CAN BUS;ECU;Car Alarm;The master-slave ECU node

目录

摘 要 II

Abstract III

第1章 绪论 1

1.1课题研究背景 1

1.2课题研究目的 1

1.3 CAN总线国内外研究现状 2

1.4 本文的主要研究内容与章节安排 4

1.4.1 本文的主要研究内容 4

1.4.2 本文的章节安排 4

1.5 本章小结 5

第2章 系统方案论证及确定 6

2.1硬件系统设计方案 6

2.1.1 硬件系统设计方案1 6

2.1.2 硬件系统设计方案2 7

2.1.3 硬件系统设计方案的确定 7

2.2 软件系统设计方案 8

2.2.1 CAN通信的软件设计 8

2.2.2 软件系统总体设计 10

2.2.3 软件系统子程序设计 12

2.3 系统的CAN协议设计方案 13

2.4 本章小结 14

第3章 硬件系统设计与研究 15

3.1 硬件需求分析 15

3.2 关键元器件介绍 15

3.2.1 STC89C51单片机介绍 15

3.2.2 CAN控制器SJA1000器件介绍 16

3.2.3 CAN收发器TJA1050器件介绍 18

3.3 硬件系统主节点模块设计 19

3.3.1 主节点模块的CAN通信电路设计 19

3.3.2 主节点模块的水温检测电路设计 20

3.3.3 主节点模块的报警提示电路设计 20

3.3.4 主节点模块整体电路设计 21

3.4 硬件系统从节点模块设计 23

3.4.1 从节点模块的安全带提示电路设计 23

3.4.2 从节点模块的车灯未关提示电路设计 23

3.4.3 从节点模块的灯丝检测电路设计 24

3.4.4 从节点模块整体电路设计 25

3.5 本章小结 26

第4章 软件系统设计与研究 27

4.1软件设计需求分析 27

4.1.1 软件设计的功能分析 27

4.1.2 软件设计结构 28

4.2软件开发平台选择 29

4.3 程序头文件软件模块设计 30

4.3.1 SJA1000内部特殊功能寄存器定义 30

4.3.2 SJA1000初始化程序设计 32

4.3.3 CAN的数据发送及处理程序设计 35

4.3.4 CAN的数据接收及处理程序和延时函数设计 37

4.4 主节点软件模块设计 37

4.4.1 水温报警中断服务函数设计 38

4.4.2 CAN通信的中断接收程序设计 38

4.4.3 报警提示子程序设计 38

4.4.4 主节点软件模块的主程序设计 39

4.5 从节点软件模块设计 39

4.5.1 从节点的头文件设计 39

4.5.2 报警来源程序设计 39

4.5.3 从节点软件模块的主程序设计 40

4.6 本章小结 40

第5章 系统实验平台搭建及系统参数测试 41

5.1 系统软件平台的搭建 41

5.1.1 系统软件平台的程序编译 41

5.1.2 系统软件平台的程序下载 41

5.2 系统硬件平台的搭建 42

5.2.1 系统硬件平台的主从节点模块 42

5.2.2 系统硬件平台的CAN通信模块 43

5.2.3 系统硬件平台的整体搭建 44

5.3 系统实验平台的参数测试 44

5.4 本章小结 46

第6章 总结与展望 47

6.1 全文工作总结 47

6.2 工作展望 48

6.2.1 CAN总线应用展望 48

6.2.2 全文工作展望 48

参考文献 50

致 谢 52

附录A 主节点模块程序代码清单 53

附A1 主节点模块头文件SJA1000.h程序代码清单 53

附A2 主节点模块主程序代码清单 59

附录B 从节点模块程序代码清单 64

附B1 从节点模块头文件SJA1000_Sub.h程序代码清单 64

附B2 从节点模块主程序代码清单 70

第1章 绪论

1.1课题研究背景

时至今日,汽车己逐步从高收入群体进入到中国工薪阶层,成为大多数市民的主要交通工具[1]。为了满足汽车内部电子设备之间彼此通信的需要,德国的博世公司在二十世纪八十年代末引入了CAN总线,所谓CAN即控制器局域网 ( Controller Area Network)的简称,与此同时还开发出与之相对应的CAN总线规范[2]

在汽车整车的系统中,包含有数量巨大的ECU(电子控制单元)模块,各个ECU模块都需要与其他ECU模块以及主ECU进行通信,如何减少汽车内部各电子控制单元之间进行通信所需要的线束数量[3]?这正是德国Bosch公司开发CAN总线技术的最初目的。为了减少汽车内部各种电子设备之间复杂冗余的信号线束,设计了一个分布式网络,使得几乎所有的核心电子器件或设备或功能模块都可以直接挂接在该网络总线上[4]

1.2课题研究目的

通常来说,司机在行车过程中会由于种种的因素而无法更多地了解到当前车身状态或者比较容易疏忽一些细节问题而导致不必要的麻烦。比如一些常见的现象,车辆行驶过程中在白天可视情况良好的状态下忘记关掉车灯,造成电力资源的耗费并增加了油量损耗甚至于加速车内蓄电池电量损耗而造成车辆的无法启动;又或者上车后时常忘了系上安全带造成一定的行车安全隐患。同时,除了以上这些易疏忽的小细节之外,还需要对车辆灯丝进行检测,发动机水温过高等车辆内部信息进行安全提示或报警,但受视野限制,驾驶员常常不能及时发现仪表、报警指示灯的异常指示,使得汽车故障扩大乃至造成交通事故[5]。为此,设计了简单实用的汽车多功能报警器。

对于传统的电子控制系统来讲, 其控制器和执行机构之间一般采用一对一、点对点的连接模式, 系统的可靠性不高、扩展性差并且占用了大量空间,而通过引入更为先进的CAN总线技术,基于汽车车身控制系统研制开发的总线网络电子产品,不光可以提高司乘人员驾驶车辆时的平缓度以及智能性和舒适程度,同时还解决了复杂的线束分布问题,极大简化了汽车线路,做到多主机之间的高速数据传输[6]。此外,总线节点控制器由此也具有很高的可靠性。汽车CAN总线网络系统和传统的一对一线路的电器控制相比较[7],两者的区别如表1.1所示。

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图