CAN总线的应用研究详解.docx

上传人:b****6 文档编号:7070445 上传时间:2023-01-16 格式:DOCX 页数:8 大小:56.34KB
下载 相关 举报
CAN总线的应用研究详解.docx_第1页
第1页 / 共8页
CAN总线的应用研究详解.docx_第2页
第2页 / 共8页
CAN总线的应用研究详解.docx_第3页
第3页 / 共8页
CAN总线的应用研究详解.docx_第4页
第4页 / 共8页
CAN总线的应用研究详解.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

CAN总线的应用研究详解.docx

《CAN总线的应用研究详解.docx》由会员分享,可在线阅读,更多相关《CAN总线的应用研究详解.docx(8页珍藏版)》请在冰豆网上搜索。

CAN总线的应用研究详解.docx

CAN总线的应用研究详解

CAN总线的应用研究

摘要

控制器局域网络CAN(ControlAreaNetwork)总线是最流行的现场总线之一,是一种有效支持分布式控制或实时控制的串行通信网络,具有通信灵活、实时性高、可靠性高、较强的抗干扰性以及良好的错误检测能力等优点。

对CAN总线技术的特性进行了阐述,研究了CAN总线技术的应用,并对其发展前景进行了分析探讨。

一、CAN总线背景介绍

CAN是控制器局部网(CAN-CONTROLLERAREANETWORK)的缩写,是BOSCH公司为现代汽车应用领先推出的一种多主机局部网,由于其卓越性能现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门。

控制器局部网将在我国迅速普及推广。

随着计算机硬件、软件技术及集成电路技术的迅速发展,工业控制系统已成为计算机技术应用领域中最具活力的一个分支,并取得了巨大进步。

由于对系统可靠性和灵活性的高要求,工业控制系统的发展主要表现为:

控制面向多元化,系统面向分散化,即负载分散、功能分散、危险分散和地域分散。

分散式工业控制系统就是为适应这种需要而发展起来的。

这类系统是以微型机为核心,将5C技术--COMPUTER(计算机技术)、CONTROL(自动控制技术)、COMMUNICATION(通信技术)、CRT(显示技术)和CHANGE(转换技术)紧密结合的产物。

它在适应范围、可扩展性、可维护性以及抗故障能力等方面,较之分散型仪表控制系统和集中型计算机控制系统都具有明显的优越性。

现场总线的研究与应用已成为工业数据总线领域的热点。

尽管目前对现场总线的研究尚未能提出一个完善的标准,但现场总线的高性能价格比将吸引众多工业控制系统采用。

同时,正由于现场总线的标准尚未统一,也使得现场总线的应用得以不拘一格地发挥,并将为现场总线的完善提供更加丰富的依据。

控制器局部网CAN(CONTROLLERAERANETWORK)正是在这种背景下应运而生的。

由于CAN为愈来愈多不同领域采用和推广,导致要求各种应用领域通信报文的标准化。

现在,CAN的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。

现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。

它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。

二、国内外现状

CAN总线在组网和通信功能上的优点以及它的高性能价格比决定了它在许多领域都有广阔的应用前景和发展潜力。

大型仪器设备系统复杂,对多种信息进行采集、处理、控制、输出等操作。

如医疗器械CT断层扫描仪,为保证其可靠工作,在数据通信上要求功能块间可随意进行数据交换、通信能以广播方式进行、简单经济的硬件接口、通信线尽量少、抗干扰能力强、可靠性高并能自动进行故障识别和自动恢复。

但是,这些要求长时间未能得到很好的解决,直至CAN总线技术出现才提供了一个较好的解决方法。

测控系统中离不开传感器,由于各类传感器的工作原理不同,其最终输出的电量形式也各不相同,为了便于系统连接,通常要考虑将传感器的输出变换成标准电压或电流信号。

即便是这样,在与计算机相连时,必须增加A/D环节。

如果传感器能以数字形式输出,就可以方便地与计算机直接相连,从而简化系统结构,提高精度。

这种传感器与计算机相连的总线可称为传感器总线。

实际上传感器总线仍属于现场总线,关键的问题在于如何将总线接口与传感器一体化。

在广泛的工业控制领域,CAN总线可作为现场设备级的现场总线,与其它总线相比,具有很高的可靠性和性价比。

