CAN总线成为车电系统的总线标准

发布者:悦耳旋律最新更新时间:2023-06-25 来源: elecfans关键字:CAN总线  总线标准 手机看文章 扫描二维码
随时随地手机看文章

1 .  CAN总线

在电子产品的各种通讯方式中,CAN(Controller Area Network)总线以其高可靠性、实时性、传输距离远的特点得到广泛的应用,已经成为许多高档汽车(如奔驰、宝马等)车电系统的总线标准。于是出现了许多内部集成CAN控制器的单片机,如Atmel公司的T89C51CC0X系列单片机就是其中性价比较高的一款,它具有丰富的内部资源,支持CAN方式的在线编程。我们在使用此系列产品的过程中,针对其应用普遍但编程器较少的特点,开发了一款基于T89C51CC01CA芯片的CAN程序下载和CAN节点调试器,它既能对同类单片机进行编程,又能通过CAN总线对具有CAN通讯功能的设备进行调试。


2. 系统结构框图

2.1  系统原理框图。如图1所示,PC机通过高速的USB方式或低速的UART方式连接到下载调试器上,下载调试器将PC的消息封装成CAN命令帧的形式转发,完成下载功能或CAN节点调试功能。

CAN总线成为车电系统的总线标准

2.2  调试器框图。如图1所示,当使用CAN调试器功能时,在CAN总线上可以挂接多个设备。CAN调试器作为一个智能终端,参与总线的运行。


2.3下载器原理框图。如图2所示,当使用下载器功能时,用户可以选择CAN下载方式或串口下载方式,但为了保证下载的正确性,每次只允许连接一个从设备。

CAN总线成为车电系统的总线标准

图2:下载器原理框图


3. 下载调试器硬件及框图

下载调试器连接PC机和CAN总线上的节点,完成数据流格式的转换,并且利用内部的RAM空间对上/下行数据流的速度进行缓冲匹配。整个硬件主要分成四个部分:主控器件、通讯转换芯片、功能控制部分和电源部分。硬件框图和电路图分别为图3和图4。

CAN总线成为车电系统的总线标准

3.1 主控器件

主控芯片为Atmel公司的T89C51CC01芯片,该芯片采用51内核技术,与其它单片机相比具有很多的优势:

 丰富的内部资源: 32Kbytes 片内Flash、 256bytes片内RAM、 1Kbytes片内XRAM、2Kbytes片内EEPROM、2Kbytes片内程序引导区、八通道10位AD等。

 内部集成完全支持V2.0A/V2.0B标准的CAN控制器,该控制器具有15个独立的邮箱,每个邮箱具有多种工作模式。消息的接收、发送、校验过程完全通过硬件来完成,不需要用户的干预。

 片内程序引导区支持ISP(In-Systerm Programming)和IAP(In-Application Programming)功能,使程序下载变得非常容易。


3.2 通讯转换芯片

下载调试器与PC机的接口芯片为PL2303,它完全支持USB协议V1.1,能够自动完成USB数据格式和UART数据格式间的转换。并且为了匹配两种方式的速度,该芯片分别为上传和下传的数据流配置了256字节的RAM。CAN总线的驱动芯片为ATA6660,它将TTL电平转换为差分信号输出,在通讯距离达到10km时,传输速率仍可达到50kbit/s。


3.3 控制电路

控制电路主要有三个功能:下载器功能或调试器功能选择,串口下载方式或CAN下载方式选择,硬件复位条件控制。            


4. 编程器功能

4.1 编程对象

编程器的主要服务对象为一系列支持CAN下载或串口下载的器件,如T89C51CC01/02/03等。T89C51CC01在保留51系列并行下载方式的基础上,又扩展了串口UART或CAN 的ISP(在线)下载方式。 T89C51CC01有两个系列,T89C51CC01UA芯片的程序引导区在生产时固化了UART引导程序,支持UART方式的在线下载功能;T89C51CC01CA芯片的程序引导区固化了CAN引导程序,支持CAN总线方式的在线下载功能。本文以CAN下载方式为例介绍下载原理。为了表达的方便,将用户的PC机称为主机,被编程的器件称为从机。


4.2  T89C51CC01CA芯片的程序引导区

