智能传感器的蓝牙协议栈与SoC结构设计
(3)链路管理层(LMP)电路
链路管理层电路也叫作链路管理器电路,功能是提供链路管理通信协议。链路管理协议用来对链路进行设置和控制,并负责建立和撤销各蓝牙设备间的连接、功率控制以及认证和加密,同时还控制蓝牙设备的工作状态(保持hold 、休眠park 、呼吸sniff 和活动active )。链路管理层的主要功能由软件完成,链路管理器电路提供运行于蓝牙设备的处理器中的软件。链路管理器之间的通信协议称为链路管理协议(LMP)。
蓝牙技术整体框架以HCI(Host Controller Interface)为界,区分为硬件模块以及上层软件协议两部分。
蓝牙技术标准中,选择了USB、UART 或是RS232 作为硬件模块与主机间的接口。当蓝牙模块以USB、UART或RS232中的任何一个接口与主机连接时,HCI 接口上层的通信协议由主机负责处理,而HCI 接口下层的通信协议则由模块内的基带层芯片与RF 芯片负责。javascript:window.open(this.src);" style="cursor:pointer;"/>
根据蓝牙标准,蓝牙系统的基本组成包括天线、收发器、基带控制器。由此可知,在天线、RF收法器和基带控制器的支持下,蓝牙系统的组成可以十分灵活,即可实现多种不同的实现方案。
嵌入式蓝牙系统是将RF和基带部分集成在一块芯片上,单芯片蓝牙硬件模块结构如图2所示。在嵌入式蓝牙器件中,硬件结构可分为链路管理器、链路控制器与RF模块3部分,负责处理LMP层、基带层与RF层的协议。链路管理器内包含处理器(CPU)、内存等组件。链路管理器与基带层芯片合称为链路控制器。RF模块内含RF射频发射组件,与主机相连接的接口位于链路控制器上。
在嵌入式方案中,蓝牙协议的上层软件协议也全部固化在芯片中,芯片通过USB或UART接口与应用系统相连接。由于片内嵌入了CPU,所以,嵌入式蓝牙系统实际上是一个智能终端,适合于任何具有CPU器件的系统。例如,智能传感器中,只要增加一个单芯片蓝牙器件,就可以组成一个以蓝牙为通信方式的传感器。
由图2可知,它由微处理器(CPU)、无线收发器(RF)、基带控制器(BB)、闪存(Flash程序存储器)、通用异步收发器UART(Universal Asynchronous Receiver Transmitter)、通用串行接口USB(Universal Serial Bus)及蓝牙测试模块组成。其中蓝牙基带控制器是蓝牙硬件模块的关键模块。其主要功能是在微处理器控制下,实现蓝牙基带部分的所有实时处理功能,包括负责对接收的bit流进行符号定时提取和恢复;分组头及净荷的循环冗余度校验(CRC),分组头及净荷的前向纠错码FEC处理,加密和解密处理等,且能提供从基带控制器到其它芯片的接口等。CPU一般采用RISC结构的嵌入式微处理器,如ARM7TDMI微处理器,才能满足对蓝牙核心协议的高速处理和大量数据bit流的处理。Flash存储器用于存放基带和链路管理层中的所有协议软件。SRAM作为CPU 的运行空间,在工作时把Flash中的软件调入SRAM中处理。射频收发器负责接收或发送高频的通信信号。UART和USB接口提供到HCI的主机控制器接口传输层的物理连接,是上层协议与蓝牙硬件模块进行通信的通道。蓝牙测试模块主要提供无线层和基带层的认证和一致性规范,同时还管理产品的生产和售后的测试,为可选模块。
3 嵌入蓝牙协议栈的SoC结构设计
根据上述蓝牙协议栈硬件结构可以看出,如果使用SoC 结构设计蓝牙协议栈,则可以实现嵌入蓝牙通信模块,同时向用户开放内部CPU的目的。
在设计嵌入蓝牙协议的SoC 结构时,需要考虑如下问题。
① 数据处理能力与速度。数据处理能力主要体现在两个方面:一个是数据缓冲存储器的规模,另一个是对数据处理算法支持的程度。数据处理速度是一个重要的问题。数据处理速度不仅与系统时钟频率有关,还与CPU 和内部总线的结构直接相关。
② 通信操作与系统运行的关系。在嵌入了蓝牙通信栈的SoC 中,通信是系统的一个功能,SoC 还需要实现系统的其它功能。由于CPU 串行结构的特点,当系统需要同时启用通信功能和其它重要功能时(例如实施系统的数据采集操作等),就需要使用适当的方法进行协调。实际上这也就是嵌入式蓝牙SoC 器件的系统实时性问题。
③ 器件的功率损耗。功率损耗是SoC 设计中的一个重要问题。除了采用相应的技术实现最低功率损耗问题外,还必须通过系统结构设计降低系统的功率损耗。对于对功率损耗有特殊要求的系统,低功耗设计更是必不可少的内容。javascript:window.open(this.src);" style="cursor:pointer;"/>
由上述三个要求可知,在嵌入式蓝牙SoC中,如果数据处理量比较大,则需要考虑数据处理的速度问题。用户系统CPU属于串行工作方式,因此,在大数据量的通信过程中,如何完成系统的其它功能,是SoC结构设计的一个重要方面。例如,使用蓝牙技术传输图像时,其中的通信系统必须保持连续工作状态,