这必将是CAN技术开发应用的一个主要方向。

在以往的国内测控领域,由于没有更好的选择,大多采用BITBUS或RS-485作为通信总线。

其不足主要有:

一主多从,无冗余;数据通信为命令响应,传输率低;错误处理能力弱。

采用CAN总线技术后即可解决上述问题。

CAN网络上任何一个节点均可作为主节点主动地与其它节点交换数据;CAN网络节点的信息帧可以分出优先级,这对于有实时性要求的控制提供了方便;CAN的物理层及数据链路层有独特的设计技术,使其在抗干扰以及错误检测等方面的性能均大大提高。

CAN的上述特点使其成为诸多工业测控领域中首选的现场总线之一。

三、CAN总线特点

1、完成对通信数据的成帧

处理

  CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。

2、使网络内的节点个数在理论上不受限制

  CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。

采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义2或2个以上不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。

数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。

同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。

CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。

CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。

3、可在各节点之间实现自由通信

  CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。

CAN总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。

CAN总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数通讯。

CAN总线插卡可以任意插在PCATXT兼容机上,方便地构成分布式监控系统。

4、结构简单

  只有2根线与外部相连,并且内部集成了错误探测和管理模块。

5、传输距离和速率

CAN总线特点:

(1)数据通信没有主从之分,任意一个节点可以向任何其他(一个或多个)节点发起数据通信,靠各个节点信息优先级先后顺序来决定通信次序,高优先级节点信息在134μs通信;

(2)多个节点同时发起通信时,优先级低的避让优先级高的,不会对通信线路造成拥塞;(3)通信距离最远可达10KM(速率低于5Kbps)速率可达到1Mbps(通信距离小于40M);(4)CAN总线传输介质可以是双绞线,同轴电缆。

CAN总线适用于大数据量短距离通信或者长距离小数据量,实时性要求比较高,多主多从或者各个节点平等的现场中使用。

四、CAN总线技术介绍

4.1位仲裁

  要对数据进行实时处理,就必须将数据快速传送,这就要求数据的物理传输通路有较高的速度。

在几个站同时需要发送数据时,要求快速地进行总线分配。

实时处理通过网络交换的紧急数据有较大的不同。

一个快速变化的物理量,如汽车引擎负载,将比类似汽车引擎温度这样相对变化较慢的物理量更频繁地传送数据并要求更短的延时。

  CAN总线以报文为单位进行数据传送,报文的优先级结合在11位标识符中,具有最低二进制数的标识符有最高的优先级。

这种优先级一旦在系统设计时被确立后就不能再被更改。

总线读取中的冲突可通过位仲裁解决。

如图2所示,当几个站同时发送报文时,站1的报文标识符为011111;站2的报文标识符为0100110;站3的报文标识符为0100111。

所有标识符都有相同的两位01,直到第3位进行比较时,站1的报文被丢掉,因为它的第3位为高,而其它两个站的报文第3位为低。

站2和站3报文的4、5、6位相同,直到第7位时,站3的报文才被丢失。

注意,总线中的信号持续跟踪最后获得总线读取权的站的报文。

在此例中,站2的报文被跟踪。

这种非破坏性位仲裁方法的优点在于,在网络最终确定哪一个站的报文被传送以前,报文的起始部分已经在网络上传送了。

所有未获得总线读取权的站都成为具有最高优先权报文的接收站,并且不会在总线再次空闲前发送报文。

  CAN具有较高的效率是因为总线仅仅被那些请求总线悬而未决的站利用,这些请求是根据报文在整个系统中的重要性按顺序处理的。

这种方法在网络负载较重时有很多优点,因为总线读取的优先级已被按顺序放在每个报文中了,这可以保证在实时系统中较低的个体隐伏时间。

  对于主站的可靠性,由于CAN协议执行非集中化总线控制,所有主要通信,包括总线读取(许可)控制,在系统中分几次完成。

这是实现有较高可靠性的通信系统的唯一方法。

4.2CAN与其它通信方案的比较

  在实践中,有两种重要的总线分配方法:

按时间表分配和按需要分配。

在第一种方法中,不管每个节点是否申请总线,都对每个节点按最大期间分配。

由此,总线可被分配给每个站并且是唯一的站,而不论其是立即进行总线存取或在一特定时间进行总线存取。

