前面我们对已经了解了一下蓝牙协议栈的原理和电路,那么现在我们再来对嵌入蓝牙协议栈SoC结构设计再进行一下补充。根据上述蓝牙协议栈硬件结构可以看出,如果使用SoC 结构设计蓝牙协议栈,则可以实现嵌入蓝牙通信模块,同时向用户开放内部CPU目.
在设计嵌入蓝牙协议SoC结构时,需要考虑如下问题.
① 数据处理能力与速度.数据处理能力主要体现在两个方面:一个是数据缓冲存储器规模,另一个是对数据处理算法支持程度.数据处理速度是一个重要问题.数据处理速度不仅与系统时钟频率有关,还与CPU 和内部总线结构直接相关.
② 通信操作与系统运行关系.在嵌入了蓝牙通信栈SoC 中,通信是系统一个功能,SoC还需要实现系统其它功能.由于CPU 串行结构特点,当系统需要同时启用通信功能和其它重要功能时(例如实施系统数据采集操作等),就需要使用适当方法进行协调.实际上这也就是嵌入式蓝牙SoC 器件系统实时性问题.
③ 器件功率损耗.功率损耗是SoC设计中一个重要问题.除了采用相应技术实现最低功率损耗问题外,还必须通过系统结构设计降低系统功率损耗.对于对功率损耗有特殊要求系统,低功耗设计更是必不可少内容.
由上述三个要求可知,在嵌入式蓝牙SoC中,如果数据处理量比较大,则需要考虑数据处理速度问题.用户系统CPU属于串行工作方式,因此,在大数据量通信过程中,如何完成系统其它功能,是SoC结构设计一个重要方面.例如,使用蓝牙技术传输图像时,其中通信系统必须保持连续工作状态,同时,还需要SoC中设计大量Flash存储器.由于传输图像必须进行压缩和解压缩,所以,在保持通信连续和图像压缩/解压缩这两种不同操作中,就必须进行充分协调,采用硬件并行处理技术.这种情况下,CPU就仅仅是一个操作控制器件,用来启动或终止某个操作.由此可知,应当针对不同类型应用场合设计相应SoC 结构.
对于智能传感器,其基本功能如下.
① 信号转换.这一部分电路作用是把相应物理量转换为电压信号,然后对其进行放大和滤波处理.处理结果作为数据采集电路输入信号.
② 数据采集.数据采集电路功能是把信号转换电路输出模拟信号转换为数字信号(数据序列),然后把数字信号输出给CPU,以便进行相应处理.
③ 数据处理.智能传感器中数据处理功能一般并不统一.一般情况下,需要数字滤波即可.有些智能传感器还需要对信号进行其它处理,例如信号幅度判别、信号特征提取、显示处理等.总之,根据不同应用领域,数据处理要求不尽相同.
④ 数据传输.在控制系统中,智能传感器采集并整理好数据,需要传输给系统核心控制器或其它控制单元.由于控制系统特点,数据传输一般需要经过一段空间距离,因此,需要使用专门电路和方式实现数据传输.例如,对数据进行编码处理后,利用电流环或RS232 等方式传输.在现有控制系统中,绝大多数情况下都采用有线传输方式实现传感器与控制系统连接.
对于智能传感器来说,传输数据量一般并不是很大(例如压力、温度等传感器),因此,满足智能传感器需要嵌入式蓝牙SoC器件中,并不需要很大存储容量;但必须考虑蓝牙协议实现所必需程序存储空间.蓝牙协议栈处理软件会占用比较大存储器,因此,必须对其进行简化.同时,为了保证控制系统安全可靠,还需要考虑使用用户协议替代蓝牙技术所定义处理协议.
由以上分析可以得出结论:
① 智能传感器数据传输量比较小,不需要进行压缩或编码处理,可以设置在1K字节以下.
② 为了保证控制系统安全可靠性,需要把上层处理协议变为用户层协议,由用户自行编写.
为了设计满足智能传感器嵌入式蓝牙SoC结构,对蓝牙协议栈进行了简化处理,只使用蓝牙协议中核心协议和替代电缆协议.SoC 中蓝牙协议栈由软件和硬件两部分组成.核心协议中基带协议由硬件实现,而链路管理和其它部分则使用软件实现.所有有关协议软件存放在ROM 中,用户使用通信栈时可直接调用.需要指出是,通信栈设计为一个整体,因此调用时也必须整体调用.换句话说就是,把通信栈看成是一个完整子程序模块加以调用.