基于无线传感器网络的CAN总线互联

发布者:Yuexiang666最新更新时间:2011-11-24 关键字:无线传感器网络  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个未解决的任务。我们设计时,主要处理三类事件,即串口接收数据事件、无线接收数据事件和定时器事件。

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

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

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

4 性能分析和实验

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



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

5 结 论

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

 

关键字:无线传感器网络  CAN总线 引用地址:基于无线传感器网络的CAN总线互联

上一篇:基于USB接口和FPGA控制的虚拟仪器设计
下一篇:基于CAN总线的变频设备远程监控系统的实现

推荐阅读最新更新时间:2024-05-02 21:44

基于CAN总线的锅炉分布式监控系统设计
引 言 锅炉是通过燃烧加热工质来提供热能动力的重要设备,同时又是承压、受火、有爆炸危险而又被各行各业普遍使用的特殊设备。所以实时监控锅炉的运行状态,及时、准确地发现锅炉运行中的事故至关重要。传统的锅炉监控系统在测量手段和使用的传感器方面都存在很大的缺陷。以温度检测为例,早期采用的热电偶电桥法,测试过程复杂;而采用集成的半导体模拟温度传感器需要大量的传输电缆,成本高且不易维护。 CAN总线是一种多主机控制标准,具有物理层和数据链路层的协议、多主节点、无损仲裁、高可靠性及扩充性能好等特点;能有效支持分布式控制系统的串行通信网络。一方面,其通信方式灵活,可实现多主方式工作,还可实现点对点、点对多点等多种数据的收发;另一方面,能在相对较
[嵌入式]
一种空间相机的数据通信系统设计
在空间相机数据采集应用中,为了满足电路板体积重量以及可扩展性的要求,利用FPGA作为主控芯片,控制相机进行数据采集和传输。在数据通信系统中,FPGA替代了传统的单片机作为CAN总线的主控制器,并给出了详细的硬件电路设计方法。在对CAN协议控制器SJA1000进行功能及时序分析后,利用硬件语言对其通信流程进行设计。实践证明,在严格的时序逻辑下,FPGA能够控制CAN总线稳定正确地对相机数据进行收发。 CAN总线是由ISO定义的串行通信总线,主要用于各种过程检测及控制。它是一种多主总线,具有高位速率和高抗电磁干扰性,而且能够检测出传输中产生的任何错误。显著的优点使得CAN总线成为国际上应用最广泛的现场总线标准之一 。 由于其优
[网络通信]
STM32CubeMX | 36 - 使用CAN总线进行双板通信(TJA1050)
本篇详细的记录了如何使用STM32CubeMX配置 STM32F407ZGT6 的硬件CAN接口与另一个开发板之间通信。 1. 准备工作 硬件准备 开发板 首先需要准备一个开发板,这里我准备的是STM32F407ZGT6的开发板,称之为 1# 实验板。 CAN收发器 开发板板载一块CAN收发器TJA1050,如图中红框所示: 软件准备 需要准备一份 TJA1050 的数据手册。 实验说明 本实验中还需要另外准备一块具备CAN收发功能的开发板,这里我使用STM32F767开发板,其板载CAN收发器也是TJA 1050,称之为 2# 实验板: 两个开发板之间的连接方式如下: 这样就形成了一个CAN总线的闭环通
[单片机]
STM32CubeMX | 36 - 使用<font color='red'>CAN总线</font>进行双板通信(TJA1050)
基于CAN总线的自动离合器控制器设计
    随着社会的发展,人们对汽车的舒适性和安全性要求越来越高,而手动档汽车因其繁重的选换档及离合器操作增加了驾驶难度。对于驾驶新手而言,又会产生坡道起步易熄火、油耗大、离合器磨损严重等问题 。自动档汽车虽然驾驶操作简单,但其造价高,开发难度大。本文设计的电控自动离合器ACS(Automatic Clutch System)是在手动变速箱基础上安装电控系统,取消离合踏板,实现自动离合。ACS的优势十分明显:与手动挡相比,其驾驶操控更为简单,具有加速快、驾驶舒适的特点;与自动变速器汽车相比,ACS具有造价便宜、维修方便、经济、省油。 1 系统功能     ACS将现代电子控制技术用于控制干式摩擦离合器,模拟优秀驾驶员的操纵动作和感觉
