基于IP的智能传感器SOC设计
引 言
智能传感器技术是一门正在蓬勃发展的现代传感器技术,是涉及微机械和微电子技术、计算机技术、网络与通信技术、信号处理技术、电路与系统、传感技术、神经网络技术、信息融合技术、小波变换理论、遗传理论、模糊理论等多种学科的综合技术。
智能传感器中智能功能如:数字信号输出、信息存储与记忆、逻辑判断、决策、自检、自校、自补偿都是以微处理器为基础的。基于微处理器的传感器从简单的数字化与信息处理已发展到了目前具有网络通信功能、神经网络、模糊理论、遗传理论、小波变换理论、多传感器信息融合等新理论新技术逐步完善的现代智能传感器。其微处理器硬件也经历了从单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核在SoC设计中的接口技术 (08-06)
- 视频跟踪算法在Davinci SOC上的实现与优化(10-06)
- 基于赛灵思Spartan-3A DSP的安全视频分析(02-17)
- Linux下Sniffer程序的实现(06-12)
- linux操作系统下的进程通信设计(01-24)
- 基于S3C44B0X和uClinux的Socket通信实现(02-28)