基于Cortex-M3的矿用便携高速红外数据采集器设计
2015-06-09王希林王晓荣陆志峰
王希林,王晓荣,陆志峰,张 磊,陈 燕
(南京工业大学自动化与电气工程学院,江苏南京 211816)
基于Cortex-M3的矿用便携高速红外数据采集器设计
王希林,王晓荣,陆志峰,张 磊,陈 燕
(南京工业大学自动化与电气工程学院,江苏南京 211816)
设计了一种适合矿下工作人员维护煤矿生产在线监测设备和采集数据的便携式高速红外数据采集器。基于Cortex-M3内核的STM32F系列芯片,搭载TFDU4100红外收发模块,使用SD卡存储大容量数据,并可通过USB接口将数据传至上位机。分别对红外传输速度、误码率、存储速度进行测试。测试结果表明:该采集器传输速度快、准确率高且存储速度快,具有较强的实用性。
Cortex-M3;高速;红外通信;TFDU4100;SD卡存储
0 引言
目前在我国的煤矿行业,大多数企业已经完成或正在进行煤炭安全监控、生产监控系统的建设,这些系统的建立在实现安全生产的过程中起到了重要的作用[1]。数据采集是安全生产监控系统的主要组成部分。伴随着计算机技术的迅速发展,数据采集系统已由传统的测控电路发展为以微型计算机为核心、传感器测量设备与接口电路为基础的现代数据采集与测控系统,但也逐渐暴露出许多缺陷:煤矿工作环境恶劣,而微型计算机的防尘、防震等功能较差;体积大,不易携带和使用;要求的连续工作时间长[2],维护困难;监测方式固定,不灵活;扩展性差,成本高等。
本文设计的基于嵌入式系统的数据采集器,使用STM32F系列芯片作为控制核心,不仅可以采集作业设备的状态参数和监测得到的数据,还能取代这些设备的外部按钮现场调整其运行参数。整个设备可单手操作,体积小巧,通过红外线通讯方式进行数据传输,不需实体连接,接口完全电气隔离,有利于防爆,安全可靠[3],且红外传输实现成本低,产品市场竞争力更强。采集到的监测数据和状态参数储存在SD卡中,由采集人员带回地面进行汇总分析,以便进行生产作业的安全评估与规划。
1 系统总体设计方案
1.1 微处理器介绍
采用Cortex-M3内核的32位微控制器 STM32F103RB作为数据采集与处理的控制核心,Cortex-M3 内核是专门设计针对于要求高性能、低功耗、性价比更高的应用领域。该芯片工作频率高达72 MHz,内置高速存储器,包括20 K片内SRAM,128 K片内 FALSH,以及丰富的片上外设资源,简化了系统硬件设计。
STM32F103RB芯片支持红外IrDA1.0协议,输出的波形能够符合反相归零调制方案(RZI)。其中IrDA SIR物理层在发送红外信号时会对NRZ(非归零)比特流进行调制,调制后的信号可以直接加载到40 kHz的载波上通过红外线二极管发射出去;接收时对来自红外接收器的归零位比特流进行解调,转换成NRZ串行比特流输出。这一功能集合在串口中,仅需完成一些红外相关模式的配置,即可使用。
1.2 系统的组成
系统以STM32F103RB主芯片为核心,辅以液晶模块、万年历、红外通信、USB接口、键盘、SD卡存储以及电量检测等模块构成一个嵌入式系统。如图1所示,薄膜键盘作为输入,配合点阵屏图形化的用户界面实现了人机友好互动。串口与USB通信转换的芯片可使装置方便地与上位机以USB方式通信,适用于任何一台计算机。电量检测子系统时刻监视设备的电池电量情况,在低电压时提醒操作者更换电池。整个系统注重电源的供应管理[4],对各个模块分开管理,必要时用MOS管关断模块的供电,节省能源。
图1 系统组成结构图
2 系统硬件设计
2.1 电源管理
整个手持设备中,主控芯片、时钟芯片DS1302、显示模块都需要3.3 V供电,红外收发器也可通过电阻配置成2.7 V的供电模式,而电池供电电压为3.9~4.8 V,因此需要通过1206稳压至3.3 V。如图2设计,产生3.3 V供电。当设备通过USB连接上位机时,为节省电池用量可转由USB的5 V供电。
图2 电源管理电路
2.2 红外通信模块
TFDU4100红外收发器是8脚贴片形式,如图3所示。引脚Ired_AE和Ired_CE是红外发射管的两端,由外部电源对Ired_AE供电,模块内部根据串行数据控制Ired_CE端的输出电位,从而让发射管发送“0”或“1”。SC管脚连接内部的比较电路,输入高电平时降低红外接收器的触发阈值,使得灵敏度上升,有效传输距离最远可达3 m,同时可有效减小矿下粉尘对传输信号的干扰。
图3 红外收发器的外围电路
2.3 存储和USB通信模块
图4 SD卡存储电路
由于其大容量和可更换的特点,SD卡非常适合作为手持设备的存储方式。因STM32F103RB芯片的限制,不支持SDIO模式,如图4所示,存储卡用五线制的SPI方式与单片机连接,分别用于片选、时钟、指令、输入和输出。
CP2102是USB转UART的单芯片桥接器,将串口信号转换成USB信号,外围电路如图5所示。CP2102带有虚拟COM口器件驱动程序,通过USB线连接电脑后自动安装驱动可作为COM口使用。该芯片由连接线的+5 V供电,未连接时不工作,不消耗电池能源。
图5 串口转USB电路
3 系统软件设计
3.1 红外通信
由于使用了红外收发模块,在软件系统初始化时,只需要将IO口配置成复用模式并初始化相应USART参数即可。此处的波特率设为115 200 bit/s,无需硬件流控制,设置中断为最高优先级,同时用代码开启对应的红外正常工作模式。
收发数据与操作串口收发相同,即红外收发也是利用串口通讯。发送一个字节的数据的过程为:首先向串口发送数据,然后等待发送标志位完成后清除标志位。红外通信的数据帧格式为:功能码2字节,数据码6字节,校验码2字节,因此每发送一帧数据都需要装填并发送10个字节。
接收到一帧数据后先检验前两字节是否相同,后两字节是否相反。若前两字节相同后两字节相反则代表这一帧数据传输正确。利用此方法可初步校验数据。
当开启红外通信后,尝试与对方设备进行第一次握手,若有红外回复响应则发送询问指令开始接收数据,否则重复尝试。流程图如图6所示。
图6 红外通信流程图
在传输过程中,如果发生意外中断传输,则重新问询数据,并从中断处继续,直至完成接收。当系统接收到终止包时,停止接收并对数据进行存储,然后返回待机状态,等待下一次的数据请求。
3.2 SD存储卡
用SPI方式对SD卡进行读写时,首先需要通过下列命令使SD卡进入SPI模式:
(1)发送74个时钟周期;
(2)发送复位命令CMD0;
(3)SD卡进入SPI总线模式;
待SD卡进入SPI总线模式后,通过下列操作来判断存储卡的类型:
(1)延时至少74 clock,等待SD卡内部操作完成;
(2)CS低电平选中SD卡;
(3)发送CMD0,需要返回0x01,进入Idle状态;
(4)为了区别SD卡是2.0还是1.0,这里根据协议向上兼容的原理,首先发送只有SD2.0才有的命令CMD8,如果CMD8返回无错误,则初步判断为2.0卡;
(5)进一步发送命令循环发送CMD55+ACMD41,直到返回0x00,确定SD2.0卡初始化成功,进入Ready状态,再发送CMD58命令来判断是HCSD还是SCSD,到此SD2.0卡初始化成功;
(6)CS拉高。
成功判别存储卡的类型后,才可以进行读写操作,SD卡总体操作软件流程图如图7所示。
图7 SD卡读写流程图
4 测试结果
4.1 红外通信距离
使用另外一台红外发射装置与本设备进行红外通信距离的测试,固定好两者的距离,然后不断调整波特率,找到稳定工作的距离为试验结果,如表1所示。
表1 红外传输距离测试结果
表1中,在115 200 bit/s波特率下的红外稳定传输距离在2.1 m左右,完全符合产品预期设计和矿下实际使用环境的要求。较高的波特率带来的高速传输速度,也使井下采集数据耗时更短。
4.2 误码率
由于场地条件的限制,测试是在实验室日光灯下进行的,环境光线对测试结果具有一定的干扰。矿下的实际环境有粉尘干扰,而使用距离要求在2 m以内。结果如表2所示。测试元件为红外收发元件TFDU4100,测试条件为仰角小于10 °,供电电压为3.3 V,波特率为115 200 bit/s。
表2 红外传输误码率测试结果
表2中,误码率是用连续传输等差数列检查是否匹配的方式进行检测的,测试数据误码率很小,在可接受范围内。使用过程中,即使偶尔出现了传输错误也是可以通过重新问询和断点续传技术弥补。
4.3 SD卡存储和读取速度
在72 MHz主频下,SPI采取二分频,即其时钟频率可达到36 MHz。表3中的写入速度是在开启预擦除模式下连续写入的测试结果。
表3 SD卡写入与读取速度测试结果
SD卡类型数据流方向平均速度/(KB·s-1)Transcend,v1.x,2GB写入读取217.4238.1SanDisk,v2.0SDHC,8GB,Class4写入读取227.3250.1
从表3中的测试数据可以看出,MCU采取SPI方式的读写速度也能达到便携式设备的数据传输需求。
5 结束语
矿井巷道中的特殊环境限制了大功率高频设备的使用,使得在短距离非接触式交互中红外通信相比其他通信方式更具优势。本产品利用STM32F系列芯片的高性能特性,设计开发了便携式红外数据采集器,相较于传统微机系统在体积小巧、低功耗、安全可靠、存储量大等方面有着显著特点,测试项目均能得到满意结果。实现了同类产品中所少有的高速数据传输,波特率达到115 200 bit/s,同时红外通讯距离也取得了满意的效果,达到了同类产品中较为先进的水平,具有很广泛的应用前景。
[1] 杨勇,卓东风,董增寿.嵌入式煤矿安全生产信息采集管理系统.山西煤炭管理干部学院学报,2008(3):124-127.
[2] 程卫东,齐伟.移动式矿用设备故障监测诊断及信息管理.北京交通大学学报,2011,35(1):132-135.
[3] 黄智伟.STM32F 32位ARM微控制器应用设计与实践.北京:航空航天大学出版社,2012:79-287.
[4] 李若强.红外线数据通信应用.电力自动化装置,2003,23(12):61-62.
[5] 喻金钱.STM32F系列ARM Cortex-M3核微控制器开发与应用.北京:清华大学出版社,2011:63-142.
[6] 希勒(Shearer F).移动设备的电源管理.黄小军,译.北京:机械工业出版社,2009:159-164.
[7] 凌志浩,曲金鹏,吴勤勤,等.适用于仪器仪表通信的若干新技术.自动化仪表,2003,24(10):1-7.
[8] 许继彦,杜钦生.红外通信模块的设计与实现.长春大学学报,2009,19(10):49-51.
Design of Portable Mining High-Speed Data Collector by Infrared Based on Cortex-M3
WANG Xi-lin,WANG Xiao-rong,LU Zhi-feng,ZHANG Lei,CHEN Yan
(College of Automation and Electrical Engineering,Nanjing Tech University,Nanjing 211816,China)
A portable data collector by infrared for the maintenance of on-line monitoring equipment was designed.It was suitable for the workers under the mine.STM32F series chip was based on Cortex-M3 core with the infrared transceiver module of TFDU4100.It can store large amounts of data using SD card,and can also transmit the data to computers through the USB interface.Infrared transmission speed,bit error rate,and SD card read speed were tested.The results show that the collector is stable,reliable and it’s storage and transmission speed is high,thus showing it’s practical in use.
Cortex-M3;high-speed;infrared communication;TFDU4100;SD card storage
2014-03-13 收修改稿日期:2014-10-11
TH89
A
1002-1841(2015)03-0030-03
王希林(1989—),硕士研究生,主要研究方向:嵌入式与智能仪器开发。E-mail:hunxiyi@126.com 王晓荣(1972—),副教授,主要研究方向为分析仪器和嵌入式系统。E-mail:wang@njtech.edu.cn