这将保证在总线存取时有明确的总线分配。

在第二种方法中,总线按传送数据的基本要求分配给一个站,总线系统按站希望的传送分配(如:

EthernetCSMA/CD)。

因此,当多个站同时请求总线存取时,总线将终止所有站的请求,这时将不会有任何一个站获得总线分配。

为了分配总线,多于一个总线存取是必要的。

  CAN实现总线分配的方法,可保证当不同的站申请总线存取时,明确地进行总线分配。

这种位仲裁的方法可以解决当两个站同时发送数据时产生的碰撞问题。

不同于Ethernet网络的消息仲裁,CAN的非破坏性解决总线存取冲突的方法,确保在不传送有用消息时总线不被占用。

甚至当总线在重负载情况下,以消息内容为优先的总线存取也被证明是一种有效的系统。

虽然总线的传输能力不足,所有未解决的传输请求都按重要性顺序来处理。

在CSMA/CD这样的网络中,如Ethernet,系统往往由于过载而崩溃,而这种情况在CAN中不会发生。

4.3CAN的报文格式

  在总线中传送的报文,每帧由7部分组成。

CAN协议支持两种报文格式,其唯一的不同是标识符(ID)长度不同,标准格式为11位,扩展格式为29位。

  在标准格式中,报文的起始位称为帧起始(SOF),然后是由11位标识符和远程发送请求位(RTR)组成的仲裁场。

RTR位标明是数据帧还是请求帧,在请求帧中没有数据字节。

  控制场包括标识符扩展位(IDE),指出是标准格式还是扩展格式。

它还包括一个保留位(ro),为将来扩展使用。

它的最后四个字节用来指明数据场中数据的长度(DLC)。

数据场范围为0~8个字节,其后有一个检测数据错误的循环冗余检查(CRC)。

  应答场(ACK)包括应答位和应答分隔符。

发送站发送的这两位均为隐性电平(逻辑1),这时正确接收报文的接收站发送主控电平(逻辑0)覆盖它。

用这种方法,发送站可以保证网络中至少有一个站能正确接收到报文。

  报文的尾部由帧结束标出。

在相邻的两条报文间有一很短的间隔位,如果这时没有站进行总线存取,总线将处于空闲状态。

4.4CAN数据帧的组成

(1)远程帧

  远程帧由6个场组成:

帧起始、仲裁场、控制场、CRC场、应答场和帧结束。

远程帧不存在数据场。

  远程帧的RTR位必须是隐位。

  DLC的数据值是独立的,它可以是0~8中的任何数值,为对应数据帧的数据长度。

(2)出错帧

  出错帧由两个不同场组成,第一个场由来自各站的错误标志叠加得到,第二个场是出错界定符

  错误标志具有两种形式:

  活动错误标志(Activeerrorflag),由6个连续的显位组成;

  认可错误标志(Passiveerrorflag),由6个连续的隐位组成。

  出错界定符包括8个隐位。

(3)超载帧

  超载帧包括两个位场:

超载标志和超载界定符。

  发送超载帧的超载条件:

要求延迟下一个数据帧或远程帧,在间歇场检测到显位。

  超载标志由6个显位组成。

  超载界定符由8个隐位组成。

4.5数据错误检测

不同于其它总线,CAN协议不能使用应答信息。

事实上,它可以将发生的任何错误用信号发出。

CAN协议可使用五种检查错误的方法,其中前三种为基于报文内容检查。

(1)循环冗余检查(CRC)

  在一帧报文中加入冗余检查位可保证报文正确。

接收站通过CRC可判断报文是否有错。

(2)帧检查

  这种方法通过位场检查帧的格式和大小来确定报文的正确性,用于检查格式上的错误。

(3)应答错误

  如前所述,被接收到的帧由接收站通过明确的应答来确认。

如果发送站未收到应答,那么表明接收站发现帧中有错误,也就是说,ACK场已损坏或网络中的报文无站接收。

CAN协议也可通过位检查的方法探测错误。

(4)总线检测

  有时,CAN中的一个节点可监测自己发出的信号。

因此,发送报文的站可以观测总线电平并探测发送位和接收位的差异。

(5)位填充

  一帧报文中的每一位都由不归零码表示,可保证位编码的最大效率。

