您的位置:控制工程论坛网论坛 » 现场总线 » CAN/LIN总线在汽车行业的应用

chenwh78

chenwh78   |   当前状态:在线

总积分:6174  2024年可用积分:0

注册时间: 2008-10-10

最后登录时间: 2019-06-16

空间 发短消息加为好友

CAN/LIN总线在汽车行业的应用

chenwh78  发表于 2009/9/2 14:22:32      2137 查看 5 回复  [上一主题]  [下一主题]

手机阅读

什么是CAN/LIN总线?这项技术应用于汽车的意义何在? 

  随着集成电路和单片机在汽车上的广泛应用,汽车上的电子控制单元越来越多,例如电子燃油喷射装置、防抱死制动装置(ABS)、安全气囊装置、电控门窗装置和主动悬架等。如果仍采用常规布线方式,即电线一端与开关相接,另一端与用电设备相通,将导致车上电线数目的急剧增加,同时复杂电路也降低了汽车可靠性,增加了维修难度。于是,CAN总线应运而生。

  LIN则是CAN在低端应用的延伸,是价格相对便宜且速度较慢的子网。通常状况下,电子控制装置通过CAN总线提供稳定、可靠的低成本网络连接,电机、开关、传感器和车灯等则通过LIN进行网络连接。

  事实上,在现代汽车中,采用总线的意义已远远超出节省电线的范围,它已成为车内各零部件实施信息交互的标准接口。整车的总线网络成为整车的电器平台,也就是说只要有总线存在,就可以在这个总线平台上不断增加汽车的智能化零部件。总线技术促进了汽车智能化的发展。

目前国内该项技术的发展状况是怎样的?

  上世纪90年代初,总线技术开始在汽车中应用。如今该项技术已经成为现代汽车的标准技术,几乎所有的车都开始采用CAN/LIN总线。总线零部件也成为发展的主流。

  对于我国来说,由于国内汽车制造和零部件的发展水平不平衡。虽然合资品牌和自主品牌的量产车大都采用了CAN/LIN,但由于国内零部件配套体系在电器零部件,特别是在智能零部件上的弱势,国内真正自主研发的具有总线接口的零部件在量产车中(年产量超过1万辆以上的)几乎没有。

  目前在大批量生产汽车中,具有CAN/LIN总线的零部件几乎都是国外研发的,它们中一部分是国外生产的,一部分是由国内合资或外资企业生产。

  但部分小批量生产汽车,如北京市场上达到国III标准的扫雪车、公共汽车等,它们带有CAN/LIN功能的仪表、车灯控制、车门控制等技术,这些都是国内自主研发和生产的。

我们与国际先进技术的差距具体表现在哪些方面呢?

  总线不是一项独立的技术,它是一种电器之间进行信息交互的接口,它的基础是零部件的智能化。
从单一技术来说,通过几年的发展,国内与国际先进水平差距正在缩小。但从量产角度来说,由于国内在汽车电器、特别是在智能化零部件领域离国际先进水平相差太大,因此总线发展必然受其影响,总线应用概念、产品定义、研发、测试、认证、生产和维护方面都还处于起步阶段。

   具体来说,在总线的概念认识方面,很多企业还没有上升到平台和电气标准的层次,仍停留在节约电线和增加功能上。

  在产品定义方面,总线必须与零部件融为一体,与传统零部件协同作战。但国内由于电气零部件、智能零部件的研发水平与国际先进国家相差太远,总线在国内发展缺乏智能零部件的基础,迫使总线与零部件研发相分离。即使总线产品研发出来,但优势不明显,主机厂不接受,就谈不上产业化。 产业化不能实现,产品定义、研发、测试、认证、生产和维护方面自然处于起步阶段。

对于我国来说,在CAN/LIN总线技术的研发道路上还需克服哪些瓶颈?

  一是人才方面。车用总线技术涉及到机械制造领域和电子信息领域的融合。但我国的实际情况是,这两个领域的协同存在一些问题。从电子信息行业进入车用总线领域的,缺乏对汽车行业的理解,其研发出来的产品很难满足汽车的要求,即使满足汽车的要求,但不清楚汽车研发、生产和服务流程,也很难实现产业化。另外,总线研发人员必须具有深厚的电子信息基础,因此从汽车行业进入总线研发领域的,由于基础的限制,很难研发出高性价比的产品。

  二是要突破国外对我国的技术封锁。目前我们的研发工作还处在向国外学习的阶段,但很多与总线技术相关的国外文献都是讲其优势,不讲其缺陷。结果我国许多从事总线的研发人员在研发过中,由于不能对总线进行取长补短,使研发陷入困境。突破技术封锁也是我们面临的巨大挑战。
