当前位置:首页 > 嵌入式 > 嵌入式硬件

摘要:基于STM32实现了电流型、电压型以及数字IO型传感器接口模块;进行了接口模块的软件设计,说明了详细的固件代码设计。除传统串口外,提供以太网接口,嵌入UDP协议,提供后期开发的便利接口。
关键词:信号接口;传感器接口模块;UDP协议

0 引言
物联网将会是未来很长一段时间内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等。可支持多个接口模块,主机可对从模块进行配置,可自由添加模块。

2 基于STM32的传感器接口模块设计
2.1 电流接口模块设计
以STM32F103系列处理器为核心,外挂ADC采样芯片、以太网接口芯片、RS-232/485接口芯片。模拟电流信号经电流-电压转换电路、电压放大电路、电平匹配电路输入至ADC采样芯片后由处理器采集。ADC芯片采用5V的外置参考电压,提高精确度。EEPROM芯片通过IIC接口与处理器通信。处理器经由串口以及以太网接口与上位机进行数据和控制信息交换。调试接口为20针标准JTAG接口。
电源部分设计为输入24V直流,经线性稳压电路和电压反转电路生成模拟部分需要的5V电压和数字电路需要的3.3V电压。电源输入的24V电压可以直接供给工业上常用的二线制电流输出传感器做激励。
整体结构如图4所示。


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


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


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


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晶振。


2.2 电压/数字IO接口模块设计
电压接口模块与数字开关量接口模块基本沿用电流接口模块的设计。不同之处在于模拟输入部分无需经过电流一电压转换,直接经运放输入ADC。数字量接口直接由MCU的IO端口引出。传感器输出的电压直接输入同向放大电路至AD转换所需要的电平。此处运放就相当于一个电压跟随器,显著特点就是,输入阻抗高,而输出阻抗低,可以提高驱动能力。


2.3 接口模块硬件实现
整个板子尽量使用紧凑布局。电源以及传感器接口布置于左侧,使用螺丝接线端子引出。串口以及以太网口布局在右侧。整个模拟与数字部分基本分开而设,有效避免干扰。布局基本没什么变化,左边螺丝接线端子往外移了一些,主要是考虑到外壳封装上后螺丝端子可能不够外露的问题。



3 基于STM32的标准化接口模块固件设计
标准化接口模块的固件程序包括主程序、配置程序、ADC数据采样程序、EEPROM读写程序、以太网网口驱动程序、UDP协议栈的嵌入。
接口模块中共用到三种通信总线。ADC以及以太网控制器与MCU间为SPI总线,EEPROM与MCU间为IIC总线,另外接口模块提供UART串口对外通信。以外网嵌入UDP协议。
3.1 AD数据采样
AD数据采样是整个系统接口模块固件设计的核心工作,也是实现传感器信息获取的关键所在。该模块负责将采集到的传感器信息转化为数字信号。
AD数据采样主要完成如下的几个功能:
(1)初始化。该工作主要完成对一些物理器件的引脚功能、工作模式等进行预定义;
(2)AD转换。通过软件启动模数转换芯片,完成模拟信号到数字信号的转换;
(3)数据接收和发送。实时采集转换后的信息,同时发送相应的控制命令,以切换采集通道。
在数据采集过程中,我们可能需要切换不同通道,从而实现对多个传感器信息的获取。实际设计中,控制器会在采集本次通道转换结果的同时,发送下次采集通道的编号。详细操作步骤如下:
(1)需采集的通道地址(Ch)通过SPI接口写入ADS8344的相应寄存器,应用设定的波特率来设置接口传输速度;
(2)通过MCU设置GPIOB12(作为AD的CS信号)为低来启动ADS8344进行数据采样和转换,数据传输方式为SPI发送模式;
(3)当数据发送完毕后,设置GPIOB12为高电平,ADS8344结束数据传输,进入空闲模式并等待MCU的指令。此外,固件代码中设置了对ADC进行软标定的程序。这样可以通过精密信号源对ADC进行标定,提高采样精读。标定信息存储于EEPROM中。功能实现代码如下:

