基于STM32数据传输转换接口器的设计与实现
扫描二维码
随时随地手机看文章
引言
在当今高速实时数字信号处理系统中,涉及的数据对象趋于多样化,这些数据通常采用不同的电气接口,具有不同的传输速率、传输方向。现代机电一体化控制设备中,如工业加注机、设备清洗机控制系统基本是PLC与显示屏加仪表等构成的小型计算机控制系统。但现在工业已经进入了数字化、智能化时代,进入物联网领域,要求信息共享,生产过程信息化、网络化管理,提高生产效率,降低人员劳动强度。所以要满足上述需求,保留原有设备及控制系统,进行新老交替,则需要在原有控制柜基础上增加数据交换接口模块,如图1所示。基于此,我们以数字信号处理器STM32为核心,设计了适于多种标准接口数据传输接口器,以实现系统的数据交互。
图1具有数据传输交换接口器的控制系统框架
1、接口器原理
该接口器以STM32F微控制器为核心,配一RS-232电平转换芯片,RS-485转换芯片,以太网控制芯片,EP-PROM存储芯片、SD卡以及时钟控制芯片来实现各种数据的转换以及存储。
系统主要分了5个部分:电源管理模块,实时时钟模块,大批量数据存储模块,标准数据转换接口模块和输入输出模块,如图2所示。
图2数据交换接口器原理框架
2、硬件设计
2.1、接口器控制核心
该接口器核心是ST系列的工业级单片机芯片STM32F107VCT6。该芯片是ARMCortex-M3内核的32位微控制器,具有极强的抗干扰能力,宽电压2-3.5V使用范围,硬件集成了乘除算法,便于进行复杂的浮点运算,该芯片的升级版具有DSP功能,运算能力强,速度快;可嵌入操作系统,其运算能力较工业控制机强的多。控制器外围电路选用2个外部晶体谐振器,频率分别是25MHz和32.768kHz。一个单独的25MHz晶体可以为整个系统和所有包括以太网和全速USBOTG的外设提供时钟。一个单独32.768kHz的低速外部晶体谐振器为实时时钟或者其它定时功能提供一个低功耗且精确的时钟源。用户可以通过多个分频器来配置AHB和APB,从而使得系统的各个外设都能获得合适的时钟。
2.2、电源管理模块
由于现在的工业现场所使用的设备一般都是24V直流供电,该接口器采用了24V直流供电。接口器的控制核心芯片电压为3.3V,所以为了满足要求,就必需要进行一系列的电压转换过程,从而满足各个功能模块的供电需求。
该接口器有继电器输出,为了防止数字信号受到模拟信号的干扰,选用LM2596-5.0芯片、DC-DC隔离开关电源模块19D-05S05R、两片SPX1117芯片。如图3所示,该电路输出两路3.3V电源,实现模拟地和数字地的隔离。19D-05S05R隔离模块防浪涌、防电磁干扰、抑制尖峰电流设计。该电路十分稳定可靠,同时加二极管D1实现反向保护。
图3电源管理模块框架
2.3、大量数据存储模块
该接口器扩展1片容量为256K的AT25256的EEP-ROM芯片。该芯片的擦写周期为100000次,数据保存时间大于200年,应用稳定可靠。主要应用存放重要数据和参数。该芯片与STM32接口方式采用的是SPI同步串行总线通信方式。为满足现场频繁储存的大量数据,该接口器设计一个标准的SD卡接口,如图4所示,最大可扩展到2GB,使用的SD卡是SPI模式通信,从而达到数据的快速存储、实时记录以及供上位机通过RS232/RS485总线、以太网调用的目的。
图4SD卡与STM32接口电路
2.4、实时时钟模块
该接口器设计了一个实时时钟控制器,主要用于实时数据记录时的时间参考,同时也提供一个实时时钟,该系统采用的时钟芯片是RX8025。RX8025是爱普生(EP-SON)公司生产的一种采用I2C总线接口的实时时钟芯片,内置高精度可调整的32.768kHz的水晶振子,工作稳定可靠,具有很强的抗干扰能力。同时它的功能非常完善,支持多达6种中断事件产生中断,可以启动2种闹铃功能,当芯片振动停止时可以实现自动检测,可以进行时钟精度调整以及电源电压监视功能。另外内部振荡回路是以固定电压驱动,因而可获得受电压变动影响小且稳定的32.768kHz时钟输出。如图5所示。
图5实时时钟电路
2.5、标准通讯接口
该接口器的核心功能模块便是数据转换接口,它包括4种接口,分别是标准RS-232接口,RS-485接口,标准RJ-45接口和标准MiniUSB2.0接口。这4种接口可谓是目前市场上各种终端设备使用最多的数据接口了。RS-232接口选用MAX3232芯片进行电平匹配,RS-485选用SP3485芯片实现RS485协议。为实现通讯隔离,该接口电平全部采用高速ADUM1311磁耦隔离进行隔离,该隔离芯片最大传输速率达25MBPS。利用STM32F107内部集成的MAC控制器[10]通过RMII接口方式和DP83848芯片相连即可,原理如图6所示。
图6以太网与STM32接口电路
2.6、输入输出接口
接口器提供了四路继电器输入和四路光耦隔离输出,为了配合新增辅助设备动作,实现过程联动控制。输入电路采用光电隔离芯片TLP181,增加滞回电路、反向稳压管防抖动等电路;输出采用ULN2003接+24V继电器,电路增加电容及反向二极管防抖动和电流冲击。该I/O的电路设计参考了世界品牌的PLC的I/O电路,可靠程度很高。
3、软件设计
该软件设计没有采用嵌入式操作系统的移植,而采用单片机类C语言编程,因为它具有简洁紧凑、灵活方便,容易掌握,用户应用广泛,生成目标代码质量高和适用范围大可移植性强等特点,故可编写高可靠的功能函数。
4、测试结果
4.1、RS-232以及RS-485软件仿真及测试
测试程序主要实现数据在2个串口之间的相互传输。现在很多机电控制柜上的老式PLC不具备大批量数据的存储能力,因此无法实现数据的查询。利用接口器可以作一个过渡,把大量数据存储到处理器上,通过双串口功能来解决这一难题。该测试的硬件连接如图7所示,使用2个串口调试助手仿真软件来接收不同串口发送的数据,模拟软件的仿真结果如图8、图9所示。
图7 RS-232/485仿真及测试
测试的时候,利用串口1模拟数据接收端,串口2模拟数据发送端,当串口1接收到数据时,把接收到的数据原封不动地通过串口2发送出去。经过长时间的测试结果分析可知,2个串口无论是哪个作为接收端或者发送端都能正确无误的接收和发送数据,数据无丢失。以此可以证明该处理器通过RS232/485输出数据很可靠,另外该程序还完成了RS-232转RS-485的功能,通过RS-485接口接收工业现场采集到的数据,然后再通过串口发送给计算机进行数据存储及分析,实现远程监控。该RS-485接口实现了64台设备组网控制的验证。
4.2、以太网程序的仿真及测试
该接口器使用的是STM32F微控制器和DP83848芯片来实现以太网的控制。该控制器内部集成了MAC控制模块,该模块符合IEEE802.3协议。并且ST公司提供了MAC相关的一些驱动程序,这就为我们的开发提供了很大的方便。本程序使用了一个开源的TCP/IP协议栈,该协议栈为我们提供了非常丰富的接口函数,移植完成以后我们可以直接使用这些接口函数来进行编程。据此编写了该通讯的功能软件函数,实现UDP协议传输和TCP协议传输。测试硬件连接图如图10所示,计算机和模块同时连接到同一个路由器上。计算机设定一个固定IP地址,接口器网络功能模块也设定了一个固定的IP地址,把程序下载到模块以后上电运行,网络模块就可以和计算机进行通信了。利用以太网调试助手来实现对该功能程序进行调试,UDP通信结果如图11所示,TCP通信结果如图12所示。数据在反复通讯显示,长时间的烤机证明,网络通讯效果也很好。
图10以太网通讯仿真及测试
5、结束语
本文针对工业现场的小控制柜设计的数据传输转换接口器,通过该接口可实现条形码的识别、数据实时存储、数据无线传输等功能,可将原控制系统功能扩大。微控制器STM32F107VCT6是非常可靠的工业级芯片,配以可靠的功能芯片可构成十分可靠的接口器。该数据传输转换接口器可满足一般工业控制系统数据传输要求,现已初步在实际得到应用。