CAN总线技术在智能汽车系统中的应用

发布者:数据梦想最新更新时间:2012-02-18 来源: 微计算机信息 关键字:CAN总线  智能汽车系统  上位机 手机看文章 扫描二维码
随时随地手机看文章

1 引言

CAN总线是控制局域网络(Control Area Network)的简称,它最早由德国BOSCH公司提出。由于它具有传输速率高,抗干扰能力强,硬件连接方便等突出特点,非常适合用于汽车系统中,解决众多测试与控制仪器之间的数据交换问题。

2  智能汽车系统简介

智能汽车主要被用于野外环境中,它可以按照人预先设定的指令,根据地图信息做出全局路径规划,并在行进过程中不断感知周围的环境信息,自主地制定出各种决策,引导自身安全地行使并完成相应的规划和操作任务。

它除具备普通汽车的各类功能外,还增加了测算车身位置,测算车头方向,控制汽车自带有向天线的方向使其与基地之间进行无线通信等功能。如此众多的信息,如果完全采用RS-232总线进行内部数据交换显然有些力不从心。因而采用CAN总线作为其内部数据传输的通道,是理所当然的。

3  系统设计

3.1  概述

智能汽车的控制系统由担负着检测计算功能的下位机系统和担负着控制显示功能的上位机系统组成。图1为该系统的功能框图。

下位机系统各模块及其功能:

〇 GPS数据采集模块,用来测量汽车当前位置。
〇 磁罗盘数据采集模块,用来测量车头的方向。
〇 步进电机控制模块,用来驱动有向天线的旋转。
〇 步进电机转动角度限制模块,用来测量有向天线相对于车头的角度,并防止由于步进电机单方向转动角度过大而造成的线路缠绕。
〇 CAN模块。

注:图1中的电位器用来测量步进电机转过的角度,将它的输出电平转换成频率信号再发往下位机。CAN总线使用共地的双绞线作为其传输介质。

上位机系统各模块及其功能:

〇 LCD模块,用来显示下位机传送来的各种数据。
〇 简易键盘输入模块,通过8键键盘完成对下位机的一些简单控制。
〇 CAN模块。

上位机和下位机通信由CAN模块和CAN总线来完成。其中,下位机要传送给上位机的数据有,汽车当前的GPS坐标,车头当前的方向,有向天线相对于车头的角度;上位机要传送给下位机的数据有,基地的GPS坐标,手动模式下电机旋转的方向和角度。

3.2  硬件实现

系统上下位机均采用PIC18F258单片机,该单片机自带CAN收发接口,它的引脚见图2。CAN模块相对独立,其的主要特征如下:

    〇 通过ISO CAN标准测试。
    〇 执行CAN协议:CAN1.2 CAN2.0A CAN2.0B。
    〇 标准和扩展数据模式。
    〇 0-8位数据长度。
    〇 可编程速率高达1M bps。
    〇 2个数据接收缓冲器
    〇 6个完全接收滤波器,2个对应高优先权缓冲器,4个对应低优先权缓冲器。
    〇 2 个完全接收掩码器。
    〇 3个具有优先权的发送缓冲器

该系统中,上位机与其外围设备键盘和LCD显示器通过标准并行I/O总线相连,下位机与其外围设备GPS接收器、磁罗盘以及电机驱动器通过RS-232串行总线相连,在
此不做详细介绍。图3是CAN通信模块硬件简图。[page]

由于单片机的输出电流比较弱,难以驱动光电隔离器,为保险起见,信号输入光偶前要经过74HC573锁存;同样为了增加信号驱动能力,经过隔离的信号要再次经过74HC573锁存。使用该单片机,无须扩展CAN总线模块,简化了硬件设计,提高了运行效率。

3.3  软件实现

PIC18F258的CAN模块带有众多控制和数据寄存器,为方便起见,可以将它们做以下分类:

    〇控制和状态寄存器
    〇发送缓冲寄存器
    〇接收缓冲寄存器
    〇波特率控制寄存器
    〇I/O控制寄存器
    〇中断标志和控制寄存器

CAN模块可工作于6种模式下,配置模式,禁止模式,正常工作模式,监听模式,自循环模式,错误识别模式。本系统涉及到了2种模式,配置模式和正常工作模式。

首先在配置模式下将控制和状态寄存器,波特率控制寄存器,I/O控制寄存器,中断标志和控制寄存器,接收掩码器和接受滤波器按照系统要求设定好,以保证CAN总线畅通。这些寄存器只能在配置模式下进行设定。设定完毕后,进入正常工作模式。上位机和下位机都将各自的CAN接收中断打开,等待CAN总线传送来的数据。所不同的是,上位机只在需要进行人工干预的情况下,向总线发送控制信号;而下位机是循环向总线发送采集到的信息的。

