APP下载

基于I2C总线的智能传感器设计

2019-07-01

山西电子技术 2019年3期
关键词:低功耗功耗上位

李 林

(中国航空工业集团公司西安航空计算技术研究所,陕西 西安 710065)

0 引言

传感器处于信号检测与信号处理系统之首,是感知、获取信息的窗口,获取的信息要通过它转换为更容易传输与处理的电信号。传统机载机电系统中,传感器信号种类单一、数量繁多、处理电路复杂[1]。而MEMS传感器是采用微机械电子技术制造的新型传感器,具有重量轻、功耗低、体积小、精度高、易于集成等优点[2]。

智能传感器技术是涉及计算机技术、微机械电子技术、信号处理技术、传感技术等的综合密集型技术,能实现传统传感器所不能完成的功能。智能传感器系统所采用的总线标准可分为基于芯片级的I2C总线、USB总线和IEEE1451智能传感器接口标准。

本文以芯片级的I2C总线为基础,设计并实现了一种智能传感器,集成了ARM处理器芯片及MEMS传感器芯片,实现了大气压力、温度、湿度、加速度等机电系统中常用环境信息参数的智能采集[3]。该模块集成了传感器采集功能、数据处理功能以及接口通信功能,可用于改善机电系统中单一传感器采集信号品质差,传输过程易受干扰的问题,同时具有集成度高、体积小、功耗低、智能性强等特点。

1 I2C总线介绍

I2C总线由飞利浦半导体公司开发,是用于芯片之间连接的总线,该总线使用两根信号线进行数据的传输,包括:串行时钟线(Serial Clock Line)和串行数据线(Serial Dataline)。连接到I2C总线上的任何器件都拥有唯一的地址,分7位地址和10位地址两种[4]。

I2C总线最显著的特点是规范的完整性、结构的独立性和用户使用时的简单化。I2C总线有严格的规范,如接口的电气特性、信号时序、信号传输的定义、总线状态设置、总线管理规则及总线状态处理等。

I2C总线虽没有并行总线的数据吞吐能力,但只需要很少的连线和IC连接管脚,电路结构简单,程序编写方便,易于实现用户系统软硬件的模块化、标准化等。其优点如下:

1) 2根信号线组成了I2C总线,结构简单;

2) 协议规范简洁、协议内容容易实现;

3) 多个器件可以同时挂在一条I2C总线上,总线上的器件可即热插拔,便于组网应用;

4) 电气兼容性好。器件之间以开漏I/O相互连接,兼容TTL/LVTTL的逻辑电平只要选取适当的上拉电阻就能轻易实现;

5) 通信速率高。标准模式下,I2C总线传输速率为100 kb/s;快速模式下为400 kb/s;高速模式下可达3.4 Mb/s。

2 智能传感器硬件设计

采用MEMS传感器技术,实现智能传感器的小型化、智能化。硬件电路由DC/DC模块、微控制器最小系统、温度传感器电路、湿度传感器电路,压力传感器,加速度传感器,CAN总线收发电路,RS422收发电路构成。整体功能框图见图1。

图1 智能传感器原理框图

对大气压力、温度、湿度、加速度等物理参数的采集选用了MEMS传感器,MEMS是利用集成电路制造技术和微架构技术把微结构、微传感器、微执行器、控制处理电路甚至接口、通信和电源等制造在一块或多块芯片上的微型集成系统,具有微型化、集成化、智能化、低成本、高性能等优点,大大缩小了传感器的功耗、重量以及体积。

同时设计了高度集成的处理器最小电路(ARM Cortex-M3),并且通过I2C总线接口实现了与4个传感器的数据通讯,使得处理器可以对MEMS传感器采集到的原始的物理参数信息进行数据解算和处理,同时可以对传感器实现智能控制。模块均选用表贴低功耗的电子元器件,因此使用1片DC/DC芯片实现对整个智能传感器的供电,最大限度的减小了体积,降低了功耗,整板使用+5VDC供电,功耗仅为0.5W。

处理器对外还具备工业控制领域常用的RS422总线接口以及CAN总线接口,可以与上位机进行通讯,同时多个智能传感器间可通过CAN总线接口进行组网,构成如图2所示的拓扑构型。

