王志誠
WANG Zhi-cheng
(北新集團(tuán)建材股份有限公司,北京 100096)
高校就餐擁擠問題在諸如北京,上海等大城市中尤為突出。學(xué)生多,食堂少,就餐時間過于集中,再加上學(xué)校硬件建設(shè)經(jīng)費(fèi)緊張,同時占地面積也有相當(dāng)?shù)木窒?。因此要單?dú)從食堂擴(kuò)建方面來解決這個矛盾恐怕還尚需時日。而通過完善食堂就餐系統(tǒng),發(fā)揮現(xiàn)有資源的最佳效率,便可以相當(dāng)程度上緩解這一問題。
另外,目前各高校食堂對不同時段的食物供應(yīng)量沒有科學(xué)的評估機(jī)制,多數(shù)是憑借主觀經(jīng)驗(yàn)。這樣不僅會造成大量不必要的浪費(fèi),也不能很充分的滿足來自全國各地同學(xué)的差異化需求。
圖1 系統(tǒng)硬件結(jié)構(gòu)圖
ARM7系列微處理器為低功耗的32位RISC處理器,適用于對價位和功耗要求較高的產(chǎn)品應(yīng)用中。ARM7系列微處理器系列具有以下特點(diǎn):極低的功耗;提供0.9MIPS/MHz 的三級流水線結(jié)構(gòu)( 取指、譯碼、執(zhí)行);最高主頻可達(dá)到130Mb/s;代碼密度高并支持16 位的Thumb 指令集;對操作系統(tǒng)的支持廣泛,包括Windows CE、Linux、μC/OSⅡ等[1]。
本系統(tǒng)采用了MagnaChip公司的HMS30C7202作為系統(tǒng)控制和數(shù)據(jù)處理的核心,HMS30C7202是一種高性價比16/32位RISC微控制器,主要特點(diǎn)如下:
1)16/32位RISC處理器核ARM720T為低功耗、高性能的16/32 位核,最適合用于對價格及功耗敏感的應(yīng)用場合。
2)HMS30C7202對ARM720T核擴(kuò)展了一系列完整的通用外圍器件。片上資源包括4個UART通道;2個CAN總線口;4個32位定時器;2路可編程PWM;32 位實(shí)時時鐘;多路實(shí)時中斷控制器;
DRAM/SDRAM控制器;ROM/SRAM和FLASH控制器;一個外部存儲器控制器等片內(nèi)的邏輯控制電路。
3)軟件支持方面具有配套的代碼編輯調(diào)試環(huán)境ADS1.2和JTAG在線調(diào)試功能,使得HMS30C7202芯片軟件可以直接用C編寫,這就使μC/OS-II的植入成為可能。
在主控制模塊中,分別需要使用3.3V、1.8V和1.25V的直流穩(wěn)壓電源,其中HMS30C7202片上外設(shè)需要3.3V電源,內(nèi)核需要1.8V輸入電壓,另外部分器件需要1.25V的電源。為此,需要設(shè)計相應(yīng)的電源轉(zhuǎn)換電路,以獲得所需要的3.3V、1.8V和1.25V 電壓。系統(tǒng)所需的各個電壓產(chǎn)生電路分別如圖2、圖3所示。
圖2 3.3V電壓產(chǎn)生電路
圖3 1.8V電壓產(chǎn)生電路
晶振電路用于向CPU及其他電路提供工作時鐘,在該系統(tǒng)中HMS30C7202采用無源晶振。根據(jù)HMS30C7202的最高工作頻率以及PLL電路的工作方式,選擇10MHz 的無源晶振,10MHz的頻率經(jīng)
圖4 控制系統(tǒng)時鐘電路接線圖
過HMS30C7202片內(nèi)的PLL電路倍頻后,最高可以達(dá)到60MHz。片內(nèi)的PLL電路兼有頻率放大和信號提純的功能,因此系統(tǒng)可以以較低的外部時鐘信號獲得較高的工作頻率,并降低因高速開關(guān)時鐘所造成的高頻噪聲[2]。此外,本系統(tǒng)還采用了片外獨(dú)立時鐘芯片DS1302,其電路連接如圖4所示。
現(xiàn)在流行的串行時鐘電路很多,如DS1302、DS1307、PCF8485等。這些電路的接口簡單、價格低廉、使用方便,被廣泛地采用。本系統(tǒng)使用的實(shí)時時鐘電路DS1302是DALLAS公司的一種具有涓細(xì)電流充電能力的電路,主要特點(diǎn)是采用串行數(shù)據(jù)傳輸,可為掉電保護(hù)電源提供可編程的充電功能,并且可以關(guān)閉充電功能。
本設(shè)計中使用的AT24C512是Atmel公司生產(chǎn)的64KB串行電可擦的可編程存儲器,其內(nèi)部有512頁,每一頁為128字節(jié),任一單元的地址為16位,地址范圍為0000~0FFFFH。它采用8引腳封裝,具有結(jié)構(gòu)緊湊、存儲容量大等特點(diǎn),可以在2線總線上并接4片芯片,特別適用于具有大容量數(shù)據(jù)存儲要求的數(shù)據(jù)采集系統(tǒng),因此在測控系統(tǒng)中被大量采用[3]。IIC總線與AT24C512的硬件連接圖如圖5所示。
圖5 系統(tǒng)存儲電路接線圖
CAN通訊接口通過單片機(jī)的數(shù)據(jù)口與CAN通訊電路連接來進(jìn)行設(shè)計,實(shí)現(xiàn)單片機(jī)與CAN總線之間的通信,其中CAN通訊電路部分主要包括:CAN-bus控制器、CAN-bus收發(fā)器、高速光電隔離等部分,如圖6所示。
圖6 CAN總線通訊系統(tǒng)結(jié)構(gòu)圖
軟件設(shè)計首先要進(jìn)行μC/OS-II操作系統(tǒng)和MiniGUI人機(jī)界面的移植,然后是用戶界面設(shè)計和編程。
μC/OS-II是專為微控制器系統(tǒng)軟件開發(fā)而設(shè)計的源代碼公開的搶占式實(shí)時多任務(wù)操作系統(tǒng)內(nèi)核,實(shí)時性和穩(wěn)定性都很好,很適合數(shù)據(jù)采集系統(tǒng)使用。μC/OS-II主要特點(diǎn)可以概括為以下幾個方面:公開源代碼,代碼結(jié)構(gòu)清晰、明了,注釋詳盡,組織有條理,可移植性好;可裁剪,可固化;內(nèi)核屬于搶占式,最多可以管理60個任務(wù)。自1992 年的第一版(μC/OS)以來已經(jīng)有好幾百個應(yīng)用,是一個經(jīng)實(shí)踐證明好用且穩(wěn)定可靠的內(nèi)核。目前國內(nèi)對μC/OS II 的研究和應(yīng)用都很多[4]。
μC/OS-II內(nèi)核向HMS30C7202中的移植,要合理地修改μC/OS-II的三個與處理器相關(guān)的文件:OS_CPU.H、OS_CPU_A.ASM和OS_CPU_C.C。主要是將文件中的匯編指令,改為ARM7的匯編指令,并根據(jù)CPU的特點(diǎn)把文件中寄存器的初值進(jìn)行改寫。
MiniGUI 是一個輕量級的圖形用戶界面支持系統(tǒng),具有占用資源少、高性能、高可靠性和可配置等特點(diǎn)。它是我國開發(fā)的,中文支持文檔比較多,大都可以從飛漫公司網(wǎng)站(http://www.minigui.com/)上免費(fèi)獲得。目前已比較成熟,并已應(yīng)用到很多項(xiàng)目的實(shí)際開發(fā)中。移植工作主要是兩個方面:修改配置文件; 將程序運(yùn)行所需的庫文件和配置文件等添加到嵌入式目標(biāo)板的文件系統(tǒng)中[5]。
圖7 就餐窗口布局平面圖
每一個窗口都細(xì)化為選菜區(qū)和取菜區(qū),由圍欄隔開。其中選菜區(qū)要求同學(xué)們排成一對,每個人根據(jù)個人口味在觸摸屏上進(jìn)行選菜,選完菜后取打印憑條,由單向開口進(jìn)入取菜區(qū);而取菜區(qū)中由服務(wù)員為同學(xué)們配發(fā)飯菜。這樣的分區(qū)設(shè)計有效的保證同學(xué)們就餐時人流在窗口前的單向流動性,從而避免了類似“圍城”的沖突。系統(tǒng)實(shí)時采集并記錄學(xué)生們就餐的各種數(shù)據(jù),如各食堂,樓層,窗口,菜種的售出情況。以便在食堂大屏幕上顯示輸出,指導(dǎo)同學(xué)們有序就餐,避免擁擠。還可以利用這些數(shù)據(jù)進(jìn)行科學(xué)的采購和備餐,避免浪費(fèi),降低成本。
根據(jù)系統(tǒng)功能,軟件部分實(shí)現(xiàn)了相應(yīng)的程序設(shè)計。系統(tǒng)上運(yùn)行中會首先提示學(xué)生將校園卡插入卡槽中,然后進(jìn)行選菜。這個過程會將菜品一一顯示在LCD屏幕上面,學(xué)生可以瀏覽各個菜品。當(dāng)菜品選擇完畢后,學(xué)生可以通過觸摸屏點(diǎn)擊菜品圖片,再選擇數(shù)量。如果不再繼續(xù)選擇的話,就可以拔出校園卡,并取出取菜憑條了。
圖8 系統(tǒng)人機(jī)接口流程圖
本就餐系統(tǒng)具有以下特點(diǎn):
1) 相對于混合化窗口,分區(qū)窗口秩序井然,易于維持就餐秩序。各分區(qū)分工明確,幾乎不會出現(xiàn)擁堵的情況,就餐效率大幅提高;
2) 分區(qū)后的選菜區(qū)無需人工,實(shí)行自助選菜,節(jié)省人力;
3) 自助選菜降低了服務(wù)員的壓力,不需要記下每個人點(diǎn)的菜,也避免了人工錯誤的出現(xiàn);
4) 由于選菜區(qū)實(shí)行自助服務(wù),占用空間小,故一個窗口可以根據(jù)具體情況同時開設(shè)兩個甚至多個選菜區(qū),較舊系統(tǒng)中一個服務(wù)員負(fù)責(zé)一個窗口更靈活;
5) 這種自助選菜和打印憑條機(jī)制可以實(shí)時采集并存儲各種數(shù)據(jù),如每日,每時段,每個窗口,每種菜的銷售狀況等,這是在人工服務(wù)下很難辦到的。
本信息化食堂就餐系統(tǒng)是基于嵌入式技術(shù)的食堂就餐系統(tǒng)。一方面指示并協(xié)調(diào)學(xué)生就餐秩序,緩解集中就餐的壓力;另一方面,則可以通過后臺對系統(tǒng)記錄下的各種就餐數(shù)據(jù)分析有效的輔助食堂更科學(xué)的定時定量備餐。本設(shè)計對目前北京等大城市高校擁擠不堪的就餐秩序,以及因備餐不合理所造成的食物浪費(fèi)現(xiàn)象會帶來極大的改善。
[1]Frank Vahid、Tony Givargis,著,駱麗譯.嵌入式系統(tǒng)設(shè)計[M].北京航空航天大學(xué)出版社,2004,(9):1-22.
[2]王田苗.嵌入式系統(tǒng)設(shè)計與實(shí)例開發(fā)[M].清華大學(xué)出版社,2003,(7):1-34.
[3]楊光友.嵌入式微處理器ARM7存儲器接口設(shè)計[J].微計算機(jī)信息,2004,20(9):75-76.
[4]王劍峰,馬艷萍,劉云.μC/OS在ARM7處理器的移植與測試應(yīng)用[J].青島科技大學(xué)學(xué)報,2005,(10):443-447.
[5]丁丁,習(xí)勇,魏急波.三種主流嵌入式圖形用戶界面的移植及性能比較[J].電子產(chǎn)品世界,2004,(5):77-79.