文档库 最新最全的文档下载
当前位置:文档库 › CAN总线及其在PLC上的应用

CAN总线及其在PLC上的应用

CAN总线及其在PLC上的应用
CAN总线及其在PLC上的应用

CAN总线8个特点

CAN总线8个特点 一、CAN总线是什么 CAN总线是与串行总线不同的工业控制通信系统,是德国博世公司为提供汽车电子产品的升级服务,所有它更多的用于汽车控制。 为什么它非常适合汽车行业呢?有以下几个原因: ●CAN总线最远的数据传输距离为10公里,完全可以满足汽车的通讯控制需求。●CAN总线具有很强的抗干扰性,不容易出现问题,可以有效地保证驾驶员的安全。 ●can总线的数据传输速度快,理论峰值达到1Mbps,并且具有很高的数据通信即 时性。 ●一条CAN总线可以同时连接128个节点。对于一辆汽车,一个或两个CAN总线 可以完全完成汽车控制工作,这对于广阔的汽车行业来说是个再合适不过的选择。 二、CAN总线原理 ●需要传输的数据从一个节点通过CAN总线被广播到另一个节点,当一个节点发送 数据时,该节点的CPU将发送的数据和标识符发送到该节点的CAN芯片,并使它们处于就绪状态。

●当CAN芯片接收到总线分配时,消息进入发送状态,并且CAN芯片发送的数据 以预定的消息格式发送。此时,网络中的所有其他节点都处于接收状态,并且所有节点都首先接收该节点,并通过检测消息是否发送给自身来进行判断。 ●CAN总线是一种面向内容的地址方案,可实现控制系统的建立和灵活部署,并允 许在不修改硬件和软件的情况下将新节点添加到CAN总线。 三、CAN总线的8个特点 ●采用两线串行通讯方式,具有较强的错误检测能力,可以在高噪声干扰环境下工作●具有实时性强,传输距离长,电磁干扰强,成本低的优点。 ●可靠的错误处理和错误检测机制 ●节点具有严重错误时自动终止总线的功能 ●具有通过CAN控制器将多个控制模块连接到CAN总线以形成多主机本地网络的 优先级和仲裁功能。 ●消息的身份可以决定接收还是屏蔽消息 ●如果传输的信息已损坏,则可以自动重新传输 ●该消息不包含源地址和目标地址,仅使用标志来指示功能信息和优先级信息。

CAN总线通信接口及程序设计毕业设计

机电工程学院 毕业设计说明书设计题目: CAN总线通信接口及程序设计 2012 年 5 月21 日

目次

1 CAN总线介绍 1.1 CAN总线的发展背景 随着汽车产业的发展,需要一种更利于信息数据传输交换的通信协议。汽车中的各种电子控制系统需要较高的技术支持,而随着汽车的发展,汽车是否安全、是否便利、成本是否低、是否舒适都已成为人们首要考虑的事情。但是传统的汽车控制技术已不足以满足人们越来越高的要求,也已不适以汽车的发展方向。20世纪80年代,德国Bosch公司着手研究用于汽车产业的新的通信协议及控制方法,并首先提出了CAN总线控制系统。这一崭新的网络协议使得汽车产业得到了飞速的发展。 CAN总线最明显的特点是最大程度地减少了汽车控制系统中的线束的数量及长度,另外还大大提高了系统控制的可靠性和稳定性。在没有CAN总线协议之前,一辆汽车中用于各种控制通信的线束的总长度达3公里之长,严重影响了汽车的通信速度和通信精度。并且还使汽车的整体结构繁冗复杂,可靠性低,成本高,难以维护。因此CAN总线的出现无疑具有重大的意义和作用。作为一种新的网络通信协议,CAN总线不仅减少了汽车中线束的长度,还提高了汽车的整体性能,极大的促进了汽车产业的发展。 CAN总线刚被提出的时候,仅仅应用于汽车产业上,但CAN总线通信协议的性能和可靠性经过多年的检验,已被应用于越来越多的产业,比如航空、船舶、机床等产业设备方面。仅仅二十多年的发展,CAN总线便已成为自动化领域技术的潮流。 CAN总线是串行通信网络。传统运用的是基于R线构建分布式控制系统,这种传统的控制系统是基于通信节点的地址编码的,因此其结构复杂,直接导致系统的通信效率不高,并且控制的可靠性能低。CAN总线通过每个网络节点进行数据通信,每个节点可以互相收发数据,CAN总线协议对通信数据编码,不对节点地址编码,使各个节点可以同时接收到相同的数据,大大增强了数据通信的实时控制及传输性能。另一方面CAN总线使用起来非常方便。CAN总线的结构十分简单,仅有2根线(CANH和CANL)和外部设备相连,但CAN总线的内部却有非常复杂和智能的通信模块,可以方便快捷准确无误的进行数据

CAN总线在多机通信中的应用