1楼 0 0 回复
  • chenwh78

    chenwh78   |   当前状态:在线

    总积分:6174  2024年可用积分:0

    注册时间: 2008-10-10

    最后登录时间: 2019-06-16

    空间 发短消息加为好友

    chenwh78   发表于 2009/9/2 14:18:46

    1 系统的总体设计思想
    系统设计从保证系统可靠性和降低成本并具有通用性、实时性和可扩展性等方面着手。
    (1)网络拓扑采用总线式结构,如图1所示,这种结构比环形结构吞吐率低,但结构简单、成本低、且无源抽头连接,系统可靠性高。 
    (2)CAN总线控制器工作于多主方式,采用多主站依据优先权访问总线,支持主从或广播方式,最大网络节点110个,最大传输速率1Mbps,最远距离10km(也可以接CAN中继器增加距离,但通信速率会下降),同时具有极强的错误处理能力。
    (3)CAN遵循ISO标准模式,具体定义了数据链路层和物理层,在工程上,这两层通常由CAN控制器和收发器实现,CAN总线控制器通常有两类:一类是在片的CAN微控制器。采用这种器件可以方便用户制作印刷板、电路图也比较紧凑,另一类是独立的CAN控制器,可以使开发人员根据需要选用比较实用的单片机,本系统选择独立的CAN控制器。
    (3)该系统的上位机是PC机,由于PC机有多条扩展槽,利用局域网通信卡、使得该系统很容易与其他部门联网,便于统一调度和管理,另外选用PC机还可以充分利用现有的软件工具和开发系统,方便快捷地设计功能丰富的计算机软件,该系统的控制台由PC机、PC总线适配卡和相应的软件组成。
    (5)传输介质采用双绞线,为了进一步提高系统的抗干扰能力,在控制器与传输介质之间采取光电隔离。
    (6)信息传输采用CAN通信协议,该系统的主要通信方式是控制台向各个控制器发送控制数据以及各控制器向控制台发挥各种检测信息。
    2 智能照明节点模块的硬件设计 智能节点结构框图如图2所示。
    从成本和难易程度考虑,系统采用AT89C52作微控制器。AT89C52是一种高性能、低功耗采用COMS工艺制造的8位微控制器,拥有8KB的可编程闪存,它为很多嵌入式控制系统提供了一种高效灵活的解决方案,其功能是根据上位机的给定值控制执行器,系统的执行器是可控硅控制电路,通过它提供均匀可调的输出电压以调节电灯的亮度。
    上位机可以根据传感器所提供的外界光照度,判断此时的灯光亮度范围,再向控制器发送控制数据,使执行器按照设定的值调节灯光亮度,传感器1采用光敏传感器可将光信号变成电信号、电信号的大小随光的强弱成比例变化,所以使用它可以根据室外光线照度的变化对灯光进行调节,在保证一定标准照度的同时最大限度地节约能源。传感器2是热释电传感器,其只对运动的人或物体敏感,利用它可以知道房间里是否有人,进而可以及时地将无人区的灯关掉,以免造成不必要的浪费。
    CAN控制器选用Philips公司生产的SJA1000。它是PCA82C200的替代产品,可完成CAN通信协议所要求的全部特性,经过简单的总线连接可以完成CAN总线的物理层和数据链路层的所有功能,它能够提供总线仲裁及错误检测功能,并且在检测到错误时能自动重复发送数据,从而减少数据的丢失,确保了系统的可靠性,它通过直接内存映射方式访问CAN控制器,同时,新增加的CAN模式(PeliCAN)还可以支持CAN2.0B协议。
    CAN收发器采用Philips公司生产的PCA82C250,它是CAN控制器与物理总线之间的接口,提供向总线的差动发送功能和对CAN控制器的差动接收功能。
    采用光电耦合是为将网络与系统内部隔离,以提高抗干扰能力,这里采用高速光电耦合器6N137。
    看门狗采用集看门狗、复位电路与EPROM于一体的X25045,由于看门狗和EPROM有着重要的作用,看门狗可以防止因程序的"跑飞"而引起故障。EPROM可以存储掉电前所需保护重要参数、CAN节点的配置参数,包括屏蔽字和校验码、报文定义等。
    CAN总线适配卡可以自己设计,但目前市场上的CAN总线通信适配卡产品较多,而且技术也很成熟,所以选用了北京华控公司的HK--CANISO智能PC总线通信适配卡。
    3 智能照明系统的软件设计
    智能照明节点模块的软件采用结构化设计,具有良好的模块性,可修改性和可移植性。程序用Franklin C51和ASM51语言混合编写,Franklin C51是一种与C语言十分类似的高级语言,具有较高的效率,可读性好,易于修改,采用C51可减轻软件编程的工作量,软件设计主要包括单片机的初始化程序、报文发送和接收程序以及CAN总线的初始化设计,这是CAN总线设计中的重要一环,也是一个设计难点,为了提高通信的实时性,采用中断接收方式,为了能支持更多的CAN协议功能,在初始化时使SJA1000工作在Peli CAN模式,智能照明节点的主流程如图3所示。
    上位机监控软件采用Delphi实现,具有良好的界面和可操作性。
    国外的智能照明控制系统广泛地应用于建筑领域,无论室内、室外,然而我国在灯光调控、节能方面的研究起步较晚(目前,灯光调控在美国的使用率70%,欧洲40%-50%,亚洲10%-15%,在日、韩占15%-20%,而中国还不到1‰),当前较先进、流行的灯光控制系统采用的"ShowNet"数字网络也只是为将来应用CAN协议打下基础,本文在智能照明控制系统中应用CAN总线技术,通过上位计算机进行灯光调控,有一定先进性。该系统经扩展后有着非常广阔的应用前景,不仅是办公大楼、商业中心等公共场所理想的智能照明控制且在节能方面也有着重大的经济价值。
    2楼 回复本楼

    引用 chenwh78 2009/9/2 14:18:46 发表于2楼的内容

  • chenwh78

    chenwh78   |   当前状态:在线

    总积分:6174  2024年可用积分:0

    注册时间: 2008-10-10

    最后登录时间: 2019-06-16

    空间 发短消息加为好友

    chenwh78   发表于 2009/9/2 14:19:42

    基于CAN总线的地铁屏蔽门系统是指系统中PSC(站台隔离门控制器)、PSA(远方操作报警盘)以及每个DCU(门控器)都是挂接在CAN总线上的一个网络结点,CAN总线分布式结构可以保证网络上任何一个结点发生故障都不会影响整个网络其它结点的正常运行,并可以通过网络对屏蔽门进行全程控制、运行参数修改、声光报警等功能。屏蔽门控制系统在一些重要的节点及命令上也要采用硬线传输,充分利用其高可靠性及抗干扰性能,保证整个控制系统的可靠性。像PSC与信号系统、PSC与PSL(站台端头控制盒)之间,以及屏蔽门的开门、关门命令的发送及反馈,均要采用硬线传输。实例如下:
     
    某线地铁有74个站台,每个站台有40扇门,每扇门有一个DCU(门控器),他根据接受到的指令控制马达和关闭机构。这些单元确保门的力量和速度在安全范围内保持最佳。他们包括监视门上传感器和执行器的状态,并连续的将数据传输到PSC(站台隔离门控制器).
     
    站台上每一列门都是由PSC和贝加莱2003控制和监视的。DCU和 PCC通过CAN总线联网,传输速度为100KBits。这对于定时要求是足够的。CAN总线能在最长180米的站台范围内以相同的速度传输。PSC从门搜集数据,并将之传输到SMS(站台管理系统)。另外,在控制室使用贝加莱Power Panel系列的PP120,门及其功能等重要信息均在其上有所显示,并且时间报告被传输到本地环境监控系统中进行进一步分析。
     
    除了经CAN总线的DCU连接外,PSC通过RS485与LESS(本地环境监视系统)。通过RS232与PTE通信,通过以太网与显示器通信。通过开关量信号与PTI通信。由贝加莱2003提供的通信灵活性毫无疑问的满足了这些网络要求。CP476 CPU处理所有门控制器,开关量I/O和网络连接。此外贝加莱的AUTOMATION STUDIO还提供了最佳的编程环境。
    3楼 回复本楼

    引用 chenwh78 2009/9/2 14:19:42 发表于3楼的内容

  • chenwh78

    chenwh78   |   当前状态:在线

    总积分:6174  2024年可用积分:0

    注册时间: 2008-10-10

    最后登录时间: 2019-06-16

    空间 发短消息加为好友

    chenwh78   发表于 2009/9/2 14:20:37

    整个控制系统由监控计算机、pc- can 接口卡、操作台节点、智能驱动节点( n<110) 、can 总线网络组成, 其系统结构如图1 所示。分布在整个车辆的驱动节点接收操作台发来的控制指令, 对驱动电机进行智能控制, 并采集车载电源的电压、电流和温度信号, 经过处理后发送给监控计算机;监控计算机可以通过can 总线网和各个控制节点之间进行实时通信, 并显示电源电压、驱动电流、车辆速度等状态, 从而实现轨道车辆的分布式驱动和集中监控。
     
    驱动节点的硬件设计

    整个车辆分布式控制系统设计的重点和和难点都是驱动节点。驱动节点硬件电路设计上采用了模块化结构, 由微控制器、can 通信模块、信号采集模块、电机控制模块、参数设置模块组成, 驱动节点的整体结构如图2 所示。
     
     
    驱动节点各个组成模块的功能如下:

    (1) can 通信模块:can 总线通信接口电路主要由p87c591的片内can 驱动器sja1000、6n137 高速光隔、can 收发器pca82c250 组成。p87c591 完成can 协议的应用层功能;sja1000 完全兼容can2.0 协议, 完成物理层和数据链路层的功能;pca82c250 提供了对总线差动发送和接受数据的功能,有效地提高了总线的抗干扰能力, 实现了保护总线、降低射频干扰等功能。为了进一步提高了系统的可靠性, 在p87c591 和pca82c250 之间光耦(如:6n137 等)隔离电路, 并采取了双电源, 有效地抑制由总线引入的干扰。

    (2) 信号采集模块:p87c591 自带的6 路模拟输入的10 位adc, 可设置为8 位快速adc, 可以基本满足本系统对采集的精度要求, 完成对电机、电池状态的测量任务;采集电路将各个传感器采集到电信号进行调理(滤波、放大、电量转换)后, 接入微处理器的adc 接口。为抑制共模干扰, 放大器基本采用差动输入。cpu 得到信息做出相应的判断, 并送至不同的子程序进行相应的处理, 如:把电池的电压、电流、温度信息通过通信程序发送给监控计算机;若电池电压过低, 则自动切断本节点的驱动电机, 并把节点的停机信息通知监控计算机。

    (3) 电机控制模块:cpu 接收到控制台发来的运行信息, 并做出处理。接通驱动电机的主接触器、正反转接触器, 通过i2c总线把速度信号传给数字电位计, 用来控制电机驱动器的输出电流, 进而控制电机转速。若电池的电压、电流、温度的任一项值超出正常值范围时, 或接到总线的报警信息, 电机控制模块都会做出相应的反应, 使驱动单元得到保护。

    (4) 参数设置模块:报警电压、报警电流、报警温度、节点地址、波特率等信息通过rs232 接口及相应的设置软件存储于基于x25045 的e2prom中, 实现节点工作参数现场设定能。节点地址通过拨码开关设置。

    驱动节点的硬件部分除了以上介绍的以外, 还有电源电路以及看门狗电路。电源电路提供所需隔离电源, 用于提高节点的稳定性和安全性;看门狗电路主要是保证系统运行的稳定性,在上电、掉电以及警戒情况下复位输出。
    4楼 回复本楼

    引用 chenwh78 2009/9/2 14:20:37 发表于4楼的内容

  • chenwh78

    chenwh78   |   当前状态:在线

    总积分:6174  2024年可用积分:0

    注册时间: 2008-10-10

    最后登录时间: 2019-06-16

    空间 发短消息加为好友

    chenwh78   发表于 2009/9/2 14:21:36

    控制系统的软件设计

    (1) 监控计算机的软件设计

     

    计算机监控软件主要分为用户应用层、数据分析处理层及硬件设备驱动层三个部分, 其系统流程如图3 所示。用户应用层和用户需求紧密相关, 它主要完成的任务是为用户提供各类信息的监控界面, 进行人机交互, 也就是通常所说的人机界面设计, 通过它来显示收集到的实测数据和状态信息, 提供驾驶员与控制系统的交互平台; 数据分析处理层完成总线数据的接收分类、判断、处理、发送, 数据的存取操作等任务;硬件设备驱动层通过pc- can 接口卡建立监控计算与can 总线的连接,并与驱动节点进行数据交换。

    (2) 驱动节点的软件设计

    与驱动节点硬件设计相一致, 软件设计也遵循模块化的设计原则, 使控制软件具有易读、易扩展和易维护的优点。通过c51 语言编写相应的软件模块实现驱动节点的各种功能。软件的各功能模块之间通过入口和出口参数相互联系, 组合灵活且方便, 加少了调试时间, 缩短了开发周期。驱动节点的软件设计流程如图4 所示。

     

    (3) 驱动节点通信程序设计

    监控节点的通信采用can 总线2.0a 协议, 通信模块的软件设计主要由初始化子程序、报文接收子程序、报文发送子程序三部分组成。其中初始化子程序是实现通信的关键, 它主要用来完成can 控制器工作方式的选择, 即对p87c591 中can控制器控制段中的寄存器进行设置, 包括:总线定时寄存器和输出控制寄存器设置; 接收验收滤波寄存器和滤波屏蔽寄存器设置;设置发送数据帧类型(标准帧或扩展帧)、标识符、数据长度。监控节点与can 总线之间的数据交换是通过发送子程序和接收子程序实现的。

    报文发送时只需将等待发送的数据按照特定格式组合成一帧报文, 送入sja1000 的发送缓冲区中, 然后启动sja1000发送。在这之前必须先作一些判断, 如:是否正在接收, 发送缓冲区是否锁定等。当sja1000 正在发送报文时, 发送缓冲器被写锁定。所以在放置一个新报文到发送缓冲器之前, 主控制器必须检查状态寄存器的“发送缓冲器状态标志”。否则, 发送缓冲器被锁定, 新的报文不能被写入。一个正在等待的报文会从存储器复制到发送缓冲器后, 置位命令寄存器tr 标志产生发送请求, 发送过程由sja1000 独立完成。

    报文接收子程序只负责节点报文的接收。基于sja1000 的报文接有两种方式:中断方式和查询方式。为了保证接收报文的准确性, 选择实时性较高的中断方式。在中断方式下, 如果sja1000 已接收一个报文, 并且报文已通过验收滤波器并放在接收fifo, 那么会产生一个接收中断, 通知处理器有报文已接收。接收子程序就是完成响应这个中断并把数据分类、解码, 最后发送到相应的报文存储器。

    5楼 回复本楼

    引用 chenwh78 2009/9/2 14:21:36 发表于5楼的内容

  • chenwh78

    chenwh78   |   当前状态:在线

    总积分:6174  2024年可用积分:0

    注册时间: 2008-10-10

    最后登录时间: 2019-06-16

    空间 发短消息加为好友

    chenwh78   发表于 2009/9/2 14:22:32

    宝莱车采用两条CAN总线,即驱动系统CAN总线和车身系统CAN总线,这两总线完全能够满足ISO的定义。驱动系统CAN总线,其通信速率为500kbps,被称为高速CAN,其连接对象为汽车动力和传动机构的控制单元等。汽车发动机控制单元、自动变速器控制单元、ABS控制单元、安全气囊控制单元等。车身系统CAN总线,其通信速率为100kbps,被称为低速CAN或舒适系统CAN,其连接对象为中央控制器,4个门控制器等。此外宝莱车还有一个重要特征,便是在车身系统的CAN中引入了网络管理的概念。这对于事件触发性质的数据通信来说是非常合适的。
    用于驱动系统的高速CAN和用于车身系统的低速CAN是两个相互独立的总线,但从资源共享的角度来看,它们之间最好有座连接桥梁,以使车身系统也能获得驱动系统的信息。当然,从传统思路来考虑,只要增加几根导线似乎就能解决问题。但从实际开发时,即在现有的控制器硬件上,要增加哪怕一个信号引出脚都将导致硬件的重新设计,往往成本和进度都不允许这么做。为了获得对方系统的信息,而又不涉及到硬件上的任何改动,宝莱车使用了网关—J533完成了此任务,宝莱车的网关是“寄生”在组合仪表内的。
    宝莱汽车上典型的与驱动系统有关的控制单元有电控燃油喷射系统、自动变速器系统、防抱死制动系统(ABS)、安全气囊系统等。
    由于每个控制单元对实时性的要求是因数据的更新速率和控制周期不同而不同的,为了满足各子系统的实时性要求,与对公共数据实行共享,如发动机转速、车轮转速、油门踏板位置等,如宝莱车的4缸汽油机运行在4000r/min,则电控单元控制两次喷射的时间间隔为6ms,其中喷射持续时间为30度的曲轴转角(1ms),在剩余的5ms内须完成转速测量、油量测量、A/D转换、工况计算、执行器的控制等一系列过程。这就意味着数据发送与接收必须在1ms内完成,才能达到汽油机电控的实时性要求。这就要求其数据交换网是基于优先权竞争的模式,且本身具有极高的通信速率,宝莱车采用了CAN总线正是为满足这些要求而设计的。
    除驱动系统外,车身系统CAN也是一条主要的控制器局域网络。它的主要连接对象为:中央控制器,4个门控制器,还包括记忆模块和其他组件。车身系统的控制对象主要是4个门上的集控锁、车窗、行李箱锁、后视镜及车内顶灯。在具备遥控功能的情况下,还包括对遥控信号的接收处理和其他防盗系统的控制。
    6楼 回复本楼

    引用 chenwh78 2009/9/2 14:22:32 发表于6楼的内容

总共 , 当前 /