智能传感器的蓝牙协议栈与SoC结构设计
对于智能传感器,其基本功能如下。
① 信号转换。这一部分电路的作用是把相应的物理量转换为电压信号,然后对其进行放大和滤波处理。处理的结果作为数据采集电路的输入信号。
② 数据采集。数据采集电路的功能是把信号转换电路输出的模拟信号转换为数字信号(数据序列),然后把数字信号输出给CPU,以便进行相应的处理。
③ 数据处理。智能传感器中的数据处理功能一般并不统一。一般情况下,需要数字滤波即可。有些智能传感器还需要对信号进行其它处理,例如信号幅度的判别、信号特征的提取、显示处理等。总之,根据不同的应用领域,数据处理的要求不尽相同。
④ 数据传输。在控制系统中,智能传感器采集并整理好的数据,需要传输给系统的核心控制器或其它控制单元。由于控制系统的特点,数据传输一般需要经过一段空间距离,因此,需要使用专门的电路和方式实现数据传输。例如,对数据进行编码处理后,利用电流环或RS232 等方式传输。在现有控制系统中,绝大多数情况下都采用有线传输方式实现传感器与控制系统的连接。
对于智能传感器来说,传输数据量一般并不是很大(例如压力、温度等传感器),因此,满足智能传感器需要的嵌入式蓝牙SoC 器件中,并不需要很大的存储容量;但必须考虑蓝牙协议实现所必需的程序存储空间。从图1 可以看出,蓝牙协议栈的处理软件会占用比较大的存储器,因此,必须对其进行简化。同时,为了保证控制系统安全可靠,还需要考虑使用用户协议替代蓝牙技术所定义的处理协议。
由以上分析可以得出结论:
① 智能传感器的数据传输量比较小,不需要进行压缩或编码处理,可以设置在1K字节以下。
② 为了保证控制系统的安全可靠性,需要把上层处理协议变为用户层协议,由用户自行编写。
为了设计满足智能传感器的嵌入式蓝牙SoC结构,对蓝牙协议栈进行了简化处理,只使用蓝牙协议中的核心协议和替代电缆协议。SoC 中的蓝牙协议栈由软件和硬件两部分组成。核心协议中的基带协议由硬件实现,而链路管理和其它部分则使用软件实现。所有有关协议的软件存放在ROM 中,用户使用通信栈时可直接调用。需要指出的是,通信栈的设计为一个整体,因此调用时也必须整体调用。换句话说就是,把通信栈看成是一个完整的子程序模块加以调用。
根据上述结论,提出一种具有开放使用户协议的嵌入式蓝牙SoC 模块结构,如图3 所示。
图3中,RF收发器、基带控制器和蓝牙协议ROM共同组成蓝牙协议栈。蓝牙协议栈在CPU的控制下完成通信任务。简化的嵌入式蓝牙协议栈结构如图4 所示。其中用户应用协议由用户自行设计,以确保通信的安全性和可靠性。
另外,对蓝牙协议栈中的LMP进行了相应的简化。在智能传感器的应用中,通信链路一般比较简单,因此,LMP不需要对链路进行复杂的处理。本设计中,LMP的主要功能由软件完成。当需要使用蓝牙通信发送数据或接收数据时,用户程序只需调用LMP软件模块即可。LMP协议由两部分组成:
① 软件。通过CPU对链路进行设置和控制,实现蓝牙设备连接、功率控制以及认证和加密,同时还控制蓝牙设备控制器电路。
② 硬件。LMP控制器电路在LMP软件的操作下,控制蓝牙设备的工作状态(保持hold、休眠park、呼吸sniff 和活动active)。
图3中的CPU通过开放总线模块向用户开放,用户程序保存在用户程序存储器中。数据存储器采用Flash 存储电路,用来保存蓝牙通信中的发送和接收数据;同时,作为传感器数据采集系统的数据存储器。数据存储器的使用分配由用户决定,传感器的设计者可通过用户程序对数据存储器进行分块控制使用,通过用户程序设置相应的发送或接收数据存储深度和起始地址,以及数据采集系统的数据存储深度。
javascript:window.open(this.src);" style="cursor:pointer;"/>
图3中开放总线模块提供了一个向用户开放的总线,使用户可以充分利用CPU、存储器的资源。此外,图3中的通用通信接口和测试电路向用户提供了局部连接和测试输入输出通道。
从以上模块设计的结果可以看出,这种结构的智能传感器具有完整的蓝牙通信功能,同时,为用户提供了应用处理的灵活性。例如,LMP中的认证和加密方法与算法完全由用户自行决定,从而提供了用户系统的安全性和可靠性。另外,由于通用串行通信接口和测试电路的存在,为用户系统提供了硬件测试的硬件支持。
根据图3和上述分析,可以得到用于智能传感器的嵌入式蓝牙SoC器件的电路结构,如图5 所示。
通信栈模块调用操作流程如图6 所示。
结 语
把蓝牙协议栈嵌入到智能传感器中,将为控制系统提供十分灵活的组成方式;同时,通过采用相应的安全措施,可以提高系统的安全性和可靠性。
本文通过对蓝牙协议栈和智能传感器工作特征的分析,设计了智能传感器中嵌入蓝牙协议栈的SoC结构。为了满足智能传感器的应用,嵌入式蓝牙SoC中,CPU、存储器以及相应的总线和外部电路应向用户开放。对于用户而言,只要设计相应的传感器前置电路,即可形成具有蓝牙通信功能的智能传感器。由于蓝牙通信协议的操作功能已经保存在ROM中,所以用户只需要调用相应的软件程序即可完成蓝牙通信。同时,这种SoC中的蓝牙协议栈中有关认证和加密的部分向用户开放,具体的认证、加密方法和算法可由用户自行定义。
此外,本文对智能传感器嵌入式蓝牙SoC 中蓝牙协议栈进行了简化处理。