您现在的位置是:首页 > 传感器

基于STM32的传感器接口模块的设计

2020-07-05 01:00:52

 

  物联网将会是未来很长一段时间内IT产业的发展趋势,一个完整的物联网系统的构成或产业链的划分,目前业界比较统一的观点基本都认为应该包括三个层面:末端设备或子系统、通信连接系统、以及管理和应用系统。即Device-设备、Connect-连接和Manage-管理。由于数字整合的需求日益增长,对作为感知层核心组成元素的传感器数据融合提出了更高要求。如何将传感器连入网络成为一个尤其重要的问题。

  

a.jpg

 

  传感器通过接口模块接入到相应网络。传感器通过信号接口连接到接口模块,节点以相应的适配模块接收和处理传感器输出信号,并将传感器原始数据转换为网络用户可以识别的信息,最后通过网络通信接口连接到上位机或者任何网络。

  传感器感知外部环境,某种敏感变量如电阻、电荷之类参量发生变化,然后经过信号处理,产生可供AD转换的电压或电流信号(目前ADC应用主要还是电压输入,电流模式ADC尚未大规模应用),而后经AD转换为可供处理的数字信号。由于在不同应用场合中会使用到针对上述不同层次接口的传感器,故信号接口标准针对不同层次设计:

  层次1:需经过信号调理然后才能输入AD处理,如热电阻、4~20mA电流输出;

  层次2:直接符合AD输入要求的,如0~5V电压输出;

  层次3:数字信号输出,如开关量、RS232接口输出;如图2所示。

  

b.jpg

 

  直接输出可以连入网络的接口,比如现场总线接口(如CAN、Profibus、工业以太网)、无线通信接口(如Zigbee、WI-FI)等一般无需考虑信号接口的问题,如需连入不同网络可以使用相应的网关(如CAN转以太网)。

  基于此分类依据,传感器输出信号一般有电压信号、电流信号、电阻信号、频率信号、脉冲信号、数字电平信号等。

  1 传感器接口模块设计概述

  从功能上来讲,接口模块需要完成传感器与应用网络之间的连接,解决传感器的异构性带来的诸多问题,完成从原始信号到数据的数据流过程。总的来说包括传感器接入及激励、信号调理、AD转换/数字滤波、数据处理和网络通信。不同信号输入类型的接口模块在整体功能上是类似的,主要不同在于信号调理部分,以及AD转换的不同要求。接口模块整体功能如图3所示。

  

c.jpg

 

  信号调理针对不同信号类型设计。传感器原始输出的标准信号接入后,经过信号调理后生成可供ADC处理的信号。有的传感器还需提供激励源。

  ADC依据不同应用需求所需的通道数、精度、速度进行选择。可选择外置ADC,系统要求不高或者在一些特殊场合也可使用SOC片上系统的内置ADC(比如TI的MSC1210系列MCU内置24bit sigma-delta ADC,尤其适合处理微弱信号)。

  另外需要外扩存储器存储与传感器或者接口模块相关的描述信息,一般可使用EEPROM。鉴于此功能,存储模块芯片的选取就得考虑总线读写速度以及可编程性。由于需要在标准化接口模块正常工作的同时修改Flash中的电子表单,所以存储芯片得支持IAP(在应用编程)功能。

  整个模块的核心处理器为MCU或者FPGA,负责对整个模块的逻辑进行控制,可根据不同应用要求选择8位单片机或者高性能ARM处理器或者FPGA可重配置芯片。

  网络通讯采用可根据不同应用场合选取不同接口,比如RS485总线、CAN总线、Ethemet、WiFi等。可支持多个接口模块,主机可对从模块进行配置,可自由添加模块。

  2 基于STM32的传感器接口模块设计

  2.1 电流接口模块设计

  以STM32F103系列处理器为核心,外挂ADC采样芯片、以太网接口芯片、RS-232/485接口芯片。模拟电流信号经电流-电压转换电路、电压放大电路、电平匹配电路输入至ADC采样芯片后由处理器采集。ADC芯片采用5V的外置参考电压,提高精确度。EEPROM芯片通过IIC接口与处理器通信。处理器经由串口以及以太网接口与上位机进行数据和控制信息交换。调试接口为20针标准JTAG接口。

  电源部分设计为输入24V直流,经线性稳压电路和电压反转电路生成模拟部分需要的5V电压和数字电路需要的3.3V电压。电源输入的24V电压可以直接供给工业上常用的二线制电流输出传感器做激励。

  整体结构如图4所示。

  

d.jpg

 

  下面介绍具体电路设计。电源部分为+24V-DC输入经LM2596(IC1)开关电源芯片产生+5V-DC电压,+5V电源直接供给模拟部分电路。IC2为LM1117—3.3线性稳压芯片,将5V电源变换为3.3V供给数字电路。数字地与模拟地隔离,通过10 μH电感或者磁珠连接,可以抑制数字电路对于模拟电路部分的干扰。LED1和LED2分别用来指示两部分的电源接通状况。

  

e.jpg

 

  输入的电流由100Ω精密负载电阻变换为电压信号,由同向放大电路放大至AD转换所需要的电平,增益可以由电位器来进行微调。运放采用AD8551(U$3),其在低压差单电源情况下表现完美,具有极低失调电压(5 μV)、极低的温漂(0.03μV/℃)以及轨对轨输入输出的特性。

  

f.jpg

 

  +24V电压经过78L12Z(IC4)稳压产生12V电源供给AD586(U52)芯片产生高精度5V基准信号,输入到AD采样芯片ADS8344(U$1)的参考输入端。AD586的trim端连接10k电位器,可以对输出的基准电压进行精密调节。四路电流采样信号经前级放大后直接输入到AD芯片CH0-3通道,ADC由数字SPI接口连接MCU进行控制采集。

  

g.jpg

 

  EEPROM存贮芯片采用241c64(IC5)芯片,具有64kbit存储容量,外部接口为I2C与MCU相连。ARM芯片的IO口经MAX3232电平转换芯片,将3.3V逻辑电平转换为RS-232标准的电平信号,接入DB-9插头。MAX3232采用3.3V供电,具有低功耗、高数据速率、增强型ESD保护等特性。 ENC28J60是SPI接口的以太网控制器,其SPI接口与MCU的SPI对应IO口相连,输入和输出分别为一组差分信号,接入带有1:1脉冲变压器的10BASE-T RJ-45插座。时钟由外部提供,使用25M晶振。

  

h.jpg