[嵌入式]
基于C8051的CAN多点实时数据通信系统
现场总线是用于过程自动化和制造自动化最底层的现场设备或现场仪表互连的通信网络,是现场通信、计算机技术和控制系统的集成。它在生产现场的测量控制设备之间实现双向串行多节点数字通信、完成测量控制任务;是一种开放型的网络,使测控装置随现场设备分散化,被誉为自控领域的局域网。它在制造业、流程工业、交通、楼宇等处的自动化系统中具有广泛的应用前景。 CAN是Controller Area Net的缩写,即控制网络局部网,是一种有效支持分布式控制或实时控制的串行通信网路。CAN是德国Bosh公司为汽车的检测、控制系统而设计的。由于CAN具有卓越的特性和较高的可靠性,因而非常适合工业过程监控设备互连。CAN已经成为一种国际标准(ISO-118
[单片机]
基于C8051的CAN多点实时数据通信系统
CAN总线应用于蓝牙技术
  首先根据整个来电管理的过程设计三个状态,USB-BOX默认起始状态为Ready,当手机来电时,手机把蓝牙信号(呼叫过程提示)、(来电响铃提示)和CALLER_ID_IND(来电号码)等来电信息传给USB-BOX,USB-BOX进入状态,通过CAN帧将响铃提示信息发送给管理功放音响的收音机,把来电号码发送给液晶屏,这时收音机播放铃声,同时液晶屏上弹出显示页面,包括该电话号码,并提供是否接听的两个可导航选项,这个页面的标识符便是来电管理标识符。   在这个CAN网络汽车音响系统中,收音机和方向盘CAN节点提供人机操作接口控制USB-BOX,而USB音乐播放和蓝牙免提功能相关的液晶屏显示页面则由USB-BOX来控制。USB-BOX的程
[嵌入式]
基于RFID技术的无线传感器网络节点设计
  为了解决无线传感网通常运行在人不能或不便接近的环境,能源无法替代的问题,该设计采用了单片机MSP430F2370芯片和少量外围电路等来构成完整测量系统。由于其充分利用了单片机内部资源,使系统硬、软件设计达到了最小化,具有识别可靠性高、抗干扰能力强、成本低廉和体积小巧等特点。它可以识别ISO15693,ISO14443A,ISO14443B等多种协议标准的电子标签。在今后的门禁系统、生产线检测、自动收费系统、超市物流等方面有很大的应用前景。   物联网与无线传感器网络是当前在国际上备受关注的、涉及多学科高度交叉、知识高度集成的前沿热点研究领域。物联网能够获取客观物理信息,具有十分广阔的应用前景,能应用于军事国防、工农业控制、
[单片机]
基于RFID技术的<font color='red'>无线传感器网络</font>节点设计
模糊控制在基于CAN总线的数据采集与控制系统中的应用
    摘要: 介绍了如何的把把模糊算法与CAN部线结合起来应用于控制系统;并设计了一种智能型模糊控制算法,给出了系统的整体结构和现场模糊控制单元的硬件实现电路及其软件设计思路。系统的仿真结果表明,该系统实时性好、控制精度较高。     关键词: 模糊控制 现场总线 数据采集 控制系统 CAN总线 L.A.扎德教授于1965年创立的模糊集合理论(Fuzzy Sets)及模糊数字(Fuzzy Mathematics)为模糊逻辑控制的形成提供了理论基础。近年来,随着各企业生产规模的不断扩大,生产过程控制系统也变得越来越复杂。由于整个系统的非线性增强、时滞增大,而且不是系统中的每个环节都需要建立精确的数学
[传感技术]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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