基于STM32 的矿用隔爆兼本安型读卡分站_王洋洋.pdf
第 51 卷第 7 期 2020 年 7 月 Safety in Coal Mines Vol.51No.7 Jul. 2020 基于 STM32 的矿用隔爆兼本安型读卡分站 王洋洋 1,2, 洪玉玲1,2,3 (1.煤科集团沈阳研究院有限公司, 辽宁 抚顺 113122; 2.煤矿安全技术国家重点实验室, 辽宁 抚顺 113122; 3.矿用设备事故仿真与模拟验证实验室, 辽宁 抚顺 113122) 摘要为实现煤矿人员管理系统中标识卡唯一性检测及工作状态的检测,设计一种基于 STM32f103RCT6 的新型矿用隔爆兼本安型读卡分站。对分站做了本安电源、 主控制单元、 显示模 块及功放电路等硬件电路设计; 设计了 uc/os-III 操作系统的嵌入式软件, 通过多任务调度提升 微处理器的处理效率, 通过微处理器的 USART 串口进行数据的收发, 最终实现标识卡的识别、 卡号的显示和语音播报。 关键词 煤矿人员管理系统; 读卡分站; 标识卡;STM32; uc/os-III 中图分类号 TD76文献标志码 B文章编号 1003-496X (2020 ) 07-0113-04 Card Reading Substation of Mine Flameproof and Intrinsic Safety Based on STM32 WANG Yangyang1,2, HONG Yuling1,2,3 (1.China Coal Technology and Engineering Group Shenyang Research Institute, Fushun 113122, China;2.State Key Laboratory of Coal Mine Safety Technology, Fushun 113122, China;3.Mine Equipment Accident Simulation and Verification Laboratory, Fushun 113122, China) Abstract To meet the requirements of unique detection of coal mine personnel management system and working state detection for identification card, a card reading substation of flameproof and intrinsically safe is designed based on STM32f103RCT6. The hardware circuits such as power supply, main control unit, display module and power amplifier are designed. Meanwhile, the embedded software of uc/os-III is designed, and the processing efficiency of the microprocessor has been improved by multi-task scheduling. The data can be sent and received through the USART serial ports of the microprocessor. Finally, the identification of identification cards, card number display and voice broadcast are realized. Key words coal mine personnel management system; card reading substation; identification card; STM32; uc/os-III 矿井人员定位管理系统作为矿山安全避险六大 系统中必不可少的一大系统[1], 不仅可以协助管理 者对井下作业人员进行调度指挥,提高生产效率, 更可在紧急救援时为救援人员提供重要数据,提高 救援效率。读卡分站是人员管理系统中重要的标识 卡识别设备,而常规的分站防爆型式为矿用本质安 全型,这就需要额外关联 1 台矿用隔爆兼本安型电 源为其供电,增加了系统的维护量。为此设计了基 于 STM32f103RCT6 的新型矿用隔爆兼本安型读卡 分站[2-3], 分站采用分腔设计, 减轻了分站整体质量。 该分站设置在井下或出入井口,通过数码管显示及 语音播报的形式完成对标识卡工作状态的检测, 同 时可配合人脸识别仪或虹膜识别仪等设备检测作业 人员所携带标识卡的唯一性, 满足 煤矿安全规程 等相关要求。 1读卡分站硬件 读卡分站电路组成包括本安电源模块、无线收 发模块、 STM32f103RCT6 微处理器单元、语音模块、 DOI10.13347/ki.mkaq.2020.07.023 王洋洋, 洪玉玲.基于 STM32 的矿用隔爆兼本安型读卡分站 [J] .煤矿安全, 2020, 51 (7) 113-116. WANG Yangyang, HONG Yuling. Card Reading Substation of Mine Flameproof and Intrinsic Safety Based on STM32 [J] . Safety in Coal Mines, 2020, 51 (7) 113-116. 基金项目中国煤炭科工集团有限公司科技创新创业资金青年资 助项目 (2018- 2- QN014) ; 煤科集团沈阳研究院有限公司创新创业 资金资助项目 (SY- 19- 013) 移动扫码阅读 113 ChaoXing 第 51 卷第 7 期 2020 年 7 月 Safety in Coal Mines Vol.51No.7 Jul. 2020 2) 本安电源。ib 等级 12 V 本安电源原理图如图 3。为方便地面取电, 本安电源采用 127~220 V 交流 输入, 首先由 AC/DC 模块将交流转换为直流, 再经 LM317 三端稳压器稳压,由取样电路采集电路电 流,当电流大于设定值时过流保护电路动作,切断 电源输出实现过流保护;过压保护电路由电压检测 电阻、 三极管、 MOS 管及晶闸管等组成, 当电压超多 设定的过压值后, MOS 管关断实现过压保护;在输 出前端并联 2 个稳压二极管,在输出端电压过高时 起到限压作用[8-9]。过流保护及过压保护电路可将输 出端能量限制在安全范围内,按照 GB 3836.4 2010 爆炸性环境第 4 部分 由本质安全型 “i” 保护 的设备 的要求均采用双重保护, 以达到 ib 等级本 质安全要求, 电源最终输出 12 V 本安电源。 12 V 本 安电源通过穿墙端子进入本安腔后经过 DC-DC 电 源模块转换为 5 V 后再经 AMS1117-3.3 输出 3.3 V, 给处理单元、 显示单元、 无线收发模块供电。 3) 无线收发模块。本分站采用基于 UWB 技术 的无线收发模块与标识卡进行双向通信, UWB 技术 具有功耗低、 定位精度高、 抗干扰性强等优点, 现已 功放单元、 数码显示单元、 天线及扬声器等。分站组 成如图 1。 1) 处理单元电路。处理单元主控制器采用 STM32F103RCT6, 该芯片具有 256 K 字节程序存储, 48 K 字节 RAM, 采用 cortex-m3 内核[4-7], 具有较高 的性能、 强大的软件包及技术文档的支持, 同时具有 较高的性价比。主控制器外围电路如图 2。通过 USART1 接收来自无线收发模块的数据,数据帧包 括帧头、 帧长、 信息及校验等。主控制器对接收数据 进行解析处理,通过 PC6、 PC7 及 PC8 这 3 个 IO 口 将标识卡卡号数据送给显示模块进行显示;通过 USART3 及 PB0、 PB1 与语音模块进行通信,驱动语 音模块将文本数据转化为音频信号。发光二极管 D1 闪烁可指示 MPU 的运行状态,并通过 PB12 由 1 个 9014 三极管驱动直流蜂鸣器,当标识卡欠压时, PB12 输出高电平, 蜂鸣器报警提示, 提醒携卡人员 及时更换电池。 图 3ib 等级 12 V 本安电源原理图 Fig.3Principle of 12 V intrinsic power supply reached ib level 图 2主控制器外围电路 Fig.2Circuits around the master controller 图 1分站组成 Fig.1Constitutes of the Substation 114 ChaoXing 第 51 卷第 7 期 2020 年 7 月 Safety in Coal Mines Vol.51No.7 Jul. 2020 在石油化工、 仓储、 监狱等领域应用。本无线收发模 块的芯片采用 DW1000, DW1000 是完全集成的符合 IEEE802.15.4-2011 标准的低功耗收发器集成电路, 它可用于双向测距或 TDOA 定位系统定位,精度最 高可达 10 cm。无线收发模块将接收到的标识卡的 ID 号、电压值等消息通过 USART 方式传送给 STM32f103RCT6 主控制器处理。 4) 语音模块。语音模块采用科大讯飞公司的 XF-S4240 语音合成模块,该模块提供了 USART、 SPI、 IIC 3 种数据通讯接口, 选择 USART 异步串行通 信接口将来自微处理模块的文本数据转化为音频输 出。 语音模块引脚连接如图 4。 BSY 引脚为模块状态 输出, 用来指示模块的状态, 低电平为准备就绪, 高 电平为忙状态。RST 为模块复位引脚, 低电平有效。 5) 音频功放单元。音频功放单元集成芯片采用 LM386-4,内部为三级放大电路,该芯片外围器件 少, 静态功耗低, 同时 1 脚和 8 脚接上 1 只电阻 R5 和电容 C9组成串联 RC 网络, 用来调节 LM386-4 的 最大电压增益倍数, WT2电位器用来调节扬声器输 出合适的音量, 音频功放电路如图 5。 6) 数码显示单元。显示单元采用 5 个 74HC595 级联的方式静态驱动 5 个高亮共阳极数码管,数据 串行输入, 并行输出, 同时该集成芯片具有数据锁存 功能, 通过静态驱动数码管, 数码管显示不闪烁, 达 到理想的视觉效果。 2分站软件 嵌入式软件移植了 uc/os-III 实时操作系统[10], 该系统包含任务调度、 任务管理、 时间管理等功能。 2.1 主程序 主程序流程如图 6。 首先进行各个硬件资源的初始化,包括心跳初 始化、看门狗初始化、 LED 初始化、 74HC595 初始 化、 USART1 初始化、 USART3 初始化等。 然后进行全 局变量的初始化、 uc/osIII 的初始化。 使用 TaskCreate 创建开始任务、 LED 任务、 USART 任务及数码显示 与语音合成任务, 最后执行 OSStart 函数, 关键代码 如下。 OSTaskCreate ( (OS_TCB*) StartTaskTCB, //任务控制块 (CPU_CHAR *) “Task” ,//任务名 (OS_TASK_PTR) Task,//任务函数 (void*) 0,//传递给任务函数的参数 (OS_PRIO)TASK_PRIO,//任务优先级 (CPU_STK *) TASK_STK [0] , // 任务堆栈基地址 (CPU_STK_SIZE)STK_SIZE/10, //任务堆栈基限位 (CPU_STK_SIZE)STK_SIZE,//任务堆栈大小 (OS_MSG_QTY ) 0,//禁止任务消息队列 (OS_TICK) 0,//默认时间片长度 (void*) 0,//补充用户存储区 (OS_OPT) OS_OPT_TASK_STK_CHK|\ OS_OPT_TASK_STK_CLR,//任务选项 (OS_ERR*) err) ;//错误返回值 图 6软件流程图 Fig.6Software flow diagram 图 5音频功放电路 Fig.5The design of power amplifier circuit 图 4语音模块引脚连接 Fig.4Voice module pin connection 115 ChaoXing 第 51 卷第 7 期 2020 年 7 月 Safety in Coal Mines Vol.51No.7 Jul. 2020 2.2串口数据的接收与发送 串 口 数 据 的 接 收 和 发 送 采 用 DMA(Direct Memory Access, 直接内存存取) 方式。串口数据格式 见表 1, 波特率为 115 200 bps。接收时, 串口接收到 数据后, 直接由 DMA 自动取走, 将数据存储到内存 空间,避免串口接收数据时多次进入中断,可提高 微处理器的处理效率。 由于接收到的数据帧长不确定,采用检测串口 空闲中断标志来判断数据帧是否传输完成,需要首 先要在配置 USART1 时使能空闲中断,运行代码 USART_ITConfig (USART1, USART_IT_IDLE,ENABLE) ; USART 中断处理函数代码如下 void USART1_IRQHandler (void) { if (USART_GetITStatus (USART1, USART_IT_IDLE) ) { uint32_t temp 0; temp USART1->SR;//清除空闲中断 temp USART1->DR; uartRecvLen U1_Rec_Len - DMA_GetCurrData- Counter (DMA1_Channel5) ; //获得帧长 DMA_SetCurrDataCounter(DMA1_Channel5, U1_Rec_Len) ;//设置传输长度 OSSemPost (usart1RecvDone) ; //发送接收到新数//据信号量, 供前台程序查询 } } 数据接收后, 对数据按照数据协议进行校验, 对 错误帧抛弃,正确帧按照语音合成模块协议进行处 理后, 将数据采用 DMA 传输方式通过 UART3 发送 给语音合成模块,当判断电压值低于设定阈值时, 合成对应数据, 此时, 分站语音播报 “电量低” 。 3结语 设计一种基于 STM32f103RCT6 的新型矿用隔 爆兼本安型读卡分站。分站采用分腔式结构设计, 整体质量更轻;进行了本安电源电路、处理单元电 路、 显示单元、 功放单元等硬件电路设计, 满足本质 安全及性能需求; 进行了嵌入式软件的设计, 并移植 了 uc/os-III 操作系统, 完成多任务的调度, 并使用 DMA 传输方式, 节约了 MPU 执行时间, 提升了处理 效率;分站实现了标识卡的识别、卡号的显示及语 音播报, 符合煤矿及非煤矿山的需要。 参考文献 [1] 孙继平.煤矿事故特点与煤矿通信、 人员定位及监视 新技术 [J] .工矿自动化, 2015, 41 (2) 1-5. [2] 陶睿杰, 章征宇, 陈蕾.基于XC7A35T与STM32F103RCT6 的智能语音小车系统设计 [J] .电子设计工程, 2018, 26 (3) 170-174. [3] 张旭, 亓学广, 李世光, 等.基于 STM32 电力数据采集 系统的设计 [J] .电子测量技术, 2010, 33 (11) 90-93. [4] 丁力, 宋志平, 徐萌萌, 等.基于 STM32 的嵌入式测控 系统设计 [J] .中南大学学报 (自然科学版), 2013 (S1) 260-265. [5] 苑洁.基于 STM32 单片机的高精度超声波测距系统 的设计 [D] .保定 华北电力大学, 2012. [6] 郭雷岗, 刘忠菁, 董雪峰.基于 STM32 电力数据采集 系统的设计分析 [J] .科学与信息化, 2017 (32) 14. [7] 基于 STM32 的双轮机器人控制系统研究与设计 [D] . 武汉 武汉理工大学, 2011. [8] 赵四海, 周杰.矿用隔爆兼本质安全型不间断直流稳 压电源的设计 [J] .工矿自动化, 2012, 38 (4) 17-19. [9] 王思宁, 郭涛, 车明浪.一种矿用本安电源的设计 [J] . 煤矿安全, 2018, 49 (2) 100-102. [10] 何康华, 雷阳阳.基于 uCOS-III 的教育机器人系统 设计 [J] .电子测量技术, 2016, 39 (10) 114-118. 作者简介 王洋洋 (1985) , 山东兖州人, 助理研究员, 硕士, 2012 年毕业于辽宁工程技术大学,从事矿用仪器仪 表技术研究工作。 (收稿日期 2019-11-07; 责任编辑 李力欣) 帧头帧长类型信息校验字节 111n11 表 1数据帧格式表 Table 1Data frame at table 116 ChaoXing