基于ARM的嵌入式工具管理系统的设计与实现

2019-12-02 07:14:42艳1张子明李金猛1梁1周勇军
计算机测量与控制 2019年11期
关键词:读卡器存储器触摸屏

阚 艳1,张子明,李金猛1,韩 梁1,周勇军

(1.中国人民解放军第5720工厂,安徽 芜湖 241007; 2.安徽省航空设备测控与逆向工程实验室,安徽 芜湖 241007)

0 引言

人工管理是当前工具管理的主要方式,即使目前主要采用的“三清点”制度(作前清点,转移清点,工作后清点)能起到一定的作用,但这种方式更容易受到人为因素的主观影响,造成工具无故丢失,且定位不了责任人等严重后果[1]。另外由于大型企业产品系统复杂,涉及到的工具种类众多,导致工具的借用与归还和工具的盘点等工作非常麻烦,且耗时费力。因此传统的依靠人工管理的模式已不能满足现代企业的需求[2-3]。

随着电子技术的高速发展,以微控制器和传感器为代表的嵌入式技术开始运用在工具管理系统的设计中,尤其以ARM为代表的嵌入式处理器的广泛应用以及工程方法的软件开发使嵌入式技术渗透到各行各业[4]。使用无线射频识别技术(Radio Frequency IDentification,RFID),通过无线电讯号识别特定的目标对象,无需识别系统与目标对象之间有接触,即可实现两者的双向数据通信。与以往应用在工业现场的条形码识别技术相比,RFID技术不受应答对象尺寸大小和形状限制,不易被污染,适应恶劣环境的能力更强[5],使得工具可以自动快速识别,为解决工具管理的诸多问题提供了可能[6],初步在铁路建设[7]、航空维修[8]、电力系统[9-10]的工具管理中进行了探索。

本文提出的基于ARM的嵌入式工具管理系统设计方法,通过RFID天线扫描并反馈含RFID标签的工具,设计面向用户的触摸屏操作界面,用户通过刷卡验证权限,提供超声波测距模块判断处于工作模式还是节能模式,可以实现对工具的自动检测、人员权限自动判断、借还操作的自动记录、操作的数据上传与查询、人员工具的库管理、工作状态的自动切换等。

1 系统结构及原理

本文设计的系统以ARM9内核的S3C2416处理器作为控制核心,并充分使用该处理器丰富的外设资源。使用UART0完成在开发调试阶段进行软件调试、下载和维护监控;通过以太网接口完成程序的下载固化和与远程服务器连接,传递工具管理设备的人员工具库和操作日志等终端信息;使用UART1完成对RFID读写器的控制,进行对含标签工具的扫描;使用UART2完成对触摸屏的控制,用户通过触摸屏各页面进行工具借还、操作日志查询、人员工具维护等操作;使用UART3完成对IC读卡器的控制,需要刷卡以判断当前用户拥有何种权限;通过GPIO口完成对超声波测距模块的控制,利用超声波测距判断是否有用户靠近;通过I2C接口控制外部库存储器的读写,完成对人员、工具的增减;通过SPI接口控制操作日志存储器的读写,完成工具借还操作的录入和回读。系统结构框图见图1所示。

图1 工具管理系统原理结构框图

2 系统硬件设计

2.1 S3C2416最小系统

2.1.1 电源电路

最小系统工作需要3.3 V、1.8 V、1.2 V等电压,分别通过AP1117CD-3.3产生3.3 V电压供IO设备使用,见附图2所示;通过XC9216A12CMR产生1.2 V电压供ARM核、中断、USB等使用;通过XC6206P121MR产生1.2 V供ARM激活使用;通过XC9216A18CMR产生1.8 V电压供DDR内存使用。

2.1.2 复位电路

为了提供高效的电源监控作用,选取了专门的系统监视复位芯片MAX811S,实现对电源电压的监控和手动复位操作。该芯片优良,一旦系统电源低于系统复位的阀值(2.93 V),复位芯片MAX811S将会对系统进行复位。

2.1.3 时钟电路

时钟源直接采用外部晶振,内部PLL电路可以调整系统时钟,使系统运行速度更快。

2.1.4 内存

内存作为存放数据与程序代码的内存,采用MT47H32M16HR芯片。

2.1.5 程序存储器

