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