CAN总线在多机通信中的应用 随着微处理器的发展,利用微处理器对工业生产过程进行控制已成为趋势。在工业控制过程中,由于大量数据信息的共享和传输,传统的串行通信模式已不能满足要求。在工业控制领域中,需要一种抗干扰性强、可靠性高、传输速度快和传输距离长的总线结构。CAN总线技术不仅满足上述要求,而且还能实现多点间的信息传递。本文使用PCI9810-cAN适配卡上的CAN总线组成局域网络,实现多微处理器间的信息传递和PC机对多处理器的检控、通信。 1 CAN总线简介 CAN(Controller Area Networks)总线,最早是由德国Bosch公司开发用于局域网控制的总线技术。CAN总线采用传统的双线串行通信方式,具有诊断能力,抗电磁干扰,其最陕传输速率可达1 Mb·s-1,最长通信距离可达10 km(此时的传输速率大约为40 kb·s-1)。在CAN总线组成的局域网络中,通信节点之间不采用主从方式,而是具有总线访问优先权,通信方式灵活,可实现点对点,一点对多点及广播方式传输数据。 2 系统通信模块的硬件设计 CAN总线是由PCI9810-CAN适配卡提供,本文主要完成通信节点的设计。通信节点不仅可以和PC机进行信息交换,还可独立与其他各节点通信。微处理器在需要和主机或其它节点通信时,其通过P0口向SJA1000T的寄存器发送信息,再由PCA82C250把信息传递到CAN总线上。主机和其他通信节点判断接收报文的标识符,将对接收到的信息作相应的处理,从而实现通信功能,。 在设计过程中,为了满足多微处理器间通信的实时性和可靠性要求,结合CAN控制器的特点,对图1作简单介绍: (1)收发器PCA82C250的引脚8(Rs)有3种工作方式:高速,斜率控制和待机。斜率控制方式具有抗射频干扰的功能,所以采用47 kΩ的电阻连接引脚8,实现斜率控制方式。 (2)图1中应为两个高速光电耦合隔离器件6N137,由于6N137输出引脚的驱动能力不够,需要连接一个约390 Ω的上拉电阻,以增加输出引脚的驱动能力。两个光电耦合隔离器件6N137的电源信号采用5 V的DC-DC隔离模块WRA0505P,以增强系统的抗干扰能力。 (3)收发器PCA82C250的CANH和CANL引脚各自由通过一个5 Ω的电阻与CAN总线相连,电阻起到一定的限流作用,保护PCA82C250免受CAN总线上的过流冲击。 (4)收发器PCA82C250的CANH和CANL引脚与电源地之间分别反接一个保护二极管和30 pF的电容,可以起到CAN总线的过压保护作用和过流冲击。 (5)CAN控制器SJA1000T输入方式有2种:Intel输入方式和Motorola输入方式。在此采用Intel输入方式,所以SJA1000T的MODE引脚接高电平。 (6)设计仅用到TX0和RX0引脚,根据SJA1000T 通信协议所要求的输入/输出逻辑电平关系,SJA1000T的TX1脚悬空,RX1引脚的电位必须维持在0.5 Vcc以上,所以在TX1引脚接上约6.8 kΩ和3.6 kΩ分压电阻。 (7)微处理器C51的引脚P2.7接CAN控制器SJA1000T的片选信号/CS,可知CAN控制器SJA1000T 的寄存器首地址为8000H。处理器C41和CAN控制器SJA1000T共用12 MHz的晶振,以提高通信速率。通过上述分析,设计的电路原理图,。 3 系统通信模块的软件设计通信模块的软件由3部分组成:初始化程序,发送程序和接受程序。仅这3部分程序,就能完成通信节点间信息的传递。要将CAN总线应用于更复杂的通信系统中,还要考虑CAN总线的错误处理,超载处理等功能和节点间的计算方法。由于每个通信节点都有自己的MCU,所以它们之间可以自由通信。通过CAN收发器PCA82C250的引脚CANH和CANL对总线输出,使总线表现“显性”,这时可发送信息。判断总线表现为“显性”时,就要为接受信息做好准备。3.1 CAN控制器SJA1000T初始化程序该程序首先进入复位状态,设置SJAl000T的模式寄存器MR为Basic CAN模式,验收码寄存器ACR和屏蔽码寄存器AMR,再设置定时器0和定时器1,输出控制寄存器OCR,

CAN总线的特点有哪些

