《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于EasyARM615的分布式排隊(duì)系統(tǒng)設(shè)計(jì)
基于EasyARM615的分布式排隊(duì)系統(tǒng)設(shè)計(jì)
電子發(fā)燒友
摘要: 本文設(shè)計(jì)了由主機(jī)EasyARM615,、從機(jī)AT89S52單片機(jī)及其外圍電路構(gòu)成的智能排隊(duì)管理系統(tǒng)。以高性能的32位EasyARM615開(kāi)發(fā)套件為主機(jī)控制器,,以?xún)r(jià)格低廉的單片機(jī)為從機(jī)搭建起來(lái)的智能排隊(duì)系統(tǒng),,既能解決無(wú)序排隊(duì)問(wèn)題,又能提高服務(wù)質(zhì)量,,可以對(duì)多個(gè)窗口和隨機(jī)出現(xiàn)的客戶(hù)流進(jìn)行自動(dòng)排隊(duì)管理,,順序呼叫顧客到對(duì)應(yīng)的窗口辦理業(yè)務(wù)。
Abstract:
Key words :

1  系統(tǒng)方案分析

按照當(dāng)前國(guó)內(nèi)外技術(shù)水平來(lái)分類(lèi),,排隊(duì)管理系統(tǒng)可以分為有線系統(tǒng)和無(wú)線系統(tǒng),,它們所實(shí)現(xiàn)的功能是完全一樣的。無(wú)線通信方式,,最大的優(yōu)點(diǎn)是安裝方便快捷,。除主機(jī)外,任何設(shè)備出現(xiàn)故障時(shí),都可實(shí)時(shí)在線更換和維修,。但該方式容易受到頻率干擾和電磁波干擾,。

2  系統(tǒng)整體方案設(shè)計(jì)

各個(gè)窗口終端CPU通信的信息量不大,實(shí)現(xiàn)的功能較簡(jiǎn)單,。主機(jī)采用32位EasyARM615[l]可以滿(mǎn)足要求,,充分利用主機(jī)自帶的RS485總線資源。從機(jī)采用8位的單片機(jī)即可實(shí)現(xiàn)所需功能,。雖然在穩(wěn)定性上可能稍有影響,編程上略為復(fù)雜,,但是大大地降低了生產(chǎn)成本,,而且對(duì)系統(tǒng)穩(wěn)定性方面的影響,可以通過(guò)軟件設(shè)計(jì)來(lái)盡量克服,。

基于以上方案分析,,主機(jī)采用32位EasyARM615開(kāi)發(fā)套件,從機(jī)采用8位單片機(jī)作為控制芯片,。搭建基于EasyARM615的分布式排隊(duì)系統(tǒng),,具體框架如圖1所示。



排隊(duì)系統(tǒng)的基本服務(wù)流程是:當(dāng)顧客進(jìn)入服務(wù)大廳,,選擇自己需要的服務(wù)類(lèi)別,,從“號(hào)票打印機(jī)”抽取打印號(hào)票,上面打印出該顧客的排隊(duì)代號(hào),。主機(jī)根據(jù)服務(wù)類(lèi)別及緊急程度處理數(shù)據(jù),,形成隊(duì)列。當(dāng)工作人員服務(wù)完畢后只需按一下從機(jī)鍵盤(pán)上的呼叫按鈕,,主機(jī)將先來(lái)的顧客代號(hào)通過(guò)窗口顯示屏和語(yǔ)音信息,,呼叫顧客前來(lái)辦理。

3系統(tǒng)硬件電路設(shè)計(jì)

基于單元化思想設(shè)計(jì),,系統(tǒng)硬件由主機(jī)控制器,、從機(jī)控制器、人機(jī)交互界面,、鍵盤(pán)輸入系統(tǒng),、嵌入式打印機(jī)、語(yǔ)音播放系統(tǒng),、自制電源模塊組成,。

3.1  主機(jī)控制器

