智能传感器(intelligent sensor)是具有信息处理功能的传感器。智能传感器带有微处理机,具有采集、处理、交换信息的能力,是传感器集成化与微处理机相结合的产物。一般智能机器人的感觉系统由多个传感器集合而成,采集的信息需要计算机进行处理,而使用智能传感器就可将信息分散处理,从而降低成本。与一般传感器相比,智能传感器具有以下三个优点:通过软件技术可实现高精度的信息采集,而且成本低;具有一定的编程自动化能力;功能多样化。
智能传感器主要由传感器、微处理器及其相关电路组成。传感器将被测的物理量转换成相应的电信号,送到信号调理电路中,进行滤波、放大、模-数转换后,送到微计算机中。计算机是智能传感器的核心,它不但可以对传感器测量数据进行计算、存储、数据处理,还可以通过反馈回路对传感器进行调节。由于计算机充分发挥各种软件的功能,可以完成硬件难以完成的任务,从而大大降低传感器制造的难度,提高传感器的性能,降低成本。
如果从结构上划分,智能传感器可以分为集成式、混合式和模块式。集成智能传感器是将一个或多个敏感器件与微处理器、信号处理电路集成在同一硅片上,集成集成度高,体积小,但目前的技术水平还很难实现;将传感器和微处理器、信号处理电路做在不同芯片上,则构成混合式智能传感器,目前这类结构较多;初级的智能传感器也可以由许多互相独立的模块组成,如将微计算机、信号调理电路模块、数据电路模块、显示电路模块和传感器装配在同一壳结构内则组成模块式智能传感器。
智能传感器技术是一门正在蓬勃发展的现代传感器技术,是涉及微机械和微电子技术、计算机技术、网络与通信技术、信号处理技术、电路与系统、传感技术、神经网络技术、信息融合技术、小波变换理论、遗传理论、模糊理论等多种学科的综合技术。
智能传感器中智能功能如:数字信号输出、信息存储与记忆、逻辑判断、决策、自检、自校、自补偿都是以微处理器为基础的。基于微处理器的传感器从简单的数字化与信息处理已发展到了目前具有网络通信功能、神经网络、模糊理论、遗传理论、小波变换理论、多传感器信息融合等新理论新技术逐步完善的现代智能传感器。其微处理器硬件也经历了从单CPU结构到多CPU甚至DSP、ASIC与MCU相混合的结构。然而微处理器在可靠性、功耗、功能复用等多方面存在着与生俱来的一些不可克服的缺点与不足,阻碍了智能传感器的进一步发展。由系统IC向SOC(System on ChIP)转变已成为历史发展的必然趋势。SOC用硬件实现了以往软件实现的功能。与一般MCU 相比,它具有可靠性高、价格低、速度快、体积小、功能复用、保密性好等一系列优点。传统的S OC设计是以超深亚微米IC设计技术为基础的,具有集成电路ASIC设计的复杂程度。随着SOC平台和EDA 技术发展以及IP新经济模式的推动,在SOC应用设计上越来越多的从传统的硅片设计转到利用大规模可编程的FPGA 芯片设计。基于FPGA 的SOC设计其开发周期短、开发工具及语言标准化、设计和器件无关等特点,使得它与使用单片机一样容易。大量的FPGA 成功应用的报道都是在图像处理、电力系统等领域。在传感器智能化领域上的应用仍处于开发研究阶段。传感器方面的少量应用也仅限于用它作为一个或几个独立功能模块,如:通信模块、自补偿模块等都不具有系统的作用与功能,不能真正地成为片上系统(SOC)。本文将提出集采集系统、补偿校正、数据处理、数据通信、任务调度、人机界面、IP功能复用等功能模块于一体的智能传感器SOC/IP设计及基于FPGA与ARM7微处理器芯片的实现方法。
SOC/IP概念与智能传感器SOC设计方法
SOC:System on Chip指建立在单芯片上的系统。IP: Intellectual Property 自主知识产权。传统的智能传感器设计方法是以功能设计为基础的。而SOC设计方法以功能复用与搭建为基础,在芯片上用若干个宏模块来构建复杂系统。这些已经开发的宏模块就是通用的IP核。IP核的重用可以降低产品设计的复杂度,减少产品上市时间。
利用SOC/IP芯片能组成完整的智能传感器系统。智能传感器传感参数可能是多种多样的。但从功能模块组成来讲,它主要包括数据采集模块、补偿与校正模块、数据处理模块、数据网络通信模块、人机界面和任务管理与调度模块等功能单元。从而基于IP的智能传感器SOC设计过程为:首先正确建立智能传感器的通用模块模型;然后合理划分各摸块功能规范,制定各模块之间的接口协议与标准;再设计出一系列通用的IP核;把所需的通用IP核搭建整合在一起构成完整的智能传感器系统。
智能传感器IP核设计与SOC构建
智能传感器涉及到数据采集、信号处理(程控放大、线性化、信号滤波、信号补偿、人工神经网络、遗传理论、多传感器融合、模糊理论等) 、数据通信、人机界面及任务调度等各种功能。在IP核设计与SOC构建中,为了简化工作,降低复杂度,我们选用基于FPGA的IP核及基于ARM7TDMI-SCPU 的IP核两种SOC设计方式,其中FPGA的IP核主要完成数据采集与信号处理模块,基于ARM7 的IP核完成数据通信、人机界面及任务调度工作。
数据采集
传统的传感器信号数字化大多采用的是VFC、串行A/D、并行A/D 等方案。每一方案都可设计成相应的IP核。虽然已经有人用FPGA完成数据采集,但都是以特定应用的方式,而不是以通用的IP核方式设计的。我们介绍采用MAX125完成的并行A/D接口IP核设计。MAX125 8通道14bit的并行A/D芯片。在FPGA A/D IP核设计中,提供给MAX125信号有启动转换及转换结束后的时序信号,读取转换结果并存储到FPGA 芯片内部RAM中的数据信号。该A/D IP核我们已经开发成功,并获得了很好的使用。
信号处理
信号处理是智能传感器的主要内容之一。通常包含线性化、滤波、各类补偿、人工神经网络、模糊理论、遗传算法、多传感器融合等工作。在滤波中,除了常规的FFT、DFT之外,近几年还出现了小波变换。由于芯片速度上的优势,如何实现各信号处理IP核通用化设计,已成为相关信号处理算法IP核设计的关键。
如在线性化处理设计中,我们把各类传感器的线性化算法都设计到一个通用的线性化IP核中。在任务调用时再根据不同类型传感器线性化算法要求,组态选择出相应的算法IP核,供实际需要使用。
数据通信
设置数据通信接口主要是考虑芯片还可以同外部CPU或网络构成更加复杂的测控系统。为了方便芯片的设计,节省芯片资源,我们选用基于ARM7的philIPs LPC2106 芯片进行通信IP核设计。它可以将一系列不同的通信接口(如: CAN、以太网、TCP/IP、RS232/485、I2C、SPI) 以及不同的通信规程用一个通用的微处理器实现。通过与上位机与各类网络的联接,实现远程遥测、网络远程智能测量节点等功能。通信IP核设计主要任务是通信规约算法设计。而大多数接口因为基于ARM7的微处理器都能提供,所以就不需要做太多的工作。
人机界面与任务调度
人机界面与任务调度IP核也用ARM7微处理器设计。人机界面主要设计键盘接口及LCD/LED/CRT等显示接口。利用ARM7强大的GPIO功能是不难加以实现的。
任务调度IP主要包括数据采集调度、信号处理调度、数据通信调度及人机界面调度等工作。我们采用以源码公开的嵌入式操作 系统μC/OS-Ⅱ2.52版为基础,将它移植到LPC2106 ARM微处理器中。在μC/OS-Ⅱ嵌入式操作系统基础上开发各种应用软件,完成智能传感器所需要的各类任务调度与组态工作。
应用举例
有了基本的IP内核,我们就可以根据需要通过对IP核的组态(在嵌入式操作系统μC/OS-Ⅱ的调度下)构成各类所需的智能传感器系统。图1 所示是用于热电偶温度测温的智能传感器的SOC设计实例。所有算法IP模块都加载到ALTERA公司的APEX20K的多芯片FPGA 上,完成温度信号采集、A/D变换、低端补偿、线性化、程控放大等功能。芯片的总体外部引脚包括A/D接口的数据线和控制线、微处理器接口的数据线和控制线、程控放大的控制线等。微处理器选用具有ARM IP核的Philips公司的LPC2106芯片。它完成通信功能、实时时钟功能、人机接口功能及任务调度功能。通信IP包括I2C总线、RS232/RS485总线、CAN总线、TCP/IP协议、以态网等。
图1 基于IP的智能传感器的SOC设计
图2 是基于以上系统芯片构成的热电偶智能传感器的组成框图。其核心是两片SOC,其中FPGA SOC选用的是APEX20K,MCU SOC选用的是具有ARM IP核的ARM7 TDMI-S 微处理器。该智能传感器的样机已经完成。FPGA 的片上芯片经硬件仿真测试,其A/D采样、线性化算法、冷端温度补偿、多传感器融合等功能与算法都已通过实验验证。MCU的SOC在48MHz 系统时钟的运行下,通过了通信、人机界面、实时日历时钟、任务调度管理等功能的实验,验证了该设计的可行性。
图2 基于SOC芯片构成的热电偶智能传感器的组成框图
结束语
本文通过实例介绍了智能传感器IP/SOC设计的方法。在设计通用智能传感器IP核的基础上,通过IP复用,只需改变或重新设置数据与任务调用模块就能设计出应用于其他各类智能传感器的SOC系统。
由于SOC开发及EDA设计工具的限制,以FPGA与MCU为基础,以实际系统应用为切入点,进行智能传感器的SOC/IP设计是符合当前SOC设计和我国实际情况的研究方式。为了提高智能传感器SOC/IP的设计能力,必须特别注意以下几个方面的总结工作: ①EDA工具:包括开发工具、设计工具、分析工具以及验证工具。②HDL语言工具:要充分利用HDL 语言结构好的特点,采用自顶向下的模块化设计,强调详细的配置和接口标准化。③IP资源,一方面指充分利用现有通用IP的资源及资源标准,如接口、规范、可测试性等,以及世界上市场份额占有率的ARM公司的IP核资源。另外一方面指智能传感器本身IP核的总结与提高。
FPGA的可现场编程特点使基于SOC/IP的智能传感器设计更加灵活,各IP模块并行处理的特点使以往用单一CPU无法实现的,如需要高速数据处理的传感器校正算法、补偿算法、神经网络传感算法、模糊传感算法、多传感器融合等复杂算法得以实现。可进一步提高测量精度、测量范围与测量内容。同时,用硬件实现以往软件的功能,能解决干扰引起的程序死机问题,极大地提高了智能传感器系统的可靠性。
大多数模拟测量系统的系统架构都相对比较直接。这种架构的核心通常是主机处理器,用于控制并检索来自一个或多个 ADC 的数据。在信号链一端向 ADC 馈送数据的是主机控制的传感器。对上述系统进行分析,并明确在不影响性能的情况下需进行哪些优化,其实对我们来说可做的事情并不多。要确定功能块中需要集成哪些功能并不容易,很难直接控制传感器前端。此外,我们通常要根据一系列其他要求预先确定主机处理器,这主要是由存储器大小、CPU 速度等软件要求决定的。 对负责系统后端的模拟设计人员而言,通常只能对 ADC 进行优化。不过,这时数字接口基本已经不能变更了,这主要也是由主机处理器的要求决定的。当然,目前非常多的主机处理器都能实现极高的性能且具备灵活的集成 ADC 功能,众多此类微控制器 (MCU) 都能理想地满足各种应用需求。不过,需要再次强调的是 MCU 的选用是由多种要求决定的,而模拟功能只是其中的一部分。 除了花费大量时间开发昂贵的 ASIC、承担高风险之外,还有没有别的办法呢?办法当然是有的。若不将模拟功能与主机处理器相集成,那么将数字智能集成至 ADC 中又未尝不可呢?这就能实现“更智能化”的设备,既能充分满足传感器前端的模拟性能要求,又具备与系统主机处理器接口相连的足够灵活性。这样做还有更多好处。
图 1 阐述了这一理念及上述各种方法。
图 1. 智能 ADC 数据采集系统的发展 小智慧有大作用毫无疑问,这不是一种新的概念,不过却经常被忽视。只要可能,我们就应采用智能 ADC 数据采集系统,其发挥的系统级影响大大超过此前介绍的范畴。一般说来,设计人员考虑的问题包括智能处理器解决方案的物理大小或占用面积,当然价位也是非常重要的因素。价格通常是大多数高销量应用的限制因素,这使设计人员不得不采取效率较低的、会影响集成度的独立解决方案。 智能 ADC 系统架构的优势在于,数字和模拟设计都能实现极大的灵活性,这同时也为软件开发提供了极高的灵活性。智能 ADC 解决方案的集成 CPU 和数字外设实现了更简单的 A/D 控制和数据处理功能。ADC 不仅具有全面可编程性,而且无须与主机 CPU 互动就能实现空中控制。此外,智能 ADC 还能作为模拟的预处理器,不仅能捕获已转换的数字数据,而且还能在向系统主机传递数据之前对数据进行处理。这使求数据平均值乃至更复杂的数据过滤等功能都得以简化。 为了说明上述功能减轻主机负荷,我们不妨考虑外部 16 位 ADC 采用 3 线 SPI 接口通信的简单例子。主机不仅要配置 ADC,等待每次转换完成,而且还要检索每个 16 位结果,并处理得出平均值。即便在 ADC 与主机处理器集成的情况下,能优化的也只是数据通信。主机仍要处理数据、计算平均值,并提供所有 ADC 控制和配置功能。 我们不妨将这种简单而低效的系统与智能 ADC 系统相比较,智能系统采用相同的主机功能,但主机只需从“智能” ADC 中检索数据。所有 ADC 控制功能和预处理的数据以及平均值计算都由智能 ADC 完成,从而解放了主机,使其能从事更的功能,并使最终应用受益。 智能化程度更高的 MCU 是解决之道 超低功耗 MSP430F2013 MCU 就是此类智能型 ADC 的一个典范。所有的 ADC 控制和数据处理均无需主机完成,从而不仅提高了灵活性,而且还加强了整个系统的效率。这乍看起来似乎对降低成本、提高存储器容量以及 CPU 吞吐量等方面没什么大用,但是我们需考虑到,有的任务每秒必须要处理数十次、上百次,乃至上千次。因此,智能 ADC 所能实现的优势是极为明显的,但如果设计人员在系统设计过程中只考虑采用简单 ADC 的话,那么就会让主机不得不处理大量的数据采集工作,造成无谓的消耗。 智能程度更高的 ADC 所带来的优势和功能远远超出了 A/D 转换及数据处理的范畴。在更高的层面上,MSP430F2013 的 2KB 片上闪存存储器可存储校准数据,以及针对温度变化的传感器补差表,补偿传感器采样信息的不足。此外,闪存与 128B RAM 还能存储数据日志和多采样缓冲。系统主机可用剩余的可用存储器存储其他各种数据。 至主机或 LED 指示器、开关或外部数字时钟等其他系统元素的接口具有多达 10 个通用 I/O 连接,因此显着实现了简化。可处理 SPI 或 I2C 协议的内置通信接口可提供简单而优化的可定制主机数据端口。 MSP430 超低功耗架构的关键优势之一也进一步扩展到了系统模拟领域,能实现非常灵活且易于管理的电源架构,从而充分满足电流需要。由于处理器从亚微安培待机电流的唤醒时间不到 1 微秒,因此该解决方案有助于我们大幅降低平均系统功耗要求。
图 2 显示了有关系统如何利用主机和智能ADC的概念。
图 2. 智能 ADC 的系统架构 结论性的设想 如果您下次设计混合信号应用时要采用外接 ADC,那么不妨考虑一下各种选择。采用简单的外部模数转换器可能并不是的解决方案,特别是当采用智能 ADC 较为合适时更是如此。 “智能传感器接口”能够将 16 位 CPU 与 16 位 ADC 的处理能力完美结合在一起,从而大幅简化了设计工作,尤其是在解决方案体积较小时优势更为显着,而且其成本基本相当于专用模数转换器解决方案,有时甚至还会更低。这种数据采集系统架构的优势还能扩展到其他设计领域,如降低功耗、提高系统可升级性以及实现最终设备的差异化创新等。
引 言
蓝牙技术是一种无线数据与数字通信的开放性规范。它以低成本、近距离无线连接为基础,为固定与移动设备建立了一种完整的通信方式和技术。蓝牙技术的实质是建立通用无线接口及其控制软件的标准,使移动通信与计算机网络之间能实现无缝连接,由此,为不同厂家生产的便携式设备提供了近距离(10m~100m)范围内的互操作通道。
在工业控制系统和许多应用领域,随着电子技术的发展,目前控制器和传感器已经实现了智能化。在一般的传感器或测试仪表中,大量使用CPU 控制下的数字化技术,因此,许多控制系统或传感器系统已经实现了数字化传输。如果在数字化的控制系统和传感器中嵌入蓝牙技术,则可以实现系统数据和控制命令的无线传输,这对于许多应用领域都是十分重要的。
本文通过对蓝牙协议栈结构的讨论,提出一个嵌入式SoC 器件结构。这个嵌入式SoC器件是一种具有蓝牙通信功能的SoC 器件;SoC 中的CPU 对用户开放,用户可以使用这种结构的SoC 器件实现智能传感器或控制器单元。
1 蓝牙协议栈
蓝牙技术规范1.0 版本作了如下规定。
① 蓝牙工作在全球通用的2.4GHz ISM(Industrial ,Scientific and Medical)免付费、免申请的无线电频段。
② 采用快速确认和跳频技术,以确保链路的稳定。
③ 采用二进制调频(FM)技术的跳频收发器,抑制干扰和防止衰落。
④ 采用前向纠错(FEC)技术,抑制长距离链路的随机噪声。
⑤ 数据传输速率为1Mb/s 。
⑥ 采用时分双工传输,其基带协议是电路交换和分组交换的结合。
⑦ 一个跳频频率发送一个同步分组,每个分组占用一个时隙,也可扩展到5个时隙。
⑧ 支持一个异步数据通道,或3个并发的同步语音通道,或一个同时传送异步数据和同步语音的通道。每一个语音通道支持64Kbps 的同步话音。异步通道支持速率为721Kbps 、反向应答速率为57.6Kbps 的非对称连接,或者是432.6bps 的对称连接。
目前,工作在2.4GHz 频段上的无线局域网技术中,除了蓝牙技术外,还有IEEE802.11、HomeRF 和红外技术。总的来说,IEEE802.11 比较适合于办公室无线网络,HomeRF 适用于家庭中的移动数据、语音设备等与主机之间的通信,而蓝牙技术则可以应用于任何允许无线方式替代线缆的场合。
在实际应用中,蓝牙技术的应用一般采用嵌入式技术。在应用系统中嵌入蓝牙协议栈,可为系统提供一个透明的无线网络通信层。
蓝牙技术协议栈的设计只有符合蓝牙技术规范的要求,才能实现不同厂家产品的无缝对接。蓝牙技术规范(specification)包括协议(protocol)和应用规范(profile)两个部分。完整的蓝牙协议栈如图1 所示。
协议规范中定义了各功能元素的工作方式,提供了蓝牙技术实现中功能元素间的横向体系结构。应用规范则介绍了实现特定应用模型,描述了各层协议间的协同机制,从而提供了技术实现的纵向体系结构。
蓝牙协议包括核心协议层、替代电缆协议层、电话控制协议层和选用协议层。
① 核心协议。核心协议包括基带协议、链路管理协议(LMP)、逻辑链路控制和适配协议(L2CAP)、服务发现协议(SDP)。
② 替代电缆协议。替代电缆协议包括串行电路仿真协议(RFCOMM),用于实现数据的转换。
③ 电话替代协议。本协议包括二元电话控制规范(TCS Binary)与AT-命令(AT-command)。用于提供音频通信的处理规范和相应的控制命令。
④ 选用协议。选用协议与用户的应用有关,包括点到点协议(PPP)、用户数据报/传输控制协议/互联网协议(UDP 和TCP/IP)、目标交换协议(OBEX)、无线应用协议(WAP)、无线应用环境(WAE)、vCard 、vCal 、红外移动通信(IrMC)。选用协议层的具体内容由应用系统根据需要选择。
除了以上协议层外,蓝牙协议栈中还应包括二个接口:一个是主机控制接口(HCI),用来为基带控制器、链路控制器以及访问硬件状态和控制寄存器等提供了命令接口;另一个是与基带处理部分直接相连的音频接口,用以传递音频数据。
在蓝牙协议栈中,HCI 以上部分通常用软件实现,包括逻辑链路控制和适配协议L2CAP、串行仿真RFCOMM 、链路管理协议(LMP )、电话替代协议和选用协议;而HCI以下部分则用硬件实现,包括基带协议和链路管理协议(LMP),这部分也叫作蓝牙协议体系结构中的底层硬件模块。
2 蓝牙核心协议栈硬件电路结构
底层模块是蓝牙技术的核心模块,主要由射频(RF)单元电路、基带层(base band)电路和链路管理层(LMP,Link Manger Protocol)电路组成。
(1)射频(RF)单元
RF单元电路为蓝牙技术提供了通信中的物理层,也叫作蓝牙收发器。通过2.4GHz 的微波,实现数据流的过滤和传输。蓝牙协议提供了有关蓝牙收发器的各项技术指标。
(2)基带层电路
基带层提供了基带数字信号处理硬件,其功能是提供链路控制,因此也叫作基带及链路控制层电路。通过基带层电路,可以建立蓝牙通信网络中的物理链路,从而形成微微网(piconet)。基带层中有两种物理链路,一种是面向连接的同步链路(SCO),另一种是异步无连接链路(ACL)。此外,基带层还可为语音和数据分组提供不同水平的前向纠错(FEC)或循环冗余度校验(CRC)处理,并可对数据进行加密。同时,基带层电路还为不同类型的数据(包括传输信息数据、链路管理和控制信息)提供特定的信道。
(3)链路管理层(LMP)电路
链路管理层电路也叫作链路管理器电路,功能是提供链路管理通信协议。链路管理协议用来对链路进行设置和控制,并负责建立和撤销各蓝牙设备间的连接、功率控制以及认证和加密,同时还控制蓝牙设备的工作状态(保持hold 、休眠park 、呼吸sniff 和活动active )。链路管理层的主要功能由软件完成,链路管理器电路提供运行于蓝牙设备的处理器中的软件。链路管理器之间的通信协议称为链路管理协议(LMP)。
蓝牙技术整体框架以HCI(Host Controller Interface)为界,区分为硬件模块以及上层软件协议两部分。
蓝牙技术标准中,选择了USB、UART 或是RS232 作为硬件模块与主机间的接口。当蓝牙模块以USB、UART或RS232中的任何一个接口与主机连接时,HCI 接口上层的通信协议由主机负责处理,而HCI 接口下层的通信协议则由模块内的基带层芯片与RF 芯片负责。
根据蓝牙标准,蓝牙系统的基本组成包括天线、收发器、基带控制器。由此可知,在天线、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 设计中的一个重要问题。除了采用相应的技术实现功率损耗问题外,还必须通过系统结构设计降低系统的功率损耗。对于对功率损耗有特殊要求的系统,低功耗设计更是必不可少的内容。
由上述三个要求可知,在嵌入式蓝牙SoC中,如果数据处理量比较大,则需要考虑数据处理的速度问题。用户系统CPU属于串行工作方式,因此,在大数据量的通信过程中,如何完成系统的其它功能,是SoC结构设计的一个重要方面。例如,使用蓝牙技术传输图像时,其中的通信系统必须保持连续工作状态,同时,还需要SoC中设计大量的Flash存储器。由于传输图像必须进行压缩和解压缩,所以,在保持通信连续和图像的压缩/解压缩这两种不同的操作中,就必须进行充分协调,采用硬件并行处理的技术。这种情况下,CPU就仅仅是一个操作控制器件,用来启动或终止某个操作。由此可知,应当针对不同类型的应用场合设计相应的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 存储电路,用来保存蓝牙通信中的发送和接收数据;同时,作为传感器数据采集系统的数据存储器。数据存储器的使用分配由用户决定,传感器的设计者可通过用户程序对数据存储器进行分块控制使用,通过用户程序设置相应的发送或接收数据存储深度和起始地址,以及数据采集系统的数据存储深度。
图3中开放总线模块提供了一个向用户开放的总线,使用户可以充分利用CPU、存储器的资源。此外,图3中的通用通信接口和测试电路向用户提供了局部连接和测试输入输出通道。
从以上模块设计的结果可以看出,这种结构的智能传感器具有完整的蓝牙通信功能,同时,为用户提供了应用处理的灵活性。例如,LMP中的认证和加密方法与算法完全由用户自行决定,从而提供了用户系统的安全性和可靠性。另外,由于通用串行通信接口和测试电路的存在,为用户系统提供了硬件测试的硬件支持。
根据图3和上述分析,可以得到用于智能传感器的嵌入式蓝牙SoC器件的电路结构,如图5 所示。
通信栈模块调用操作流程如图6 所示。
结 语
把蓝牙协议栈嵌入到智能传感器中,将为控制系统提供十分灵活的组成方式;同时,通过采用相应的安全措施,可以提高系统的安全性和可靠性。
本文通过对蓝牙协议栈和智能传感器工作特征的分析,设计了智能传感器中嵌入蓝牙协议栈的SoC结构。为了满足智能传感器的应用,嵌入式蓝牙SoC中,CPU、存储器以及相应的总线和外部电路应向用户开放。对于用户而言,只要设计相应的传感器前置电路,即可形成具有蓝牙通信功能的智能传感器。由于蓝牙通信协议的操作功能已经保存在ROM中,所以用户只需要调用相应的软件程序即可完成蓝牙通信。同时,这种SoC中的蓝牙协议栈中有关认证和加密的部分向用户开放,具体的认证、加密方法和算法可由用户自行定义。
此外,本文对智能传感器嵌入式蓝牙SoC 中蓝牙协议栈进行了简化处理。
电子自动化产业的迅速发展与进步促使传感器技术、特别是集成智能传感器技术日趋活跃发展,近年来随着半导体技术的迅猛发展,国外一些着名的公司和高等院校正在大力开展有关集成智能传感器的研制,国内一些着名的高校和研究所以及公司也积极跟进,集成智能传感器技术取得了令人瞩目的发展。国产智能传感器逐渐在智能传感器领域迈开步伐,西安中星测控生产的PT600系列传感器,采用国际上一流传感器芯体、变送器专用集成电路和配件,运用军工产品的生产线和工艺,精度高,稳定性好,成本低,采用高性能微控制器(MCU),同时具备数字和模拟两种输出方式,同时针对用户的特定需求(如组网式测量,自定义通讯协议),均可在原产品基础上进行二次开发,周期极短,为用户节省时间,提高效率。已广泛应用于航空、航天、石油、化工、矿山、机械、大坝、地质、水文等行业中测量各种气体和流体的压力、压差、流量和流体的高度和重量。