CAN总线的特点有哪些 CAN 总线的特点有哪些?(1) 多主控制在总线空闲时,所有的单元都可开始发送消息(多主控制)。最先访问总线的单元可获得发送权(CSMA/CA 方式*1)。多个单元同时开始发送时,发送高优先级ID 消息的单元可获得发送权。 (2) 消息的发送在CAN 协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连的单元都可以开始发送新消息。两个以上的单元同时开始发送 消息时,根据标识符(Identifier 以下称为ID)决定优先级。ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始 发送消息时,对各消息ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行 接收工作。(3) 系统的柔软性与总线相连的单元没有类似于地址的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。(4) 通信速度根据整个网络的规模,可设定适合的通信速度。在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其它 的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可 以有不同的通信速度。(5) 远程数据请求可通过发送遥控帧请求其他单元发送数据。(6) 错误检测功能-错误通知功能-错误恢复功能所有的单元都可以检测错误(错误检测功能)。检测出错误的单元会立即同时通知其他所有单元(错误 通知功能)。正在发送消息的单元一旦检测出错误,会强制结束当前的发送。 强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢 复功能)。(7) 故障封闭CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总

CAN总线通信系统上位机通信软件设计

目次 1 绪论 (1) 1.1 研究背景 (1) 1.2 研究目的和意义 (1) 1.3 国内外发展现状 (2) 1.4 论文结构安排 (2) 2 CAN总线协议分析 (3) 2.1 CAN-bus 规范V2.0 版本 (3) 2.2 CAN控制器SJA1000 (6) 2.3 本章小结 (6) 3 开发环境介绍 (6) 3.1 开发环境 (6) 3.2 CANUSB—Ⅰ/Ⅱ智能CAN接口卡 (7) 3.3 本章小结 (8) 4 CAN通信软件设计 (8) 4.1 驱动程序安装 (8) 4.2 CAN接口卡函数库说明 (8) 4.3 界面设计 (11) 4.4 软件功能实现 (16) 4.5 本章小结 (22) 5 测试及发布 (23) 5.1 软件功能测试 (23) 5.2 程序发布 (24) 5.3 本章小结 (27) 结论 (28) 致谢 (29) 参考文献 (30)

1绪论 现场总线,就是应用于工业现场,采用总线方式连接多个设备,用于传输工业现场各种数据的一类通信系统[1]。CAN(Controller Area Network)总线是现场总线的一个分支,因其具有很高的可靠性和性能价格比,已经成为国际标准,在工业过程监控设备的互连方面得到广泛应用,受到工业界的广泛重视,并已被公认为几种最有前途的现场总线之一。 1.1 研究背景 随着计算机硬件、软件技术及集成电路技术的迅速发展,工业控制系统已成为计算机技术应用领域中最具活力的一个分支,并取得了巨大进步。由于对系统可靠性和灵活性的高要求,工业控制系统的发展主要表现为:控制多元化,系统面向分散化,即负载分散、功能分散、危险分散和地域分散。分散式工业控制系统就是为适应这种需要而发展起来的。这类系统是以微型机为核心,将5C技术——Computer(计算机技术)、Control(自动控制技术)、Communication(通信技术)、CRT(显示技术)和Change(转换技术)紧密结合的产物。它在适应范围、可扩展性、可维护性以及抗故障能力等方面,较之分散型仪表控制系统和集中型计算机控制系统都具有明显的优越性。典型的分散式控制系统有现场设备、接口与计算设备以及通信设备组成,现场总线(Field bus)就是在这种背景下产生的[2]。 1.2 研究目的和意义 从19世纪发明汽车以来,人们就一直在乘坐的舒适性、安全性和操控性方面不停地对其进行改革和创新,车上的电子设备也越来越多。这些电子设备大多是需要协同工作的,这就要求各部件之间能互相通信[1]。 为了解决汽车通信问题,CAN—bus应运而生,凭借可靠、实时、经济和灵活的特点,CAN总线很快在其他行业得到广泛应用,特别是在工业控制领域更是如鱼得水。现在CAN—bus总线已经成为全球范围内最重要的现场总线之一,甚至引领着现场总线的发展。 工业控制系统涉及众多软、硬件模块,给程序的设计和调试带来一定难度。尤其作为上、下位机间联系纽带的CAN总线通信部分,一旦在整个系统运行期间发生问题,若没有良好的人机界面和测试手段,将很难及时准确地找到并排除故障。同样,在控制系统的研制过程中,为了尽可能地减少故障和缩小故障范围,也应设计相应的测试

CAN总线的编码方式

