智能传感器技术是一门正在蓬勃发展的现代传感器技术,是涉及微机械和微电子技术、计算机技术、网络与通信技术、信号处理技术、电路与系统、传感技术、神经网络技术、信息融合技术、小波变换理论、遗传理论、模糊理论等多种学科的综合技术。
智能传感器中智能功能如:数字信号输出、信息存储与记忆、逻辑判断、决策、自检、自校、自补偿都是以微处理器为基础的。基于微处理器的传感器从简单的数字化与信息处理已发展到了目前具有网络通信功能、神经网络、模糊理论、遗传理论、小波变换理论、多传感器信息融合等新理论新技术逐步完善的现代智能传感器。其微处理器硬件也经历了从单CPU结构到多CPU甚至DSP、ASIC与MCU相混合的结构。然而微处理器在可靠性、功耗、功能复用等多方面存在着与生俱来的一些不可克服的缺点与不足,阻碍了智能传感器的进一步发展。由系统IC向SOC(System on ChIP)转变已成为历史发展的必然趋势。SOC用硬件实现了以往软件实现的功能。与一般MCU 相比,它具有可靠性高、价格低、速度快、体积小、功能复用、保密性好等一系列优点。传统的SOC设计是以超深亚微米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无法实现的,如需要高速数据处理的传感器校正算法、补偿算法、神经网络传感算法、模糊传感算法、多传感器融合等复杂算法得以实现。可进一步提高测量精度、测量范围与测量内容。同时,用硬件实现以往软件的功能,能解决干扰引起的程序死机问题,极大地提高了智能传感器系统的可靠性。