程序存储器用于存放数据和程序,并在掉电时仍然保持数据,采用K9F2G08芯片。

2.2 以太网接口

软件通过以太网接口下载固化,另外通过以太网接口可将工具管理设备本地的人员工具库和操作日志等终端信息传输到远程服务器。以太网驱动芯片采用DM9000C,接口形式为RJ45封装,以太网接口电路原理图见图2所示。

图2 以太网接口电路原理图

2.3 UART接口

本文设计中S3C2416的所有4个串口均使用,发挥不同的功能。其中串口0作为调试维护接口,串口1控制RFID读写器,串口2控制触摸屏,串口3控制IC读卡器。每个串口采用三线制RS-232接口通讯,并选择两片MAX3232作为RS-232与TTL电平转换芯片(每片拥有两路)。UART接口电路如图3所示。

图3 UART接口电路

2.3.1 调试维护接口

调试维护接口主要包括异步串口0,将异步串口0作为监控控制台,打印系统启动的初始化自检信息,电路见附图10所示。调试维护接口为开发者使用,工具管理设备工作时不使用。

2.3.2 RFID读写器接口

使用异步串口1与RFID读写器进行通讯,用于识别带有RFID标签的工具,通过不断扫描明确工具明细和借还操作。

2.3.3 触摸屏接口

使用异步串口2与串口触摸屏进行通讯,接收用户的操作指令,发送需要传输到触摸屏上的数据信息,实现与用户的人机交互。

2.3.4 IC读卡器接口

使用异步串口3与IC读卡器进行通讯,用户在进行各种操作前均需要进行刷卡操作以验证权限,权限判断后进入相应的操作界面。

2.4 超声波测距模块

共设置4个超声波测距模块,型号选用HC_SR04,每个模块使用两个GPIO口分别与HC_SR04模块的TRIG触发和ECHO回声引脚相连,通过计算声速与发送接收时间差的乘积得到距离。与HC_SR04模块连接的GPIO口需要包含外部中断功能,并通过上拉电阻与电源相连,超声波测距接口电路如图4所示。

图4 超声波测距接口电路

2.5 人员、工具库存储器

使用AT24C256作为人员、工具库存储器,存放具有权限的人员ID、姓名,以及工具ID、名称、状态等,AT24C256属于一种I2C EEPROM,因此处理器要通过I2C接口(GPE14复用为SCL,GPE15复用为SDA)与AT24C256连接。本系统共设置4个AT24C256芯片作为库存储器,其中两个为人员库存储器,两个为工具库存储器,通过上拉电阻和下拉电阻的选择焊接设置每个AT24C256芯片的地址,从而区别库存储器的不同,其电路原理图如图5所示。

图5 人员、工具库存储器电路原理图

2.6 操作日志存储器

使用W25Q32作为操作日志存储器,将用户的所有操作记录下来,并可通过读取回调查询。W25Q32属于一种SPI接口的存储器,因此需要将处理器的SPI接口(GPL13复用为CS,GPE13复用为CLK,GPE12复用为MOSI,GPE11复用为MISO)与其连接起来。操作日志存储器电路原理图如图6所示。

图6 操作日志存储器电路原理图

3 系统软件设计

软件的主要设计思路为编写循环执行的程序,每个周期内完成的内容有:首先通过超声波测距装置探测周围是否有用户操作,如果没有则将触摸屏背光关闭,并且将处理器运行在休眠状态;如果有用户在操作则打开触摸屏背光以便用户进一步操作。使用IC读卡器扫描是否有用户刷卡,并且根据该用户的权限进入相应的操作界面,如果该用户是管理员权限,则可以进行人员管理、工具增减、查询功能、数据上传和工具借还等操作,如果用户是操作者权限,则仅可以进行工具借还这一基本操作。各种操作要读取当前触摸屏所在的操作页面,根据不同的触摸屏页面编写相应的软件以完成不同的功能。主软件流程图见图7所示。

图7 主软件流程图

主要软件模块包括以下几部分:

3.1 初始化

为了系统各个组件都能在可控的已知状态下正常工作,需要在软件最开始的地方完成整个系统初始化,包括S3C2416处理器的各模块资源初始化和系统其它部件的初始化配置以及自检等。

3.1.1 串口初始化