对CAN总线的常见编码格式解析 我们在进行CAN总线的通讯设计过程中,对于通讯矩阵的建立,我们常常会选择一种编码方式,最常见的编码格式是Intel格式和Motorola格式。但是往往人们都是以一种习惯去选择,究竟两种格式具体的区别在哪里呢?我们需要明白两种格式对信号是如何排布的,又是按照什么顺序进行正确解析的。本篇文章就是作者根据在整理通讯矩阵和dbc文件中遇到的一些问题,提出的自己的一些体会和见解,希望大家通过此篇文章对两种格式有更加深刻的理解。 我们在设计初期,都会首先选择一种编码格式,这种选择大多都是根据设计者自己的习惯,具体Intel格式和Motorola格式哪个更有优势的问题,在这里没有区别。但是就使用者而言,需要对接收到数据帧进行正确的解析,否则就无法得到想要的信号。下面我们就来说一下两种格式的区别。 首先我们需要明确一点,无论是Intel格式还是Motorola格式,在每个字节中,数据传输顺序都是从高位(msb)传向低位(lsb)。如下图所示。 byte x bit(8*x+7) bit(8*x) msb lsb 注:x=0,1,2,3 (7) 图1 一般主机厂设计人员在设计初期都会定义好字节的发送顺序,定义Byte0为LSB,Byte7为MSB。第一种情况:先发送Byte0,然后Byte1到Byte7;第二种情况:先发送Byte7,然后Byte6到Byte0。根据我了解到的大部分主机厂都会采取第一种发送方法,很少会采取后者。我们在用CANoe中的CANdb++编辑数据库时,肯定会用到如下图所示的编辑界面。

图2 结合工作中的出现的问题,有的网络设计者会在排布信号的时候出现误区。上图中用的是比较常规的排布方式,即位在字节中的索引是从右至左,还有一种是颠倒过来的,即从左至右。如下图所示。 图3 我们现在以第一种矩阵模式进行说明。在这种情况下,如果主机厂在初期定义先发送LSB,再发送的MSB的形式,那么数据信号可以按照从上到下,从左到右的顺序发送,非常方便,接收器解析起来也比较容易。如果主机厂定义先发送MSB再发送LSB的形式,那样数据传输比较复杂,所以一般都不建议用这种方案。至于设计者常出现的错误我们在下文中会重点说明,下面我们先了解一下Intel 格式和Motorola格式在CANdb++中的区别。

基于STC89C51的CAN总线点对点通信模块设计

基于STC89C51的CAN总线点对点通信模块设计 [导读]随着人们对总线对总线各方面要求的不断提高,总线上的系统数量越来越多,继而出现电路的复杂性提高、可靠性下降、成本增加等问题。为解决上述问题,文中阐述了基于SJAl000的CAN总线通信模块的实现方法,该方法以PCA82C250作为通信模块的总线收发器,以SITA-l000作为网络控制器。并以STCSTC89C5l单片机来完成基于STC89C5l的CAN通信硬件设计。文章还就平台的初始化、模块的发送和接收进行了设计和分析。通过测试分析证明,该系统可以达到CAN的通信要求,整个系统具有较高的实用性。 0 引言 现场总线是应用在生产最底层的一种总线型拓扑网络,是可用做现场控制系统直接与所有受控设备节点串行相连的通信网络。在工业自动化方面,其控制的现场范围可以从一台家电设备到一个车间、一个工厂。一般情况下,受控设备和网络所处的环境可能很特殊,对信号的干扰往往也是多方面的。但要求控制则必须实时性很强,这就决定了现场总线有别于一般的网络特点。此外,由于现场总线的设备通常是标准化和功能模块化,因而还具有设计简单、易于重构等特点。 1 CAN总线概述 CAN (Controller Area Network)即控制器局域网络,最初是由德国Bosch公司为汽车检测和控制系统而设计的。与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。其良好的性能及独特的设计,使CAN总线越来越受到人们的重视。由于CAN总线本身的特点,其应用范围目前已不再局限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。目前,CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。它的直线通信距离最大可以达到l Mbps/30m.其它的节点数目取决于总线驱动电路,目前可以达到110个。 2 CAN系统硬件设计 图1所示是基于CAN2.0B协议的CAN系统硬件框图,该系统包括电源模块、MCU部分、CAN控制器、光电耦合器、CAN收发器和RS232接口。硬件系统MCU采用STC89C5l,CAN控制器采用SJAl000,CAN收发器采用PCA82C250,光耦隔离采用6N137。

CAN总线的性能特点

CAN总线的性能特点 由于采用了许多的新技术和独特的设计,CAN总线与一般的通信总线相比,它的数据通信具有突出的可靠性、实时性和灵活性。其性能特点可以概括如下: (1)CAN是到目前为止唯一具有国际标准的现场总线; (2)CAN为“多主”工作方式,网络上任一节点均可在任意时刻主动的向网络上的节点发送信息,不分主从。 (3)在报文标识符上,CAN上的节点分成不同的优先级,可满足不同的实时要求,优先级高的数据最多可在134us内得到传输。 (4)CAN采用非破坏性总线仲裁技术。当多个节点同时向总线发送信息时,优先级较低的节点会主动退出发送,而最高优先级的节点可不受影响的继续传输数据,从而大大的节省了总线冲突仲裁时间。 (5)CAN节点只需要通过对报文的标识符滤波即可实现点对点,一点对多点及全局广播等几种方式传送接收数据,无需专门的“调度”。 (6)CAN上的节点的个数主要取决于总线驱动电路,目前可达110个。在标准“帧”报文标识符(CAN2.0A)可达2032种,而在扩展帧的报文标识符(CAN2.OB)几乎不受限制。 (7)CAN报文采用“短帧”结构,传输时间短,受干扰概率低,具有极好地检错效果。 (8)CAN的每帧信息都有CRC校验以及其他检错措施,具有很