EasyARM615主機(jī)是系統(tǒng)控制和管理的核心,完成號(hào)票的打印和號(hào)碼的存儲(chǔ),、管理,、顯示、發(fā)送及語(yǔ)音播放等功能,。顧客來(lái)到后,,在主機(jī)上按“取號(hào)”鍵,,系統(tǒng)將排隊(duì)人數(shù)和排隊(duì)號(hào)碼加1,同時(shí)打印顧客的號(hào)碼并存儲(chǔ),。當(dāng)窗口工作人員按“下一位”鍵取號(hào)時(shí),,主機(jī)將排在最前的號(hào)碼發(fā)往呼叫器、相應(yīng)的窗口顯示屏和主顯示屏,,并通過(guò)語(yǔ)音模塊播放語(yǔ)音,,同時(shí)將系統(tǒng)的排隊(duì)人數(shù)減l;當(dāng)窗口工作人員按“重呼”鍵或“暫停”鍵時(shí),,從機(jī)向主機(jī)送出該窗口數(shù)據(jù),,主機(jī)收到后立即將該數(shù)據(jù)發(fā)往呼叫器、相應(yīng)的窗口顯示屏和主顯示屏,,并通過(guò)語(yǔ)音模塊播放語(yǔ)音,。主機(jī)控制器電路如圖2所示。



3.2  從機(jī)控制器

系統(tǒng)的從機(jī)控制器采用Atmel公司低功耗,、高性能的CMOS 8位AT89S52單片機(jī),。其內(nèi)置8 KB Flash片內(nèi)程序存儲(chǔ)器,256 B的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),,5個(gè)中斷優(yōu)先級(jí),、2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,,2個(gè)全雙工串行通信口,,看門(mén)狗(WDT)電路等資源。

3.3  其他模塊設(shè)計(jì)

主顯示屏采用帶中文字庫(kù)的液晶模塊LCDl2864,,用于向在休息區(qū)等待的顧客提示被呼叫的號(hào)碼和相應(yīng)的窗口號(hào),。窗口顯示屏采用字符型液晶顯示模塊LCDl602,用于顯示窗口的受理顧客號(hào),,引導(dǎo)顧客到該窗口來(lái)辦理業(yè)務(wù),。

語(yǔ)音播報(bào)系統(tǒng)采用廣州唯創(chuàng)科技有限公司的可編輯語(yǔ)音芯片WT588D系列語(yǔ)音單片機(jī)。

嵌入式打印模塊采用WH-A6熱敏嵌入式微型打印機(jī),,串行接口控制,。

4  軟件設(shè)計(jì)

系統(tǒng)的設(shè)計(jì)理念是基于數(shù)據(jù)隊(duì)列原理,遵循先來(lái)先辦的原則,。智能排隊(duì)系統(tǒng)的“智能”體現(xiàn)在系統(tǒng)對(duì)“排隊(duì)”的處理是根據(jù)運(yùn)籌學(xué)中的排隊(duì)論來(lái)設(shè)計(jì)的,,管理中心查詢(xún)各個(gè)服務(wù)臺(tái)空閑情況,根據(jù)服務(wù)臺(tái)總數(shù)目進(jìn)行輪詢(xún)算法,,以確認(rèn)下一個(gè)取得客戶(hù)的服務(wù)臺(tái)號(hào),。

4.1  通信方式

系統(tǒng)采用RS485總線,工作于半雙工方式。RS485為差分平衡數(shù)字通信接口,,系統(tǒng)采用主從式通信方式,,主機(jī)采用查詢(xún)工作方式,從機(jī)采用中斷工作方式,。通信總是由主機(jī)開(kāi)始,,循環(huán)地給從機(jī)發(fā)送查詢(xún)命令,從機(jī)返回相應(yīng)的應(yīng)答信息,。除非主機(jī)呼叫從機(jī),,從機(jī)在其他情況下不能主動(dòng)向通信總線上送出信息。

