总线分析仪在无线传感器网络的CAN总线互联开发中的应用

发布者:脑力激荡最新更新时间:2014-03-04 来源: ofweek关键字:总线分析仪  无线传感器网络  CAN总线 手机看文章 扫描二维码
随时随地手机看文章
    1 引言

  装甲车辆状态信息采集系统的信息采集单元通常采用CAN总线连接,某些情况下,车辆上装和下装之间的旋转连接器由于没有连线空间,需要无线通信模块为上装和下装的CAN总线提供一个透明的无线通道。本文基于无线传感器网络给出一种无线通道的设计,主要包括CAN总线无线接入控制模块电路设计以及无线传感器节点的通信协议设计等内容。

  2 电路设计

  以无线传感器网络为基础的CAN总线扩展系统总体结构如图1所示,其主要由两块CAN总线无线接入控制模块构成,每个模块的组成及各部分的作用是:无线传感器节点的微控制器及存储器模块,接收对端无线接人控制模块传来的数据并存储,然后将数据交CAN控制器待发,同时接收CAN控制器传来的数据并通过传感器网络将数据发送到对端无线接入控制模块;CAN控制器采用SJA1000,运行CAN协议,为传感器网络结点提供CAN总线服务;收发器采用TJA1050作为CAN控制器与物理媒体的物理接口,为CAN控制器提供比特流服务。

  3 无线传感器节点

  3.1 无线传感器网络节点硬件结构

  图2所示为无线传感器网络节点的硬件,包括传感器模块、微处理器模块和无线通信模块等三个功能部分。GAINTS系列节点使用AT-MEGA128单片机作为控制器和处理核心,无线通信模块核心采用工作在433

  MHz的单芯片低电压CC1000收发器,该射频芯片具有工作电压低(2.1~3.6V均可工作)、能耗低、体积小等非常适合于集成的特点。它采用FSK调制方式,外部采用SPI的接口,可以和微控制器直接相联。CC1000使用频率为14.745

  MHz的晶振作为驱动,在该驱动下面CC1000可以提供的最大数据传输率为19.2KB/s,也就是说每ms不到3个字节,这个数据对MAC层的协议是很有用的,在设置ACK等待时间和RTS-CTS等待时间的时候需要考虑这些参数。

  3.2 通信协议设计

  本文基于TinyOS底层通信接口进行通信协议设计。对TinyOS编程采用的是nesC语言,这是一种类似C的语言,是对C的扩展,也是结构化的语言,是基于组件式的编程,模块化的设计。nesC组件有两种:Module(模块)和Configuration(连接配置文件)。Module在模块中主要实现代码的编制,可以使用和提供接口,在它的实现部分必须对提供接口里的command和使用接口里的event进行实现。

  TinyOS是基于一种组件架构方式的开源的嵌入式操作系统,一个应用程序可以通过连接配置文件(a wiring specification)将各种组件连接起来,以完成它所需要的功能。TinyOS的应用程序都是基于事件驱动模式的,采用事件触发去唤醒传感器工作。tasks一般用在对于时间要求不是很高的应用中,且tasks之间是平等的,即在执行时是按先后顺序,一般为了减少tasks的运行时间,要求每一个task都很短小,能够使系统的负担较轻;events一般用在对于时间要求很严格的应用中,而且它可以优先于tasks和其他events执行,可以被一个操作完成或是来自外部环境的事件触发,在TinyOS中一般由硬件中断处理来驱动事件。在TinyOS中由于tasks之间不能互相占先执行,所以TinyOS没有提供任何阻塞操作,为了让一个耗时较长的操作尽快完成,一般都是将对这个操作的需求及其完成分开来实现,以便获得较高的执行效率。由于在Tiny-OS中没有进程管理的概念,它对任务是按简单的FIFO队列进行处理的,对资源采取预先分配,且这个队列里最多只能有7个未解决的任务。我们设计时,主要处理三类事件,即串口接收数据事件、无线接收数据事件和定时器事件。[page]

  ①串口接收数据事件。每次节点从串口接收到一个字节的数据将触发该事件。对于信息采集任务来说,其信息是定时采集的。同时,CAN总线的速率远远大于无线传输的速率。因此,在节点开辟了一段较大的缓存区,对CAN总线传过来的数据进行缓存。该缓存区的大小取决于无线传输的速率以及CAN总线在一个定时采集周期的数据量大小。假设无线传输的速率为V、缓存区大小为Mem、采集周期为T、每个采集周期的数据量为Data,注意V为传输有效数据的速率,即要去掉协议开销以及管理和控制开销,则至少满足V×T≥Data,Mem≥Data。为提高无线传输的效率,不是每次从串口接受到一个字节就从无线接口发走,而是每次缓存的字节数达到无线传输一个数据包的大小时,启动任务一UARTRcvdTask。这种采用任务的方式进行实际的无线数据传输可以避免阻塞其他event事件。

  ②无线接受数据事件。每次节点从无线接口接受到一个数据包将触发该事件。事件处理程序主要从协议数据包中获取传输数据,并且缓存于接受缓存区,具体地怎么处理无线接受的数据的工作,通过启动任务——RadioRcvdTask来完成,以避免阻塞其他event事件。

  ③定时器事件。该事件定时触发。该事件处理程序主要定时判断串口接受数据缓存区是否有数据,如果有的话,则启动任务——UARTRcvdTask,以避免到串口收到的数据不足一个协议数据包时,会长期滞留在串口接受数据缓存区中。

  4 性能分析和实验

  整个系统的性能主要取决于无线传输的速率。无线CC1000使用频率为14.745MHz的晶振作为驱动,在该驱动下面CC1000可以提供的最大数据传输率为19.2 KB/s。考虑无线传输协议消耗,无线传输数据报的格式如下:

  其中TOSH_DATA_LENGTH=29,故协议的理论有效数据比率约为70%。同时,为提高无线传输的效率,不是每次从串口接受到一个字节就从无线接口发走,而是每次缓存的字节数达到无线传输一个数据包的大小时,才启动发送任务,故无线有效传输速率约为13.4KB/s,,对于本系统应用来说,CAN总线的采样周期为10 s,每次采样数据为1K数据。虽然,CAN总线速率相对来说较高,但是通过缓存完全可以满足需求。 在性能测试中,该系统持续运行20多个小时,收发均无问题。

  5 结 论

  本文基于无线传感器网络给出一种连接CAN总线的无线通道设计,主要包括CAN总线无线接入控制模块电路设计以及无线传感器节点的通信协议设计等内容。目前,该系统已经实现,实际使用效果良好。本文内容对于一般的信息采集无线传输系统设计具有较好的借鉴意义。

关键字:总线分析仪  无线传感器网络  CAN总线 引用地址:总线分析仪在无线传感器网络的CAN总线互联开发中的应用

上一篇:CANBUS总线汽车方向盘控制音响系统解码与解决方案
下一篇:工控机在汽车充电桩控制系统中的解决方案

推荐阅读最新更新时间:2024-05-02 23:00

CAN总线到Ethernet网的网关研究实现
  引言   CAN总线是一种开放式、数字化、多点通信的控制系统局域网络,是当今自动化领域中最具有应用前景的技术之一。由于CAN总线具有通信速率高、开放性好、报文短、纠错能力强以及控制简单、扩展能力强、系统成本低等特点,越来越受到人们的关注。以太网具有快速、灵活、方便、可靠的特长,如果把现场总线与以太网互联的话,可实现过程控制中从设备层到管理层的一体化,使得企业可以广泛地应用如互联网、无线通信、智能设备和决策支持系统等新技术,以达到提高效率和降低成本的目的。   硬件设计   硬件选择   要实现现场总线设备接入Internet,关键就是要实现TCP/IP 协议、以及传输信息介质的选择。笔者用SX52微控制器作为处理器
[嵌入式]
无线传感器网络自组网协议的实现方法
引言   无线传感器网络具有非常广阔的应用前景 。文献 给出一种传统的洪泛算法(Flooding),也是最早、最简单的路由协议。节点以广播的形式发送消息,接收到消息的节点再以广播形式转发数据包给所有的邻节点,这个过程重复执行,直到数据包到达目的地或者达到预先设定的最大跳数。文献 提出了最具代表性的层次型自组织算法(LEACH,Low Energy Adaptive Clustering Hierarchy)。LEACH是MIT的Heinzelman等人为无线传感器网络设计的低功耗自适应聚类路由算法,主要通过随机选择聚类首领、平均分摊中继通信业务来实现。文献 给出以数据为中心的自组织算法SPIN(Sensor Protocols
[单片机]
<font color='red'>无线传感器网络</font>自组网协议的实现方法
为何说以太网是车载连接的基础
毫不夸张地说,互联互通是我们所有日常技术能够发挥作用的命脉,并延伸到我们汽车内部的连接。不过,在这篇博文中,我们探讨的不是司机、乘客及其设备的无线通信。相反,我们说的是一种总线,它在汽车内部传输数据,使其所有部件能够相互通信,从车窗到ESP和ABS系统,再到任何需要驾驶员输入的电子系统。 汽车制造商的现代数据传输始于1983年控制器局域网总线(CAN总线)的发展,从这个较低的起点开始,线缆和连接选项的数量迅速增加,以跟上不断增长的车辆周围移动数据的更多需求:事实上,CAN XL于2019年推出。市场上有这么多的选项,很难知道哪一个在速度、可用性和功能方面真正领先。 几十种选择:一个赢家 下面可以看到从1983年到现在的一系
[嵌入式]
为何说以太网是车载连接的基础
基于CDMA和CAN总线的车辆远程故障诊断系统
   1 引言   在美国制造和销售的所有的小汽车和轻型卡车从1996年1月1号起都必须装备有车载自动诊断系统(OBD-II)。然而OBD-II主要用于排放系统的诊断,车辆的其他各个子系统能被OBD-II诊断的比较少。虽然这些诊断码对诊断部分 故障是很有用的,但是这些信息还不足以有效的区分特定的故障部位。通过接入OBD-II接口的扫描工具能获得故障码,但是各个生产厂商提供的手持式扫描工 具与OBD-II通信的标准并不统一,欧洲和大部分亚洲国家使用ISO9141标准与OBD-II通信,而通用汽车的小汽车和轻型卡车则使用sae j1850 vpwm标准,福特公司采用sae j1850pwm标准。   这样就导致传统的汽车故障诊断有
[单片机]
基于CDMA和<font color='red'>CAN总线</font>的车辆远程故障诊断系统
CAN总线分布式安全检测系统设计
  1、引言   随着自动控制技术和现场总线技术的不断发展和深化,网络化、集成化和互操作已成为现代控制系统的重要发展方向。在众多的现场总线标准中,德国Bosch公司提出的CAN总线(Controller Area Network)是从80年代初为解决现代汽车中众多的控制于测试仪器之间的数据交换而开发的一种串行数据通信协议 。   本文介绍了利用红外传感器无接触检测,结合单片机技术、CAN总线技术,将现场存在的传感器、电子控制单元、执行机构连接起来组成分布式控制网络,实现了分布式安全保护检测控制。有效地保证了工作人员人身安全和生产的正常进行。该系统可用于危险场所、区域安全防护,机械加工、纺织、食品加工等安全保护以及家庭等防盗报警,
[嵌入式]
基于CAN总线的轿车车窗智能控制系统设计
1  引言                      can总线 是一种有效支持分布式控制和实时控制的串行 通信网络 ,以其高性能和高可靠性在自动控制领域得到了广泛的应用。目前在国外中高档轿车已普遍应用了汽车 总线 网络 技术,在国产汽车中采用can总线技术已经取得了一定进展,但受制于技术和成本等问题的限制,整体水平比较落后。作为目前最具应用潜力的车载 现场总线 ,can总线技术可为我国汽车产业升级、进一步降低成本,扩大市场占用率提供支持。                      现在各中高档轿车都安装了电动车窗,按下按钮就可以控制车窗玻璃的升降。如果车窗没有智能,司机在没有注意到乘客的手或物体伸出窗口,就容易被上升的玻璃夹伤。
[嵌入式]
详解基于CAN总线的汽车仪表系统设计—CAN总线原理分析
控制器局域网CAN 控制器局域网CAN(CAN一  ControllerAreaNetwork)为串行通讯协议,属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络,能有效地支持具有很高安全等级的分布实时控制。CAN的应用范围很广,从高速的网络到低价位的多路接线都可以使用CAN。控制器局域网采用双线串行通信方式工作。具有强有力的检错功能,可在高噪声干扰环境中使用,具有优先权和仲裁功能、多个单片微机可通过CAN的控制器挂到CAN总线上,形成多主机局部控制网。CAN的最初设计目标是取代汽车中过多的硬件连接控制电路,但由于它的优良性能,现在除了汽车外,它已在工业自动化、各种控制设备、交通工具、医疗仪器以及建筑、环境控制等
[嵌入式]
用87C196NT单片机实现CAN总线通信
    摘要: 主要介绍CAN总线的原理及如何用87C196NT单片机实现基于CAN总线的网络通信;对其硬件和软件设计作详细的分析,最后给出下位机程序。     关键词: 单片机 CAN总线 87C196NT PCA82C200 1 CAN总线简介 CAN(Controller Area Network)即控制器局域网,主要用于各种设备监测及控制的一种现场总线。CAN总线最初是由德国Bosch公司为汽车的监测、控制系统而设计的。CAN总线具有独特的设计思想,良好的功能特性和极高的可靠性,现场抗干扰能力强。具体来讲,CAN总线具有如下特点: *结构简单,只有2根线与外部相连,且内部含有错误探测和管理模块
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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