T89C51CC01CA芯片内部有2Kbytes的程序引导区,分成3个部分:ISP通讯管理、函数调用管理、Flash存储器管理。“ISP通讯管理”部分管理从机引导程序区和编程器间的通讯,对编程器的串行数据流进行解释并转换为对从机Flash存储器的访问;“函数调用管理”为IAP提供各种函数;“Flash存储器管理”执行对从机Flash存储器底层的读、写操作。


4.3 编程流程

从机中固化的驱动程序遵守CAN2.0A标准帧协议格式,数据帧的11位标识符用来对目标器件和目标器件的寄存器寻址。因此将标识符的高8位作为基地址,用来区分不同的器件;将标识符的低3位作为偏移地址,用来代表不同的命令。编程器首先发送偏移地址为0的数据帧,进行通讯初始;接着编程器发送偏移地址为1的数据帧,选择编程区域(Flash或EEPROM),并设置编程的起始和结束位置;从机发回应答消息后,编程器通过偏移地址为2的数据帧连续发送编程数据;一个数据块发送完毕后,编程器继续选择需要编程的区域,直到完成整个写数据任务;此后编程器发送偏移地址为3的数据帧读取从机Flash或EEPROM中的数据,完成数据校验的任务。编程器也可以发送偏移地址为4或5的数据帧对一些配置字节进行修改。下载的流程图如图5:

CAN总线成为车电系统的总线标准

编程器使用FLIP软件,这个软件可以从Atmel公司的网站上免费获得。


5.CAN调试器功能

本设计的另一个重要功能是作为调试器使用,对具有CAN功能的节点进行通讯调试。主机通过高速的USB口与调试器通讯,调试器将主机的数据流封装成具有CAN2.0A或CAN2.0B格式的命令帧,再由CAN控制器发送到总线上;而接收到的报文经过相反的数据转换过程传回到主机上。


主机的CAN调试界面用VB程序编写的,分通用功能界面(图6)和面向应用的CAN总线调试界面(图7)两个部分。两种功能的侧重点不同,前一种主要用于节点的初期调试,重点在于实现节点间的通讯连接和节点状态测试;后一种用于实现具体的任务,重点在于节点间任务分配和全局时序响应。两个部分在功能上相互补充,满足不同层次的需要。


5.1   CAN总线调试器的通用功能界面设计

    CAN总线调试器的通用功能用来监测总线的状态、测试新的命令和接收不同节点的消息帧。例如当CAN总线上加入新的节点或总线出现故障时,可以用这种方式进行调试。如图7所示,用户根据具体的应用要求任意设置CAN的帧结构中的仲裁域、控制域和数据域中的所有位的值,发送各种命令帧;也可以加入报文过滤器,有选择的接收相关的消息帧。

此种方式的主要功能为:

 改变IDE位的值,选择发送标准帧或扩展帧;

 改变仲裁域中基本ID和扩展ID的值,将命令帧发送到CAN总线上的不同节点;

 修改RTR位的值,选择发送数据帧或远程帧;

 改变数据长度,发送不同长度的数据帧;

 改变通讯速率,测试通讯的可靠性,寻求速率和距离的最优解决方案;

 改变报文过滤器的值,接收特定ID范围内的消息帧,并实时显示;

 显示各种状态值,对总线的健康状态进行评估;

 将接收到的消息帧保存在用户指定的文件中,方便对数据的后期的分析处理;  


5.2  面向应用的CAN总线调试器界面设计

该方式面向用户的实际工程,根据任务的要求为CAN的帧结构中的各种域赋予明确的意义,例如ID码中就可以包含优先级、源器件地址和目标器件地址等。这种方式的重点是系统级任务的实现,因此将调试器作为总线上的智能节点,既能接收其它节点的报文,又能对其它节点发出命令,从而完全具备实际节点的所有功能,满足整个系统的时序要求。