4.2  窗口優(yōu)先級(jí)和平衡分配算法設(shè)計(jì)

在多隊(duì)列多窗口,、業(yè)務(wù)優(yōu)先級(jí)辦理的情況下,,需要將客戶(hù)按照“先來(lái)先辦,平均分配”的原則分配到各個(gè)窗口,。為了解決各業(yè)務(wù)的多窗口平均分配,,系統(tǒng)在優(yōu)先級(jí)排隊(duì)系統(tǒng)輸入隊(duì)列調(diào)度算法的基礎(chǔ)上,,改進(jìn)并設(shè)計(jì)了一種窗口優(yōu)先級(jí)和平衡分配算法[2]來(lái)解決該問(wèn)題,,基本步驟如下:

①獲得當(dāng)前窗口可辦理的業(yè)務(wù)列表。

②判斷最高優(yōu)先級(jí)的一個(gè)或多個(gè)業(yè)務(wù)的隊(duì)列中是否有排隊(duì)號(hào),。

③若存在排隊(duì)號(hào),,判斷當(dāng)前窗口是否是同類(lèi)窗口中最早請(qǐng)求的;若不是,,則跳轉(zhuǎn)到⑤,。

④若是,從最高業(yè)務(wù)級(jí)別的隊(duì)列中取得排隊(duì)時(shí)間最早的排隊(duì)號(hào),。

⑤繼續(xù)查找次優(yōu)先級(jí)隊(duì)列,,直到取得排隊(duì)號(hào)或查找所有隊(duì)列完畢;若無(wú)排隊(duì)號(hào),,返回,。

4.3  程序設(shè)計(jì)

主程序流程如圖3所示。主機(jī)初始化后,,從01號(hào)從機(jī)(即呼叫器,,地址=02H)開(kāi)始查詢(xún),如有應(yīng)答命令請(qǐng)求,,根據(jù)命令作相應(yīng)處理,。



(1)請(qǐng)求發(fā)送

主機(jī)將最靠前的顧客號(hào)碼發(fā)送到該機(jī),并置發(fā)送標(biāo)志F=1,。

(2)請(qǐng)求接收

當(dāng)呼叫器重呼或暫停時(shí),,向主機(jī)發(fā)送數(shù)據(jù)。此時(shí),主機(jī)接收該從機(jī)數(shù)據(jù),,接收完成后,,立即查詢(xún)從機(jī)并發(fā)送數(shù)據(jù),置F=l,。若從機(jī)不應(yīng)答,,表示該機(jī)無(wú)請(qǐng)求服務(wù)或沒(méi)有該設(shè)備,則清F=0,。

主機(jī)通信完成后將顯示更新的數(shù)據(jù)于LCD屏,,根據(jù)發(fā)送標(biāo)志決定是否將數(shù)據(jù)送到該從機(jī)對(duì)應(yīng)的窗口顯示屏、主顯示屏及播放語(yǔ)音,,然后地址+2并判斷是否開(kāi)始新的查詢(xún),。

結(jié)  語(yǔ)

本文設(shè)計(jì)了由主機(jī)EasyARM615、從機(jī)AT89S52單片機(jī)及其外圍電路構(gòu)成的智能排隊(duì)管理系統(tǒng),。以高性能的32位EasyARM615開(kāi)發(fā)套件為主機(jī)控制器,,以?xún)r(jià)格低廉的單片機(jī)為從機(jī)搭建起來(lái)的智能排隊(duì)系統(tǒng),既能解決無(wú)序排隊(duì)問(wèn)題,,又能提高服務(wù)質(zhì)量,,可以對(duì)多個(gè)窗口和隨機(jī)出現(xiàn)的客戶(hù)流進(jìn)行自動(dòng)排隊(duì)管理,順序呼叫顧客到對(duì)應(yīng)的窗口辦理業(yè)務(wù),。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。