3.2 以太网口驱动
同样需要先进行SPI接口和GPIO端口初始化,与之前ADC类似,只不过这里用SPI1口。GPIO初始化也不再多说。以太网驱动部分主要是数据包的发送/接收,缓冲区的读写,物理层的写等函数。SPI口的发送/接收函数如下:

3.3 控制指令
串口指令格式
[起始标志][指令][指令参数1]<指令参数2>…[结束标志]
指令示意:
00 01 01 FF读取通道1的电流值
00 04 C0 A8 89 03 FF设置IP地址为192(0xC0).168(0xA8).137(0x89).3(0x03)
00 05 2E E0 FF设置UDP端口为12000(0x2EE0)00 07 10 11 11 10 14 19 FF往EEPROM的地址0x0110写入数据0x49
00 09 19 18 FF将数字IO1设为输出,高电平,IO2/3输入,IO4输出,低电平以太网支持串口的指令0x01-0x03及0x07-0x0a,其参数、功能和返回值与串口一致。不支持用以太网口配置网络参数。

4 结果与总结
4.1 调试结果
在串口助手环境下调试。以太网参数设置:
发送指令00 04 C0 A8 89 03 FF设置接口模块IP地址为192(0xC0).168(0xA8).137(0x89).3(0x03)
发送指令00 05 55 66 FF设置接口模块UDP端口为21862(0x5566)
发送指令00 06A1 B2 C3 D4 E5 06 FF设置接口模块MAC地址


Ping接口模块:cmd ping 192.168.137.3(串口已经设置好ip和端口号)


以太网采样和读写EEPROM:发送类似同样指令完成采样以及读写操作


4.2 总结
本文以传感器的输出信号类型为分类依据,基于该信号接口分类给出了基于STM32的传感器接口模块的硬件设计,并实际设计实现了电流型、电压型以及数字IO型模块,给出了相应的硬件选型以及电路设计与实现;进行了接口模块的软件设计,说明了详细的固件代码设计。除传统串口外,提供以太网接口,嵌入UDP协议,提供后期开发的便利。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

利用10Base-T1L SPE取代传统的4mA-20mA和现场总线实现IIoT网络

关键字: IIoT网络 传感器 以太网

该传感器能与测量表面实现出色的热耦合,结合了高耐湿性和快速响应的特点,并且适合恶劣工况应用,温度范围 为-40 °C 至+150 °C,防水时间长达 500 小时。此外,传感器采用氧化铝陶瓷表面,耐电压高达 2500 V...

关键字: 传感器 热耦合 功率模块

TDK 株式会社(东京证券交易所代码:6762)推出新的 B58101A0109A* (HP100) 系列热泵传感器。这是一种专为 满足汽车应用要求而设计的 NTC(负温度系数)传感器,可通过测量管道表面温度间接测量管道...

关键字: 传感器 电动汽车 热泵应用

TDK株式会社(东京证券交易所代码:6762)新近推出InvenSense SmartEdgeMLTM解决方案,这是一种先进的边缘机器学习解决方案,为用户提供了在可穿戴设备、可听戴设备、增强现实眼镜、物联网 (IoT)...

关键字: 机器学习 物联网 传感器

ILaS收发器INLT220Q集成 DC/DC 控制器,为汽车内饰和功能照明应用提供直接电池供电

关键字: LED照明 传感器 集成电路

4月22日消息,中国第一季度半导体产量激增40%,标志着成熟制程芯片在中国市场的主导地位日益巩固。

关键字: 半导体 传感器 人工智能 电动汽车

在科技日新月异的今天,传感器技术作为现代工业、汽车、航空航天等领域的关键组成部分,发挥着越来越重要的作用。其中,电子叻力角度传感器以其独特的结构和性能,成为众多应用场景下的理想选择。本文将深入剖析电子叻力角度传感器的结构...

关键字: 电子叻力角度传感器 传感器

随着农业科技的不断进步,氮磷钾传感器作为一种现代化的农业生产工具,正逐渐走进广大农户的视野。它能够实时测量土壤中的氮、磷、钾元素含量,为农民施肥提供科学依据,从而避免不必要的浪费,减少环境污染,提高施肥的精准度。然而,关...

关键字: 氮磷钾传感器 传感器

空气压力传感器将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对空气压力传感器的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 传感器 压力传感器 空气压力传感器
关闭
关闭