嵌入式蓝牙文件传送方案的实现

2011-05-30 14:36:23来源: 互联网

    蓝牙是一种低成本、短距离无线通信技术,工作频段使用全球统一开放的2.4 GHz的ISM频段[1],并将此频段分为79个跳频点,采用跳频技术,增强了蓝牙通信的可靠性。蓝牙技术现已被广泛应用于无线通信领域中,如个人无线通信设备、无线网络通信以及各种传宣系统[2]。

    利用蓝牙技术实现不同类型的文件传送是蓝牙通信的重要应用,而传统的基于蓝牙1.0规范的蓝牙通信只支持单点传输,随着蓝牙技术的发展,蓝牙2.0规范中增加了EDR(Enhance Data Rate)技术,提高了蓝牙数据传输的吞吐量,为蓝牙多点通信提供了条件。本文依据蓝牙2.0规范,结合TDD技术,在实现了单点文件传送的基础上,成功完成了嵌入式系统对远程蓝牙设备的多点文件传送方案,并应用个人区域网络技术实现了嵌入式系统与PC机之间的网络文件传送,扩展了蓝牙通信在网络领域的应用。蓝牙文件传送和网络文件传送功能为广告产业及其他信息发布相关产业提供了广阔的发展空间,具有良好的市场前景。

1 方案设计概述

    方案设计以ARM嵌入式系统作为硬件实现平台,并基于Linux操作系统,完成蓝牙文件传送方案。文件单点传送方案依据对象交换协议OBEX(Object Exchange),利用蓝牙官方协议栈BlueZ以及openobex上层应用函数库实现对象推送功能,从而完成对远程设备的文件单点传送。文件多点传送方案将在底层应用全双工时分复用(TDD)技术以及EDR(Enhance Data Rate)技术实现蓝牙数据通道共享和宽带、高吞吐量数据发送,在上层以文件单点传送方案为基础,辅以嵌入式技术建立并管理多个文件发送进程,完成文件向多个远程设备的同时发送,加入了重发机制以保证文件多点传送的可靠性。此外,基于个人区域网络技术的网络文件传送功能,使用户可在PC机端以FTP方式访问并更新嵌入式系统中的文件。

2 方案硬件架构

    本方案基于ARM硬件开发平台,以SAMSUNG S3C2440作为核心处理器,并与64 MB SDRAM和64 MB Flash共同组成核心嵌入式系统,运行ARM-Linux-2.6.12内核操作系统,其中内核配置蓝牙子系统,可为USB蓝牙适配器提供驱动。蓝牙适配器作为系统的核心通信部件接至USB Device接口,并通过适配器完成文件传送功能。同时本硬件系统易于功能扩展和系统移植,开发人员可通过USB Host接口将操作系统内核以及上层应用程序下载到SDRAM或烧写至Flash中,并通过RS232串口对应用程序进程调试。硬件整体架构如图1所示。


3 方案软件框架

    软件框架主要由蓝牙核心协议、会话层协议以及上层应用程序构成,如图2所示。其中蓝牙核心协议包括:RF协议、基带(Baseband)协议、LMP、L2CAP,主要完成蓝牙数据由逻辑链路层到实际物理通道的控制和处理。

    会话层协议将建立对应功能的模型描述,并定义相关操作方法,为上层应用程序提供接口。其中RFCOMM协议提供对基于L2CAP协议的串口仿真,基于ETSI07.10,可支持在两个蓝牙设备之间同时保持高达60路的通信连接。其次,本方案利用服务发现协议(SDP)获取周边蓝牙设备服务信息,并自动筛选出带有对象推送服务的远程设备作为发送目标,此协议由BlueZ所提供的接口函数实现。而OBEX作为实现文件传送的核心协议,将为被传送文件建立对象模型,并面向对象及传送过程定义对应操作方法,以实现文件传送。PAN协议用于建立蓝牙无线网络与以太网之间的访问点,以完成与TCP/IP之间的无缝连接。

    上层应用程序将基于应用层协议所提供的接口函数,主要依据对象交换协议(OBEX)实现对象推送(OBEX PUSH)功能,从而完成文件的单点传送,并在此基础上,结合Linux多进程技术实现文件多点传送。此外,利用BlueZ提供的PAN工具实现嵌入式系统与PC机之间的组网,完成网络文件传送功能。


4 文件传送功能实现

4.1 文件单点传送实现

    文件单点传送是多点传送的基础,也是本方案的核心技术,并基于对象交换协议(OBEX)。应用于蓝牙系统的对象交换协议其目标是完成两蓝牙设备间的数据对象通信,其典型应用为实现对象推送功能。OBEX本身包括两部分:数据对象模型和会话协议。对象模型包括将要传输的数据对象的各种信息以及数据对象本身。该模型的建立完全基于各种标准的或者用户自定义的可分析的信息头(headers),信息头由信息头ID和信息头的值两部分构成,ID描述了信息头的内容及格式,信息头的值由一个字节或多个字节组成,描述了对象属性的具体含义。OBEX会话层操作由请求-应答成对组成,由客户端发出请求,服务器做出应答,客户端必须等待服务器做出应答后才能发起新的请求。

    本方案利用openobex应用函数库实现了系统对某一远程设备的文件对象推送功能。openobex函数库实现了OBEX协议的会话层操作及相应对象模型描述。图3显示了完成对象推送功能的全过程。

    通过图3所述过程,系统与目标设备可完成一次文件单点传送。在实现文件多点传送时,可循环调用此过程,完成文件传输。

4.2  文件多点传送实现

    文件多点传送基于单点传送,并利用蓝牙协议中的TDD技术和EDR技术实现了嵌入式系统向多个蓝牙设备节点并发传送文件的功能。同时利用多进程技术,对多个发送进程进行合理管理,保证文件能高效及时地被发送到远程设备中。其中采用TDD技术,使多台设备能够共享一个物理通道[4],并将数据进行分组,按时分复用方式发送。而EDR技术增加了蓝牙数据的传输带宽和传输吞吐量,从而提高了文件多点传送的带宽和吞吐量。

    多点传送流程如图4所示。首先由文件发送父进程,根据查询到的蓝牙设备数目创建与之数目相等的文件发送子进程,每个文件发送子进程将独立承担向相应蓝牙设备发送文件的任务,使文件向多台设备同时进行传送。

[1] [2]

关键字:嵌入式  蓝牙文件传送

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/wltx/2011/0530/article_5968.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
嵌入式
蓝牙文件传送

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved