摘要:本文介紹了GPRS無線通信網與無線打印終端系統之間的實時數據通信流程、通信協議及其軟件設計與實現方法,詳細地分析了各軟件層次的實現方法和TCP/IP在RABBIT3000上的實現,達到了移動支付即時獲取的設計目的,取得了良好的經濟效益和社會效益。
引言
在信用卡應用不到半個世紀,支付方式又將經歷一次歷史性的變革——基于無線通信技術上的移動支付方式的出現,使支付形式徹底擺脫空間上的一切束縛,不但廣泛而便捷地應用在固定交易場所;而且可以實現移動過程中的支付功能,從而為消費者創造了更靈活、更親切的消費環境,實現了錢包的電子化、移動化,是一種全新的支付手段。
目前,世界各國都在積極研究這項新興的移動支付系統,澳大利亞和芬蘭已經率先推出了商用模式,廣東省也在國內第一個推出了商用的移動支付系統,移動用戶可以通過他們的手機購買地鐵票、可樂、零食等商品。據統計,移動終端將在三至五年內將成為廣泛使用的支付工具,然而這種新興的支付方式,還不能提供消費者票據憑證,這不符合中國人目前的消費觀念,人們急待一種能夠獲取票據憑證的方法來完善這一新興的支付方式,基于這種狀況研制開發無線POS 打印終端系統就很有必要。
1、系統總體方案的設計
系統總體框圖如圖1所示:
統組成說明:主控CPU 采用Z-WORLD 公司的RABBIT3000,SRAM 采用CYPRESS 公司的CY62128,FLASH 采用SST 公司的SST39VF020,打印機采用GPRINTER 公司的GP-7635,GPRS模塊采用西門子公司的MC35,CPU 內嵌TCP/IP 協議棧。
系統整體框架如下,為了控制整個系統穩定運行,系統需要一個微處理器,為了打印出一張憑證,系統需要一個微型打印機。因為系統需要通過無線的方式接入Internet,所以該系統還需要一個無線通信模塊,該通訊模塊可以接入Internet,選用GPRS 通信模塊或者CDMA 通訊模塊。為了接入Internet,僅僅有一個通訊模塊還不行,還需要遵循Internet 的共有通信協議。這樣改系統有好幾種組合方式,本系統選用內嵌TCP/IP 協議棧的CPU。采用MCU 及固化了TCP/IP 協議的芯片組成應用系統的核心,應用系統可以直接上網,硬件電路相對簡單。該方案具有如下優點;①不依賴PC 機或高檔單片機,真正實現8 位單片機系統直接接入Internet,整個系統完全自給自足;②使用外圍器件少,系統成由低。
2、軟件層次結構
程序中的所有代碼都是由C 語言編寫的,并采用分層的結構,從底到上分別為:串口驅動層、GPRS 模塊驅動層、PPP 協議層、IP 協議層、UDP 協議層與應用層。上層函數的實現需要應用到底層函數,而底層函數的任務就是為上層函數提供服務,最終完成應用層任務——傳送數據。各層的主要函數如圖2 所示:
2.1 驅動程序編寫
首先是串行口驅動層。它實現打開串口(OpenComm)、關閉串口(CloseComm)、讀串口數據(ReadComm)、寫串口數據(WriteComm)等函數。例如 WriteComm 函數向串口發送一個字節的數據,而transmit 函數向串口發送一個字符串的數據。
然后,在這些串口函數的基礎上編寫GPRS 模塊的驅動函數。微控制器通過串行口控制GPRS模塊,進行撥號、設置等操作??刂频姆椒ㄊ遣捎肁T 命令。在控制GPRS 模塊撥打移動夢網GGSN的登錄號碼“*99**1#”之后,GPRS 模塊就轉入在線模式(0n-Line)。此時微控制器向串行口發送的所有數據都透明地傳送給了GGSN ,同樣GGSN 的回答也傳回單片機的串行口。當數據傳送完成后,微控制器需要通知 GPRS 模塊結束會話,并從在線模式轉口普通的命令模式,這可以通過置高DTR 線完成。同時,如果線路由于異常斷開,CD 線會回復到平常的低電平,所以處于在線模式下也要不斷檢測CD 線是否處于高電平。根據這些操作,可以編寫GPRS 驅動函數:初始化GPRS模塊函數(GPRSInit)、撥號函數(GPRSDial)、斷開連接函數(GPRSHangup)、檢測是否處于在線狀態函數(GPRS0nline)。