图4是CAN模块发送数据的程序流程图:

CAN模块数据接收是通过中断方式实现的,即每传来一个报文,就发生一个中断,然后将收到的数据从接收寄存器中转移到指定的存储区域内并保存起来 ,最后中断返回。

[page]

图5是下位机CAN模块接收数据的中断服务程序流程图:

4   关于设计中的几个问题

(1)下位机是循环发送数据的,在每一个报文发送出去后,要等待充足的时间再发送下一个报文。否则,可能出现上次报文未发送完毕,就装载下一个报文的情况。从而,造成报文丢失,甚至每次报文都不能成功发送。等待的时间与微处理器的时钟频率和报文发送的波特率有关。

(2)报文发送过程中可能会产生种种错误,CAN协议提供了成熟的错误检验机制。这些错误可能包括:CRC错误、应答错误、形式错误、位错误、填充位错误,引起这些错误的原因各不相同。对PIC18F258而言,每发生一次错误,CAN模块内部的错误计数器就会加1,一旦错误计数器的值大于255,就会进入总线关断状态,这时CAN总线将不能用来收发数据。它会等待128组连续的11位隐性位后,再恢复到正常状态。系统运行过程中不允许有间断,所以应当在进入总线关闭状态前,将错误计数器清零或恢复到允许总线正常工作的范围内。

(3)本系统中需要传输的数据,相对于CAN总线强大的功能而言是有限的。但是,考虑到今后系统的改进和扩充,必然需要更多的网络节点,也必然会传输更多的数据,所以,系统在设计时预留了很多软硬件资源,以备日后使用。

5  结束语

本文中的智能汽车系统,在普通汽车系统的基础上,进行了功能扩展,涉及到了人工智能领域的一些技术。上位机与下位机之间由CAN总线来传输数据,RS-232接口只与外围检测和控制设备相连,分工明确,不会造成串行总线过于繁忙,从而引起数据传输错误。

用CAN总线组建的通信网络,扩展性强、可靠性高、而且具有自诊断和监控能力,既提高了通信质量,又方便了软硬件设计。本例中所使用的PIC18F258单片机自带CAN总线接口,性能优越、价格低廉,必然会受到设计师的青睐。

关键字:CAN总线  智能汽车系统  上位机 引用地址:CAN总线技术在智能汽车系统中的应用

上一篇:基于激光测距技术的车辆宽高检测系统的设计
下一篇:自动检测技术在汽车安全系统中的应用

推荐阅读最新更新时间:2024-05-02 21:54

基于CAN总线的车灯控制系统设计方案
摘要: 给出了一种基于CAN 总线的车灯控制系统设计方案, 介绍了车灯控制系统的硬件设计和软件设计, 对系统的整体结构、硬件配置、软件功能分别作了详细说明。试验表明, 该系统结构简单、性能可靠, 具有广阔的应用前景。 0 引言   CAN( Contr oller Area Netw or k) 是德国博世公司在20 世纪80 年代初为汽车业开发的一种车载专用串行数据通信总线, 满足SAE ( Society o f Automo bileEng ineer) 对C 类高速车载网络( ≤1Mb/ s) 的要求, 适合动力传动和底盘电子系统的信息传输与控制, 因此也适合一般车载电子系统的信息传输与控制。   与传统技术相
[汽车电子]
基于<font color='red'>CAN总线</font>的车灯控制<font color='red'>系统</font>设计方案
C#实现上位机与PLC通信技术
1、三菱 MX COMPONENT下载及安装测试 2、通讯测试及数据监控 打开PLC监控程序: 可以看到之前设置的通讯配置,也可以重新设置: 点击OK 在右侧可以输入地址可以对PLC数据进行监控 PS:1:plc地址,2:开始结束监控,3:更改监控方式 buffer memory监控 也可以根据输入地址进行自定义监控 往PLC写入数据及设置PLC时间 可以按位写,也可以一次写入多位 3、好多人一开始就在找通讯的源码,我一开始也找了好久,可恶的是有些人知道源码不仅不提供还收金币下载,这里先画个圈圈;一般这种软件都带源码的啊,我就不信MX COMPONENT没有,终于让我在某个角落里找到了,感慨一番
[嵌入式]
C#实现<font color='red'>上位机</font>与PLC通信技术
多路UART总线与CAN总线通讯系统设计
    由于在消费类电子产品、计算机外设、汽车和工业应用中增加了嵌入式功能,对低成本、高速和高可靠通信介质的要求也不断增长,以满足这些应用,其结果是越来越多的处理器和控制器用不同类型的总线集成在一起,实现与PC软件、开发系统或网络中其他设备的通信。微处理器中常用的集成串行总线是通用异步接收器传输总线、串行通信接口以及车用串行总线,包括控制器局域网(CAN)。这些总线在速度、物理接口要求和通信方法学上都有所不同。本文主要利用TI公司的多路异步收发器TL16C554和PHILIPS公司的SJA1000实现一个4路UART总线与CAN总线之间的相互通讯过程。 1 UART与CAN介绍     UART模块采用TI公司的TL16C554,它
