基于CAN总线的嵌入式测控系统的研究

更新时间:2023-09-07 01:02:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

嵌入式can总线通信

西华大学

硕士学位论文

基于CAN总线的嵌入式测控系统的研究

姓名:王锐

申请学位级别:硕士

专业:电力电子与电力传动

指导教师:董秀成

20070501

嵌入式can总线通信

西华大学硕士学位论文

基于CAN总线的嵌入式测控系统的研究

电力电子与电力传动专业

研究生:王锐指导教师:董秀成

摘要

处于信息时代的自动控制系统技术发展日新月异。智能化、数字化、信息化、网络化、微型化、分散化代表着当今工业控制系统发展的主流方向。现场总线是代表工业控制系统顺应这一发展方向的新型技术,标志着计算机技术、信息技术在自动化领域应用的新阶段,为整个工业系统全数字化运行奠定了基础。

本文在分析了嵌入式技术及控制系统的发展概况后,首先对现场总线,主要是CAN总线的技术特点进行了全面的介绍,并重点对CAN总线网络中数据传输的实时性问题及改善的方案进行了分析和研究。之后利用嵌入式技术实现了基于CAN总线的网络测控系统。该系统的主控节点,即ARM平台采用32位的嵌入式处理器ARM和嵌入式实时操作系统laC/OS—II来实现,并在该平台上完成了系统多任务的建立,包括与底层CAN网络的通信、液晶显示输出和嵌入式Web服务器等。

论文共分六章。第一章介绍了控制系统的发展过程、嵌入式技术及其发展现状,并引出了课题的背景和研究意义,给出了主要研究内容。第二章着重介绍了CAN现场总线技术,并对其工作原理和CAN总线系统的实时性进行了分析。第三章论述了CAN总线测控网络的实现以及CAN测控网络与Intemet集成的必要性,并给出了本文的系统设计方案、工作原理和组成。第四章论述了基于CAN总线的嵌入式测控系统的设计与实现,详细阐述了系统

嵌入式can总线通信

两华大学硕士学位论文

的硬件、软件设计思路和实现方法。硬件方面,介绍了硬件平台中的主处理器LPC2292和整个硬件逻辑模块。软件设计上实现了】uC/OS—II实时操作系统在ARM7上的移植,并完成了嵌入式系统下多任务的建立。第五章介绍了以QXLPC.III过程控制系统为应用对象,进行的实际应用实验,该实验对被控过程的部分物理量进行了检测,验证了本方案的可行性。第六章对全文进行了总结,给出了有待进一步研究的问题,并对后续工作进行了展望。

关键词:CAN总线,测控系统,ARM7,pC/OS—II,嵌入式II

嵌入式can总线通信

西华大学硕士学位论文

ResearchofEmbeddedMeasure

onandControlSystemBasedCANbus

Powerelectrionicandpowerdrive

Candidate:WANGRuiSupervisor:DONGXiu-cheng

Abstract

Automationsystemtechnologyduringinformationtimehasdevelopedchangequickly.Intelligent,digital,communication,networking,micromation,distributedrepresentmaintrendofthedevelopmentofindustrycontrolsystem.Fieldbusisnewtechnology,whichrepresentsindustrycontrolsystem,acclimating

andwiththedevelopingtrend.Fieldbusindicatesnewphaseofcomputer

informationtechnologyinautomationfieldapplication,establishsfoundationforentireindustrysystemofwholedigitalrunning.

Inthispaper,Afteranalyzingembeddedtechnologyand

andgeneralsituationofdevelopmentofcontrolsystem,weintroducethetechnologycharacteristicofCANbusall—aroundfirstly,emphasizeonanalyzingresearchingproblemsofreal—

timeofdatatransmissioninCANbusnetworkandameliorativeplan。Afterward,wemakeuseofembeddedtechnology

ontorealizenetworkmeasureandcontrolsystembasedCANbus.Main-controlnodeofthesystem,ARMplatformis

ARMof32bitandEmbedded

onaccomplishedbyutilizingembeddedmicprocessorreal—timeoperatingsystemUC/oS-II,andmultitaskisestablishedthisplatform,

includingcommunicationofCANnetwork,inputofLCDdisplaying,embeddedWebserver,ctc.

Thispaperhassixchapters.Thefirstchapterintroducesthedeveloping111

嵌入式can总线通信

西华大学硕十学位论文

processofcontrolsystem,embeddedtechnologyanddevelopingactuality,andeducesbackgroundandresearchsignificanceoftask,presentsmainresearch

oncontent.Thesecondchapteremphasizes

analyzesworkprinciplepresentingCANbustechnology,andand

andreal-timeofCANbussystem.ThethirdchapterdicussestherealizationofmeasureandcontrolnetworkofCANbus,thenecessityofintegrationofmeasurecontrolnetworkofCANbusandIntemet,Meantime,

andcontrolsystem

routepresentsdesignplanofsystem,workprincipleandcomposing.TheforchchapterdiscussesbasedondesigningandrealizationofembeddedmeasureCANbus,explaininghardwareandsoftwaredesigningofsystem

andimplementwayindetails.Hardware,weintroducemainprocessorLPC2292andwholehardwarelogicalmodule.Software,werealizeoperatingsystempC/OS—II,transplantingonARM7,andaccomplishmultitaskestablishingonembeddedsystem.ThefifthchapterintroducesactualappliedexperimentaimatQXLPC-IIIprocesscontrolsystem.Thisexperimentcheckssomephysicalquantum,validatesfeasibilityoftheplatform.Thesixthchapterconcludesthewholepaper,presentsexistingproblemandprospectoffurtherwork.

Keywords:CANbus,MeasureandControlSystem,ARM7,pC/OS-II,EmbeddedⅣ

嵌入式can总线通信

西华大学硕士学位论文

申明

本人申明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。除了文中特别加以标注和致谢的地方外,论文中不包括其他人已经发表或撰写过的研究成果,也不包含为获得西华大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。

本学位论文成果是本人在西华大学读书期间在导师指导下取得的,论文成果归西华大学所有,特此申明。

作者签名:

新签蚴吠泸产5月匆日一每等}麴P

嵌入式can总线通信

两华大学硕士学位论文

1绪论

1.1课题来源

四川省“信号与信息处理”重点实验室建设项目

1.2控制系统的发展过程

控制系统经历了从封闭到开放,从单点控制、组合式模拟控制系统、集中式数字控制系统、集散式控制系统,发展到当前现场总线控制系统和开放嵌入式控制系统阶段。其发展呈现出向分散化、网络化、智能化发展的方向[2】。

其演变和发展的本质就是测试技术和控制技术的演变和发展。测试技术的发展大致经历了三个重要的时期。一、手工艺时代。大多属于机械指示式的仪表,主要作为主机的配套设备使用,功能简单,用途单一,相互联系也少。二、仪器工程时代。电测试仪表和自动记录仪表,形成了由多个测试仪器和自动记录仪表组成,具有一定智能的测试系统。三、仪器科学时代。性能更加快速准确、灵敏可靠。电子测量仪器由模拟仪器,带GPIB接口的智能化仪器到全部可编程虚拟仪器。各种新技术、新器件、新材料、新工艺、新的理论的出现和计算机的广泛应用,将更使仪器仪表和相关的钡0控技术得以迅速发展。而控制技术的发展也可以划分成三个阶段。阶段一是70年代以前,那时主要采用是经典控制理论,控制水平简单,要求也比较低,安全、平稳即可。阶段二是70~80年代,采用了现代控制理论,达到了先进控制系统的水平,控制要求则可达到优质、高产和代耗。阶段三是90年代以后,此时控制理论则是多学科交叉,控制工具则采用了计算机网络等软仪表。控制的要求则需要其能有利于综合管理和柔性生产。可以说,控制系统的发展是为了适应控制系统越来越复杂的控制要求和满足系统多功能的需要而逐渐进步的。

嵌入式can总线通信

归纳来说,其发展主要可分为4个阶段…p】:

第一代是基地式气动仪表控制系统。生产规模小,测控仪表尚处于发展的初级阶段,安装于生产现场的基地式气动仪表只具备简单的测控功能,集测量与控制功能于一体,并带有简单的操作接口,其信号仅在本仪表中起作用,无法与外界沟通。

第二代是电动单元组合式模拟仪表控制系统。生产规模扩大,需要同时按多点的信息实行操作控制,于是出现了气动、电动系列的单元组合式仪表。现场的数据通过模拟信号(如4~20mA直流电流,1~5v直流电压)送往集中控制室,出现了集中控制。

第二代与第三代之间存在一个过渡类型,即集中式数字控制系统。由于模拟信号传输存在诸多缺点,人们试图用数字信号取而代之,以一台数字计算机对大部分或所有回路进行自接的数字控制。但这种系统的安全性和可靠性难以得到保证,因此很难被生产过程所接受。

第三代是集散式控制系统DCS。DCS打破了由单台计算机统管整个生产过程的集中控制模式,把生产过程分解为多个子系统,由多台计算机或微处理器分别承担其中的某一部分功能,协作完成整个自控系统功能,这克服了集中控制模式下危险集中的弊端。DCS是由模拟变送器与数字控制器组成的模拟一数字混合系统,这种系统在功能和性能上有很大的提高。但是模拟信号的接线采用的是“一对一”的结构,这种结构的安装费用高,工程周期长,维护困难,传输精度低,易受干扰。而且,各个厂家的产品自成系统,不同厂家的设备不能互连在一起,组成更大范围信息共享的网络系统存在很多困难,难以实现互换与互操作。

第四代是新型的现场总线控制系统FCS。它突破了DCS系统中通信封闭的缺陷,是基于公开化,标准化的解决方案,将集散的控制结构变成了新型的全分布式结构,它是在DCS基础上的连续发展起来的,但FCS己超出了DCS的框架,是一次质的跳变,它打破了传统控制一对一的设备连接而将控制模块置入现场设备,其全部功能在现场完成。因此,FCS实质上是一种开放的、具可互操作性的、彻底分散的分布式控制。

嵌入式can总线通信

l_3嵌入式技术及其发展现状

嵌入式系统是以应用为中心,以计算机技术为基础,且软硬件均可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序四个部分组成,用于实现对其他设备的控制、监视或管理等功能。整个嵌入式系统所应用的软硬件技术统称为嵌入式技术州。

新世纪之初,信息化浪潮席卷全球。在全球进入以网络为核心的信息时代都不可避免地被卷入到这股信息化的世纪风暴之中,嵌入式技术是电子信息技术应用最广泛的应用领域之一,嵌入式技术及其产品可以说是无所不在,任务一个普通人都可能用到从小到大的各种各样使用嵌入式技术的电子产品,小到MP3、PDA等微型数字化产品,大到网络家电、智能家电、车载电子设备等。在工业和服务领域中,使用嵌入式技术的数控机床、工控设备、智能工具、机器人等正在逐渐改变着传统的工业生产和服务方式【4】。大量的嵌入式技术的应用不胜枚举,大多数老百姓感受到信息技术的进步及电子信息技术产品的小巧、便捷和高效,都直接或间接源于嵌入式技术,嵌入式技术的研发和广泛应用己经成为我国信息化进程的重要课题之一,受到社会各界的广泛关注。

嵌入式技术发展至今己经有30多年的历史,它的发展与计算机技术、半导体技术、电子技术以及网络技术的发展息息相关,主要经历了四个阶段口】:

第一阶段,以可编程控制器为核心,辅以监测、伺服、指示设备的系统;

第二阶段,以嵌入式MCU为核心,辅以简单的前后台软件的系统;

第三阶段,以嵌入式操作系统为标志的嵌入式系统:

第四阶段,以嵌入式技术和以太网技术融合发展为标志的嵌入式Interact时代。

嵌入式can总线通信

西华大学硕士学位论文

1.4课题背景和研究意义

现场总线技术的开发始于上个世纪80年代,由于微处理器和计算机性能的不断增强和价格的急剧下降,计算机与计算机网络系统得到飞速的发展,信息沟通联络的范围不断扩大。而过去企业生产底层所采用的自封闭式的集散系统,或“一对一”的测控系统,已经难以满足现代企业控制网络发展的需要,使自动化系统成为“信息孤岛”,严重制约了其本身的发展。要实现企业的信息集成,要实施综合自动化,就必须设计出一种能在工业现场环境运行的、可靠性高、实时性好的通信系统,形成工厂底层网络,完成现场自动化设备之间的多点数字通信。现场总线就是在这种实际的驱动下产生的。

现场总线控制系统(FCS)是一种新型的、开放的分布式控制系统胪],它突破了集散控制系统中采用专用网络的缺陷,把专用封闭协议变成标准开放协议。同时,它使系统具有完全数字计算和数字通信能力。结构上,它采用了全分布式方案,把控制功能彻底下放到现场,提高了系统可靠性和灵活性。总之,基于现场总线技术的控制策略和网络结构,引发了工业自动化装置和控制系统的又一次革命。控制系统体系正由封闭的集中体系向开发的分布式体系发展,控制界也正在向网络化转变。

随着Intemet技术的不断成熟,Intemet己成为企业管理层的主导网络,基于TCP/IP协议的以太网逐渐渗入社会生活的各个角落,并开始延伸到工业设备现场。随着制造工艺的进步,智能控制芯片和智能传感器的成本越来越低,功能却越来越强大,这不仅解决了嵌入式微控制器与Intemet连接的技术问题,同时也使得这种连接费用降低到工业控制完全可以接受的程度。这种技术的发展促使了基于嵌入式Intemet的控制网络的出现,并发展成为一种技术潮流。

在嵌入式Internet网络体系结构中,基于TCP/IP的以太网贯穿于控制系统的各个层次,将一台台孤立的现场设备和设备工程师以及企业管理人员均作为一个网络节点通过以太网有机地连接在一起,形成一个有机的整体。实现了现场设备到管理层的直接通信,从而完成了现场级的应用,使设备的控制与维护由过去封闭、各行其是的管理模式逐步向开放、共享、合作的新型

嵌入式can总线通信

管理模式转变,并最终实现企业控制、管理信息的无缝集成。

因此可以说,嵌入式设备与Internet的结合代表着嵌入式系统和网络技术的真正未来。嵌入式网络技术具有广阔的应用前景。

根据以上的研究背景,可以看出与嵌入式Intemet结合的现场总线控制系统将是工业控制领域的一个发展方向。另外,随着微电子和嵌入式系统的发展,性能优良的32位处理器为核心的嵌入式控制系统正在取代微机成为现场总线与以太网互联的主流产品。所以本文对基于CAN总线的嵌入式测控系统的研究,就显得非常有实际意义。

下面本文将围绕以上几个方面展开论述,详细介绍我们具体的研究工作。1.5课题的主要研究内容

本课题针对电气信息学院省级“信号与信息处理”重点实验室的模拟工业出了一种CAN测控系统和Internet结合的方案。

研究目标是实现CAN组网,并对CAN测控网络的实时性进行理论研究,11CAN网络的设计思想和网络运行与调试都有其独特之处,需要认真研究

CAN协议。

CAN总线网络中数据传输过程的实时性分析。

示,在软硬件设计及开发中的一些关键技术。生产环境的过程控制系统,设计了一套基于CAN总线的嵌入式测控系统,提实现了cAN测控网络与嵌入式Internet之间的信息互联,信息交互采用嵌入式Web服务器的方式,以此为接口实现两种异构网络之间的转换。通过Web页面实现对现场设备的远程测控。在研究和实现系统的过程中,主要的技术要点体现在以下几个方面:2131为了实现CAN网络测控过程中信息的采集、处理、分析尤其是LCD显

41利用嵌入式Intemet技术,实现对CAN网络中实时数据的远程测控问题。

嵌入式can总线通信

2CAN总线技术研究

2.1现场总线及CAN总线的概述

随着控制、计算机、通信、网络等技术的发展,信息交换沟通的领域迅(Fieldbus)就是顺应这一形势发展起来的新技术。它的出现,标志着控制技

从目前来看,现场总线的种类繁多,世界上已有200多种现场总线技术,由于各种现场总线代表着不同公司多年的研发投资和市场利益,不同总线的多种总线共存的状况将在很长一段时间内存在。经过各个厂商长期的协商,(ControllerAreaNetwork控制器局域网络)等,在众多的现场总线中,CAN

01。

CAN最初是由德国Bosch公司20世纪80年代初为解决现代汽车中众多速扩大,覆盖了从工厂的现场设备到控制、管理的各个层次,从车间、工厂、企业乃至世界各地的市场。信息技术的高速发展,引起了自动化系统结构的变革,逐步形成了以网络集成自动化系统为基础的信息系统。现场总线术领域又一个新时代的开始,并将对该领域的发展产生重要的影响…]。技术侧重面不同,各有特色和相应的应用领域,因而各种现场总线无法统一,市场上主流的总线技术开始逐渐开放,并且脱离设备制造商而独立发展,国际电工委员会(IEC)于2000年1月4日公布了IEC61158现场总线标准,容纳了8种互不兼容的控制层协议,另外还有三种设备级现场总线标准,统称为IEC“8+3”种总线标准。在国内比较流行的主要有以下几种:FF(FoundationFieldbus基金会现场总线)、LonWorks(Lon总线现场总线技术)、CAN总线由于其高实时性、可靠性和完全开放的结构,在很多领域都得到了广泛的应用Ⅲ1的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议[8J。如发动机的定时、注油控制、加速、刹车控制(ASC)及复杂的抗锁定刹车系统(ABs)等。由于这些控制需检测及交换大量数据,从前采用的方式不但繁琐、昂贵,而且难以解决问题,采用CAN总线上述问题便得到很好的解决。

嵌入式can总线通信

西华大学硕士学位论文

CAN作为现场设备级的通信总线,和其他总线相比,具有很高的可靠性和性价比,其总线规范已经成为国际标准,因而被公认为是当今几种最有前途的现场总线之一,事实上,如今CAN总线的应用范围已远远超出最初的汽车应用,在工业自动化、火车、轮船的导航和控制系统、医疗系统、农业机械等都可以看到CAN的应用。

2.1.1CAN总线技术特点

由于采用了许多新技术及独特的设计,与一般的通信总线相比,cAN总线的数据通信具有许多优良特点,可概括如下113]【14】[15】:

1)CAN采用多主工作方式

CAN总线上的任一节点均可主动发起传输。没有主从之分,根据报文的优先权而不是节点的优先权进行总线访问控制。

2)CAN具有非破坏性的总线仲裁机制

CAN节点发生总线冲突时,高优先级报文可以不受影响地完成传输,保证了高优先级报文的实时性。

3)CAN总线具有良好的故障隔离功能

CAN组成的网络中的多个节点同时向总线发送数据,不会出现短路状态,即不会将单个节点的故障传递给总线中的其它节点。在总线中的单个节点出现严重故障时会自动关闭。

4)CAN具有良好的传输防错设计

CAN总线采用短帧结构,传输时间短,受干扰几率低;每帧都有位填充、CRC校验等措施,保证了极低的出错率。发送期间丢失仲裁或由于出错而遭破坏的帧可自动重发送。

5)CAN总线的通信距离远,通信速率高

CAN总线的通信距离最远可达10km(5kbps以下),其通信速率最高可达1Mbps(此时通信距离在40m以下),这一特点对构建大型系统极为有利。