好的检错效果。 (9)CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上的其它节点的操作不受影响。 (10)CAN的最大通信速率为1Mbps(当总线长为40m时),直接通信距离可达10km(而当通信速率为5Kbps时),其通信距离与通信速率之间的关系如下图所示: 图 1 CAN总线位的数值表示 (10)CAN总线具有较高的性能价格比。它结构简单,器件容易购置,每个节点的价格较低,而且开发技术容易掌握,能充分利用现有的单片机开发工具。

CAN总线基础(1)— CAN简介及特点

1.CAN是什么? CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。 现在,CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。 下图是车载网络的构想示意图。CAN 等通信协议的开发,使多种LAN 通过网关进行数据交换得以实现。

2.CAN的应用实例 3.总线拓扑图 CAN 控制器根据两根线上的电位差来判断总线电平。总线电平分为显性电平和隐性电平,二者必居其一。发送方通过使总线电平发生变化,将消息发送给接收方。 CAN的连接示意图

4.CAN的特点 CAN 协议具有以下特点: (1) 多主控制 在总线空闲时,所有的单元都可开始发送消息(多主控制)。 最先访问总线的单元可获得发送权(CSMA/CA 方式)。 多个单元同时开始发送时,发送高优先级ID 消息的单元可获得发送权。 (2) 消息的发送 在CAN 协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连的单元都可以开始发送新消息。两个以上的单元同时开始发送消息时,根据标识符(Identifier 以下称为ID)决定优先级。ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消息ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。(3) 系统的柔软性 与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。 (4) 通信速度 根据整个网络的规模,可设定适合的通信速度。 在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通信速度。 (5) 远程数据请求 可通过发送“遥控帧” 请求其他单元发送数据。 (6) 错误检测功能·错误通知功能·错误恢复功能 所有的单元都可以检测错误(错误检测功能)。 检测出错误的单元会立即同时通知其他所有单元(错误通知功能)。 正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)。 (7) 故障封闭 CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。 (8) 连接 CAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。 1.CAN的错误状态类型 单元始终处于3 种状态之一。

CAN单节点的自通信程序

/****************************************************************************** ******** 项目:基于CAN总线的自收发通信 说明:主程序部分 功能:外部按键每按下一次,计数值加一,同时计数值在数码管1、2上显示。 在计数值加一后,会使CAN总线上重新发送数据,此时接收端的计数值也同步更新显示 在数码管3、4上(为便于观察,接收显示的值比发送值大3)。 // CAN主要参数: PeliCAN模式,扩展帧EFF模式 // 29位标示码结构: // 发送数据结构:计数结果,0x02,0x03,0x04,0x05,0x06,0x07,0x08 // 接收数据结构: 待显示数据+其它7个字节的数据 // 本节点的接收代码寄存器值: 0x11,0x22,0x33,0x44 // 本节点的屏蔽代码寄存器值:0x00,0x00,0x00,0x00;可以接收本节点的数据 // 目的节点地址:0x11,0x22,0x33,0x44;可以被本节点接收 模块:can_self.c 作者:PIAE GROUP 注释修改者:特权 修改时间:08.6.17. ******************************************************************************* *******/ /***感谢PIAE工作组提供的源码,这里特权根据自己的编程习惯做了一些修改并添加详细注释***/ #include #include #include "define.h" /////////////////////////////////////////////// //函数:inter0_key (外部中断INT0) //说明:INT0按键为计数按键 // 每按下一次键,计数值加一 //入口:按键中断 //返回:按键加一 /////////////////////////////////////////////// void inter0_key(void) interrupt 0 { EA = 0; //关闭中断 Txd_data++; //计数结果增1,即待发送的数据增1 TXD_flag = 1; //发送数据标志位置位,即重新发送数据以更新数码管的显示数值 EA = 1; //重新开启中断 } ///////////////////////////////////////////////

几种总线的总结之CAN 总线

CAN总线 CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO118?8)。是国际上应用最广泛的现场总线之一。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境 基本概念 CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。现在,CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。 编辑本段CAN总线优势 CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之目前许多RS-485基于R线构建的分布式控制系统而言, 基于CAN总线的分布式控制系统在以下方面具有明显的优越性: 网络各节点之间的数据通信实时性强 首先,CAN控制器工作于多主方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差; 缩短了开发周期 CAN总线通过CAN收发器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会在出现在RS-485网络中的现象,即当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使得总线处于“死锁”状态。而且,CAN具有的完善的通信协议可由CAN

CAN总线特点与规范