然而,如果在一帧报文中有太多相同电平的位,就有可能失去同步。

为保证同步,同步沿用位填充产生。

在五个连续相等位后,发送站自动插入一个与之互补的补码位;接收时,这个填充位被自动丢掉。

例如,五个连续的低电平位后,CAN自动插入一个高电平位。

CAN通过这种编码规则检查错误,如果在一帧报文中有6个相同位,CAN就知道发生了错误。

  如果至少有一个站通过以上方法探测到一个或多个错误,它将发送出错标志终止当前的发送。

这可以阻止其它站接收错误的报文,并保证网络上报文的一致性。

当大量发送数据被终止后,发送站会自动地重新发送数据。

作为规则,在探测到错误后23个位周期内重新开始发送。

在特殊场合,系统的恢复时间为31个位周期。

  但这种方法存在一个问题,即一个发生错误的站将导致所有数据被终止,其中也包括正确的数据。

因此,如果不采取自监测措施,总线系统应采用模块化设计。

为此,CAN协议提供一种将偶然错误从永久错误和局部站失败中区别出来的办法。

这种方法可以通过对出错站统计评估来确定一个站本身的错误并进入一种不会对其它站产生不良影响的运行方法来实现,即站可以通过关闭自己来阻止正常数据因被错误地当成不正确的数据而被终止。

4.6硬同步和重同步

  硬同步只有在总线空闲状态条件下隐形位到显性位的跳变沿发生时才进行,表明报文传输开始。

在硬同步之后,位时间计数器随同步段重新开始计数。

硬同步强行将已发生的跳变沿置于重新开始的位时间同步段内。

根据同步规则,如果某一位时间内已有一个硬同步出现,该位时间内将不会发生再同步。

再同步可能导致相位缓冲段1被延长或相位缓冲段2被短。

这两个相位缓冲段的延长时间或缩短时间上限由再同步跳转宽度(SJW)给定。

编辑本段

4.7可靠性

  为防止汽车在使用寿命期内由于数据交换错误而对司机造成危险,汽车的安全系统要求数据传输具有较高的安全性。

如果数据传输的可靠性足够高,或者残留下来的数据错误足够低的话,这一目标不难实现。

从总线系统数据的角度看,可靠性可以理解为,对传输过程产生的数据错误的识别能力。

残余数据错误的概率可以通过对数据传输可靠性的统计测量获得。

它描述了传送数据被破坏和这种破坏不能被探测出来的概率。

残余数据错误概率必须非常小,使其在系统整个寿命周期内,按平均统计时几乎检测不到。

计算残余错误概率要求能够对数据错误进行分类,并且数据传输路径可由一模型描述。

如果要确定CAN的残余错误概率,我们可将残留错误的概率作为具有80~90位的报文传送时位错误概率的函数,并假定这个系统中有5~10个站,并且错误率为1/1000,那么最大位错误概率为10—13数量级。

例如,CAN网络的数据传输率最大为1Mbps,如果数据传输能力仅使用50%,那么对于一个工作寿命4000小时、平均报文长度为80位的系统,所传送的数据总量为9×1010。

在系统运行寿命期内,不可检测的传输错误的统计平均小于10—2量级。

换句话说,一个系统按每年365天,每天工作8小时,每秒错误率为0.7计算,那么按统计平均,每1000年才会发生一个不可检测的错误。

五、CAN总线的应用状况及发展前景

由于CAN总线具有低网络成本、高网络安全性、通信实时性和可靠性等特点已广泛应用于工业控制、汽车工业、安全防护等领域。

5.1工业控制

在工业控制系统中,为实现系统的实时通信,要求信息能够在不同的控制设备间得到及时的发送和接收。

现场总线作为全数字化、开放、互联、面向现场控制设备低层的工业网络控制系统能够很好地满足工业控制的要求。

CAN总线是目前最流行的现场总线之一,CAN总线具有低成本、高总线利用率、高安全性、可靠性、远距离高速传输等优点,能够很好地满足环境复杂、恶劣的工业环境的通信要求,随着CAN总线技术的不断完善和发展,必然在工业控制中得到更加广泛的应用。

5.2汽车工业

