汽车局域网CAN总线详解_janper佳谱汽车音响_新浪博客

一、 概述
        随着汽车工业以及自动化程度的发展,现代汽车中所使用的电子控制系统和通讯系统越来越多,如发动机电控系统、 自动变速器控制系统、防抱死制动系统(ABS)、自动巡航系统(ACC)和车载多媒体系统等,这些系统之间。系统和汽车的显示仪表之间,系统和汽车故障诊断系统之间均需要进行数据交换,如此巨大的数据交换量,如仍然采用传统数据交换的方法,即用导线进行点对点的连接的传输方式将是难以想象的,因此,用串行数据传输系统取而代之就成为必然的选择。目前汽车上的电子部件越来越多,它们分别担负着不同的作用并挂在不同的总线 - CAN总线上。CAN 是控制局域网络(Control Area Network)的简称[/B],最早由德国BOSCH 公司推出,用于汽车内部测量与执行部件之间的数据通信。其总线规范已被ISO 国际标准组织制订为国际标准。CAN 的信号传输采用短帧结构,每一帧的效字节数为8 个,因而传输时间短,受干扰的概率低。当节点严重错误时,具有自动关闭的功能,以切断该节点与总线的联系,使总线上的其他节点及其通信不受影响,具有较强的抗干扰能力。CAN 总线开始被用于汽车的电子系统通讯上起源于欧洲,它具有极强的抗干扰能力及纠错能力。汽车在运行过程中,所属电子部件之间需要进行通讯以交换实时数据,但是由于这些电子部件可能分别挂在不同的CAN总线上,而不同的CAN总线具有不同的数据传输速率,所以不同的CAN总线之间不能直接进行数据通讯,这就需要一个CAN总线网关控制器来进行协调高速CAN总线和低速CAN总线之间的通信。示意图如下图所示。
 

二、 硬件设计
1、 总体框图
        作为一个工业上应用的可靠CAN节点,看门狗、电源隔离和信号隔离是必要的,总体原理框图如下:
 
2、 硬件原理图
从以上可以看出,该硬件电路主要由三部分组成。
I、 处理器最小系统
   处理器采用带有两路CAN接口的ARM7系列单片机 - LPC2119,该单片机内部有两路CAN接口、32位处理器、内部总线结构为哈佛总线结构。如下图所示:
  
   复位电路主要采用采用专用复位芯片SP706以及数据缓冲芯片74HC125来构成,如下图所示:
   
    该电路具有按键复位、上电复位和低电压复位功能。按键复位主要用于系统调试功能,经74HC125可以输出两路复位信号 - 系统复位信号和JTAG复位信号。
    时钟电路采用常用的无源晶振与微调电容组成。如图所示。
 
程序烧写口采用JTAG方式,比较方便在线调试。如图所示。
 
II、 电源控制部分
    本系统共需要四组电源:5V、3.3V、1.8V,另外还有CAN隔离电源(5V)。电源主芯片采用开关电源AP1509,其中5V电源是主电源,为其他各组电源提供输入电源,由于汽车上只有DC12V电源,所以需要进行DC/DC转换,电路如下:    
 
    AP1509是一款宽输入电压范围的DC/DC转换器,输入电压可高达22V,输出负载电流可高达2A。并且有可控输入信号端SD,可以切断或开启该芯片的正常工作,以达到节电的目的。
    本系统的处理器LPC2119需要两组电源 - 3.3V和1.8V,其中1.8V为处理器的内核电源,3.3V为处理器的I/O电源,电路如下:
 
    由于CAN总线现场的电磁干扰非常强,所以需要对CAN电源进行单独隔离,避免干扰处理器的正常运行。主要就是采用一个隔离芯片,电路如下:
 
III、 CAN收发电路
    该部分是系统的核心部分。共有两路xx相同的电路分别挂在两路CAN总线上。
    电路如下: 
 
    CAN电路部分与处理器部分需要通过光耦进行电气隔离。采用了高速光耦芯片
TLP113。CAN收发器芯片采用TJA1050,该芯片的主要特点有:
● 高速 (高达 1 Mbaud)
● 至少可以连接110个节点
● 总线保护及终端保护功能
● 符合ISO 11898 标准
        从上图可以看出,在结构上,CAN收发器TJA1050左侧连接系统处理器,右侧连接CAN总线。实现了单片机对CAN总线数据的操作。

三、 软件设计
        CAN 是一种实时数据总线,它不需要给出信号接受者的地址,信号发送者将安全编码后的数据发给所有的接受者。高速的CAN 总线每毫秒内可传送32bytes 有效数据。每个信号接受者从总线上读取其所需的数据。CAN总线数据的收发遵循CAN-BUS 2.0协议,运用到汽车上即为J1939协议。CAN-BUS 技术减少了线束的数量和控制器接口的引脚数,与此同时可以更简单、迅速地实现在线编程、诊断,甚至多个控制器共同作用等新功能。 当停车发动机熄火时,CAN-BUS 的舒适型系统将自动处于休眠状态,整个系统处于{zd1}耗电状态,从而节省能源的消耗。一旦接受到车门开启等信号,无需发动机启动,系统立即被唤醒而xx,开始接受各处节点传递的信息。本装置主要负责两条CAN总线上数据的互相转发,并不对数据作任何改动或诊断,即全透明传输.设置高速CAN总线上的数据传送速率为500K,低速CAN总线上的数据传送速率为125K.汽车上的每个电子模块均有CAN接口,以连接到CAN总线上.汽车运行时,所有电子模块均通过各自的CAN接口向CAN总线发送系统实时数据,而需要CAN数据的模块则从CAN总线接收数据,然后再作处理或诊断.软件总体架构采用中断结构,数据帧采用8位标准帧格式.该车载网关控制器的软件流程图如下:
 
主程序流程图
 
中断服务程序流程图

                     目前CAN总线在汽车上已经得到广泛应用,包括雅阁、新天籁、迈腾、领域、奥迪、宝马、奔驰、凌志等!

已投稿到:
郑重声明:资讯 【汽车局域网CAN总线详解_janper佳谱汽车音响_新浪博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——