亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CRC報文緩存技術(shù)的IC水卡預付費終端設計

        2018-06-27 02:38:48石晨曹永忠
        無線互聯(lián)科技 2018年5期

        石晨 曹永忠

        摘 要:以STM32為控制核心,IC卡為預付費載體,文章設計了IC水卡預付費終端,其中IC卡模塊完成IC卡的讀寫,GPRS模塊基于Socket與消息服務器完成數(shù)據(jù)傳輸,消息服務器基于Web服務完成了水務數(shù)據(jù)庫業(yè)務流程。為了保障系統(tǒng)在惡劣網(wǎng)絡環(huán)境的容錯性能,文章提出基于CRC報文緩存技術(shù)的解決方案,很好地處理了網(wǎng)絡異常下刷卡未同步數(shù)據(jù)庫的問題。

        關(guān)鍵詞:GPRS; CRC報文;緩存技術(shù)

        當前,在“智慧城市”建設大背景下,智慧水務的構(gòu)想應運而生,而收費業(yè)務的信息化、智能化是實現(xiàn)智慧水務的第一止,目前國內(nèi)出現(xiàn)了很多IC水卡預付費終端,然而這些終端大都采用CAN總線或采用485總線與服務器通信,由于分布零散等因素,造成系統(tǒng)的建設投資大、運營費用高、監(jiān)控維護不及時等缺點。而小部分GPRS無線傳輸預付費終端,也會出現(xiàn)因外部因素干擾導致數(shù)據(jù)傳輸不穩(wěn)定。針對這種情況,本文提出采用GPRS無線網(wǎng)絡與微信支付、IC卡讀寫相結(jié)合的方式對自來水公司收費業(yè)務進行智能化改造的方案,該方案投資小、維護成本低,特別適合大面積實施。同時提出CRC報文緩存技術(shù),顯著改善了網(wǎng)絡異常下刷卡未同步數(shù)據(jù)庫的問題。

        1 IC水卡預付費終端硬件設計

        IC水卡預付費終端工作流程大致如下:首先用戶通過微信關(guān)注自來水公司的公眾號,輸入卡號、充值金額等信息進行預付費。用戶收到預付費成功的消息之后將IC水卡插入預付費終端完成充值,交易完成之后預付費終端語音播報同時屏幕顯示充值量、充值結(jié)果等信息。根據(jù)預付費終端的業(yè)務特點將硬件分為兩大部分:主板部分和外設部分。外設部分主要由處理器通過串口驅(qū)動,主要有語音顯示模塊、屏幕顯示模塊,負責用戶刷卡過程中的語音提示和屏幕展示,提升了人機交互體驗。主板部分主要用于讀取用戶IC水卡信息并上傳以及解析服務器返回的報文最終寫卡。

        設計目的主要實現(xiàn)用戶預付費完成之后刷卡充值時,預付費刷卡終端讀取卡內(nèi)用戶號、余額(量)等信息通過GPRS上傳服務器,服務器下傳充值金額(量)等信息,最終完成充值。因此按功能分為讀寫卡模塊和GPRS子模塊。讀寫卡模塊通過端口與預付費刷卡終端的主控制器相連,GPRS模塊則為串口。這種設計方案硬件實現(xiàn)簡單、易于調(diào)試,另外為軟件的編寫也帶來很大的便利。這一切都歸功于基于ARM Cortex-M3內(nèi)核STM32系列單片機的廣泛應用。此外預付費刷卡終端還需具有存儲模塊和供電模塊,整體結(jié)構(gòu)如圖1所示。

        2 lC水卡預付費終端軟件設計

        2.1 軟件概述

        軟件主要采用C語言在Keil平臺下編寫,除完成對STM32及各個子模塊的初始化之外主要編寫與服務器之間的通信程序,讀T5557卡時的曼徹斯特解碼程序以及模擬IIC讀寫24卡程序。

        預付費終端開機后初始化流程如圖2所示。終端上電后首先進行中斷優(yōu)先級、各端口串口的初始化,然后讀取存儲模塊中的服務器IP、機器號等信息,接著M6311上電、初始化,向服務器發(fā)送心跳包,20 s內(nèi)收到服務器返回報文則初始化成功,5次未收到則初始化失敗,進入錯誤處理程序。初始化完成后進入自檢程序如圖3所示:系統(tǒng)通過對存儲模塊、語音模塊顯示模塊、GPRS信號強度等檢測后語音播報自檢成功,若某一模塊故障則退出進入錯誤處理程序。

        此外,為了解決在外部電磁環(huán)境惡劣的情況下,GPRS無線網(wǎng)絡數(shù)據(jù)傳輸過程中出現(xiàn)的誤碼率升高和網(wǎng)絡中斷的問題。為此設計了基于循環(huán)冗余碼校驗(Cyclic RedundancyCheck,CRC)的報文緩存技術(shù),良好地解決了這一問題。

        2.2 CRC報文緩存技術(shù)的實現(xiàn)

        2.2.1 CRC報文設計

        CRC算法是計算機網(wǎng)絡通信中常用的差錯檢測控制方法,其主要目的是減少數(shù)據(jù)通信線路的傳輸錯誤。其原理是:在發(fā)送端將發(fā)送的數(shù)據(jù)追加CRC校驗碼,CRC校驗碼是由原數(shù)據(jù)與選取的多項式數(shù)學運算所得,追加CRC校驗碼的原數(shù)據(jù)發(fā)送到接收端后,接收端檢驗原數(shù)據(jù)和CRC校驗碼的數(shù)學關(guān)系是否正確,正確則數(shù)據(jù)傳輸無誤。CRC算法的關(guān)鍵是多項式的選取,本系統(tǒng)選用了國際電報電話咨詢委員會(Comite Consultatif International Telephoniqueet Telegraphique,CCITT)推薦的CRC16(多項式是G(X)=X16+X12+X5+1)作為報文的多項式,其對于大于16位的突發(fā)性錯誤檢測出的概率為99.9%,非常適用于抗干擾能力弱的GPRS網(wǎng)絡。

        參照自來水公司收費業(yè)務邏輯在預付費終端與服務器之間設計了如表1所示的CRC報文。

        字段簡要說明:報頭表示前兩個字節(jié)為固定,第3個字節(jié)為應答字,其中Ox00為發(fā)送端報文,Oxll表示應答成功報文,Oxl0為應答失敗報文。第4個字節(jié)為報文類型如:Ox00-Ox06為T5557預付費報文,OxlO-Ox16為T5557階梯報文。第5個字節(jié)為協(xié)議版本號。報文長度表示從報頭到報文內(nèi)容的整個報文長度的16進制數(shù)。機器編號表示預付費刷卡終端的編號,共10位以16進制表示,如2018010925。報文內(nèi)容表示不同類型的報文,報文內(nèi)容不同,如T5557預付費請求訂單報文:“卡號%卡內(nèi)售水量”,中間以“%”隔開。

        預付費刷卡終端與服務器之間的通信為一種擴展的C/S模式,預付費終端作為Client端向Server端(Socket中間件)請求訂單信息并將刷卡結(jié)果上傳,期間報文傳輸時CRC校驗方法如下:發(fā)送方首先將被校驗的K位數(shù)據(jù)M(x)左移16位得到數(shù)據(jù)M(x)。X16,目的是為了給將來拼接16CRC校驗碼留出空位;將選取的17位CRC多項G(X)=X16+X12+X5+1對M(x)。X16做模2除法得到1 6位CRC校驗碼R(x):由移16位的被校驗K數(shù)據(jù)與余數(shù)R(x)模2加法,即拼接為循環(huán)校驗碼。并發(fā)送至接收端;接收端接收到循環(huán)校驗碼后與約定的多項式G(x)做模2除法,若余數(shù)為0則數(shù)據(jù)無誤。

        2.2.2 CRC報文的緩存方法

        預付費終端和服務器之間的數(shù)據(jù)傳輸都以CRC報文形式傳輸,主要分為4個過程:終端將包含卡號、卡內(nèi)余量等信息上傳服務器;服務器根據(jù)卡號查詢數(shù)據(jù)庫,得到該卡的訂單信息并下傳至終端;若訂單狀態(tài)為已預付費未刷卡狀態(tài),終端執(zhí)行寫卡操作并將寫卡結(jié)果上傳至服務器服務器收到寫卡結(jié)果以后更改數(shù)據(jù)庫訂單狀態(tài),并將結(jié)果下傳。

        系統(tǒng)僅在終端寫卡并上傳寫卡結(jié)果后,未收到服務器返回或返回一直錯誤的情況下,執(zhí)行報文緩存操作。目的在于防止用戶在充值完IC水卡后,系統(tǒng)出現(xiàn)斷電、GPRS故障、網(wǎng)絡通信受阻,從而導致終端請求服務器修改訂單狀態(tài)失敗,造成一個訂單多次充值的情況。

        終端寫卡并上傳寫卡結(jié)果后,若20 s內(nèi)未收到應答,則判斷為網(wǎng)絡故障,立即緩存報文重置網(wǎng)絡后重新發(fā)送,若終端接收到循環(huán)校驗碼,則將其與約定的多項式G(x)做模2除法,當余數(shù)不為0時,應答報文報頭中的應答字應為Oxl0,終端判斷為接收到錯誤應答,此時服務器重發(fā)報文,若3次應答錯誤則緩存報文,等待下一個心跳重發(fā)報文。緩存方法流程如圖4所示。

        緩存的報文存儲于終端的存儲模塊,該模塊采用256字節(jié)的EEPROM-24C02作為存儲芯片,利用其掉電數(shù)據(jù)不丟失的特性,實現(xiàn)了終端斷電和GPRS模塊故障狀況下的報文緩存,待系統(tǒng)恢復正常后重新將緩存報文上傳服務器。緩存報文存儲于100字節(jié)以后。

        2.2.3 CRC報文緩存方法容錯率驗證

        通過實驗對比未使用CRC報文緩存技術(shù)的終端,發(fā)現(xiàn)刷卡未同步數(shù)據(jù)庫問題得到了明顯改善。對比實驗采用模擬實際使用場景的方法,在5個未使用CRC報文緩存技術(shù)的終端執(zhí)行的1 000次刷卡。

        經(jīng)過對比發(fā)現(xiàn)采用了CRC報文緩存技術(shù)的預付費終端,在2 000次刷卡充值中刷卡未同步數(shù)據(jù)庫概率從0.8%降至0.1%,提高了系統(tǒng)的穩(wěn)定性。

        3 結(jié)語

        經(jīng)測試基于CRC報文緩存技術(shù)的IC水卡預付費終端能夠良好地完成IC水卡數(shù)據(jù)的讀寫以及與服務器之間的通信,同時利用CRC報文緩存技術(shù),保證了在通信環(huán)境惡劣的情況下報文的正確性,以及在終端斷電、GPRS模塊故障狀況下水費充值業(yè)務的完整性。同時還具有語音播報屏幕顯示等人機交互功能。終端運行穩(wěn)定可靠、功能豐富、抗干擾性良好、資費計算準確。能夠?qū)崿F(xiàn)自來水公司收費業(yè)務智能化改造的同時,節(jié)約了運營成本,具有廣闊市場前景。

        日韩精品一区二区三区av| 影音先锋中文字幕无码资源站 | 亚洲无人区乱码中文字幕能看| 小雪好紧好滑好湿好爽视频| 免费a级毛片无码| 999精品全免费观看视频| 操B小视频国产| 精品熟女av中文字幕| 免费a级毛片在线播放| 精品999日本久久久影院| 国产免费一区二区三区在线观看 | 日本二区三区视频免费观看| 激情五月天在线观看视频| 未发育成型小奶头毛片av| 久久露脸国产精品| 亚洲综合五月天欧美| 日本在线播放不卡免费一区二区| 偷拍一区二区三区高清视频| 人妻丰满av无码中文字幕| 国产成人综合亚洲精品| 九九99久久精品午夜剧场免费| 国产av大片久久中文字幕| 男女真人后进式猛烈视频网站| 激烈的性高湖波多野结衣| 放荡的闷骚娇妻h| 午夜视频福利一区二区三区 | 视频在线亚洲视频在线| 一本色综合网久久| 伊人久久精品久久亚洲一区| 日韩欧美在线播放视频| 91青青草视频在线播放| 国产亚洲成人av一区| 亚洲精品成人网线在线播放va| 2021年国产精品每日更新| 国产亚洲精品高清视频| 国产毛片视频一区二区| 日韩人妻无码精品久久免费一| 国产成人综合久久久久久| 亚洲色图少妇熟女偷拍自拍| 国产精品黑丝高跟在线粉嫩| 无码一区二区三区亚洲人妻|