闞 艷1,張子明,李金猛1,韓 梁1,周勇軍
(1.中國人民解放軍第5720工廠,安徽 蕪湖 241007; 2.安徽省航空設備測控與逆向工程實驗室,安徽 蕪湖 241007)
人工管理是當前工具管理的主要方式,即使目前主要采用的“三清點”制度(作前清點,轉(zhuǎn)移清點,工作后清點)能起到一定的作用,但這種方式更容易受到人為因素的主觀影響,造成工具無故丟失,且定位不了責任人等嚴重后果[1]。另外由于大型企業(yè)產(chǎn)品系統(tǒng)復雜,涉及到的工具種類眾多,導致工具的借用與歸還和工具的盤點等工作非常麻煩,且耗時費力。因此傳統(tǒng)的依靠人工管理的模式已不能滿足現(xiàn)代企業(yè)的需求[2-3]。
隨著電子技術的高速發(fā)展,以微控制器和傳感器為代表的嵌入式技術開始運用在工具管理系統(tǒng)的設計中,尤其以ARM為代表的嵌入式處理器的廣泛應用以及工程方法的軟件開發(fā)使嵌入式技術滲透到各行各業(yè)[4]。使用無線射頻識別技術(Radio Frequency IDentification,RFID),通過無線電訊號識別特定的目標對象,無需識別系統(tǒng)與目標對象之間有接觸,即可實現(xiàn)兩者的雙向數(shù)據(jù)通信。與以往應用在工業(yè)現(xiàn)場的條形碼識別技術相比,RFID技術不受應答對象尺寸大小和形狀限制,不易被污染,適應惡劣環(huán)境的能力更強[5],使得工具可以自動快速識別,為解決工具管理的諸多問題提供了可能[6],初步在鐵路建設[7]、航空維修[8]、電力系統(tǒng)[9-10]的工具管理中進行了探索。
本文提出的基于ARM的嵌入式工具管理系統(tǒng)設計方法,通過RFID天線掃描并反饋含RFID標簽的工具,設計面向用戶的觸摸屏操作界面,用戶通過刷卡驗證權限,提供超聲波測距模塊判斷處于工作模式還是節(jié)能模式,可以實現(xiàn)對工具的自動檢測、人員權限自動判斷、借還操作的自動記錄、操作的數(shù)據(jù)上傳與查詢、人員工具的庫管理、工作狀態(tài)的自動切換等。
本文設計的系統(tǒng)以ARM9內(nèi)核的S3C2416處理器作為控制核心,并充分使用該處理器豐富的外設資源。使用UART0完成在開發(fā)調(diào)試階段進行軟件調(diào)試、下載和維護監(jiān)控;通過以太網(wǎng)接口完成程序的下載固化和與遠程服務器連接,傳遞工具管理設備的人員工具庫和操作日志等終端信息;使用UART1完成對RFID讀寫器的控制,進行對含標簽工具的掃描;使用UART2完成對觸摸屏的控制,用戶通過觸摸屏各頁面進行工具借還、操作日志查詢、人員工具維護等操作;使用UART3完成對IC讀卡器的控制,需要刷卡以判斷當前用戶擁有何種權限;通過GPIO口完成對超聲波測距模塊的控制,利用超聲波測距判斷是否有用戶靠近;通過I2C接口控制外部庫存儲器的讀寫,完成對人員、工具的增減;通過SPI接口控制操作日志存儲器的讀寫,完成工具借還操作的錄入和回讀。系統(tǒng)結(jié)構框圖見圖1所示。
圖1 工具管理系統(tǒng)原理結(jié)構框圖
2.1.1 電源電路
最小系統(tǒng)工作需要3.3 V、1.8 V、1.2 V等電壓,分別通過AP1117CD-3.3產(chǎn)生3.3 V電壓供IO設備使用,見附圖2所示;通過XC9216A12CMR產(chǎn)生1.2 V電壓供ARM核、中斷、USB等使用;通過XC6206P121MR產(chǎn)生1.2 V供ARM激活使用;通過XC9216A18CMR產(chǎn)生1.8 V電壓供DDR內(nèi)存使用。
2.1.2 復位電路
為了提供高效的電源監(jiān)控作用,選取了專門的系統(tǒng)監(jiān)視復位芯片MAX811S,實現(xiàn)對電源電壓的監(jiān)控和手動復位操作。該芯片優(yōu)良,一旦系統(tǒng)電源低于系統(tǒng)復位的閥值(2.93 V),復位芯片MAX811S將會對系統(tǒng)進行復位。
2.1.3 時鐘電路
時鐘源直接采用外部晶振,內(nèi)部PLL電路可以調(diào)整系統(tǒng)時鐘,使系統(tǒng)運行速度更快。
2.1.4 內(nèi)存
內(nèi)存作為存放數(shù)據(jù)與程序代碼的內(nèi)存,采用MT47H32M16HR芯片。
2.1.5 程序存儲器
程序存儲器用于存放數(shù)據(jù)和程序,并在掉電時仍然保持數(shù)據(jù),采用K9F2G08芯片。
軟件通過以太網(wǎng)接口下載固化,另外通過以太網(wǎng)接口可將工具管理設備本地的人員工具庫和操作日志等終端信息傳輸?shù)竭h程服務器。以太網(wǎng)驅(qū)動芯片采用DM9000C,接口形式為RJ45封裝,以太網(wǎng)接口電路原理圖見圖2所示。
圖2 以太網(wǎng)接口電路原理圖
本文設計中S3C2416的所有4個串口均使用,發(fā)揮不同的功能。其中串口0作為調(diào)試維護接口,串口1控制RFID讀寫器,串口2控制觸摸屏,串口3控制IC讀卡器。每個串口采用三線制RS-232接口通訊,并選擇兩片MAX3232作為RS-232與TTL電平轉(zhuǎn)換芯片(每片擁有兩路)。UART接口電路如圖3所示。
圖3 UART接口電路
2.3.1 調(diào)試維護接口
調(diào)試維護接口主要包括異步串口0,將異步串口0作為監(jiān)控控制臺,打印系統(tǒng)啟動的初始化自檢信息,電路見附圖10所示。調(diào)試維護接口為開發(fā)者使用,工具管理設備工作時不使用。
2.3.2 RFID讀寫器接口
使用異步串口1與RFID讀寫器進行通訊,用于識別帶有RFID標簽的工具,通過不斷掃描明確工具明細和借還操作。
2.3.3 觸摸屏接口
使用異步串口2與串口觸摸屏進行通訊,接收用戶的操作指令,發(fā)送需要傳輸?shù)接|摸屏上的數(shù)據(jù)信息,實現(xiàn)與用戶的人機交互。
2.3.4 IC讀卡器接口
使用異步串口3與IC讀卡器進行通訊,用戶在進行各種操作前均需要進行刷卡操作以驗證權限,權限判斷后進入相應的操作界面。
共設置4個超聲波測距模塊,型號選用HC_SR04,每個模塊使用兩個GPIO口分別與HC_SR04模塊的TRIG觸發(fā)和ECHO回聲引腳相連,通過計算聲速與發(fā)送接收時間差的乘積得到距離。與HC_SR04模塊連接的GPIO口需要包含外部中斷功能,并通過上拉電阻與電源相連,超聲波測距接口電路如圖4所示。
圖4 超聲波測距接口電路
使用AT24C256作為人員、工具庫存儲器,存放具有權限的人員ID、姓名,以及工具ID、名稱、狀態(tài)等,AT24C256屬于一種I2C EEPROM,因此處理器要通過I2C接口(GPE14復用為SCL,GPE15復用為SDA)與AT24C256連接。本系統(tǒng)共設置4個AT24C256芯片作為庫存儲器,其中兩個為人員庫存儲器,兩個為工具庫存儲器,通過上拉電阻和下拉電阻的選擇焊接設置每個AT24C256芯片的地址,從而區(qū)別庫存儲器的不同,其電路原理圖如圖5所示。
圖5 人員、工具庫存儲器電路原理圖
使用W25Q32作為操作日志存儲器,將用戶的所有操作記錄下來,并可通過讀取回調(diào)查詢。W25Q32屬于一種SPI接口的存儲器,因此需要將處理器的SPI接口(GPL13復用為CS,GPE13復用為CLK,GPE12復用為MOSI,GPE11復用為MISO)與其連接起來。操作日志存儲器電路原理圖如圖6所示。
圖6 操作日志存儲器電路原理圖
軟件的主要設計思路為編寫循環(huán)執(zhí)行的程序,每個周期內(nèi)完成的內(nèi)容有:首先通過超聲波測距裝置探測周圍是否有用戶操作,如果沒有則將觸摸屏背光關閉,并且將處理器運行在休眠狀態(tài);如果有用戶在操作則打開觸摸屏背光以便用戶進一步操作。使用IC讀卡器掃描是否有用戶刷卡,并且根據(jù)該用戶的權限進入相應的操作界面,如果該用戶是管理員權限,則可以進行人員管理、工具增減、查詢功能、數(shù)據(jù)上傳和工具借還等操作,如果用戶是操作者權限,則僅可以進行工具借還這一基本操作。各種操作要讀取當前觸摸屏所在的操作頁面,根據(jù)不同的觸摸屏頁面編寫相應的軟件以完成不同的功能。主軟件流程圖見圖7所示。
圖7 主軟件流程圖
主要軟件模塊包括以下幾部分:
為了系統(tǒng)各個組件都能在可控的已知狀態(tài)下正常工作,需要在軟件最開始的地方完成整個系統(tǒng)初始化,包括S3C2416處理器的各模塊資源初始化和系統(tǒng)其它部件的初始化配置以及自檢等。
3.1.1 串口初始化
包括用于與觸摸屏通信的串口1、與RFID讀卡器通信的串口2和與IC讀卡器通信的串口3初始化,主要需要完成串口相應管腳的復用設置(GPH2、GPH3、GPH4、GPH5、GPH6、GPH7分別用作RXD1、TXD1、RXD2、TXD2、RXD3、TXD3線)、管教內(nèi)部上拉設置、通信格式設置(8個數(shù)據(jù)位,無校驗位,1個停止位的常規(guī)設置)、時鐘源設置(選擇PCLK為時鐘源)、通信速率設置(波特率為115 200 bps)等。
3.1.2 中斷初始化
包括用于距離測量接收超聲波測距模塊傳輸回波信號的外部中斷5設置以及串口1、串口2、串口3三個通信端口的接收中斷設置,清除相應的中斷屏蔽寄存器標志,如表1所示。在這些模塊進行中斷設置用來實現(xiàn)有信息到達時的實時性處理。
表1 中斷對應的寄存器
3.1.3 超聲波測距模塊引腳初始化
對與HC_SR04超聲波測距模塊TRIG觸發(fā)引腳、ECHO回聲引腳連接的S3C2416的GPF6、GPF5引腳進行初始化設置。將GPF6引腳設置為輸出模式向HC_SR04模塊發(fā)送觸發(fā)信號,將GPF5設置為中斷模式并設置為雙邊沿觸發(fā)模式,檢測接收回聲信號的邊沿。
3.1.4 I2C接口初始化
本系統(tǒng)的人員、工具庫存放在I2C存儲器AT24C256中,因此在使用前要對S3C2416的I2C接口進行初始化,包括將GPE15、GPE14引腳復用為I2C接口的SDA線和SCL線,使能I2C接口ACK、16分頻預分頻器、中斷等功能,設置S3C2416從地址為[7:1]位,使能I2C接口總線數(shù)據(jù)輸出等。
3.1.5 定時器0初始化
在超聲波測距模塊中需要根據(jù)時間和聲速的乘積計算距離,因此選擇定時器0作為時間的度量,需要對定時器0進行初始化,包括100分頻預分配、16分頻、裝載計數(shù)初始值為PCLK/100/16、手動裝載啟動等。
3.1.6 觸摸屏版本讀取
通過串口1向觸摸屏發(fā)送版本讀取指令,接收觸摸屏回送的版本信息,并通過串口控制臺打印顯示??梢缘玫接|摸屏版本信息并同時實現(xiàn)了對觸摸屏的自檢。
3.1.7 IC讀卡器識別號讀取
通過串口3向IC讀卡器發(fā)送識別號讀取指令,接收IC讀卡器回送的識別號信息,并通過串口控制臺打印顯示??梢缘玫絀C讀卡器識別號信息并同時實現(xiàn)了對IC讀卡器的自檢。
3.1.8 RFID讀寫器復位和自檢
通過串口2向RFID讀寫器發(fā)送復位指令,然后繼續(xù)通過串口2完成對RFID固件版本、工作天線、輸出功率、模塊溫度等信息的讀取,并通過串口0控制臺顯示,從而實現(xiàn)對RFID讀寫器的自檢。
本系統(tǒng)通過HC-SR04超聲波測距模塊測量與本系統(tǒng)相距最近人員的距離,當該距離小于一個閾值,如1米時,認為有人員靠近并準備使用本系統(tǒng),此時將系統(tǒng)喚醒運行工作模式。
HC-SR04超聲波測距模塊具有性能穩(wěn)定、測度距離精確、模塊高精度、盲區(qū)小等優(yōu)點。廣泛應用于機器人避障、物體測距、液位檢測、公共安防、停車場檢測等領域。
HC-SR04超聲波測距模塊工作原理如圖8所示。
圖8 HC-SR04超聲波測距模塊工作原理
1)通過向TRIG引腳給至少10 μs的高電平信號觸發(fā)測距;
2)模塊自動發(fā)送8個40 kHz的方波,自動檢測是否有信號返回;
3)通過ECHO引腳輸出一個高電平返回信號,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間。測量距離=(高電平時間*聲速)/2。
根據(jù)以上HC-SR04測距模塊工作原理設計了以下軟件,其流程如圖9所示。
1)通過GPF6端口向TRIG引腳發(fā)一個10us的高電平信號;
2)延時50 ms,在這段時間內(nèi)因為連接ECHO引腳的GPF5端口使能了雙邊沿中斷,所以在中斷處理函數(shù)中檢測到GPF5上升沿時啟動定時器0,檢測到GPF5下降沿時記錄定時器0的計數(shù)值outcome;
3)延時結(jié)束后,檢測是否接收到ECHO高電平信號,如果收到了ECHO高電平信號,則將高電平結(jié)束時刻的計數(shù)值outcome代入下列公式,計算出測量得到的距離值;如果沒有接收到ECHO高電平信號則認為相距最近的人員超出測量范圍,不計算距離值。
本系統(tǒng)采用IC讀卡器對操作人員進行權限檢測,當有人刷卡時,將讀取卡片的序列號與人員庫中的序列號進行比對,如果可以在人員庫中檢索到則根據(jù)刷卡人的權限進入相應的操作選擇界面,其中管理員和操作員權限均可以進行工具的借還,管理員還可以進行人員、工具的增減,查看操作日志和數(shù)據(jù)上傳。
在人員庫中檢索時要先讀取庫中人員的數(shù)量,這樣就可以不用再整個庫存儲器中搜索和比對,只要在制定人數(shù)的區(qū)域內(nèi)進行檢索即可,掃描刷卡的軟件流程如圖10所示。
本系統(tǒng)的功能包括人員管理、工具管理、查詢功能、數(shù)據(jù)上傳以及工具借還等。
3.4.1 人員管理
人員管理功能用于管理員根據(jù)實際情況進行系統(tǒng)中具有權限人員的增減,因此本功能包括向人員庫中增加人員和從人員庫中移除人員。管理員只需在人員添加頁面刷卡并輸入該卡片的持有人姓名即可添加;在刪除時在人員刪減列表中點擊需要刪除人員的姓名即可。
3.4.2 工具增減
工具增減功能用于管理員進行系統(tǒng)工具庫中含標簽工具的增減,因此本功能包括向工具庫中增加工具和從工具庫中移除工具。管理員只需在添加工具相應界面直接放入工具,系統(tǒng)即可自動掃描到該工具,其后管理員輸入該工具的名稱即可;刪除工具時,管理員只需在相關列表點擊需要刪除的工具即可。
3.4.3 查詢功能
查詢功能用于管理員進行系統(tǒng)使用情況的查詢,可以通過該功能方便地查詢工具狀態(tài),并且有追溯地查找工具的借還歷史并定位借還責任人。本系統(tǒng)提供了兩種模式的查詢,一種是針對工具查看當前狀態(tài)并查看最近一次借出情況;另一種是針對歷史記錄查看本系統(tǒng)的所有工具借還歷史信息。
3.4.4 數(shù)據(jù)上傳
數(shù)據(jù)上傳功能用于管理員將本地的工具借還歷史信息上傳到遠端服務器,以供存儲、分析和進一步統(tǒng)籌管理,上傳的通信接口使用以太網(wǎng)接口。
3.4.5 工具借還
工具借還功能是本系統(tǒng)最基本的功能,管理員和操作員均有本功能的權限。本系統(tǒng)的工具借還采用自動識別和記錄技術,用戶借還工具時只需將工具取出或者將工具放回,系統(tǒng)就自動識別出借還的工具,并將當前的操作人記錄到存儲器中,省去了人工登記的手動步驟,大大提高了效率和準確性。
對本項目的嵌入式工具管理系統(tǒng)進行試驗驗證,預先錄入用戶和工具信息,系統(tǒng)開啟后通過人員“鄭永龍”(管理員)刷卡進入如圖11所示的管理員操作界面,點擊“借工具”按鈕,進入“借工具選擇”頁面,屏上提示請取走借出的工具,此時取出工具“活動扳手”,屏上隨即顯示借出工具的名稱和借出人信息;隨后在管理員操作頁面再點擊“還工具”按鈕,進入“請還回工具”頁面,此時放回工具“活動扳手”,屏上隨即顯示還回工具的名稱和還回人信息;最后點擊“查記錄”按鈕,屏上顯示之前所有的操作信息,如圖12所示。在試驗中所有操作步驟快捷流暢準確,操作友好,實用性強,功能得到了驗證。
圖12 日志查詢頁面
本文討論基于ARM的嵌入式工具管理系統(tǒng)的設計,詳細介紹了工具管理系統(tǒng)中的視頻圖像采集方案和視頻壓縮方案。在本工具管理系統(tǒng)中,用戶可以根據(jù)各自的權限完成相應的操作,包括人員管理、工具增減、查詢功能、數(shù)據(jù)上傳和工具借還等,以達到工具管理自動化的目的。實驗表明,該系統(tǒng)開發(fā)成本低、體積小、重量輕、功耗低、通用性強、操作簡便,可以清楚地追溯工具的領用情況。可滿足航空、航天、造船、汽車、建筑、電力、水利等各行業(yè)的工具管理需求,具有良好的市場前景。