蓝牙(Bluetooth)协议标准是由蓝牙特别兴趣小组(Bluetooth SIG)发布的,1999年发布了Bluetooth 1.0版, 2001年2月发布了Bluetooth1.1版。目前SIG成员已经发展到3000家左右。蓝牙协议规定的无线通信标准,基于免申请的2.4GHz的 ISM频段,采用GFSK跳频技术和时分双工(TDD)技术,通信距离为10米左右,Blue tooth 1.0版标准规定的数据传输速率为 1Mbps。主要适用于各种短距离的无线设备互连应用场合。可以提供点到点或点到多点的无线连接。
1 基于电缆替代的蓝牙协议简析
1.1 蓝牙协议体系
蓝牙协议规范所措述的协议栈模式如图1所示。
蓝牙体系结构中的协议可分为四层:
核心协议:基带控制协议(Baseband)、链路管理协议(LMP)、逻辑链路控制应用协议(L2CAP)、服务发现协议(SDP);
电缆替代协议:RFCOMM;
电话传送控制协议:TCS二进制、AT命令集;
可选协议:PPP、UDP/TCP/IP、OBEX、WAP、vCard、vCal、IrMC、WAE。
在协议中,规定了为基带控制器、LMP、硬件状态及控制寄存器提供命令接口的主机控制器接口(HCI)。在不同的应用模式下,HCI所处的位置不同。它可以位于L2CAP的下面,也可以在L2CAP之上。
1.2 电缆替代协议应用模式
基于ETSI标准的TS07.10信令的RFCOMM协议,提供了一个基于L2CAP协议之上的串口仿真应用模式。蓝牙协议1.0版中, RFCOMM提供的上层服务模式主要有三种:对9针RS-232接口仿真模式、空Modem仿真模式和多串口仿真模式。典型的RFCOMM应用模式框图如图2所示。
1.3 蓝牙嵌入式应用模式
仅仅以RFCOMM协议为基础,作为串口的电缆替代应用,无形中限制了蓝牙设备的应用范围,降低了蓝牙设备的应用价值。目前计算机与外部设备的接口种类繁多,比较常见的有RS-232、RS-485、Parallel Port、CAN总线、SPI总线、I2C总线等。如果要使蓝牙设备在各种场合发挥作用,必须使蓝牙设备具备适合这些应用场合的多种接口功能。使用DSP数字信号处理器作为嵌入式控制器,不仅实现蓝牙物理设备的初始化、蓝牙高层协议,而且利用其接口灵活的特点,可以方便地对蓝牙电缆替代协议进行有效扩展。具体应用模式如图3所示。
2 系统硬件结构
本系统的构成在硬件上分为两个部分,蓝牙基带和射频部分采用爱立信(ERICSSON)公司提供的蓝牙模块ROK101007;嵌入式控制器采用美国TI公司的TMS320VC54X系列的DSP数字信号处理器。
2.1 ERICSSON蓝牙模块
ROK101007 是根据蓝牙规范1.0版(Bluetooth 1.0B Version)而设计的短距离蓝牙通信模块,它包括三个主上部分:基带控制芯片、Flash存储器和Radio芯片。它工作在 2.4GHz~2.5GHz的ISM频段,支持声音和数据的传输,其主上功能参数有:
Bluetooth 1.0B预认证;
2级RF射频功率输出;
提供FCC和ETSI纠错处理;
最大460 KB/s UART数据传输速率;
提供UART、USB、PCM、I2C等多种HCI接口;
提供内部晶振;
内部预制HCI框架;
点到点、点到多点操作;
嵌入式屏蔽保护。
ROK101007特别适合计算机及外围设备、手持设备、端口设备使用。其内含的蓝牙协议构架及内部系统框图如图4、图5所示。
2.2 DSP处理器
TMS320C54X是16-bit定点DSP,适合无线通信等实时嵌入式应用的需要。C54x使用了改进的哈佛结构。CPU具有专用硬件算术运算逻辑,大量的片内存储器、增强的片内外设以及高度专业化的指令集,使其具有高度的操作灵活性和运行速度。主要特点如下:
运算速度快:指令周期为25/20/15/12.5/10ns,运算能力为40/50/66/80/100MIPS;
优化的CPU结构:内含1个40位的算术运算逻辑单元,2个40位的累加器,2个40位的加法器,1个17×17的硬件乘法器和1个40位的桶形移位器。有4条内部总线和2个地址产生器等。先进的CPU优化结构可以使DSP高效地实现无线通信系统中的各种功能。
低功耗方式:54x系列DSP可以在3.3V或2.7V电压下工作,而有些DSP内核采用1.8V电压工作以减小功耗。
智能外设:除了标准的串行口和分时复用(TDM)串口外,54x还提供了多路缓冲串口(McBSP)和外部处理器通信的HPI并行接口。
2.3 系统构成
本系统中,采用单5V电源供电,嵌入式系统控制器与蓝牙模块之间的HCI接口采用UART方式。硬件构成框图如图6所示。整个系统分为四个部分:发射机、嵌入式控制器、电源管理、接口逻辑。
(1)发射机由蓝牙模块ROK101007和阻抗为50Ω的天线构成。初始化阶段,模块接收控制器通过UART发送的HCI命令,实现蓝牙设备的复位、启动、地址查询、跳频算法、自动寻呼等初始化操作,与附近的蓝牙设备建立可靠的物理链路,并对物理链路进行相应的加密。在数据传送阶段,接收控制器(HCI驱动模块)送来的HCI数据包,经过模块中HCI固件(HCI Firmwire)转化为基带数据包并送给基带协议层(Baseband)处理,基带对上层送来的数据进行解码,将其变为可以发送的位数据流,按照设定的跳频算法,采用高斯频移键控(GFSK)编码方式通过天线送出去。接收数据时,以相反的过程将接收到的数据进行编码,组合成HCI数据包格式并通过 UART口送给控制器。具体的收发执行过程可以参考ROK101007数据及应用手册以及蓝牙协议相关部分。
(2)嵌入式控制器由TI的定点数字信号处理器TMS320C54x、Flash Memory、SRAM组成,完成对蓝牙模块的初始化、数据传送、协议实现等功能。
(3)接口控制逻辑包括应用接口和控制接口。控制接口为控制器的HPI接口,主要实现系统的在线特殊控制和Flash在线编程数据传送口。HPI控制接口通过DSP的HPI主机接口实现。应用接口包括RS-232/RS-485串行接口逻辑、并行接口逻辑(如IEEE488总线)、SI同步串口逻辑,在不同的嵌入式应用中,分别通过不同的接口形式实现本嵌入式系统与主设备控制器的接口。应用接口通过DSP的片内外设(enhanced peripherals)或者通用I/O端口模拟实现。
(4)电源管理。系统通过单5V电源供电,可以简单地从主设备接口中获取电源,无须另加电源器件。电源管理模块采用TI专用电路,提供两路电压输出,+3.3V工作电压和+1.8V控制器内核工作电压。
3 系统软件设计
系统采用TI提供的DSP5000系列专用集成开发工具CCS1.2开发。系统软件构成包括应用端口通信及协议模块、L2CAP协议模块、HCI接口驱动模块、HPI通信模块和Flash编程模块。主要任务可分为:系统初始化、Flash编程、建立物理链路、数据传送和接收等。整个软件流程如图7。
由于蓝牙模块本身具有线路加密功能,因此在本系统设计中没有考虑软件加密功能。在实际的设计和应用过程中,可以视其实际应用环境和系统处理速度而添加软件加密模块。由于跳频通信本身具有高抗干扰性的特点,本嵌入式蓝牙应用系统不仅可以应用于各种终端设备和手持设备间的中低速无线数据交换,而且可广泛地应用于各种工业设备、军事装备的检测和控制领域。