[嵌入式]
CAN总线与MSP430红外检测系统电路
  本文介绍的是一种新的检测系统,选用红外CO 传感器 和MSP430单片机作为核心信号处理电路,结合数字滤波、温度补偿运算。具有检测浓度范围宽、使用寿命长等优点。   系统组成及硬件设计   该系统由红外CO气体传感器、MSP430单片机、CAN总线接口及远程监控系统组成。该系统在检测现场通过单片机处理检测的数据、控制 LCD显示、声光报警,同时还配备CAN总线控制器,可以轻松获取浓度、温度以及报警记录等相关信息,实现了智能化的工业现场、远程同时监控功能。系统的组成框图如图1所示。   CAN总线接口设计   该系统CAN接口由独立的CAN总线控制器SJA1000、CAN数据收发器TJA1050组成。SJA1000是独立
[单片机]
<font color='red'>CAN总线</font>与MSP430红外检测<font color='red'>系统</font>电路
基于S3C44B0和μCOS-II的CAN节点的设计
引言 在系统越来越复杂,功能越来越强大的今天,嵌入式系统的设计中采用实时多任务操作系统已经成为嵌入式应用设计的主流。μCOS-II是一个开源嵌入式实时操作系统(Real Time Operating System, RTOS),它已经被成功移植到各种CPU上。但是基于μCOS-II的应用软件需要在移植操作系统后自行完成。模块化的应用程序设计可以使得嵌入式设计变得更加方便,产品的开发更加迅速。S3C44B0是三星公司生产的一种ARM7芯片,性能强大,在通用嵌入式设计中运用广泛。CAN总线(Control Area Network)是一种有效支持分布式控制和实时控制的现场总线,由于其高性能和高可靠性,CAN总线的应用范围广布过程工业
[单片机]
基于S3C44B0和μCOS-II的CAN节点的设计
CAN总线—PROFIBUS-DP总线网关的实现方法
1 引言 在80年代中期,为了满足不同自动化领域的应用需求,出现了拥有不同技术特点的现场总线。每一种现场总线都有自己的应用领域,并且都力图拓展其应用领域,以扩张其技术垄断范围。但每种现场总线都以一个或几个大型跨国公司为背景,公司的利益与总线的发展息息相关。这些公司竞争的结果是多种总线协调共存。据不完全统计,目前国际上有200多种现场总线,而其中占据市场主流的现场总线有十几种 。现场总线的多样性,为总线设备用户提供了更多产品选择的同时,也为总线用户带了总线设备间兼容性问题。工厂在扩建,改建等过程中很可能会选用与原先现场设备总线标准不同的产品,这些设备由于使用不同的现场总线,彼此间不能实现数据共享,于是就降低了设备间功能互补的
[网络通信]
探讨CAN总线的抗干扰能力
  CAN总线经近20年的发展已步入壮年期,它不仅在汽车领域的应用占据一定优势,在其他工业应用上也生机勃勃、枝繁叶茂。究竟是什么原因使它这么成功?当人们发现它的局限性,又面临新的总线(例如FlexRay)的挑战时,它的地位还能维持多久?这些问题都离不开对通信技术本质和CAN总线特性的分析与理解。通信技术的不断进步离不开应用对带宽与抗干扰的追求,又要快又要正确,当然关键点是适合当前需求的性价比最佳的技术。没有这些追求,可能我们会一直停留在RS232的标准上。当今CAN总线的竞争对手包括以RS485为物理层的总线和FlexRay总线,这种形势下CAN总线的生命力在于其优越的抗干扰能力和性价比,这些都来源于它独特的物理层与数据链路层的设计
[嵌入式]
基于ARM的CAN总线智能节点的设计
摘要:CAN总线是一种应用广泛的实时性现场总线,提出了基于具有ARM7TDMI内核的32位微控制器的CAN总线智能节点设计方案。详细介绍了ARM控制(LPC2294)的特点、智能节点的结构以及系统软件设计,同时结合现场实际使用给出了硬件抗干扰措施。 关键词:CAN总线 ARM 嵌入式控制器 CAN(Controller Area Network)即控制器局域网,CAN总线是国际上应用最广泛的现场总线之一。它最早是由德国Bosch公司推出的,CAN通信协议是一种用于汽车内部测量与执行部件之间的数据通信协议。 作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,CAN总线已被广泛应用于各个自动化控制系统中。例如
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved