一种基于CAN总线的监控系统设计及位定时分析

发布者:火星最新更新时间:2012-08-17 来源: ofweek关键字:CAN总线  监控系统  帧信息 手机看文章 扫描二维码
随时随地手机看文章

引言

  can(controller area network)即控制器局域网,是国际上应用最广泛的现场总线之一。与一般的总线通信相比,can的数据通信具有突出的可靠性、实时性和灵活性。本课题设计了一种基于can总线的监控系统,并对位定时这一关键问题进行了详细的阐述。借助该系统,使用者可以实现对can网络的实时监控,并可对系统参数进行优化。

监控系统整体结构

  整个监控系统(如图1)是一个分布式控制系统,由三部分组成:上位机、转换模块、can节点。上位机负责监控整个系统的运行状况;转换模块作为各个节点与上位机的通信中介,实现上位机与节点间的双向通信;各个can节点均可以在任意时刻,遵循通信协议完成上传信息和执行控制命令等任务。

  can节点接口电路设计

  can总线上各节点均采用atmel公司生产的8位单片机为主控器,除完成节点自身的控制功能外,还与can控制器sja1000配合以实现can网络通信功能。

  设计中选择sja1000控制器并采用其性能优越的pelican扩展模式。can收发器tja1050是philips公司生产的高速can总线驱动器。tja1050具有速率高、低功耗、电磁性能优越等特点。can接口电路如图2所示。

  节点模块中采用高速光耦来实现收发器与控制器之间的电气隔离,抗干扰。光耦选择高速器件tlp113以满足在最高速率500kbps下的电气响应。采用dc/dc模块提供5v电源并实现系统电源与网络电源之间电气隔离措施。为了确保该系统的安全,在dc/dc模块及系统的输入和输出端增加tvs保护。

系统通信的实现

  can控制器协议

  can控制器实现的串口通信网络遵循osi模型,划分为两层:数据链路层和物理层。物理层按照ieee802.3lan标准构造,实现将数据发送到传输介质上和接收数据流的功能。在数据链路层实现比特流的拼装。can通信协议约定了4种不同的帧格式,本系统中使用标准帧格式,其格式如表1。can首先接收到仲裁场,根据仲裁场的内容判断所接收到的信号是哪种帧格式,用户将相应的数据写入数据场中进行发送,或从数据场中读取接收到的数据。[page]

  can应用层协议

  在can 2.0规范中,只对物理层和数据链路层作了规定,用户需要根据自己的需求制定应用层协议。本设计以各个节点为控制对象,设计其应用层通信协议。can总线上传输的信息一般可分为2类:

  命令信息:包括上位机要数命令、上位机控制命令。每周期上位机经can—rs232转换模块下发至各个节点要数命令。上位机接到状态信息后,根据情况下发控制命令,经由转换模块下发至各个节点模块。

  状态信息。节点接到命令信息后,由各个节点采集现场数据信息,发送到can—rs232转换模块,再由其上传给上位机。信息包括:设备开关状态,电压电流量等。

  根据系统实际情况,本系统can2.0标准帧格式的基础上(见表2),制定了一个多帧传输的应用层协议。协议中,实用软件滤波,即屏蔽了验收滤波器,将除了帧信息外,包括11位标识符的第二、三字节都进行了分配,如表3所示。

  其中,帧信息可以根据实际情况而定。

  标识符id10~id3代表模块地址,所以协议理论上可满足256个控制节点,标识符id2、id0以及该字节后六位定义为帧类型:命令帧或状态帧,数据信息这样划分简单明了。上位机根据模块地址收集判断节点信息,并下发相应命令。协议还规定,按优先权由高到低,从低向高为模块分配地址,以保证总线竞争中优先权高的节点能更先占有总线。

系统软件设计

  基于总体设计要求和硬件组成,结合can总线协议的模型结构,整个系统的软件设计可以分为两部分:节点部分、上位机部分。

  节点部分包括:初始化模块,can通信模块,串行通信模块,数据处理模块。正确的can初始化,可以充分利用can总线的优势,保证can通信正确可靠工作。对can节点初始化只有在复位模式下才可以进行,初始化主要包括工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器(amr)的设置、接收代码寄存器(acr)的设置、波特率参数设置和中断允许寄存器(ier)的设置等。在完成can控制器的初始化设置以后,can控制器就可以回到工作状态,执行正常的通信任务。其他模块,不再详述。

  上位机部分:上位机软件由vc++6.0软件编写,应用mfc类库编写并生成了具有windows风格的人机交互界面。软件应用mscomm控件通过串行端口传输和接收数据,为应用程序提供了串行通讯功能。microsoft communications control(mscomm)是microsoft公司提供的简化windows下串行通信编程的activex控件,为应用程序提供了通过串行接口收发数据的简便方法。具体来说,它提供了两种处理通信问题的方法:一是事件驱动(event-driven)方法,一是查询法。我们采用事件驱动方式。使用者可以通过良好的人机界面对整个系统进行实时监控。[page]

  位周期参数确定

  在初始化can控制器的时候,要考虑配置总线时序寄存器的配置等重要问题。事实上,can通信协议中规定、通信波特率、位周期的取样点以及取样个数均可以自主设定,这样为用户在网络通讯性能的优化上提供了空间。如果位周期采样点偏后,可以接受较大的信号传输延迟,相应总线的传输距离可以延长;如果周期的取样点接近中间,则可以容忍系统节点间的参考时钟误差。这些矛盾直接影响了网络系统性能,所以总线位定时非常重要,合理的位定时可以提高系统的整体性能。

  can 总线周期由4个部分组成: 同步段(sync_seg) 、传播延时段、相位缓冲段1 ( phase_seg1) 和相位缓冲段2 (phase_ seg2) ,如表4所示。

同步机制

  can是有效支持分布式实时控制的串行通讯网络。从位定时的同步方式考虑,它实质上属于异步通讯协议,每传输一帧,以帧起始位开始,而以帧结束及随后的间歇场结束。这就要求收/发双方从帧起始位开始必须保持帧内信息代码中的每一位严格的同步。从位定时编码考虑,它采用的是非归零编码方式,位流传输不像差分码那样可以直接用电平的变化来代表同步信号,它属于自同步方式(接收端设法从收到的信号中提取同步信息的方式),can节点从一个位值到另一个位值的转变中提取时钟信息。为保证同步质量,can协议定义了自己的位同步方式:硬同步和重同步。

  通过同步机制,可以消除由于相位误差带来的影响,保证信息正确解码。硬同步后,内部的位时间从同步段重新开始。因此,硬同步强迫同步沿处于重新开始的位时间同步段之内。重新同步的结果使相位缓冲段1增长,或使相位缓冲段2缩短。相位缓冲段加长或缩短的数量有上限,此上限由重新同步跳转宽度给定。

  一个沿的相位误差由相关同步段的沿的位置给出。相位误差定义如下:

  le = 0如果沿处于同步段里;

  le 》 0 如果沿处于采集点之前;

  le 《 0 如果沿处于前一个位的采集点之后。

  当引起重新同步沿的相位误差的幅值小于或者等于重新同步跳转宽度的设定值时,重新同步和硬同步的作用相同。当相位错误的量级大于重新同步跳转宽度时有2种情况:

  如果相位误差为正,则相位缓冲段1被增长,增长的范围与重新同步跳转宽度相同;

  如果相位误差为负,则相位缓冲段2被缩短,缩短的范围与重新同步跳转宽度相同。

  硬同步和重新同步是同步的2种形式,遵循以下规则:

  在一个位时间里只允许一个同步;

  仅当采集点之前探测到的值与紧跟沿之后的总线值不相符合时,才把沿用作于同步;

  总线空闲期间,有一“隐性”转变到“显性”的沿,无论何时,硬同步都会被执行。

[page]

  位时间参数计算规则

  位时间参数计算规则是为保证系统在极端恶劣条件的两个节点间,能够正确接受并解码网络上的信息帧。极端恶劣条件是指这两个节点的钟振偏差在系统容忍偏差极限的两端,并且两个节点间具有最大的传输延迟。在没有噪音干扰的正常通信情况下,相位误差累计的最坏情况是:重同步边沿之间间隔有10个位周期(5个显性位后跟5个隐性位)。实际系统都运行在噪音环境中。由于噪音干扰,可能会导致重同步边沿之间的间隔超过10个位周期,在这种情况下必须进行严格的采用,否则可能进入错误处理模式。本监控系统各节点模块是以sja1000作为can控制器的。所以,考虑各方面的影响,位定时参数在只有1个取样点时的公式设置如下:

  ( sjw) min =max{(20×nbt×δf)/(1 - δf) ,((nbt(1-25×δf )- prop max -(1 -δf)+prop min/2))/(1-δf)}

  ( s j w) max = 4

  t(seg2) min = max{2 , s j w}

  t(seg2) max =min{8,((n b t (1-25×δf ) - ( pro p) max)/

  (1 - δf), (nb t(1 - 25×δf) - ( pro p)

  max - (1-δf) + prop min )/ 2) / (1-δf )

  以上所述为位时间参数的计算规则,在实际监控系统中,以此规则根据适当的方法进行位定时参数确定和优化,使系统性能达到最优。

结语

  现场总线系统用开放的现场总线控制通信网络将自动化最底层的现场控制器和现场智能仪表设备互连的实时网络控制系统。是工业控制系统发展的一个新的阶段。本文所设计的基于can总线的监控系统设计简单方便,性能稳定,能很好的满足控制系统对实时性和可靠性的要求,并在现场运行,效果良好。

关键字:CAN总线  监控系统  帧信息 引用地址:一种基于CAN总线的监控系统设计及位定时分析

上一篇:现场总线技术在应用中存在的问题
下一篇:DeviceNet现场总线在汽车焊装生产线的应用

推荐阅读最新更新时间:2024-05-02 22:16

ControlNet在自动监控系统中的应用
一、应用背景   近年来,世界对于能源的需求不断扩大,能源作为一个国家发展的基础越来越受到各国的重视,由于能源特别是石油而引起的冲突不断。为保证能源的供应,我国除积极寻找国内油田外,还积极寻找国外的供应,因此目前我国的石油供应趋于多样化。而石油的运输主要通过输油管道进行,同时输油本身就是一项能耗巨大的工业过程。如何在油品多样化的现状下寻找出不同油品运输的最低成本方案成为一项重要的课题。建设大口径、多功能、自动化水平高的石油试验环道,可以得到不同环境下石油储运的各种数据,为各储运站提供可靠、准确的试验数据,使石油储运最大化、科学化,减少储运过程中的维护工作。为此中国石油管道公司在我国北方建立一个大型的、国际一流的输油管道试验基地
[嵌入式]
大学英语自主学习监控系统的电路设计与实现
  0 引言   教育部在大学英语教学改革总体思路中提出:改革现存教学模式,将教师、课本、粉笔、黑板与学生,老师讲、学生听的模式改为以计算机(网络)、教学软件、课堂综合运用的个性化、主动式学习模式。新的《大学英语课程教学要求(试行)》也规定:注重和强调以学生为主体,促进个性化学习和自主学习。为了适应新的教学模式,很多高校专门设立了自主学习中心或多媒体教学中心。但是在所进行的自主学习教学实践过程中却发现了一些问题,如学生不能持之以恒,或由于各种原因,最终半途而废;自主学习流于形式,学生在自主学习过程中玩游戏、上网或做其它事情;自主学习设备故障发生率高,包括学生主机、显示器、耳机等电脑外设以及桌、椅。分析其原因,大多数高校只是在观念
[单片机]
基于CAN的多通道数据采集系统的设计
    近年来随着我国航空工业的不断壮大,我国航空发动机的自主设计研制进程也越来越快。在任何型号航空发动机定型之前都要经过各种严格的测试,如振动、压力、噪声、转速及发动机电子控制单元输出信号的检测等。通过对其进行的各项测试才能及时发现其设计缺陷,并根据测试记录的数据进行改进。因此设计完成一套适合航空发动机动态测试的多通道数据采集系统就显得尤为重要了。     航空发动机的动态测试需要数据采集系统配合上位机来完成。数据采集系统将各传感器及发动机控制单元输出的信号进行调理、采集、分析处理后上传至上位机,并及时接收发动机的电子控制单元输出的数字信号,配合上位机完成相应的控制。现有测试当中数据采集系统都是采用数据采集卡,另外配备调理电
[嵌入式]
浅谈双绞线在视频监控系统中的实际应用
      一、概述       在现代智能建筑的弱电系统中,安防系统具有非常重要的地位。在传统的设计和施工中,往往将网络布线与安防监控布线分开考虑,由于使用的介质差异使人们无法将它们很好地统一到一起。但是在大厦的安防监控点不断增加的情况下,较为粗硬的同轴电缆布线数量增多会占用大量的管道资源,而且布线难度很大,况且在布线的长度过大时还会引起图像质量的下降。       与普通公路相比,作为一种特殊建筑的高速公路,具有线型好、设计标准高、交通流量大、行车速度快等特点。然而,如不采用先进的管理措施,在交通量大、气候恶劣的情况下,极易发生交通事故和交通阻塞。为此,在一些车流量非常大的高速公路上部署全程的监控系统就是必不可少了。这
[网络通信]
基于AT89C52的CAN总线分布式测控系统的研制
1 CAN总线网络的技术特点       用通讯数据块编码,可实现多主工作方式,数据收发方式灵活,可实现点对点、一点对多点及全局广播等多种传输方式;可将DCS结构中主机的常规测试与控制功能分散到各个智能节点,节点控制器把采集到的数据通过CAN适配器发送到总线,或者向总线申请数据,主机便从原来繁重的底层设备监控任务中解放出来,进行更高层次的控制和管理功能,比如故障诊断、优化协调等;   采用非破坏性基于优先权的总线仲裁技术,具有暂时错误和永久性故障节点的判别及故障节点的自动脱离功能,使系统其它节点的通信不受影响;同时,CAN具有出错帧自动重发功能,可靠性高;      信号传输用短帧结构(8字节),实时性好;   不关闭总线即
[单片机]
基于AT89C52的<font color='red'>CAN总线</font>分布式测控系统的研制
基于DSP 技术和CAN总线的多节点远程数据传输系统
1 引言   控制局域网CAN属于现场总线范围,是德国Bosch 公司从20 世纪80 年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维,通信速度可达1 M bit/ s. CAN 协议的最大特点是废除了传统的站地址编码,而对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11 位或29 位二进制数组成,因此可以定义211或229个不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。 2 系统设计   在很多野外或测量环境比较差
[嵌入式]
CAN总线学习笔记五:SJA1000硬件电路
  首先对CAN总线控制器SJA1000的管脚我们必须熟悉。下面是其各个管脚的功能参数。 本文引用地址:http://www.eepw.com.cn/article/268451.htm        各个管脚的符号功能什么的上面的表里介绍的很详细,我就不多废话了。   接着我们看SJA1000的这些管脚在实际电路中是怎么进行连接的,因为只谈SJA1000的硬件电路设计,所以就截一张PIAE提供的电路原理图里关于SJA1000的部分。        下面我们要具体解析这个电路图。   AD0-AD7是地址/数据复用总线。因为这个电路是把SJA1000做外部RAM扩展了,所以它的电路
[嵌入式]
CAN总线接□模块工作原理
    1.CAN模块简介        控制器局域网(CAN)模块是用于与其他外围设备或单片机进行通信的模块,这种接口协议能在较大的噪声 环境中进行通信,具有良好的扰干扰性能。 CAN模块是一个通信控制器,执行的是Bosch公司的CAN2.0A/B协议。它能支持CAN1.2、CAN 2.0A、CAN 2.OB 协议的旧版本和CAN2.OB现行版本,此控制器模块包含完整的CAN系统。 CAN模块由协议驱动和信息缓冲及控制组成,CAN协议驱动CAN总线上接收和发送信息的所有功能。信息装载 到某个相应的数据寄存器后再发送,通过读相应的寄存器可检查状态与错误信息。在CAN总线上检测到的任 何信息都要进行错误检查,然后
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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