您当前的位置:五五电子网电子知识单片机-工控设备综合-其它汽车前照灯CAN 总线多路传输系统的研究与设计 正文
汽车前照灯CAN 总线多路传输系统的研究与设计

汽车前照灯CAN 总线多路传输系统的研究与设计

点击数:7977 次   录入时间:03-04 11:50:32   整理:http://www.55dianzi.com   综合-其它

     摘要: 为代替传统繁杂的 汽车线 束, 汽车CAN 总线应运而生。以CAN 总线为基础, 结合51 系列 单片机 技术, 研究开发了汽车前照灯的CAN 总线多路传输系统。按照整体结构进行了CAN 总线传输节点的软件设计, 设计出并口CAN 适配卡, 通过编写动态链接库( DLL) , 向上层应用软件提供读/ 写函数接口, 实现了上位机与下位机的通信。该设计使得传统 线束 大大简化, 可靠性得到了极大提高, 有效节约了线束安装空间。

  0  引言

  CAN( Cont ro ller Ar ea Netw ork) 数据总线是一种适用于汽车环境的汽车局域网。它属于多路传输系统中的一种, 是由德国博世( Bosch ) 公司在20 世纪80 年代初为解决现代汽车中众多的控制单元与测试仪器之间的数据交换而应用开发的一种串行通信协议。目前,在汽车设计领域中, CAN 几乎成了一种必须采用的技术手段, 尤其是在欧洲, 如奔驰、宝马、保时捷等都采用CAN 总线实现汽车内部控制系统与各检测和执行机构间的数据通信。此外, 美国汽车厂也将控制器联网系统逐步由Class2 过渡到CAN。CAN 国际标准只定义了物理层和数据链路层, 实际应用中, 一些厂家和公司又定义了相应的应用层规范, 使CAN 的应用更加广泛和可靠。

  CAN 信号传输介质为普通双绞线, 通信速率最高可达1 Mbps/ 40 m, 直接传输距离可达10 km/ 5 Kbps。

  CAN 的信号传输采用短帧结构, 每一帧的有效字节数为8 个, 因而传输时间短, 受干扰的概率低, 由于其采用CRC16 的校验方式, 误码率仅为3  10- 5 。当节点严重错误时, 具有自动关闭的功能, 以切断该节点与总线的联系, 使通信线上的其他节点机通信不受影响, 具有较强的抗干扰能力。控制器局部网( CAN) 属于现场总线范畴, 它是一种有效支持分布式控制或实时控制的串行通讯网络。

  CAN 作为汽车环境中的微控制器通讯, 在车载各 电子 控制装置ECU 之间交换信息, 形成汽车电子控制网络。比如: 发动机管理系统、变速箱控制器、仪表装备、电子主干系统中, 均嵌入CAN 控制装置。但是CAN 总线多路传输系统还没有实际应用到汽车前照灯。传统的汽车系统布线工作量很大, 一旦线路发现故障, 诊断工作十分困难, 同时由于数据传输线很长, 导致传输速度下降,可靠性、实时性差等问题。CAN 总线技术作为最有前途的现场总线之一, 依靠其可靠性高, 适应环境能力强, 纠错能力突出, 性价比高等特点成为解决这一问题的新选择。正是基于这种研究背景, 本文研究并开发出了基于CAN 总线的汽车前照灯多路传输系统。

  1  CAN 控制器 SJA1000

  1. 1 SJA 1000 的硬件结构和功能

  CAN 的通信协议主要由CAN 控制器完成。CAN控制器主要由实现CAN 总线协议部分和微控制器接口部分组成。不同型号的CAN 总线通信控制器, 实现CAN 协议部分电路的结构和功能大都相同, 而与微控制器接口部分的结构及方式存在一些差异。SJA1000是一种独立CAN 控制器, 是 PHILIPS 公司首推新一代控制器。支持CAN 2. 0B 协议。

  SJA1000 的主要特性如下:

  器件管脚和电器特性均和 PCA82C200 兼容; 时钟频率24 MHz; 支持CAN 协议2. 0 标准位速率可达1 Mb/ s;同时支持11 位标识符和29 位标识符; 扩展的接收缓冲器( 增至64 B, PCA82C200 只有20 个字节) ; 对不同微处理器的接口; 可编程的CAN 驱动器输出。

  SJA1000 具有两种工作模式: 基本模式和Peli 模式。其中基本模式符合CAN 协议2. 0A 标准, 和PCA82C200 兼容。设置时钟分频器( CDR: CLOCk divider Reg ister) 的最高位模式选择位( CDR. 7) , 可在基本模式和Peli 模式之间切换。

  1. 2  CAN 收发器 82C250 的硬件结构和功能

  82C250 是CAN 控制器与物理总线间的接口, 最初主要应用于汽车高速控制场合。它向总线提供了差动的发送能力, 向CAN 控制器提供了差动的接收能力。

  82C250 主要特性如下: 与ISO/ DIS11898 标准兼容; 高速( 最高可达1 Mb/ s) ; 具有抗汽车环境下的瞬间干扰, 保护总线能力; 降低射频干扰( Radio FrequencyInterference, RFI) 的斜率( slope) 控制; 热防护; 防护 电池 与地之间发生短路; 低电流待机方式; 某一个节点掉电不会影响总线; 可有110 个节点相连接。

  2  系统硬件电路图设计

  2. 1  汽车前照灯线路示意图

  汽车前照灯传统供电线路示意图和汽车前照灯多路总线传输系统示意图如图1, 图2 所示。