由于具备了以上的优良特性,如今的CAN总线产品越来越被工业界青睐。据1992年成立的国际CAN用户和制造商非营利组织CiA(CANinAutomation)估计,在1998年销售了9700万个节点。其中80%安装于欧洲

嵌入式can总线通信

(其中又有80%安装于德国)。如今,CAN节点除了应用于车辆,其余多是应用于嵌入式网络和工业控制系统等方面。

2.1.2CAN总线的分层结构

由于CAN的广泛应用,不同应用领域的通信报文的标准化问题越来越突出,因此,1991年9月Philips半导体公司制定并发布了CAN技术规范(Version2.0)【”】。该技术规范包括A,B两部分,2.0A给出了在CAN标准帧格式,2.0B给出了标准和扩展两种帧格式。CAN技术规范2.OB定义了数据链路层中的MAC子层和LLC子层的一部分,并描述与CAN通信有关的外层。+

CAN总线是根据开放系统互联模型(OSI)制定的,采用了七层构架的物理层和数据链路层,其分层结构如图2.1所示【l2J【14J。

Fig2.1DelaminationstructureandfunctionofCAN图2.1CAN的分层结构和功能

嵌入式can总线通信

Il物理层

物理层主要是网络上节点问的物理数据传输。物理层定义了传输线和接口硬件的机械、电气和电信号特征及功能。机械特性包括连接器尺寸、类型等:电气特性包括最大传输速率、最大传输距离、信号电平状态代表意义等:电信号特征包括对应电平的逻辑信号、信号的传输时序、数据采样方式等。21数据链路层

CAN网络的数据链路层主要划分为逻辑链路控制(LLC.LogicLinkContr01),媒体访问控制(MAC-MediumAccessContr01)。

①LLC子层

主要提供三类功能帧接收滤波、超载通知及恢复管理。

帧接收过滤:在LLC子层上帧内容由标识符表示,标识符不仅是用于指示帧的目的地址,还可以描述更多的信息,比如:数据的定义、网络节点属性等。每个接收器将通过帧接收滤波确定是否接收此帧。

超载通知:如果接收器内部条件要求延迟下一个LLC数据帧或LLC远程帧,则通过LLC子层开始发送超载帧,最多可产生两个超载帧,以延迟下一个数据帧或远程帧。

恢复管理:发送期间,对于丢失仲裁或被错误干扰的帧,LLC子层具有自动重发送功能,在发送成功完成前,帧发送服务不被用户认可。

②MAC子层

MAC子层是CAN协议的核心,它描述由LLC子层接收到的报文和对监控。

CAN总线的工作原理

在介绍了CAN总线的分层结构之后,下面将进一步分析CAN总线的工LLC子层发送的认可报文;MAC子层可响应报文帧、仲裁、应答、错误检测及标定;MAC子层由称为故障界定的一个管理实体监控,它具有永久性故障或短暂性扰动的自检机制。物理层可借助检测和管理物理媒体故障实体进行2.2作原理。如图2.2所示,CAN总线的拓扑结构是一个典型的串行总线的结构

嵌入式can总线通信

西华大学硕士学位论文

形式。CAN总线中一个节点发送信息,多个节点接收信息;但CAN总线的信息存取方式既不同与令牌方式的Arcnet,也不同于主从方式的Bitbus,采用的是一种广播式的存取工作方式。与其它网络不同,在CAN总线的通信协议中,没有节点地址的概念,也没有任何与节点地址相关的信息存在,它是基于报文的工作方式。也就是说,CAN总线面向的是数据而不是节点,因此加入或取消任何一个节点设备都不会影响网络的工作,十分适用于控制系统要求快速、可靠、简明的特点。以下将对CAN总线的基本通信工作原理做一一介绍。

Fig2.2CANbustopolopy

图2.2CAN总线拓扑结构

