APP下载

基于UCOS-II的矿用数据采集单元(DTU)系统设计

2017-06-19何雅琴

实验室研究与探索 2017年5期
关键词:信号量矿用采集器

张 飞, 何雅琴

(常州机电职业技术学院 a.电气工程学院,b.信息工程学院,江苏 常州 213164)

基于UCOS-II的矿用数据采集单元(DTU)系统设计

张 飞a, 何雅琴b

(常州机电职业技术学院 a.电气工程学院,b.信息工程学院,江苏 常州 213164)

为了实现矿用数据采集单元(DTU)的相关功能,提出了采用基于UCOS-II的DTU系统设计。该DTU的处理器选用STM32F103VE,并把实时操作系统UCOS-II移植到该CPU上。介绍了系统硬件和软件的设计方案。通过使用实时操作系统,简化了软件的编写过程,增加了软件的可维护性。通过调试,该DTU系统能够满足企业的需求。

矿用; 中央处理器; 实时操作系统; 硬件; 软件

0 引 言

矿用DTU(数据采集单元)主要用于矿上环境及参数等的数据采集。由于DTU工作环境多样,而且一般都要长时间运行,所以设计的DTU系统必须具备高可靠性。本文根据企业的实际需求,采用STM32F103VE(ARM)设计的一种高可靠矿用DTU系统,为了简化软件设计难度,增加软件可维护性和可扩展性,系统还移植了UCOS-II实时操作系统。

1 UCOS-II及Modbus协议

1.1 UCOS-II简介

实时操作系统UCOS-II自1992年发布以来,得到了各行各业的广泛应用。该RTOS的核心代码都采用C语言编写,很容易移植到各种CPU上,而且源代码公开[1-4],方便软件的开发和根据需要对相关代码进行改写。UCOS-II的任务可以处于休眠态,就绪态、运行态、挂起态和被中断态5种不同的状态[5]。

1.2 Modbus协议

Modbus是一种使用与工业现场的总线协议,支持RS232、RS485以及网络通信等,很多智能仪表都在采用此协议通信。该协议提供RTU和ASCII两种传输模式供用户选择。RTU模式一般使用 CRC校验,ASCII模式采用LRC校验来保障数据传输的准确性。使用Modbus协议构建的通信网络中,一般只有一个主机,Modbus协议的数据格式如表1所示[6]。

表1 Modbus协议的数据格式表

2 系统方案

DTU系统可以单独一个DTU使用,也可以多个DTU组网使用,一般都是以组网的形式使用。多DTU组网使用过程如图1所示。

图1 多DTU组网图

多个DTU可以通过RS485总线与服务器相连,也可以通过GPRS与服务器连接。当采用RS485总线时,服务器发送数据采集命令给每个DTU,DTU分别从前端采集器(一般为传感器模块、也可以是数字量)采集数据,并把相关数据打包发送给服务器做进一步分析和统计。数据传送的时候采用MODBUS协议。一般企业要求每个DTU要支持多种通信接口,如:RS232,RS485,RS422等,以此满足DTU在不同应用领域的需求。而且DTU必须提供各种工作电压,为前端采集器供电,如5 V、3.3 V等。本文设计的DTU主要包括:CPU模块、电源模块、通信模块、存储模块(用于系统参数保存)、温度检测模块、GPRS模块等。系统框图见图2。

图2 系统框图

3 部分硬件设计

3.1 防爆说明

由于本DTU要在煤矿企业使用,必须考虑防爆性。该系统被安装到金属型DTU安装盒内,系统采用Exibmb[ib]d IIB T4及防爆(本安关联+浇封+本安+隔爆组合型)设计,并通过国家防爆电器产品认证。

3.2 电源部分

电源部分设计采用了一片LM2596和一片LM1117-3.3电源芯片。LM2596将24 V电压转变成5 V电压,LM1117-3.3芯片进一步将5 V电压转变成3.3 V电压为CPU和相关芯片供电。5 V电压和3.3 V电压也可以用于对前端采集器供电。电源部分原理图如图3所示。

图3 电源部分原理图

3.3 CPU和调试接口部分

系统采用STM32F103VE为CPU,该CPU采用了Cortex-M3内核,具有512KB内部FLASH和64KB RAM[7],能够满足移植实时操作系统的需求。而且,STM32F103VE包含5个串行通信口、7个定时器/计数器,18通道12位模数转换接口[8],完全能满足DTU的设计需要。系统所有的数字量通信都采用CPU的输入输出引脚。CPU原理图如图4所示。

图4 CPU部分原理图

系统调试接口采用了JTAG接口。JTAG是一种片上调试系统与外部调试器之间的通信接口[9]。通过该接口,可以对系统进行调试,并把程序下载到STM32F103VE ARM。

3.4 GPRS部分

GPRS部分采用了通过国家防爆认证的本安型GSM/GPRS无线通信Modem。Modem与DTU之间采用RS232通信,Modem与DTU的连接如图5所示。