包括用于与触摸屏通信的串口1、与RFID读卡器通信的串口2和与IC读卡器通信的串口3初始化,主要需要完成串口相应管脚的复用设置(GPH2、GPH3、GPH4、GPH5、GPH6、GPH7分别用作RXD1、TXD1、RXD2、TXD2、RXD3、TXD3线)、管教内部上拉设置、通信格式设置(8个数据位,无校验位,1个停止位的常规设置)、时钟源设置(选择PCLK为时钟源)、通信速率设置(波特率为115 200 bps)等。

3.1.2 中断初始化

包括用于距离测量接收超声波测距模块传输回波信号的外部中断5设置以及串口1、串口2、串口3三个通信端口的接收中断设置,清除相应的中断屏蔽寄存器标志,如表1所示。在这些模块进行中断设置用来实现有信息到达时的实时性处理。

表1 中断对应的寄存器

3.1.3 超声波测距模块引脚初始化

对与HC_SR04超声波测距模块TRIG触发引脚、ECHO回声引脚连接的S3C2416的GPF6、GPF5引脚进行初始化设置。将GPF6引脚设置为输出模式向HC_SR04模块发送触发信号,将GPF5设置为中断模式并设置为双边沿触发模式,检测接收回声信号的边沿。

3.1.4 I2C接口初始化

本系统的人员、工具库存放在I2C存储器AT24C256中,因此在使用前要对S3C2416的I2C接口进行初始化,包括将GPE15、GPE14引脚复用为I2C接口的SDA线和SCL线,使能I2C接口ACK、16分频预分频器、中断等功能,设置S3C2416从地址为[7:1]位,使能I2C接口总线数据输出等。

3.1.5 定时器0初始化

在超声波测距模块中需要根据时间和声速的乘积计算距离,因此选择定时器0作为时间的度量,需要对定时器0进行初始化,包括100分频预分配、16分频、装载计数初始值为PCLK/100/16、手动装载启动等。

3.1.6 触摸屏版本读取

通过串口1向触摸屏发送版本读取指令,接收触摸屏回送的版本信息,并通过串口控制台打印显示。可以得到触摸屏版本信息并同时实现了对触摸屏的自检。

3.1.7 IC读卡器识别号读取

通过串口3向IC读卡器发送识别号读取指令,接收IC读卡器回送的识别号信息,并通过串口控制台打印显示。可以得到IC读卡器识别号信息并同时实现了对IC读卡器的自检。

3.1.8 RFID读写器复位和自检

通过串口2向RFID读写器发送复位指令,然后继续通过串口2完成对RFID固件版本、工作天线、输出功率、模块温度等信息的读取,并通过串口0控制台显示,从而实现对RFID读写器的自检。

3.2 距离测量

本系统通过HC-SR04超声波测距模块测量与本系统相距最近人员的距离,当该距离小于一个阈值,如1米时,认为有人员靠近并准备使用本系统,此时将系统唤醒运行工作模式。

HC-SR04超声波测距模块具有性能稳定、测度距离精确、模块高精度、盲区小等优点。广泛应用于机器人避障、物体测距、液位检测、公共安防、停车场检测等领域。

HC-SR04超声波测距模块工作原理如图8所示。

图8 HC-SR04超声波测距模块工作原理

1)通过向TRIG引脚给至少10 μs的高电平信号触发测距;

2)模块自动发送8个40 kHz的方波,自动检测是否有信号返回;

3)通过ECHO引脚输出一个高电平返回信号,高电平持续的时间就是超声波从发射到返回的时间。测量距离=(高电平时间*声速)/2。

根据以上HC-SR04测距模块工作原理设计了以下软件,其流程如图9所示。

1)通过GPF6端口向TRIG引脚发一个10us的高电平信号;

2)延时50 ms,在这段时间内因为连接ECHO引脚的GPF5端口使能了双边沿中断,所以在中断处理函数中检测到GPF5上升沿时启动定时器0,检测到GPF5下降沿时记录定时器0的计数值outcome;

3)延时结束后,检测是否接收到ECHO高电平信号,如果收到了ECHO高电平信号,则将高电平结束时刻的计数值outcome代入下列公式,计算出测量得到的距离值;如果没有接收到ECHO高电平信号则认为相距最近的人员超出测量范围,不计算距离值。

3.3 扫描刷卡