CAN总线特点与规范 CAN 总线规范: CAN总线属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络,位速率可高达1MBPS。可以应用在汽车控制系统,自动化电子领域中的各种部件(传感器,灯光,执行机构等)与主机连接组成CAN 网络。本章介绍通过CAN总线与液晶显示器的连接。 CAN 具有下列主要特性: 1 多主站依据优先权进行总线访问。 总线开放时,任何单元均可开始发送报文,具有最高优先权的报文的单元赢得总线访问权。利用这个特点可以用液晶显示器作为多主机的公用监视器,不用每台主机配一个监视器,从而节约系统成本。 2 无破坏性的基于优先权的仲裁。 网络上的每个主机可以同时发送,哪个主机的数据可以发送出去取决于主机所发送报文的标识符决定的优先权的大小,没有发送出去的帧可自动重发。以后将介绍数据怎样仲裁。 3 借助接收滤波的多地址帧传送 收到报文的标识符与本机的接收码寄存器与屏蔽寄存器相比较,符合的报文本机才予以接收。 4.远程数据请求。 网络上的每个接点可以发送一个远程帧给另一个接点,请求该接点的数据帧,该数据帧与对应的远程帧以相同的标识符ID命名。 5.配置灵活性 通过八个寄存器进行接点配置,每个接点可以接收,也可以发送。 6.全系统数据相容性 7.错误检测和出错信令 有五种错误类型,每个接点都设置有一个发送出错计数器和一个接收出错计数器。发送接点和接收接点在检测到错误时,出错计数器根据一定规则进行加减,并根据错误计数器数值发送错误标志(活动错误标志和认可错误标志),当错误计数器数值大于255时,该接点变为“脱离总线”状态,输出输入引脚浮空,既不发送,也不接收。 CAN 中的总线数值为两种互补逻辑数值:“显形”和“隐性”,用差分电压表示。 “显形”表示逻辑“0”,显性状态用大于最小阈值的差分电压表示。 “隐性”表示逻辑“1”,这时输出的差分电压Vdiff 近似为0,Vcanh ,Vcanl固定于平均电压电平,显性位与隐性位同时发送时,最后总线数值为显性。在总线空闲或隐性位期间, 平均电压

CAN 总线通信原理分析

CAN总线通信原理分析 CAN(Controller Area Network)总线,即控制器局域网总线,在工业控制、医疗电子、家用电器及传感器领域都得到了广泛的应用。目前国内外文献中针对CAN总线协议分析的文章主要是针对CAN协议的帧结构以或位时序特性进行分析,如文献鲜有从通信的角度对CAN总线协议进行分析,鲜有从工程应用的角度出发,对CAN总线的通信机制进行深入分 析的文章。 1 CAN应用特性及结构构成 CAN总线协议具有两个国际标准,分别是ISO11898和ISO11519。其中,IS011898是通信速率为125 kbps~1Mbps的高速CAN通信标准,属于闭环总线,总线最大长度为40 m/1Mbps。ISO11519定义了通信速率为10~125kbps的低速CAN通信标准,属于开环总线,最大长度为1 km/40kbps。由于电气特性限制,即总线分布电容和分布电阻对总线波形的影响,CAN总线上最大节点数目为110个。对于应用工程师,只需正确配置收发端 的波特率和位参数即可实现收发节点的数据同步。通过CAN控制器硬件对报文的标示符滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据。同时,由于CAN报文采用短帧结构,并且每帧均包含CRC校验部分,保证了数据出错率极低。CAN总线在工 程应用中结构构成如图1所示。 系统实现中的CAN应用层、操作系统(在无操作系统的应用中以后台程序实现)及驱动程序共同实现了ISO参考模型中的应用层功能。其中,CAN应用层定义ID分组、发送数据装包、接收数据处理以及应用层总线安全监测;操作系统/后台程序用于在CAN中断到达后调度CAN驱动程序对数据进行处理;驱动程序包括初始化(控制器工作状态设置、波特率设置、验收滤波器配置)、收发驱动及异常处理程序。 对于传输介质层,需要根据环境干扰噪声、总线长度等来确定。在强干扰噪声的情况下必须采用屏蔽线;由于分布电容造成的总线波形失真及分布电阻造成的总线电平的衰减,总线长度需要考虑采用的传输介质的分布电阻和分布电容特性;同时,若采用高速总线还需通过实验确定总线的匹配电阻值。 对于CAN驱动层和应用层,驱动程序包括CAN初始化(包括硬件使能、波特率设置、控制器工作模式设置及验收滤波器ID表配置)、收/发驱动并向上层提供接口函数,其中需要说明的是验收滤波器的ID表配置需要根据应用层对系统ID的分组来进行;CAN应用层 根据总线上各节点之间的数据收发关系进行数据包的ID分组、发送数据装包、接收数据处

CAN总线简介及其特点