图5 Modem与DTU的连接图

3.5 通信部分

不同的模块级矿用传感器模块生产厂家,前端采集器的通信口可能不同,一般为RS232,RS485,RS422 3种,为了增加DTU的兼容性,系统必须实现RS232,RS485,RS422通信。RS232通信采用了一片SP3232芯片,如图6所示。

图6 RS232接口原理图

RS485通信采用了Maxim公司生产的MAX485芯片[10-11],原理图如图7所示。

图7 MAX485接口原理图

由于MAX485芯片是一款半双工通信芯片,通过控制引脚实现双向通信,而本设计的RS422接口必须实现全双工通信,故可以采用两片MAX485芯片实现RS422通信。

3.6 其他设计说明

对于接盘部分,采用了独立式的按钮。温度的检测采用了一片DS18B20芯片。声音提示部分采用了直流蜂鸣器。D/A部分输出电压主要为一些特殊的采集器提供高精度电压,采用了一片TI公司生产的串行D/A芯片DAC8411实现[12]。存储部分用于存储系统参数,具备掉电保存功能,采用了一片AT24C256实现,该芯片采用IIC与CPU通信。

4 软件设计

4.1 UCOS-II的移植

软件的开发使用了KEIL软件,该软件可以实现函数的可重入性能够满足移植UCOS-II对软件重入性的需求。由于UCOS-II的作者在设计该操作系统时就考虑了该系统的可移植性,故移植UCOS-II比移植嵌入式Linux、Wince等要简单的多。移植过程如下:在OS_CPU.H中设置时钟节拍、声明数据类型和相关宏;在OS_CPU_C.C和OS_CPU_A.S中编写任务切换、堆栈保存等函数[13-15]。

4.2 应用软件设计

由于系统移植了实时操作系统UCOS-II,故软件的设计采用了多任务编程的方式。根据系统的需求,将整个软件功能分解成一个个的小任务,各个任务共同实现系统功能。根据DTU的功能,把系统功能分解成8个任务:起始任务、主通信任务、从通信任务、DA任务、存储任务、I/O任务、声音提示任务、温度探测任务。同时还包括主通信中断、从通信中断、按键中断3个中断服务程序。任务中断划分表如表2所示。

表2 任务中断分配表

系统启动后,通过起始任务初始化系统,然后该任务放弃运行权利,系统进入多任务运行状态。按下开始按键,按键中断发送信号量给主通信任务,主通信任务等待主通信中断发送的信号量。当服务器端发送数据采集命令后,触发主通信中断,主通信中断服务程序发送信号量给主通信任务。主通信任务解包服务器发送的命令,根据命令发送信号量给其他任务。当主通信任务接收到参数保存命令,就发送信号量给参数保存任务,参数保存任务就保存当前参数,并发送信号量给声音提示任务,声音提示任务控制蜂鸣器发出“滴”的一声作为提示。当主通信任务接收到DA设置命令,主通信任务发送信号量给DA任务,DA任务控制DA输出值。当主通信任务接收到温度采集命令,就发送信号量给温度采集任务,该任务采集DTU工作环境温度。当主通信任务接收到I/O信号采集命令,就发送信号量给I/O任务,该任务采集DTU的输入输出相关信息。当主通信任务接收到数据采集任务,就发送信号量给从通信任务,从通信任务从前端采集器采集相关数据并打包存储,然后发送信号量给主通信任务,主通信任务采用Modbus协议把数据发送到服务器。各任务以及中断之间的关系如图8所示。

图8 任务以及中断之间关系图

4.3 信号量的分配

为了协调各任务以及任务和中断间的协调运行,系统创建了7个信号量,如表3所示。

表3 信号量说明表

4.4 任务说明

(1) 起始任务。该任务执行后完成系统初始化,创建各个信号量和其他7个任务,然后通过OSTaskDel(OS_PRIO_SELF)把自身删除。

(2) 主通信任务。该任务是整个系统的核心任务,优先级最高。它接收按键中断、从通信中断以及其他任务发送的信号量Sem_mcom,同时该任务还根据服务器端不同的命令向其它各任务发送相关信号量。

(3) 从通信任务。该任务负责采集前端采集器的数据。接收主通信中断发送的Sem_scom信号量,同时也能发送Sem_mcom给主通信任务。

(4) DA任务。该任务接收到主通信任务发送的信号量Sem_da后,根据参数设定D/A输出值,然后发送Sem_mcom给主通信任务。

(5) 存储任务和声音提示任务。存储任务接收到主通信任务发送的信号量Sem_save后保存相关参数,并发送信号量Sem_vo给声音提示任务,发出提示音,声音提示任务发送Sem_mcom给主通信任务。

(6) 温度探测任务。该任务接收到主通信任务发送的信号量Sem_tmp后,完成温度检测任务,然后发送Sem_mcom给主通信任务。