图2 智能传感器网络组成示意图

每个智能传感器采集局部的温度、湿度和大气压力等信息,上位机可对每个节点的智能传感器进行参数设置,智能传感器底层依据设置的参数进行采集数据预处理和滤波。

智能传感器节点本身不考虑余度设计,需要时可通过使用多个智能传感器节点搭建传感器网络来提高整体的可靠性。智能传感器节点将收集来的数据经过提高精度运算后通过CAN总线上报上位机,多位置传感信号共同解算信息,在上位机上可进一步对感知目标多个位置的多个状态做进一步的数据融合及处理,从而可以实现全面、多方位的对感知目标状态的精确监测。

智能传感器的硬件电路图如图3所示。

图3 智能传感器硬件电路图

3 智能传感器软件设计

智能传感器的软件设计为运行于内部ARM处理器的驻留程序设计。该处理器配置了嵌入式μcos操作系统,这是一个小型的实时多任务操作系统,整个代码量只有20k字节左右,非常适合于小型的嵌入式系统。程序主要有3个部分:设备驱动软件、滤波算法软件、通信协议软件、功耗管理软件。

图4 智能传感器软件流程图

当模块上电后,首先进行处理器的初始化配置,然后对外设传感器以及对外接口进行初始化配置。上述配置完成后,首先启动CAN总线的通信线程,与上位机进行握手通讯,通讯成功后,智能传感器可以接收来自上位机的命令,根据需要对前端各种物理量进行采集,并将采集到的数据进行处理和发送。上位机可通过CAN总线接口向智能传感器发配置信息,主要是数据的滤波算法的设置,需要智能传感器通过总线上报的数据的格式和内容等。

然后进行I2C总线通信的初始化,处理器通过I2C总线与模块上的4个传感器进行数据通讯,获取传感器采样的数据值,根据接收到的上位机设置的滤波算法对原始传感器数据进行滤波,同时根据上位机的配置信息对传感器的各项参数进行设置。

功耗管理线程是系统实现低功耗的关键,当CAN总线通讯线程将当前数据发送完毕,并且I2C总线通讯线程没有收到任何命令时,这两个线程就会处于阻塞状态,此时处于最低优先级的功耗管理线程就会启动,此时ARM处理器利用I/O口关闭处于空闲模块的电源,然后设置好休眠时间,进入低功耗模式,等待RTC唤醒。RTC唤醒后,再进入下一次的工作循环。

设备驱动主要是处理器与传感器芯片间通过I2C总线构成的智能传感器模块的核心处理电路的驱动控制,ARM处理器通过I2C总线与4个模块内传感器进行控制命令与数据的相互传输,数据传输过程遵照I2C总线协议,其基本过程为开始,数据传输,应答,结束。程序流程如图5所示。

图5 智能传感器内I2C总线数据传输流程图

4 结束语

本设计实现了一种基于I2C总线的智能传感器,可以实现对大气压力、温度、湿度、加速度等物理参数的智能采集,支持通过CAN总线接口实现智能传感器的组网以及与上位机的互联。模块选用MEMS集成芯片以及高集成度的嵌入式处理器,实现了模块的智能化、小型化、高集成、低功耗,并且可以长期稳定工作。

智能传感器设计的第一个特点是低功耗,其硬件大部分采用超低功耗的芯片,软件流程的设计使得处理器可以间隙性的进入休眠模式,进一步节省能量;第二个特点是智能性,灵活的组网方式使其能够很方便地进行数据发送;第三个特点是模块化设计,使得系统的调试、维护和升级更加方便。这些特点使得智能传感器可以应用于机载机电系统中,实现对环境参数的实时智能采集,有效地改善了传统单一传感器采集信号品质差,传输过程易受干扰的问题。

猜你喜欢

低功耗功耗上位
基于任务映射的暗硅芯片功耗预算方法
一种高速低功耗比较器设计
一种宽带低功耗四合一接收机设计
特斯拉 风云之老阿姨上位
低功耗便携智能翻译手套系统
低功耗技术在驾驶行为管理模块中的应用
揭开GPU功耗的面纱
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
数字电路功耗的分析及优化