摘要:CAN总线的数据通讯具有突出的可靠性、实时性和灵活性,其总线规范已经成为国际标准,被公认为几种最有前途的总线之一。本文在总结CAN总线特点的基础上,对其通信介质访问方式进行了详细的描述,介绍了它在应用中需要解决的技术问题以及目前应用状况。 关键词:CAN总线;通信介质访问控制;实时;应用技术 1CAN总线简介及其特点 CAN网络(ControllerAreaNetwork)是现场总线技术的一种,它是一种架构开放、广播式的新一代网络通信协议,称为控制器局域网现场总线。CAN网络原本是德国Bosch公司为欧洲汽车市场所开发的。CAN推出之初是用于汽车内部测量和执行部件之间的数据通信。例如汽车刹车防抱死系统、安全气囊等。对机动车辆总线和对现场总线的需求有许多相似之处,即能够以较低的成本、较高的实时处理能力在强电磁干扰环境下可靠地工作。因此CAN总线可广泛应用于离散控制领域中的过程监测和控制,特别是工业自动化的底层监控,以解决控制与测试之间的可靠和实时数据交换。 CAN总线有如下基本特点: * CAN协议最大的特点是废除了传统的站地址编码,代之以对数据通信数据块进行编码,可以多主方式工作; * CAN采用非破坏性仲裁技术,当两个节点同时向网络上传送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据,有效避免了总线冲突; * CAN采用短帧结构,每一帧的有效字节数为8个(CAN技术规范2.0A),数据传输时间短,受干扰的概率低,重新发送的时间短; * CAN的每帧数据都有CRC效验及其他检错措施,保证了数据传输的高可靠性,适于在高干扰环境中使用; * CAN节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其它操作不受影响; * CAN可以点对点、一点对多点(成组)及全局广播集中方式传送和接受数据; * CAN总线直接通讯距离最远可达10km/5Kbps,通讯速率最高可达1Mbps/40m; * 采用不归零码(NRZ—Non-Return-to-Zero)编码/解码方式,并采用位填充(插入)技术。 详细的CAN协议可参见CAN技术规范2.0a和2.0b以及CAN国际标准ISO11898(参考文献3)。

can总线通信程序

CAN总线通信程序 // CAN <==> UART的协议转换器 // 说明: // 1,单片机使用P89C61X2BA // --晶振11.0592MH Z // --CAN总线中断使用单片机的中断0,外部有上拉电阻,波特率可以设定 // 2,CAN总线发送采用查询方式,接收采用中断方式 // 3,看门狗复位时间1.2S // 4,SJA1000晶振8MHZ,Peil模式 // 5,串口中断接收,查询发送,波特率可设置 // 6,×××当串口收到数据后,每8个数一组打包,通过CAN总线发送出去 // // -----10.16日,重新修改程序完成以下功能----- // ----此功能已经改为,每收到一帧数据,启动一次CAN传输,传输字节数等于串口收到的数据 // ----串行帧的帧间界定通过当前波特率下传输5个字节为时间间隔,具体为当顺序接收到的任意两个数据,它们之间的时间间隔大于5个字节传送时间,认为这两个数据分属于两个不同的帧 // 7,当CAN总线每接收一帧信息后,通过串口发送出去 // 改为可以识别CAN的报文字节长度,即串口只发送CAN报文长度个字节 // 8,看门狗芯片MAX1232CPA,硬件溢出时间1.2S // //------------------------------------------------------- #include #include #include #include "CANCOM.h" unsigned char UART_TX_Data[8] = {0,1,2,3,4,5,6,7}; unsigned char CAN_TX_Data[8] = {0,1,2,3,4,5,6,7};

CAN总线传输用什么线缆

C A N总线传输用什么线 缆 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