本系统采用IC读卡器对操作人员进行权限检测,当有人刷卡时,将读取卡片的序列号与人员库中的序列号进行比对,如果可以在人员库中检索到则根据刷卡人的权限进入相应的操作选择界面,其中管理员和操作员权限均可以进行工具的借还,管理员还可以进行人员、工具的增减,查看操作日志和数据上传。

在人员库中检索时要先读取库中人员的数量,这样就可以不用再整个库存储器中搜索和比对,只要在制定人数的区域内进行检索即可,扫描刷卡的软件流程如图10所示。

3.4 操作功能

本系统的功能包括人员管理、工具管理、查询功能、数据上传以及工具借还等。

3.4.1 人员管理

人员管理功能用于管理员根据实际情况进行系统中具有权限人员的增减,因此本功能包括向人员库中增加人员和从人员库中移除人员。管理员只需在人员添加页面刷卡并输入该卡片的持有人姓名即可添加;在删除时在人员删减列表中点击需要删除人员的姓名即可。

3.4.2 工具增减

工具增减功能用于管理员进行系统工具库中含标签工具的增减,因此本功能包括向工具库中增加工具和从工具库中移除工具。管理员只需在添加工具相应界面直接放入工具,系统即可自动扫描到该工具,其后管理员输入该工具的名称即可;删除工具时,管理员只需在相关列表点击需要删除的工具即可。

3.4.3 查询功能

查询功能用于管理员进行系统使用情况的查询,可以通过该功能方便地查询工具状态,并且有追溯地查找工具的借还历史并定位借还责任人。本系统提供了两种模式的查询,一种是针对工具查看当前状态并查看最近一次借出情况;另一种是针对历史记录查看本系统的所有工具借还历史信息。

3.4.4 数据上传

数据上传功能用于管理员将本地的工具借还历史信息上传到远端服务器,以供存储、分析和进一步统筹管理,上传的通信接口使用以太网接口。

3.4.5 工具借还

工具借还功能是本系统最基本的功能,管理员和操作员均有本功能的权限。本系统的工具借还采用自动识别和记录技术,用户借还工具时只需将工具取出或者将工具放回,系统就自动识别出借还的工具,并将当前的操作人记录到存储器中,省去了人工登记的手动步骤,大大提高了效率和准确性。

4 实验结果与分析

对本项目的嵌入式工具管理系统进行试验验证,预先录入用户和工具信息,系统开启后通过人员“郑永龙”(管理员)刷卡进入如图11所示的管理员操作界面,点击“借工具”按钮,进入“借工具选择”页面,屏上提示请取走借出的工具,此时取出工具“活动扳手”,屏上随即显示借出工具的名称和借出人信息;随后在管理员操作页面再点击“还工具”按钮,进入“请还回工具”页面,此时放回工具“活动扳手”,屏上随即显示还回工具的名称和还回人信息;最后点击“查记录”按钮,屏上显示之前所有的操作信息,如图12所示。在试验中所有操作步骤快捷流畅准确,操作友好,实用性强,功能得到了验证。

图12 日志查询页面

5 结束语

本文讨论基于ARM的嵌入式工具管理系统的设计,详细介绍了工具管理系统中的视频图像采集方案和视频压缩方案。在本工具管理系统中,用户可以根据各自的权限完成相应的操作,包括人员管理、工具增减、查询功能、数据上传和工具借还等,以达到工具管理自动化的目的。实验表明,该系统开发成本低、体积小、重量轻、功耗低、通用性强、操作简便,可以清楚地追溯工具的领用情况。可满足航空、航天、造船、汽车、建筑、电力、水利等各行业的工具管理需求,具有良好的市场前景。

猜你喜欢
读卡器存储器触摸屏
静态随机存储器在轨自检算法
与淘汰命运抗争 看懂笔记本的读卡器
PLC和触摸屏在卫生间控制系统的应用
皮肤“长”出触摸屏
基于EMV非接通信规范的非接触读卡器设计
为二维码识别的献礼之作——评测平治二维码门禁读卡器
MATLAB实现组态王中TCP/IP读卡器监控方法
存储器——安格尔(墨西哥)▲
环球时报(2014-06-18)2014-06-18 16:40:11
投射式多点触控电容触摸屏
河南科技(2014年12期)2014-02-27 14:10:32
基于Nand Flash的高速存储器结构设计