为了使界面具有很好的可读性,将复杂的CAN消息的数字表达方式文字化,即用户对命令或报文过滤器内容设置完成后,可以为命令或报文过滤器指定一个名字。各种报文的发送和接收都以用户定义的文字来表示,程序自动在文字与CAN的帧结构间转换,从而具有很好的可读性。这种方式下的特点为:    

 系统配置文件的管理。每个工程的命令帧、报文过滤器的设置和接收的数据被保存在独立的配置文件中,通过“文件”菜单可以打开、保存和关闭工程的配置文件,而且可以在编辑当前工程配置文件的基础上生成新工程的配置文件,简化新工程的开发步骤。

 命令管理。在“发送命令”区显示了已经定义的命令,这些命令都以用户定义的名字表示,可以通过命令按钮添加、修改、删除命令,进行命令的后期维护。

 报文过滤。在“接收设置”区显示了用户可以接收的报文的ID,这些ID范围之外的报文将被屏蔽。通过命令按钮可以添加、修改、删除ID,并且在设置接收过滤的时候,可以指定接到报文后系统自动回复的消息内容,增加了软件的灵活性。


6. 结束语

本设计将编程器和CAN总线调试器集成到同一个器件中,开发了相应的操作软件,提高了器件的使用范围和方便性。随着CAN总线的广泛应用,以及CAN下载方式的推广,这项技术也将得到进一步推广。


关键字:CAN总线  总线标准 引用地址:CAN总线成为车电系统的总线标准

上一篇:单片机STC12C5A60S2控制AT24C04的程序(C语言)
下一篇:数显温度计设计电路图大全(DS18B20/89S51单片机/液晶)

推荐阅读最新更新时间:2024-11-11 19:54

基于LabVIEW和J1939协议的CAN总线通讯平台开发
  应用领域:商用车CAN 总线通讯   挑战:CAN2.0B 规范的工业总线通讯、报文标识符和数据帧定义没有形成统一的标准,参数定义   随意性很大。商用车CAN 总线通讯标准,遵循建立在CAN2.0B 基础上的SAE J1939 协议。报文标识   符ID,按照SAE 标准制定的车速、发动机转速、扭矩、温度、压力、燃油消耗量等参数的物理定   义,报文数据帧格式对应协议数据单元相应数据内容的封装。面临的挑战是将J1939 协议融会贯通   于CAN 总线通讯平台的设计之中。   应用方案:使用NI LabVIEW 软件开发平台和PXI 模块化仪器系统中的CAN 通讯模块,创建过滤   识别J1939 协议报
[测试测量]
基于LabVIEW和J1939协议的<font color='red'>CAN总线</font>通讯平台开发
CAN总线在新能源汽车中的通信网络设计及应用分析
从事汽车相关行业的小伙伴们,都知道CAN总线,它是当今汽车各电控单元之间通信的总线标准,现在几乎所有的汽车厂家都选择使用CAN总线通信。CAN总线起初便是基于BOSCH公司为了解决汽车的电子控制单元增多带来的布线空间矛盾、汽车重量增加等诸多问题而诞生的。同时,CAN总线将汽车内部各电控单元之间连接成一个局域网络,实现了信息的共享,大大减少了汽车的线束。新能源汽车更多资讯在“优能工程师”,由易到难,由浅入深,全方位学习,维信馆主。 图 1 整车 CAN 网络的结构图 一、整车框图 BMS 控制网络只是整车通信网络的一小部分,而在电动汽车通信网络中,除了 CAN,还有其他协调的通信网络, 如 LIN、Ethernet、Flexr
[嵌入式]
<font color='red'>CAN总线</font>在新能源汽车中的通信网络设计及应用分析
工控机总线——PXI总线标准、AdvancedTCA标准
  1.PXI总线标准   PXI是一种专为工业数据采集与自动化应用量身定制的模块化仪器平台,具备机械、电气 与软件等多方面的专业特性。PXI (PCI eXtensions forInstrumentation)充分利用了当前最普及的台式计算机的高速标准结构一-PCIo PXI规范则是Compact PCI规范的扩展。Compact PCI定义了具备坚固封装的工业版PCI总线结构,在易于安装和拆卸硬件模块的前提下提供优秀的机械整合性。   因此. PXI产品具有级别更高、定义更严谨的环境一致性指标,符合工业环境下振动、撞击、温度与湿度的极限要求。PXI在Compact PCI的机械规范上强制增加了环境测试过程与主动冷却装置,以
