控制器局域网系统CAN总线的实现
扫描二维码
随时随地手机看文章
控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用。CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。
随着CAN总线在各个行业和领域的广泛应用,对其的通信格式标准化也提出了更严格的要求。1991年CAN总线技术规范(Version2.0)制定并发布。该技术规范共包括A和B两个部分。其中2.0A给出了CAN报文标准格式,而2.0B给出了标准的和扩展的两种格式。美国的汽车工程学会SAE在2000年提出了J1939协议,此后该协议成为了货车和客车中控制器局域网的通用标准。CAN总线技术也在不断发展。传统的CAN是基于事件触发的,信息传输时间的不确定性和优先级反转是它固有的缺陷。当总线上传输消息密度较小时,这些缺陷对系统的实时性影响较小;但随着在总线上传输消息密度的增加,系统实时性能会急剧下降。为了满足汽车控制对实时性和传输消息密度不断增长的需要,改善CAN总线的实时性能非常必要。于是,传统CAN与时间触发机制相结合产生了TTCAN(Time-Triggered CAN),ISO11898-4己包含了TTCAN。 TTCAN总线和传统CAN总线系统的区别是:总线上不同的消息定义了不同的时间槽(Timer Slot)。
电子送经卷取系统是纺织工艺流程的一个重要环节,其控制性能的优劣直接影响着工艺过程及织机的效率。然而,通信又是该系统的关键技术,使得电子送经卷取系统通信的设计受到国内外纺织公司(德国的百格拉,意大利的舒美特等公司)的高度重视,提出了多种设计方案。然而,中国用户仍然面临着剑杆织机送经和卷取系统的价格昂贵、操作复杂,数据传输效率低等问题。
CAN(控制器局域网)总线是一种有效支持分布式控制和实时控制的串行通信网络,与其它通讯相比,其数据通信具有突出的灵活性和可靠性。ARM控制器可以满足一般的工业控制的需要,其具有减少系统硬件设计的复杂度和性价比高等优点而得到广泛应用。
1 送经卷取系统的总体设计
根据技术及经济需求,本设计选取ARM7-LPC2194为主控制器,作为CAN网络节点控制器,(其中LPC2194内部集成有四路CAN控制器而不必外接CAN控制器),应用CAN总线技术和接口电路,实现了节点间的高效数据交换和传输。系统总体框图如图1所示。

2 系统的硬件设计
2.1 系统CAN总线的实现
送经卷取系统主要由内部集成有四路CAN控制器的ARM7-LPC2194芯片、光电隔离器TLP2631、CAN收发器PCA82C250及送经卷取驱动器等元件组成,其结构如图2所示。

本设计分别将协议控制器通过串行数据输出线TX和串行数据输入线RX连接到光电隔离器TLP2631的3管脚和7管脚,实现了光电隔离。利用CAN收发器。PCA82C250将从光电隔离器TLP2631输出的差动的总线信号转换成逻辑信号电平并在RxD输出,接收到的串行数据通过与总线电缆相连的差动发送和接收总线终端CANH和CANL将数据送到总线协议控制器译码,完成了普通电平到显、隐性电平的传输。CAN总线获取显、隐性电平后,再经过PCA82C250和光电耦合器TLP2631将数据传输给送经驱动器、卷取驱动器的CAN接收端口,从而实现了基于CAN总线的数据传输。
2.2 系统抗干扰的设计
信号数据传输过程中,存在着扰动,为此本设计采取以下措施来克服干扰的影响:
1)为了满足光电隔离的要求,本设计在协议控制器和CAN收发器之间加入了TLP2631光电隔离器,有效地抑制了传输线中由于耦合电容、电感造成的干扰,实现了不同电平的转换。
2)为了匹配数据总线的阻抗和提高数据传输的抗干扰能力,在CAN总线终端的两端加有两个120 Ω总线阻抗匹配电阻。若不接这两个电阻,有时甚至无法通信。采用屏蔽双绞线以减少现场环境对结点的干扰。
3 系统的软件设计
送经卷取系统的软件设计是实现数据高效通信的关键,本文的软件部分主要由数据采集程序和CAN总线通信程序设计两部分组成。其中数据采集程序可参考文献,本文重点论述CAN通讯程序的设计。
3.1 开发环境
软件开发环境,选用ADS1.2集成开发环境,ADS是ARM微控制器集成开发工具。ADS1.2支持ARM10之前所有ARM系列,支持软件调试及JTAG硬件仿真调试,支持汇编语言、C/C++源程序;具有编译效率高、系统库功能强等特点;可以在WINDOWS 98、WINDOWS XP、WINDOWS 2000上运行。
控制器局域网
1. 基本定义与开发背景 12CAN总线全称控制器局域网(Controller Area Network),是德国博世公司为解决汽车电子系统中复杂线束问题而设计的串行通信协议。其核心目标是减少线束数量,实现多设备间高效、可靠的数据交换。
2. 核心特点
多主通信:所有节点平等,可随时主动发送数据,无需主从区分。
非破坏性仲裁:通过优先级(ID值越小优先级越高)解决总线冲突,高优先级节点可继续传输。
高可靠性:具备错误检测(CRC校验)、自动重发、故障节点隔离等功能。
灵活拓扑:支持双绞线、同轴电缆或光纤,成本低且抗干扰强。
3. 技术参数
通信速率与距离:最高1Mbps(40m内),远距离时速率降低(如5Kbps下可达10km)。
节点容量:理论支持无限节点,实际可达110个。
帧结构:短帧设计(8字节有效数据),包含数据帧、远程帧、错误帧等5种类型。
4. 应用领域
汽车电子:如发动机控制、车身网络等,是现代车辆的标准协议。
工业控制:分布式系统(如PLC、传感器网络)。
智能交通:交通信号控制、车载设备互联等。
5. 协议标准与物理层
国际标准:ISO 11898(高速CAN)和ISO 11519(低速容错CAN)。
电平逻辑:差分信号(CAN_H与CAN_L的电位差),显性电平(逻辑0)优先于隐性电平(逻辑1)。
总结:CAN总线以其高实时性、可靠性和灵活性成为分布式控制系统的核心通信方案,尤其在汽车电子和工业自动化领域占据主导地位。