1、周立功关于CAN传输距离 2、CAN芯片选型 CAN总线传输用什么线缆 用特性阻抗为120Ω的总线电缆! 200米以内的距离,建议采用电缆型号规格——STP-120Ω(forRS485&CAN)onepair20AWG. ---------------------------------------------------------------------- 通用型现场总线系列电缆 特性阻抗为120Ω的双绞屏蔽电缆广泛用于RS485/422、CANBUS等总线,该系列电缆规格很多,请提供电缆的敷设环境、通信速率、最大无中继传输距离等参数,我们将依照具体情况推荐最适当的产品。一般推荐如下: 普通双绞屏蔽型电缆STP-120Ω(forRS485&CAN)onepair20AWG,电缆外径7.7mm左右,蓝色护套。适用于室内、管道及一般工业环境。使用时,屏蔽层一端接地! 普通双绞屏蔽型电缆STP-120Ω(forRS485&CAN)onepair18AWG,电缆外径8.2mm左右,灰色护套。适用于室内、管道及一般工业环境。使用时,屏蔽层一端接地! 铠装双绞屏蔽型电缆ASTP-120Ω(forRS485&CAN)onepair18AWG,电缆外径12.3mm左右,黑色护套。可用于干扰严重、鼠害频繁以及有防雷、防爆要求的场所。使用时,建议铠装层两端接地,最内层屏蔽一端接地! CC-Link的总线电缆是特性阻抗为110±10Ω的3芯绞合屏蔽电缆,国产型号规格:STP-110Ω(forCANopen&CC-Link)3C×20AWG,使用时,屏蔽层应只在一端接地! 变频器、动力电缆、变压器、大功率电机等往往伴随着低频干扰,而这种干扰是用高导电率材料做屏蔽层的电缆无法解决的,包括原装的进口电缆。只有用高导磁率材料(如钢带、钢丝)做的屏蔽层才能有效抑制低频干扰。 最常用的方法就是给电缆套上钢管或直接采用高导磁率材料制成的铠装型电缆——ASTP-120Ω(forRS485&CAN)onepair18AWG,电缆外径12.3mm左右。可用于干扰严重、鼠害频繁以及有防雷、防爆要求的场所。使用时,建议铠装层两端接地,最内层屏蔽一端接地! 雷电的等效干扰频率在100k左右,属于低频干扰。 《GB50057-94建筑物防雷设计规范》第6.3.1条:......在需要保护的空间内,当采用屏蔽电缆时其屏蔽层应至少在两端并宜在防雷区交界处做等电位连接,当系统要求只在一端做等电位连接时,应采用两层屏蔽,外层屏蔽按前述要求处理。

CAN总线通信系统上位机通信软件的设计说明

. .. .

目次 1 绪论 (1) 1.1 研究背景 (1) 1.2 研究目的和意义 (1) 1.3 国外发展现状 (2) 1.4 论文结构安排 (2) 2 CAN总线协议分析 (3) 2.1 CAN-bus 规V2.0 版本 (3) 2.2 CAN控制器SJA1000 (6) 2.3 本章小结 (6) 3 开发环境介绍 (6) 3.1 开发环境 (6) 3.2 CANUSB—Ⅰ/Ⅱ智能CAN接口卡 (7) 3.3 本章小结 (8) 4 CAN通信软件设计 (8) 4.1 驱动程序安装 (8) 4.2 CAN接口卡函数库说明 (8) 4.3 界面设计 (11) 4.4 软件功能实现 (16) 4.5 本章小结 (22) 5 测试及发布 (23) 5.1 软件功能测试 (23) 5.2 程序发布 (24) 5.3 本章小结 (27) 结论 (28) 致29 参考文献 (30)

1绪论 现场总线,就是应用于工业现场,采用总线方式连接多个设备,用于传输工业现场各种数据的一类通信系统[1]。CAN(Controller Area Network)总线是现场总线的一个分支,因其具有很高的可靠性和性能价格比,已经成为国际标准,在工业过程监控设备的互连方面得到广泛应用,受到工业界的广泛重视,并已被公认为几种最有前途的现场总线之一。 1.1研究背景 随着计算机硬件、软件技术及集成电路技术的迅速发展,工业控制系统已成为计算机技术应用领域中最具活力的一个分支,并取得了巨大进步。由于对系统可靠性和灵活性的高要求,工业控制系统的发展主要表现为:控制多元化,系统面向分散化,即负载分散、功能分散、危险分散和地域分散。分散式工业控制系统就是为适应这种需要而发展起来的。这类系统是以微型机为核心,将5C技术——Computer(计算机技术)、Control(自动控制技术)、Communication(通信技术)、CRT(显示技术)和Change(转换技术)紧密结合的产物。它在适应围、可扩展性、可维护性以及抗故障能力等方面,较之分散型仪表控制系统和集中型计算机控制系统都具有明显的优越性。典型的分散式控制系统有现场设备、接口与计算设备以及通信设备组成,现场总线(Field bus)就是在这种背景下产生的[2]。 1.2研究目的和意义 从19世纪发明汽车以来,人们就一直在乘坐的舒适性、安全性和操控性方面不停地对其进行改革和创新,车上的电子设备也越来越多。这些电子设备大多是需要协同工作的,这就要求各部件之间能互相通信[1]。 为了解决汽车通信问题,CAN—bus应运而生,凭借可靠、实时、经济和灵活的特点,CAN总线很快在其他行业得到广泛应用,特别是在工业控制领域更是如鱼得水。现在CAN—bus总线已经成为全球围最重要的现场总线之一,甚至引领着现场总线的发展。 工业控制系统涉及众多软、硬件模块,给程序的设计和调试带来一定难度。尤其作为上、下位机间联系纽带的CAN总线通信部分,一旦在整个系统运行期间发生问题,若没有良好的人机界面和测试手段,将很难及时准确地找到并排除故障。同样,在控制系统的研制过程中,为了尽可能地减少故障和缩小故障围,也应设计相应的测试软

相关文档
相关文档 最新文档