[嵌入式]
基于CAN总线的车灯设计
  随着汽车安全性、舒适性、环保性要求的不断提高,汽车上的电子控制单元日益增多,传统车灯与状态监测方面临以下问题:   1、由于采用的是点到点的连接与控制,导线的长度、接点都与车灯的数量成正比。这样增加了线束的质量与体积,加剧了粗大的线束与汽车有限的可用空间的矛盾。   2、状态等所监测和只是的信息只是车灯开关的断开/闭合状态,而非车灯的实际工作状态,为汽车行驶带来安全隐患。   现在汽车车灯控制多采用继电器驱动方式。那么,这种方式有什么缺点呢: 缺点1:不具有故障诊断功能,一旦出现故障,不知道什么原因造成的故障,对维修造成不方便。 缺点2:继电器体积较大,因此在汽车这一空间有限的应用场合会造成潜在的安装不方便。
[嵌入式]
基于C8051F040的CAN总线与RS-232通信设计
  为了实现对CAN总线和RS-232串口双向通信需求,提出了一种基于C8051F040单片机的数据通信方案,并完成系统设计。分析了CAN总线和RS-232串口的通信特点,介绍了单片机硬件,并对软件的设计思路与流程做了详尽描述,完成功能检测。实验结果表明,该设计达到了要求。   目前工业设备之间的通信很多采用RS-232接口,但由于RS-232通信距离短、接口易损,而且只能进行点到点通信,不能直接组成多点通信网络。而CAN通信速率高、容易实现、且性价比高等诸多特点,本文介绍一种可以实现RS-232与CAN总线通信的方法,以更好地适应现代工业发展的需要。   控制器局域网CAN(Controller Area Network)是德国
[单片机]
基于C8051F040的<font color='red'>CAN总线</font>与RS-232通信设计
用PIC18F458的CAN模块实现CAN总线通讯
  CAN(Controller Area Network)即 控制器 区域网,是一种主要用于各种 设备 监测及控制的网络。CAN 具有独特的设计思想, 良好的功能特征和极高的可靠性,现场抗干扰能力强。其在国内外工业控制领域已经被广泛应用, 成为最有发展前途的现场总线之一。   美国微芯公司的PIC18F458 单片机集成了CAN 通信接口,执行Bosch 公司的CAN2.0A/B 协议。它能支持CAN1.2、CAN2.0A、CAN2.0B 协议的旧版本和CAN2.0B现行版本。使用PIC18F458 单片机的嵌入式系统, 可以很方便的利用CAN 总线与外界进行数据交换。它的优点是电路接口比较简单,只需很少的外围电路就可实现CA
[单片机]
用PIC18F458的CAN模块实现<font color='red'>CAN总线</font>通讯
智能多路信号源的设计与实现
        1 引言   随着测试设备的飞速发展,其性能状况越来越受到人们的重视,经过一段时间要对测试设备进行检测。主测试板作为测试设备上的重要部件,它的性能好坏起着重要作用。在对其进行性能测试时,由于没有专用的信号源,一般都是安装在设备上进行试验。这不仅费时费力,而且更重要的是增加了修理成本,因此,迫切需要专用的测试设备。本信号源就是针对这一问题而设计的。   2 信号源的设计要求   根据对多数测试设备修理试验工艺的分析,该信号源具体要求如下:   四路电压信号:一路电压范围为-25 V~25 V的直流信号源,精度要求为:0 V~1 V的误差为±0.1V,1 V~25 V的误差为±0.05 V,-25 V
[嵌入式]
关于CAN总线的基础
文章来源于Digikey 车载网络允许微控制器和发动机控制单元 (ECU) 处理器与传感器、执行器、指示器、显示器以及彼此进行通信。 车载网络的网络带宽取决于所支持的功能。 通常,基本的车身和舒适应用程序可以在低总线带宽下工作,而动力传动系统和底盘应用需要更多的带宽,安全功能使用中等带宽,信息娱乐应用程序使用高带宽,而高级驾驶员辅助系统(ADAS)需要非常高的带宽。 此外,车载网络可以使用多种网络架构,每种架构都与一组功能需求相匹配。经典的车载网络是CAN总线。 CAN总线功能和结构 CAN 已存在约三十年,并且仍在不断发展。 ISO 11898 标准中描述了经典的 CAN 总线。 它支持高达 1 兆位每秒 (Mb
[汽车电子]
关于<font color='red'>CAN总线</font>的基础
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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