1.中国地质大学(武汉)自动化学院,湖北 武汉430074; 2.复杂系统先进控制与智能自动化湖北省重点实验室,湖北 武汉430074
以STM32F429芯片为控制核心,实现了多源数据采集板卡的设计、制作、调试及驱动软件的编写。板卡具有2路独立CAN总线路输出可配置GPIO端口,且板载GPS/BD模块。软件功能包括所有接口驱动与GPS/BD模块位置地理信息提取。经测试表明,全负荷工作时,所有数据通道均处在良好的工作状态,各端口能够按约定波特率以最大数据更新速率同步收发数据。此外,板卡各接口模块均进行电器隔离,数据传输稳定可靠,满足设备长时间加电工作的要求。
中文引用格式:王广君,姜建金,马成勇. 基于STM32的多源数据采集板卡设计[J].电子技术应用,2019,45(11):108-111,116.
在现代工业控制领域中,RS232、RS485、CAN等总线接口在工业领域中应用比较广泛[1-3]。在许多场合,由于设备处理数据的形式不同,通信接口各有差异,因此各式各样数据采集的转换器出现了,但是市面上出现的很多转换器一般都只是两种总线数据格式之间的转换,难以适应端口总线],为此本文设计了一种多源数据采集板卡,其以STM32F429为核心,实现对多路RS232、RS485、CAN总线数据收发以及GPIO接口配置功能,另外板载GPS/BD模块,满足了用户对采集多种不同通信接口设备数据及时间地理信息数据显示的需求。
STM32作为多源数据采集板卡的控制核心,控制协调各路通信总线接口的数据收发,以及与上位机进行交互,实现上位机对设备终端数据的采集、显示与控制等功能;2路CAN总线分别独立,并在板卡两侧各有1路接口,通信速率范围为500 kb/s~1 Mb/s;2路独立RS485总线 b/s可配置,可挂载多个RS485总线通信的传感器模块,均分布在板卡左侧;4路RS232接口,波特率9 600 b/s到230 400 b/s可调,左右两侧各2路独立接口;16路GPIO端口,左侧8路输出,右侧为8路输入;GPS/BD模块主要完成时间地理位置信息的采集,通信速率9 600~115 200 b/s可配置,数据更新频率1~20 Hz可配置;电源电路包括12 V转5 V、12 V转3.3 V以及12 V转24 V三部分。
C和SPI,4USARTs/4 UARTs和2个CAN通信接口[5]。其中板卡通信要求至少7个串口与2个CAN总线 V低电压供电,支持睡眠、停机和待机3种省电模式,具有功耗低、实时性强等优点。核心电路结构如图2所示。
核心电路最重要的包含STM32F429及其复位电路、晶振电路、BOOT启动电路以及调试下载接口电路。其中复位电路采取10 kΩ电阻上拉方式,当按键按下时,RESET与地导通,产生低电平实现复位;为了让STM32得到更高的处理速度,晶振电路采取了25 MHz无源晶振;BOOT电路决定了STM32以何种方式被启动,此处提供了用户闪存存储器启动与从内嵌SRAM启动,默认为前者方式启动,可利用跳帽选择;调试下载接口则选用了SWD方式,其为2线串行通信,只需排针引出,节省空间。
CAN总线由于其高性能、高可靠性及独立的设计,而被大范围的使用在工业现场控制系统中
。由于STM32内部集成了CAN总线控制器,因此外部电路仅需CAN总线收发器就可以实现通信。这里选用了TD321SCAN系列的SMD单路通用型CAN隔离收发模块,它是一款采用IC集成化技术,实现了电源隔离、信号隔离、CAN收发和总线保护于一体的CAN总线 V DC电气隔离,传输波特率范围为5 kb/s~1 Mb/s;极大满足了工业级的指标要求。该模块+3.3 V供电,与STM32之间接口无缝连接,具有功耗低的优点。此外,为了更好的提高总线通信的可靠性,在该模块外添加了端口浪涌防护电路,当模块应用于较为恶劣的现场环境时,如高磁场干扰、大能量雷击等场合,可保护模块不被损坏。CAN总线总线设计
在该电路中,使用了TD321S485H-A系列的SMD单路高速RS485隔离收发模块(自动切换),其基本功能是将逻辑电平转换为RS485协议的差分电平,实现信号隔离。该模块+3.3 V供电,传输波特率可达500 kb/s,满足规定的要求。同样,在模块外添加了端口保护电路,SP00S12是一款信号浪涌抑制器,可用在所有信号传输系统,抑制雷击、浪涌、过压等有害信号,对设备信号端口进行保护,尤为适合CAN、RS-485等通信领域的浪涌防护。因此,选择SP00S12可有效保证RS485总线通信接口设计
该接口电路采取了型号为RSM232D的双路隔离RS-232收发器,它支持3.15 V~5.25 V超宽压输入电源供电,波特率可达235 kb/s。与普通的RS232芯片相比,它电磁抗干扰EMS极高,隔离耐压2 500 V DC。由于该模块内部TOUT/RIN线没有EDS保护器件,当应用于环境比较恶劣的场合时,会造成通信不稳定的情况。因此,在模块TOUT/RIN线端外加了TVS管、防雷管、屏蔽双绞线以及同一网络单点接大地等保护的方法,有效保护了RS232总线 GPIO端口设计
GPIO端口分为8路输入、8路输出端口,5~24 V为逻辑高电压,0~5 V为逻辑低电压。显然电平与MCU电平不匹配,需要电压转换芯片进行电平转换。考虑到端口的稳定性,端口采用了小体积的TLP127光耦芯片,完成电压转换的同时,也实现了电气隔离。此外,TLP127内部集成了耐高压达林顿管,输出端口可耐压值可达300 V DC,同时,它最高可输出150 mA的电流I
使它具有了较强的驱动和隔离能力。GPIO输入输出端口隔离电路如图6所示。
该模块主要实现对GPS定位信息进行获取,并传输到STM32中做处理。市场主要有几款主流的GPS/BD模块
,如ATK-NEO-6M、ATK-1218-BD等。经对比,ATK-1218-BD模块在数据更新率、传输波特率、定位精度等性能上均要优于其他模块,因此选择该模块来提取地理位置信息。ATK-1218-BD是一款高性能GPS/北斗双模定位模块,其兼容+3.3 V/5 V单片机系统,定位精度2.5 mCEP,数据更新速率1~20 Hz、串口通信波特率4 800~230 400 bps可配置。另外,模块自带可充电后备电池,可以掉电保持星历数据
根据各端口模块以及MCU的供电要求,需要将12 V工作电源转化为+3.3 V、+5 V、+24 V隔离电源。为了更好的提高电源的转换效率,降低热损耗,采用了一款内置集成电路高端高压功率MOSFET的降压型开关电源芯片MP1584,输入超宽电压4.5 V~48 V DC,最大电流输出可达3 A,输出电压值可根据匹配电阻调整得到+3.3 V、+5 V的电压,相应地输入输出滤波电容均采用MLCC电容可减少纹波干扰。+24 V隔离电源主要使用在于GPIO输出端,作为输出的参考电平,考虑到体积小、功耗等要求,选用B1224_XT-2WR2隔离芯片,该芯片可将12 V电压隔离升压至24 V,且输入输出隔离电压达1 500 V DC,效率达84%,外围电路简单,仅需两个滤波电容即可。电源电路结构如图8所示。
该设计以KEIL MDK5为软件开发环境,操作系统为Windows 7。核心处理器采用了32位ARM Cortex-M4内核的STM32F429ZIT6芯片,主频可达180 MHz,只要程序结构良好,板卡全端口工作负荷下,依然能处于稳定的运行状态。
系统程序启动时先进行系统化,配置好各总线端口的波特率以及中断优先级,初始化GPIO端口及GPS/BD模块并设置看门狗。接着初始化各类标志位,启动看门狗中断程序。由于在总线数据传输方面采用硬件握手方式,双向的数据传输依靠中断方式来判断数据的到来或响应信号的到来,保证了不同总线上的数据正常、透明、可靠传输。因此,此时各通信总线端口已进入中断读取数据状态。
当程序进入主循环后,首先获取GPS/BD模块的经纬度信息,采集8路GPIO_In口的电平状态,接着RS485_1与上位机进行三次应答,将每次应答获取的数据来进行截取保存,并对数据判断,满足则GPIO_Out0输出固定频率脉冲。然后解析上位机传来的CAN指令,执行相应的程序,初次为健康查询即检查各端口通信是不是正常,若正常则将8路GPIO_In端口状态、RS485_1读取的数据、RS485_2三次应答截取的数据、RS232的数据及GPS/BD模块获取的经纬度信息按约定要求解析放入RS232_TXBUFF,并由电源同侧的两路RS232发送给上位机进行数据的处理与显示。运行期间,利用定时器中断不断执行喂狗任务,上位机可发送CAN指令停止喂狗进行复位。此外,若板卡由于不可控因素导致程序跑飞,此时无法喂狗,程序自动复位,有效地防止了板卡因程序崩溃而无法工作的现象。
本多源数据采集板卡的技术指标主要为工作电压、最大功耗、各总线通信波特率等。实测表明,板卡在测试技术要求范围内的配置下均能正常工作。指标测试结果如表1所示。
为了验证数据采集板卡的整体性能,将板卡各端口与工控机匹配端口相连接,模拟板卡通过多个端口采集多源传感器数据信息,进行汇总并输出,并通过CAN总线与上位机指令进行交互。通过上位机分析板卡的输出数据并界面显示,确定板卡各端口接收到的信息无误,板载GPS/BD数据正确,多端口收发无阻塞,无竞争,可持续运行并按约定逻辑响应上位机通过CAN总线端口发送的指令。此外,经72 h长时间持续工作测试,板卡长期处在正常稳定的工作状态。
本文设计了一种基于STM32的多源数据采集板卡,实现了CAN、RS485、RS232等多种接口的通信,且均电气隔离,使板卡减小干扰,通信更为可靠。板卡采用STM32F429芯片为控制核心,较强的数据处理能力,使板卡具备比较好的性能;采用多种总线端口,可连接各种不同总线接口的传感器设备,拥有非常良好的可扩展性;板载GPS/BD模块,记录时间地理信息,方便用户确定设备位置坐标;采用DC-DC隔离电源,电源转换效率高,热损耗小,具有功耗低的优点。此外,板卡采用铝框外壳固定,安装便捷且抗振牢固。
[2] 周绪贵,查凤.基于STM32F103的CAN/RS232转换板卡的设计与应用[J].工业控制计算机,2014,27(5):49-50.
[9] 周静雷,罗瑞丰,孙长城.基于STM32的数据采集存储系统设计[J].信息技术,2016(8):138-140.[10] 李伟成,彭松,郭亮,等.基于STM32系列开发板的一种高性能GPS模块应用开发与研究[J].电子技术,2015,44(11):11-14.
2.复杂系统先进控制与智能自动化湖北省重点实验室,湖北 武汉430074)