蓝牙是一种流行的无线通信标准。因其便捷、易用、并具有可满足当今快速扩展的移动与个人通信应用需求的带宽,该技术的集成在业内迅速扩展。根据2004年4月In-Stat/MDR发布的报告,未来支持蓝牙的应用将包括蜂窝电话、无绳电话、接入点、台式电脑、笔记本电脑、内存卡、打印机、数码摄像机和数码相机、广泛的消费类设备(包括游戏、音箱、机顶盒与MP3播放机等),以及汽车与工业应用等。
蓝牙支持无线点对点连接和LAN、移动电话网络、以太网及家庭网络设备等的无线接入。蓝牙可通过这些设备进行无线发射和接收。它通过一个主机系统和一个主机控制器接口(HCI)发送和接收发射的数据。
目前,最流行的HCI是通用异步接收器与发射器(UART)和通信串行总线(USB)连接的,如图1所示。UART通常更受青睐,因其性能和数据吞吐率水平与USB接口相当,且传输协议较为简单,减少了软件开销,是一种更为经济高效的全硬件解决方案。
预计很大比例的针对通信应用而开发的蓝牙芯片将在主控制器中包含UART。本文将考察UART作为一个界于主机与蓝牙芯片组/模块之间的桥接设备具有的优点。
图1:蓝牙模块与主机系统的连接框图
UART概述
UART通常用于与串行输入和串行输出设备之间的通信。这种传输类型通过牺牲速度降低了连接的成本和复杂性。对许多应用而言,这种折中是理想的。
UART的发射器和接收器均提供了串行异步接收数据同步和数据并转串/串转并功能。这些功能是将串行数据流转换为数字系统所要求的并行数据所必需的。串行数据流的同步是通过在发送数据中增加起始位和停止位以形成一个数据字符而实现的,并通过给数据字符附加一个奇偶校验位来保证数据完整性。接收器将通过该奇偶校验位来检测传输错误。
对主机系统来说,UART就像一个8位的输入和输出端口,主机可以对其进行读写操作。当主机有数据要发送时,它只需将数据按字节格式(8位宽)发送到UART即可。当UART接收到来自另一个串行设备的数据时,会把数据缓存在其FIFO中(同样是8位宽),然后通过一个内部寄存器位或硬件中断信号向主机指示该数据已可以使用。
除发射器和接收器外,有些UART还整合了如下功能,从而极大地减少了软件开销,提高了系统效率。
● 硬件与软件自动流量控制:自动防止出现FIFO溢出的状况。如果没有自动流量控制,主机软件必须在接收FIFO快被填满时立即将其读取至空。
● 较大的FIFO:减少主机处理器花在UART上的时间。这将使处理器有更多的时间完成其他任务。
● 更快的波特率和更快的总线访问:提高总体系统性能。系统可在更少的时间内发送/接收更多数据。
图2:F2M01与串行端口连接器的接口
UART应用于现成的蓝牙模块
采用UART接口可带来的一个好处是可与现成的蓝牙模块一起工作。为了说明这一硬件接口,我们将考察一个关于Free2Move蓝牙串行模块(F2M01)的实例。目前市场上有许多与Free2Move插头类似的其他产品,如果它们内嵌了UART,结果是一样的。
图3:Blueberry DATA接口