C114通信网  |  通信人家园

技术
2010/4/8

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

来源:电子技术应用  作者:贺 明, 周中华 董利民, 吴武臣

蓝牙是一种低成本、短距离无线通信技术,工作频段使用全球统一开放的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所述过程,系统与目标设备可完成一次文件单点传送。在实现文件多点传送时,可循环调用此过程,完成文件传输。

 

给作者点赞
0 VS 0
写得不太好
热门文章
    最新视频
    为您推荐

      C114简介 | 联系我们 | 网站地图 | 手机版

      Copyright©1999-2024 c114 All Rights Reserved | 沪ICP备12002291号

      C114 通信网 版权所有 举报电话:021-54451141