首先,在CAN总线协议中是通过一种非破坏性的仲裁方式来实现冲突检测。它是与CSMA/CA(载波监测,多路检N/冲突避免)[8】【l。7】属同类,这也就意味着当总线出现发送冲突时,通过仲裁后,原发送信息不会受到任何影响。所有的仲裁判别都不会破坏优先级高的报文信息内容,也不会对其发送,产生任何的时延。这种仲裁规则可以使信息和时间均无损失。

为了达到这种“非破坏性的仲裁方式”,总线访问冲突运用逐位仲裁规则,借助标识符D解决,若具有相同标识符ID的~个数据帧和一个远程帧同时初始化,数据帧优先于远程帧。为了实现仲裁,CAN总线协议还必须满足一些前提条件。首先,必须定义两种逻辑状态——“显性位”和“隐性位”:然后,节点在发送过程中必须检测刚刚发出的状态是否就是信息中所描述的内容。在CAN总线的定义中,逻辑0为“显性位”,逻辑1为“隐性位”。“显性位”一定会在和“隐性位”的判别过程中获胜,换句话说,报文标识符(报文仲裁区

嵌入式can总线通信

域)的值越小,其优先级就越高。

举个例子,假定有两个节点在同一时刻发送一个报文,每个节点都会监测总线以便了解预发送的信息状态是否确实出现在总线上。一个优先级较低的报文在某一时刻会发送一个“隐性位”但是检测回来的却是“显性位”。此时这个节点就失去了仲裁,.即停止发送并转为只昕状态。优先级较高的报文继续发送直到完整的报文发送完毕。在刚才冲突仲裁中被取消发送权的节点将等待总线的下一个空闲期并自动地再次尝试发送。

也就是说报文不是按照地址从一个节点传送到另一个节点。CAN总线上报文所包含的内容只有优先级标志区和欲传送的数据内容。所有节点都会接收到在总线上传送的报文,并在正确接收后发出应答确认。至于该报文是否要做进一步的处理或被丢弃将完全取决于接收节点本身,由节点来进行报文过滤。同一个报文可以发送给特定的站点或许多站点,就看你如何去设计你的网络和系统。

基于报文的这种协议另外一个好处是新的节点可以随时方便地加入到现有的系统中,而不需对所有节点进行重新编程以便它们能识别这一新节点。一旦新节点加入到网络中,它就开始接收信息,判别信息标识,然后决定是否作处理或直接丢弃。

CAN总线定义了四种不同的报文(或叫帧)用于总线通信。第一种且最常用的是“数据帧”,用于一个节点传送信息到其它任一或所有节点;第二种叫“远端帧”,基本上是一个数据帧但其中的RTR位被置l,表明这是一个“远端发送请求”,用于一个节点主动要求其它节点发送信息;另外两种用于差错处理,分别叫做“错误帧”和“过载帧”。如果节点在接收过程中检测到任一在CAN总线协议中定义了的错误信息,它就会发送一个错误帧,当一个节点正忙于处理接收的信息,需要额外的等待时间接收下一报文时,可以发送过载帧,通知其它节点暂缓发送新报文。

再者,在发布了2.0B版的CAN总线技术规范后,其最大的通信速率已经比1.0版提高了8倍,达1M位/,9,在这种速率下,即便是对时间要求非常关键的参数也可以通过CAN总线传输而不必担心其时延。另外,CAN总线协议有一套完整的差错定义,能够自动地检测出这些错误信息,由此保证

嵌入式can总线通信

了被传信息的准确性和完整性。总线空闲时或者在关断模式下才能取得控制权。CAN总线上各节点还有能力监测是短期的干扰还是永久性的故障,并采取相关的应对措施,这种特性被叫做“故障界定隔离’’【8】【171。采取了这种故障界定隔离措施后,故障节点就会被及时关断,不会永久占用总线。这一点对关键信息能在总线上畅通无阻地传送是非常重要的。

2.3CAN总线系统的实时性分析

2.3.1CAN总线不能保证所有节点的实时性

前面我们己经讨论了CAN总线的工作原理,了解到它所采用的CSMA/CA协议比一般的通信网络(如以太网等)具有更好的实时性和可靠性。特别是CAN的非破坏性仲裁协议,使得在仲裁过程中,具有较高优先级的信息帧可以不受任何影响地连续地发送。另一方面,这也提高了网络的带宽利用率r181。

然而,这是相对的。在总线负载较轻的情况下,信息帧碰撞的概率很小,网络的实时性很好。在这种环境下,利用CAN协议所支持的信息帧进行多主式随机发送,能取得很好的效果。而且所需的系统开销又很小,不需要复杂的应用层程序来实现CAN的上层功能,系统很容易实现。但是,在总线利用率较高的情况下,信息帧的碰撞也随之增加,如果还是依照简单性原则,直接利用CAN底层协议提供的功能,低优先级的信息帧传送的实时性就会受到影响。当碰撞概率达到一定的程度时,由于CAN的仲裁协议,低优先级的信息帧不能实时发送,其发送站点,甚至可能因多次发送失败,而很快退出总线。

2.3.2CAN总线带宽分配存在不均匀性

从另外一个方面来看CAN。从CAN总线的底层协议可以得知,它是基于固定优先级的仲裁解决方案。前面已经介绍了CAN的数据链路层分成媒体访问(MAC)子层和逻辑

嵌入式can总线通信

链路控制(LLc)子层。MAC子层具有数据封装,拆装、帧编码、媒体访问管理、错误监测、出错标定和应答等功能。只要总线空闲,也就是说,只要总线上无信息帧传送,并保持这种状态至少3个位时,MAC层即可发送一个信息帧。CAN总线的仲裁机制保证了当碰撞发生时,除了赢得仲裁的那个信息帧的发送站点外,所有的站点都停止发送。从这方面讲,总线竞争的解决是确定性的,信息和时间都没有损失。CAN的MAC子层是非抢占式的,当一个数据开始发送,那么,它就一直进行到发送结束。MAC子层对接收到的信息帧不做任何检测,只是全部接收。而决定本站是否接收这一帧的任务是由LLC子层完成。LLC子层同时也负责丢失仲裁的信息帧的重发。

CAN网络支持实时通信是基于其特殊的数域——标识域。标识符在CAN协议上述的两个协议子层中是具有双重功能的【”J。

其一,LLC子层利用它作为信息帧的标识,它是为这一帧接收方的接收信息帧的过滤所用。CAN信息帧不像其它网络信息帧具有发送地址和接收地址,而只有本信息帧的标识符,作为这帧的唯一标识。CAN是广播式总线,这帧信息,如果需要的话,所有的站点都可以接收,而每个站点也可以按照自己的需要,只接收自己感兴趣的信息,这只要在其相应层上设置相应的过滤即可实现,这些功能都是由CAN控制器的硬件实现的。

其二,MAC子层则是利用它作为信息帧的优先级表征。在CAN总线系统中,标识符越小的信息帧的优先级越高。本来是不同的两个功能,LLC用其作为信息帧的标识而用于数据接收过滤,而MAC子层则用它来表征信息帧的优先级以用于信息帧碰撞的仲裁。这也带来了问题,在仲裁时,总是优先级高的信息帧获得仲裁,而高优先级是和小的信息帧标识符相关联的。而在总线负载较大时,信息帧碰撞的概率较高。很明显,在这种情况下具有小标识符(高优先级)的信息帧享用总线的带宽多,而具有大标识符(低优先级)的信息帧占用总线的带宽少。

在CAN总线系统中,总有多个节点发送具有不同标识符的信息帧,总是要将这些信息帧按照优先级不同进行分类。而应用CAN总线作为通信系统来传送实时控制数据的控制系统,不会总是要求所有被传送的数据都按某种规则排出优先级的大小。总有一些数据,在系统中的作用是相似的,要求它们

本文来源:https://www.bwwdw.com/article/9rch.html

Top