摘要:基于STM32实现了电流型、电压型以及数字IO型传感器接口模块;进行了接口模块的软件设计,说明了详细的固件代码设计。除传统串口外,提供以太网接口,嵌入UDP协议,提供后期开发的便利接口。
关键词:信号接口;传感器接口模块;UDP协议
引言
物联网将会是未来很长一段时间内IT产业的发展趋势,一个完整的物联网系统的构成或产业链的划分,目前业界比较统一的观点基本都认为应该包括三个层面:末端设备或子系统、通信连接系统、以及管理和应用系统。即DevICe-设备、Connect-连接和Manage-管理。由于数字整合的需求日益增长,对作为感知层核心组成元素的传感器数据融合提出了更高要求。如何将传感器连入网络成为一个尤其重要的问题。
传感器通过接口模块接入到相应网络。传感器通过信号接口连接到接口模块,节点以相应的适配模块接收和处理传感器输出信号,并将传感器原始数据转换为网络用户可以识别的信息,最后通过网络通信接口连接到上位机或者任何网络。
传感器感知外部环境,某种敏感变量如电阻、电荷之类参量发生变化,然后经过信号处理,产生可供AD转换的电压或电流信号(目前ADC应用主要还是电压输入,电流模式ADC尚未大规模应用),而后经AD转换为可供处理的数字信号。由于在不同应用场合中会使用到针对上述不同层次接口的传感器,故信号接口标准针对不同层次设计:
层次1:需经过信号调理然后才能输入AD处理,如热电阻、4~20mA电流输出;
层次2:直接符合AD输入要求的,如0~5V电压输出;
层次3:数字信号输出,如开关量、RS232接口输出;如图2所示。
直接输出可以连入网络的接口,比如现场总线接口(如CAN、Profibus、工业以太网)、无线通信接口(如Zigbee、WI-FI)等一般无需考虑信号接口的问题,如需连入不同网络可以使用相应的网关(如CAN转以太网)。
基于此分类依据,传感器输出信号一般有电压信号、电流信号、电阻信号、频率信号、脉冲信号、数字电平信号等。
1 传感器接口模块设计概述
从功能上来讲,接口模块需要完成传感器与应用网络之间的连接,解决传感器的异构性带来的诸多问题,完成从原始信号到数据的数据流过程。总的来说包括传感器接入及激励、信号调理、AD转换/数字滤波、数据处理和网络通信。不同信号输入类型的接口模块在整体功能上是类似的,主要不同在于信号调理部分,以及AD转换的不同要求。接口模块整体功能如图3所示。
信号调理针对不同信号类型设计。传感器原始输出的标准信号接入后,经过信号调理后生成可供ADC处理的信号。有的传感器还需提供激励源。
ADC依据不同应用需求所需的通道数、精度、速度进行选择。可选择外置ADC,系统要求不高或者在一些特殊场合也可使用SOC片上系统的内置ADC(比如TI的MSC1210系列MCU内置24bit sigma-delta ADC,尤其适合处理微弱信号)。
另外需要外扩存储器存储与传感器或者接口模块相关的描述信息,一般可使用EEPROM。鉴于此功能,存储模块芯片的选取就得考虑总线读写速度以及可编程性。由于需要在标准化接口模块正常工作的同时修改Flash中的电子表单,所以存储芯片得支持IAP(在应用编程)功能。
整个模块的核心处理器为MCU或者FPGA,负责对整个模块的逻辑进行控制,可根据不同应用要求选择8位单片机或者高性能ARM处理器或者FPGA可重配置芯片。
网络通讯采用可根据不同应用场合选取不同接口,比如RS485总线、CAN总线、Ethemet、WiFi等。可支持多个接口模块,主机可对从模块进行配置,可自由添加模块。