自動(dòng)售貨機是一種集聲、光、電、機、電于一體的高智能科技產(chǎn)物,可以每天24 小時(shí)售貨,被稱(chēng)為“永不下班的超級營(yíng)業(yè)員”,這種前衛的零售方式在發(fā)達國家已經(jīng)十分普及。我國從國外引進(jìn)第一臺自動(dòng)售貨機到現今國內自主研發(fā)或代理國外的自動(dòng)售貨機,已經(jīng)開(kāi)始遍布機場(chǎng),商場(chǎng)等一些公共場(chǎng)所。然而這些自動(dòng)售貨機大都采用現金支付的方式,基于現金支付的自動(dòng)售貨機一般只能接收5 角或1 元的硬幣,5 元、10 元或20 元等小額人民幣,如果顧客手頭零錢(qián)短缺或不足,有可能無(wú)法購買(mǎi)到自己所需要的商品。這個(gè)直接影響了自動(dòng)售貨機的銷(xiāo)售數量, 間接制約了其發(fā)展速度。針對這種情況現提出采用現代前沿的非接觸式射頻IC 卡技術(shù)與GPRS 無(wú)線(xiàn)網(wǎng)絡(luò )通信技術(shù)相結合的方式設計出一種基于IC 卡支付的無(wú)線(xiàn)網(wǎng)絡(luò )自動(dòng)售貨機系統。非接觸式IC 卡技術(shù)是近幾年風(fēng)靡的一項新技術(shù),它成功地結合了射頻識別技術(shù)、磁電技術(shù)、計算機技術(shù)和IC 卡技術(shù),現已非常成熟,而且IC 卡的交易方式對于消費者十分便利,因此研究開(kāi)發(fā)基于此方式下的各類(lèi)售貨機具有明顯的現實(shí)意義和商用價(jià)值。
1 系統組網(wǎng)方案
從整體角度來(lái)看,基于IC 卡支付的自動(dòng)售貨機系統可分為售貨機終端、GSM/GPRS 網(wǎng)絡(luò )、INTERNET 網(wǎng)絡(luò )和服務(wù)器四大塊(如圖1 所示)。
圖1 自動(dòng)售貨機無(wú)線(xiàn)網(wǎng)絡(luò )系統結構圖
組網(wǎng)方案:向中國移動(dòng)申請APN 專(zhuān)網(wǎng)業(yè)務(wù),分配專(zhuān)用的APN 并申請綁定移動(dòng)內網(wǎng)的固定IP 地址。服務(wù)器用無(wú)線(xiàn)MODEM 撥號上網(wǎng),得到其公司固定IP。自動(dòng)售貨機直接向服務(wù)器發(fā)起連接。
這種方案結構簡(jiǎn)單,中間環(huán)節少,容易實(shí)現,所有的數據都在移動(dòng)GPRS 的APN 內網(wǎng)傳輸,無(wú)需經(jīng)過(guò)公網(wǎng),安全性增強。本論文主要研究處于自動(dòng)售貨機終端設計與實(shí)現。
2 MDB 總線(xiàn)
MDB 總線(xiàn)是根據MDB/ICP 協(xié)議制定的總線(xiàn)標準。MDB/ICP 協(xié)議(Multi-DropBus/Internal Communication Protocol) 是歐洲售貨機制造者協(xié)會(huì )制定的一套用于協(xié)調自動(dòng)售貨機的主控制器(VMC)與多個(gè)外設之間通信的協(xié)議。
MDB 總線(xiàn)接口實(shí)際上是工作于9600b/s 的單從型串行總線(xiàn)接口。MDB 接口共有6 針,各針信號定義如下:
針1:34V 直流電源針2:電源地線(xiàn)
針3:不用針4:主接收線(xiàn)
針5:主發(fā)送線(xiàn)針6:公共線(xiàn)
MDB 協(xié)議的串行格式為:1 個(gè)起始位,8 個(gè)數據位,1 個(gè)方式位與1 個(gè)停止位,共11 位。方式位的值置1 時(shí),該字節的內容為地址;置0 時(shí),字節內容為數據。
VMC 向外設發(fā)送命令時(shí)采用廣播方式。第一字節為地址字節,該字節被所有外設讀取,但只有符合地址字節所指的外設才處理其后的數據字節。當數據從外設發(fā)送到VMC 時(shí),最后一個(gè)字節的方式位被置1,標志著(zhù)數據發(fā)送完畢。
3 自動(dòng)售貨終端的硬件設計
3.1 硬件概述
刷卡自動(dòng)售貨機的工作流程大概如下:用戶(hù)根據貨機提示,把IC 卡放入自動(dòng)售貨機讀卡模塊的有效范圍,經(jīng)過(guò)驗證確認,扣除用戶(hù)購買(mǎi)商品金額成功后,售貨機主控制器驅動(dòng)對應貨道電機,商品即可掉入取貨倉中,同時(shí)該次交易信息,包括卡號,交易日期和時(shí)間、消費金額等會(huì )記錄在售貨機存儲器中。因此根據售貨機的銷(xiāo)售特點(diǎn)將硬件分為兩大部分:主板模塊和驅動(dòng)模塊,驅動(dòng)模塊主要包括所要驅動(dòng)的控制對象,包括直流電機、電磁開(kāi)關(guān)、硬(紙)幣機及液晶顯示屏等。主板主要用于用戶(hù)的刷卡消費及數據的上傳以及對驅動(dòng)板的各種控制指令。
設計的目的是要實(shí)現在自助售貨管理中心要求上傳數據時(shí),把所存儲的信息根據客戶(hù)端與服務(wù)器制定的通信協(xié)議打包,然后通過(guò)GPRS 無(wú)線(xiàn)網(wǎng)絡(luò )發(fā)送給自助售貨管理中心,管理中心軟件對收到的信息進(jìn)行分析整理,并把相關(guān)記錄存儲到數據庫表中。管理中心也會(huì )通信協(xié)議定時(shí)把充值列表、黑名單列表等控制信息打包通過(guò)GPRS 下傳到售貨機。因此按功能分為射頻卡讀寫(xiě)子模塊和GPRS 通信子模塊。射頻卡讀寫(xiě)模塊直接與自動(dòng)售貨機相連,GPRS 通信子模塊通過(guò)一個(gè)總線(xiàn)轉換接口與自動(dòng)售貨機相連。
3.2 自動(dòng)售貨機結構
終端設備自動(dòng)售貨機的內部結構如圖2 所示。
圖2 自動(dòng)售貨機內部結構圖
自動(dòng)售貨終端的主控制器VMC (Vending Machine Controller) 先用Motorola公司的M68HC11 單片機,它有一個(gè)全雙工串口,通過(guò)該串口連接紙幣器、硬幣器和讀卡器,使用MDB/ICP 協(xié)議通信。根據MDB 協(xié)議,圖2 中的VMC 是主控制器,而紙幣器、硬幣器及GPRS 模塊是從設備。另外,VMC 直接連接顯示屏、鍵盤(pán)及馬達電機等,以實(shí)現與用戶(hù)的交互及驅動(dòng)出貨裝置。GPRS 模塊采用西門(mén)子公司提供的MC35i 工業(yè)級GPRS/GSM 模塊, 它提供標準的RS-232 串行接口,使用該串口同VCM 進(jìn)行數據傳輸。但是VMC 只有一個(gè)全雙工串口,并且已經(jīng)使用,要實(shí)現VMC 與MC35i 模塊的通信,需將MC35i 模塊與紙幣器、硬幣器、讀卡器一樣作為從設備使用, 遵循MDB/ICP 協(xié)議通信, 所以在VMC 與MC35i模塊之間需要設計一個(gè)接口模塊,來(lái)完成MDB/ICP 協(xié)議的轉換功能。
3.3 總線(xiàn)轉換接口模塊的設計
轉換接口采用Winbond 公司的W77E58 單片機。這種型號的單片機內含兩個(gè)增強型串口和32KB 大容易Flash 存儲器, 指令集與51 系列單片機完全兼容,適合于接口轉換應用。轉換接口設計方案如圖3 所示。
圖3 總線(xiàn)轉換接口框圖
在這里,W77E58 串口0 的TXD0X 線(xiàn)和RXD0 線(xiàn)分別通過(guò)光耦連接MDB接口的4 線(xiàn)(主接收線(xiàn))和5 線(xiàn)(主發(fā)送線(xiàn))。MDB 接口的1 線(xiàn)和2 線(xiàn)接34V 直流電源,以線(xiàn)空出不用,6 線(xiàn)作為公共線(xiàn)。W77E58 串口1 的TXD1 線(xiàn)和RXD1 線(xiàn)經(jīng)過(guò)電平轉換芯片MAX232 便可以直接與MC35i 模塊的RS232 串口相連, 由于串口0 可以使用定時(shí)器T1 或定時(shí)器T2 作為波特率發(fā)生器;而串口1 只能使用定時(shí)器T1 作為其波特率發(fā)送器,使用定時(shí)器T1 作為串口1 的波特率發(fā)生器,波特率均設為9600b/s。另外,由于W77E58 已有256B 的RAM 和1KB 的SRAM,足夠本接口的數據緩存之用,故不需要擴展存儲器。
4 軟件設計
軟件主要采用C 語(yǔ)言來(lái)實(shí)現
4.1 數據格式的設計
在自動(dòng)售貨機和監控中心的信息傳送中,必須對信息的格式進(jìn)行統一規定,才能使兩端都能解讀信息的內容。自動(dòng)售貨機發(fā)給監控中心的信息一般有三種:
1) 故障信息:包括紙幣器故障、溫度失控、主板故障等約64 種故障信息。
2)狀態(tài)信息:包括缺貨、缺幣、開(kāi)門(mén)檢測等信息。
3)銷(xiāo)售信息:包括每次銷(xiāo)售信息、總銷(xiāo)售額等信息。
根據這一種信息種類(lèi),設計數據包的格式如表1 所示。由于系統傳輸的數據量較大, 所以在傳送信息的過(guò)程中,必須對重要的信息優(yōu)先傳送。我們規定一個(gè)優(yōu)先級順序,信息類(lèi)型1 為最高優(yōu)先級,信息類(lèi)型2 次之,信息類(lèi)型3 最低。
4.2 總線(xiàn)轉換接口的通信協(xié)議及軟件實(shí)現
W77E58 提供了雙串口,本次設計中,用串口0 實(shí)現與MDB 接口的通信,而串口1 實(shí)現與讀卡模塊的通信,串口1 在與讀卡模塊RS232 串口相連之前必須經(jīng)過(guò)芯片MAX232,以實(shí)現電平轉換。使用定時(shí)器T2 作為串口0 的波特率發(fā)送器,使用定時(shí)器T1 作為串口1 的波特率發(fā)生器,波特率均設為9600bps.
在轉換接口中,VMC、W77E58 和讀卡模塊既是發(fā)送方又是接收方,都工作在半雙工模式。W77E58 與VMC 之間的通信部分,VMC 作為主設備, 在通信過(guò)程中的發(fā)送和接收都采用查訪(fǎng)方式,W77E58 串口0 的發(fā)送和接收均采用中斷方式,即VMC 與W77E58 之間通信是以VMC 為主的“主從通信法”通信協(xié)議。而W77E58 與讀卡模塊之間的通信部分,WW77E58 做主設備,W77E58 串口1 的發(fā)送和接收均采用查詢(xún)方式,讀卡模塊串口的收發(fā)均采用中斷方式。
VMC 是通過(guò)MDB 總線(xiàn)以廣播方式發(fā)送命令的, 作為接收設備的W77E58 需要使用一個(gè)設定的從設備地址。以串口0 為例,串口0 接收到命令時(shí),首先要判斷該命令是不是發(fā)給本設備的,如果是就繼續接收后面的數據,否則重新等待命令。當數據從外設發(fā)送到VMC 時(shí),最后一字節的方式位被置1, 標志著(zhù)數據發(fā)送完畢。W77E58 串口0 的中斷發(fā)送、接收程序的主要主要流程如圖4所示。串口1 的收發(fā)程序流程與此類(lèi)似。
圖 4串口0 中斷發(fā)送、接收程序流程圖
5 結論
目前,介紹的基于IC 支付的無(wú)線(xiàn)網(wǎng)絡(luò )自動(dòng)售貨機已投入運行,部分通訊數據還在調試,該系統能夠及時(shí)將用戶(hù)的刷卡消費記錄、黑名單以及與管理中心之間的通訊數據能夠及時(shí)上傳和下傳,管理中心能夠及時(shí)了解分布在各點(diǎn)的售貨機的支付情況,方便維護,該系統具有成本低廉,功能易于擴展,在即將到來(lái)的基于無(wú)線(xiàn)自動(dòng)售貨機市場(chǎng)有廣泛的應用前景。