汽车前照灯传统供电线路示意图

图1  汽车前照灯传统供电线路示意图

汽车前照灯多路总线传输系统示意图

图2  汽车前照灯多路总线传输系统示意图

  2. 2 系统硬件电路原理图

  CAN 智能节点电路图的设计是本系统的核心, 下面给出详细的CAN 节点硬件电路设计。

  图3 是汽车汽车前照灯的CAN 总线多路传输系统的硬件电路原理图。从图中可以看出, 电路主要由三大块组成。第一块是前照灯的 开关 电路部分, 主要包括微控制器 89C51 单片机、独立CAN 通信控制器SJA1000, CAN 总线收发器82C250; 第二块是上位机,包括CAN 总线适配卡以及数据显示部分; 第三块是前照灯的用电器电路部分, 主要包括的也是微控制器89C51 单片机、独立CAN 通信控制器SJA1000, CAN总线收发器82C250。需要说明一点的是, 本系统用4 个发光 二极管 来代替具体的汽车前照灯中的近光灯,远光灯, 示宽灯, 雾灯。

系统硬件电路原理图

图3  系统硬件电路原理图

  微处理器89C51 负责SJA1000 的初始化, 通过控制SJA1000 实现数据的接收和发送等通信任务。

  SJA1000 的AD0 ~ AD7 连接到89C51 的P0 口,SJA1000 的连接到89C51 的P2. 0, P2. 0 为0 时,CPU 片外 存储器 地址可选中SJA 1000, CPU 通过这些地址可对SJA1000 执行相应的读/ 写操作。SJA1000的ALE 分别与89C51 的引脚相连, 接89C51 的, 89C51 也可以通过中断方式访问SJA1000。

  82C250 与CAN 总线的接口部分采用了一定的安全和抗干扰措施。82C250 的CANH 和CANL 引脚各自通过一个5  的 电阻 与CAN 总线相连, 电阻可起到一定的限流作用, 保护82C250 免受过流的冲击。

  CANH 和CANL 与地之间并联了2 个30 pF 的小电容, 可以起到滤除总线上的干扰和一定的防电磁辐射的能力。82C250 的Rs 脚上接有一个斜率电阻, 电阻大小可以根据总线通信速度适当调整, 一般在16~ 140 k 。

  2. 3  微处理器的选择

  汽车电子控制系统的实时性是建立在微处理器的高速运算功能上的, 因此微处理器的选择是系统设计的重要环节, 与一般的电子设备相比较, 汽车电子控制系统的微处理器特点在于经常处理大量的输入和输出信号, 而且要实现高精度和实时控制, 因此必须能够同时进行多种独立的操作。为了满足这些要求, 微处理器必须具有高速计算、高速实时输入和输出以及多种中断响应等特性。由于通用电子计算机电子控制系统的控制功能较为简单, 所以大多数电子控制单元( ECU ) 中主要使用8 位微处理器。在选择微处理器上, 不仅要注重满足技术要求, 还要综合考虑成本和实用因素, 不应片面追求微处理器的高速和高位数。

  本研究是对按钮开关的逻辑信号进行处理, 对微处理器的控制核心CPU 的要求不高, 选用 AT89C51 即可满足要求。

  3  汽车前照灯CAN 总线多路传输系统的软件设计

  多路传输系统的软件设计包括CAN 节点的初始化、CAN 报文的发送和接收、PC 机与CAN 适配卡的通信。

  3. 1  初始化

  系统节点初始化包括: 自检、CAN 通讯初始化、A/ D初始化、各种系统标志初始化以及看门狗初始化等。其中89C51 的CAN 控制器初始化流程如图4所示。

[1] [2]  下一页


本文关键字:汽车  前照灯  综合-其它单片机-工控设备 - 综合-其它

《汽车前照灯CAN 总线多路传输系统的研究与设计》相关文章>>>