随着现代电子技术、信息技术的发展,汽车上各种电子部件、大量传感器、电气控制设备等的数量越来越多,这些电子设备在汽车上的广泛应用,在提高了汽车的动力性、舒适性的同时也带来了诸多问题:

多系统的应用使得布线变得复杂而庞大,各系统间需要实现对数据的共享,对通信的实时性也提出了更高的要求。

CAN总线的出现很好地解决了这些问题,CAN总线是一种串行多主站控制器局域网总线。

它具有高通信可靠性、安全性、实时性、低网络成本、组网灵活、简单易用等优点,可以为汽车控制系统提供强大的技术支持。

CAN总线在汽车上的广泛应用将使汽车的动力性、安全性等各项性能都上升到了新的高度,给汽车技术的发展注入新的活力。

5.3监控及安防系统

在当前的各种监控系统中,普遍存在可靠性、实时性不高,分站缺乏统一规范等缺点,不能够很好地满足实时监控的要求。

CAN总线由于具有高数据传输率、完善的规范和协议、高实时性、安全性、可靠性等,可以很好地克服当前监控系统中存在的各种问题。

因此CAN总线不仅被用于煤矿的安全监控系统中,也将在更多的监控及安防系统得到更加广泛的应用。

六、CAN总线应用实例

图1所示的是气固两相流浓度及其分布的测量装置中的阵列式电容传感器以及检测电路,是一个采用CAN总线通讯的智能传感器节点。

它能与带CAN总线接口卡的成像微机进行高速通讯。

传感器信号中的通讯电路主要由80C592单片机和CAN总线驱动器80C250组成。

根据80C250的驱动特性,一条总线上最多可挂接110个节点。

该电路的特点是由于采用了带CAN控制器的80C592单片机,因为简化了通讯电路,并且具有CAN总线通讯的高速、高可靠性等优点。

图1传感器中的CAN总线通讯接口

图中采用了CAN总线驱动器80C250,CAN数据输出时只用到CTX0(CAN通讯接收端引脚0)而没有用到CTX1(CAN通讯接收端引脚1)。

此时80C592的CAN总线输出方式可以选择为时钟方式。

如果选择CTX0和CTX1为带上拉电阻输出结构,则CAN输出控制器寄存器的内容为10110111B;为了进行高速通讯,CAN总线驱动器80C250的第8脚需外接一个电阻到地;总线两端的2个120Ω是阻抗匹配电阻,一般随导线的长短适当调整。

80C592的CAN通讯子程序主要有初始化程序、报文接收子程序和报文发送子程序组成,可供用户程序调用。

初始化程序用于设置80C592中的CAN控制器的工作参数。

如接收标志符高8位(ID10-ID3)为0F7H(此值由用户选择)的报文,低3位不能设置,因此CAN控制器能接收8个不同的报文;确定预分频系数为10,把CAN控制器的通讯速率设置为1MHz;根据输出的接线方式,设置输出缓冲寄存器为B7H。

报文发送子程序把存于80C592片内主RAM中的一个报文用DMA(直接数据传送)方式传送到CAN控制器的发送缓冲段中,然后置发送请求位,由CAN控制器自动将报文发送,发送成功则清发送出错标记为0,如果等待500个时间单位仍无法发送数据,则把发送出错标记设置为FFH后返回。

报文接收子程序先判别状态寄存器中的接收状态位,如果已有刚接收到的报文,则用DMA方式把接收缓冲器的报文送到用于存放报文的片内主RAM中,并清接收出错标记为0;如果没有接收到的报文,则把接收出错标记设置为FFH后返回。

七、总结

CAN总线是一种有效支持分布式控制或实时控制的串行通讯网络,虽然CAN总线是为了解决汽车电子控制模块、传感器和执行器的通信问题而被提出的,但由于CAN总线具有成本低,通信安全性、可靠性、实时性高,抗电磁干扰能力强,可在高噪声干扰环境中工作等优势,已被广泛应用于工业生产的各个领域,随着CAN总线技术的不断完善,必将得到更大的发展和更加广泛的应用。

参考文献

[1]阳宪惠《现场总线技术及应用》清华大学出版社;

[2]刘海国《集散控制与现场总线》机械工业出版社;

[3]邬宽明《CAN总线原理和应用系统设计》北京航空航天大学出版社。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 辩护词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1