基于DSP的蓝牙(Bluetooth)嵌入式系统应用
蓝牙(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数据及应用手册以及蓝牙协议相关部分。
- 蓝牙无线耳机设计及VxWorks移植方法(07-21)
- 基于S3C4480X控制的蓝牙音频网关设计与实现(07-12)
- 基于DSP与FPGA的蓝牙数据采集系统设计(09-19)
- 基于Windows CE.NET实现蓝牙通讯模块的几种方法(01-25)
- 孕龙逻辑分析仪在USB蓝牙接收器上的实际测量(09-24)
- 基于Android和蓝牙技术的手机遥控车设计(10-13)