当前位置:首页 > 通信技术 > 通信技术
[导读]本文基于无线传感器网络给出一种连接CAN总线的无线通道设计,主要包括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总线无线接入控制模块电路设计以及无线传感器节点的通信协议设计等内容。目前,该系统已经实现,实际使用效果良好。本文内容对于一般的信息采集无线传输系统设计具有较好的借鉴意义。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

汽车电子系统架构发生了颠覆性变化。它已经持续了近十年,现在正在加快速度。这主要发生在 BEV 初创公司中,因为它们没有历史限制或根深蒂固的喜爱设计,并且可以从电子架构的零基础开始。

关键字: CAN总线 电动汽车

在电子产品的设计中,电磁兼容EMC性能对系统的影响非常大,关系到其能正常稳定运转。世界上已经开始对电子产品的电磁兼容性做强制性限制,电磁兼容性能已经成为产品性能的一个重要指标。 电磁兼容主要有两方面的内容,一个是产...

关键字: CAN总线 电磁兼容EMC

CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低功耗、低成本的要求,各种各样的电子控制系统被开发了出来。...

关键字: CAN总线 CAN 抗噪

CAN总线首先在汽车上得到了广泛应用,之后又在工业生产领域有了很大发展,那么面对不同的应用场景和工况,如何选择合适的网络拓扑结构慢慢成为一个让人头疼的问题。在这篇文章中,我将重点介绍用于驱动这些总线电压的 CAN 驱动器...

关键字: CAN总线 CAN总线拓扑

摘要:针对目前水环境污染状况的日益恶化的问题,采用无线传感器网络,通过节点传感器采集水环境中离子浓度、盐度、电导率、温度等参数来实现实时监测。传感器网络节点一跳或多跳方式自组织网络,汇聚节点将传感器网络节点采集的数据通过...

关键字: 无线传感器网络 汇聚节点 水环境 实时监测

摘要:无线传感器网络作为一种新兴的信息获取技术,是当前的研究热点。由于无线传感器网络节点能量有限,因此对其路由协议的研究成为重中之重。对近年来无线传感器网络路由协议进行归纳和分析,并基于分层路由协议提出一种均衡能量消耗的...

关键字: 无线传感器网络 路由协议 改进算法 能量消耗

摘 要:随着耕地与水资源的日益减少和人们对高质量水产品需求量的不断增大,越来越多的人们开始尝试推广工厂化 的高密度水产养殖方式。而目前尚欠缺一种适应于工厂化高密度水产养殖模式的高效、安全且经济适用的养殖场水体环境在 线监...

关键字: 无线传感器网络 工厂化水产养殖 水环境 实时监测

摘要:为了通过无线传感器网络对室内人员无线定位来实现场馆人员管理,在分析传统的RSSI定位算法及其缺陷的基础上,采用的改进算法增加了模型自适应阶段,引入高斯滤波处理对RSSI值进行修正,利用加权极大似然估算法计算坐标位置...

关键字: 无线传感器网络 定位 RSSI CC2530

在进行CAN总线通信前,应保证正确的总线配置,比如终端电阻。它是影响总线通信的重要组件,下面我们不考虑信号的完整性,只从信号幅度和时间常数方面分析不加终端电阻时的影响。  终端电阻添加要求根据ISO11898-2对终端电...

关键字: 电阻 终端 CAN总线 电平

大家好,我是小麦。最近在调试一个CAN总线的设备遇到一些问题,简单总结一下。本文会对CAN总线进行简单介绍,CAN的硬件链路层,协议层,以及调试的一些心得。目录什么是CAN总线?物理层差分信号连接方式CAN节点CAN协议...

关键字: CAN总线

通信技术

120646 篇文章

关注

发布文章

编辑精选

技术子站

关闭