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

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

按照當(dāng)前國(guó)內(nèi)外技術(shù)水平來(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可以滿足要求,充分利用主機(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開發(fā)套件,從機(jī)采用8位單片機(jī)作為控制芯片。搭建基于EasyARM615的分布式排隊(duì)系統(tǒng),具體框架如圖1所示。



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

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

基于單元化思想設(shè)計(jì),系統(tǒng)硬件由主機(jī)控制器、從機(jī)控制器、人機(jī)交互界面、鍵盤輸入系統(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è)全雙工串行通信口,看門狗(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ì)的,管理中心查詢各個(gè)服務(wù)臺(tái)空閑情況,根據(jù)服務(wù)臺(tái)總數(shù)目進(jìn)行輪詢算法,以確認(rèn)下一個(gè)取得客戶的服務(wù)臺(tái)號(hào)。

4.1  通信方式

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

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

在多隊(duì)列多窗口、業(yè)務(wù)優(yōu)先級(jí)辦理的情況下,需要將客戶按照“先來(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)前窗口是否是同類窗口中最早請(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)開始查詢,如有應(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ù),接收完成后,立即查詢從機(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并判斷是否開始新的查詢。

結(jié)  語(yǔ)

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

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