(7) I/O任务。该任务接收到主通信任务发送的信号量Sem_io后,记录相关IO口的状态,并发送Sem_mcom给主通信任务。

5 实 验

为了验证设计的有效性,在实验室构建了密闭实验房,DTU联网后采集温度、湿度、瓦斯浓度模块检测的数据,并发送到服务器,图9为某次探测上位机监测画面。实验表明,本文设计的矿用DTU系统能准确采集传感器模块探测到的数据信息。通过60次数据采集统计发现,该系统通过Modbus协议的数据传送丢包率为0%。

图9 上位机监测画面

6 结 语

本文将UCOS-II移植到STM32F103VE芯片上,实现了矿用DTU系统的开发,服务器和DTU之间可以采用RS485或GPRS通信, DTU和前端采集器的通信都采用MODBUS协议。经过调试和试用,该DTU完全能够满足企业要求的性能指标。通过使用嵌入式实时操作系统,使软件的开发和维护变得更为简单。

[1] 包化伟,肖小庭,龙 飞,等. 基于UCOSⅡ的恒温槽自动检测仪设计实现[J].电子科技,2014,24(10):163-166,174.

[2] 王 念,盛 荣,郝宇浩. 基于嵌入式ucos的智能矿井机器人设计[J]. 煤矿机械,2014,35(1):19-21.

[3] 麦源振,谷 刚,王志平. 基于STM32和uCOS—Ⅱ的注塑车间MES数据采集与监控系统设计[J].制造业自动化,2015,37(7):151-154.

[4] 张 峰,郭玲玲,徐 钊. 基于CC2530/uCOS-Ⅱ的井下数据采集器[J].仪表技术与传感器,2014(1):34-36.

[5] Labrosse JJ. C/OS The real-time kernel[C]//Kansas:R&D Publication Inc,1992:1-80.

[6] 宋 磊,彭道刚,赵斌斌,等. 基于嵌入式STM32的Modbus RTU协议实现[J].仪表技术,2014(11):33-36,54.

[7] 徐 伟. 探地雷达显控单元中的HPI应用技术研究[J].现代电子技术,2013,36(5):10-12.

[8] 李勇军. 基于STM32F103VE单片机的AT自耦变压器保护装置设计[J].科技创新与应用,2015(4):35-36.

[9] 陈 锐. 基于JTAG的SoC片上调试系统设计[J].电子设计工程,2015,23(3):154-156.

[10] 江贤志,刘华章,张教育,等. 基于C8051F020单片机的RS485串行通信设计[J].电子测量技术,2014,37(3):121-124.

[11] 孟仕印,罗天兰,孟传良.回转窑分布式控制系统RS485总线通信系统设计[J].自动化与仪器仪表,2015(5):112-113.

[12] 冯 洋.低功耗数字式对讲机设计[J].电子设计工程,2016,24(8):182-184.

[13] 何雅琴,张 飞,仲 潘. 基于uCOS-II的空气质量检测系统设计[J]. 软件导刊,2015,14(2):119-121.

[14] 谌 进,马尚昌. 基于UCOS-Ⅱ和LwIP的串口设备联网技术研究[J].电子设计工程,2015(10):75-78.

[15] 朱东亮. 基于LPC1343的UCOS—II移植[J].中国新通信,2013,15(17):111-112.

Design of Mine-used DTU System Based on UCOS-II

ZHANGFeia,HEYaqinb

(a. Department of Electrical Engineering, b. Department of Information Engineering, Changzhou Institute of Mechatronic Technology, Changzhou 213164, Jiangsu, China)

In order to realize the function of DTU, a design of mine-used DTU system based on UCOS-II is given. The DTU uses the STM32F103VE as processor, and the real-time operating system (UCOS-II ) is transplanted to this CPU. The design scheme of the hardware and software of the system is introduced in this paper. The software is simplified, and the maintainability of the software is increased by using the real-time operating system. Through the debugging, the DTU system can meet the needs of the enterprises.

mine-used; central processing unit(CPU); real-time operating system; hardware; software

2016-09-20

江苏高校品牌专业建设工程资助项目(PPZY2015C238);江苏省前瞻性研究专项资金项目(BY2014043)

张 飞(1981-),男,江苏常州人,硕士,讲师、工程师,主要研究方向:自动化技术、人工智能。E-mail:czmeczf@163.com

TD 65

A

1006-7167(2017)05-0131-04

猜你喜欢

信号量矿用采集器
COVID-19大便标本采集器的设计及应用
Nucleus PLUS操作系统信号量机制的研究与测试
基于ARM9 技术的矿用智能云起爆器设计
基于ZigBee的大型公共建筑能耗采集器设计
基于LabVIEW的多数据采集器自动监控软件设计与开发
矿用巡检机器人设计及其应用
稀土元素对矿用低钴超粗硬质合金性能的影响
硬件信号量在多核处理器核间通信中的应用
改性碳纳米管在矿用阻燃输送带覆盖胶中的应用
多接口温湿度数据采集器的设计