蔡建聰
摘要:該文通過(guò)分析人工出幣機(jī)的工作過(guò)程,研究其控制信號(hào)及通訊方式,給出了以RS-485通訊方式的智能化游戲機(jī)代幣出幣機(jī)的硬件及軟件的設(shè)計(jì),系統(tǒng)采取有效的抗干擾措施, 配以IC卡的管理,實(shí)現(xiàn)智能化自助出幣。
關(guān)鍵詞:出幣機(jī);智能化;IC卡
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)24-5652-04
隨著生活節(jié)奏的加快,以休閑娛樂(lè)而發(fā)展的動(dòng)漫游戲已成為人們生活中減壓的方式。動(dòng)漫游戲機(jī)中使用的出幣機(jī)是一種廣泛應(yīng)用于數(shù)幣和出幣的裝置。目前,出幣機(jī)多由人工手動(dòng)的方式控制,操作人員收取顧客的現(xiàn)金后設(shè)置出幣機(jī)將代幣數(shù)給顧客。但對(duì)于某些游戲機(jī)(如推幣機(jī))一定要使用實(shí)物代幣,換幣量大,人工售幣不但工作量大,還存在易出錯(cuò)、顧客等候時(shí)間長(zhǎng)等問(wèn)題,更重要的是人工換幣的過(guò)程無(wú)數(shù)據(jù)記錄,極易帶來(lái)一定的經(jīng)濟(jì)損失及不必要的糾紛。為提高效率,杜絕此類問(wèn)題的出現(xiàn),換幣過(guò)程需要智能化和網(wǎng)絡(luò)化。為此,我們?cè)O(shè)計(jì)開(kāi)發(fā)了基于IC卡管理的智能化代幣出幣系統(tǒng)。
該系統(tǒng)采用RS-485串行通信方式,通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)與中心管理服務(wù)器的快速數(shù)據(jù)交換,實(shí)現(xiàn)IC卡管理的智能化客戶自助換幣。既方便了顧客,又能對(duì)交易數(shù)據(jù)實(shí)時(shí)記錄和處理,從根本上杜絕了不利因素的出現(xiàn),使動(dòng)漫游戲場(chǎng)所的運(yùn)作與管理更上一個(gè)臺(tái)階。
1 系統(tǒng)總體設(shè)計(jì)
本系統(tǒng)主要由電源模塊、出幣信號(hào)采集模塊、控制信號(hào)輸出模塊、微處理器、LED數(shù)碼管顯示模塊、鍵盤(pán)輸入模塊、IC卡讀寫(xiě)模塊、通訊模塊及光電報(bào)警電路等組成,系統(tǒng)總體設(shè)計(jì)的框圖如圖1所示。電源部分采用交流220V降壓式開(kāi)關(guān)電源供電,出幣信號(hào)采用中斷計(jì)數(shù)方式把信號(hào)通過(guò)光耦器件引入,控制信號(hào)通過(guò)光耦信號(hào)模擬人工操作出幣機(jī)的鍵盤(pán)來(lái)實(shí)現(xiàn)控制。IC卡存儲(chǔ)用戶的簡(jiǎn)單資料,如卡內(nèi)結(jié)存與支出等,通過(guò)IC卡的讀寫(xiě)及RS-485的串行通信,實(shí)時(shí)與終端服務(wù)器更新數(shù)據(jù),并在數(shù)碼管中顯示相關(guān)信息,實(shí)現(xiàn)智能化自助出幣。
2 系統(tǒng)硬件設(shè)計(jì)
在硬件設(shè)計(jì)方面,充分考慮動(dòng)漫游戲機(jī)場(chǎng)所存在的多種干擾信號(hào),盡可能利用已有條件,采取硬件抗干擾措施,合理分配和擴(kuò)展單片機(jī)的接口。
2.1開(kāi)關(guān)電源
為了能夠適應(yīng)動(dòng)漫游戲場(chǎng)所復(fù)雜的環(huán)境對(duì)電壓的要求,電源的設(shè)計(jì)應(yīng)符合較大的電壓變化范圍且抗干擾能力要強(qiáng),因此,我們采用了1.5A單片可調(diào)開(kāi)關(guān)型穩(wěn)壓器L4962E/A器件設(shè)計(jì)開(kāi)關(guān)電源,該器件具有高效率(高達(dá)90%)、大電流(1.5A)、高精度(2%)和高頻率(150kHz)等特點(diǎn),內(nèi)部具有過(guò)流、過(guò)熱等完善的保護(hù)電路,開(kāi)關(guān)電源電路圖如圖2所示,該電路滿足動(dòng)漫游戲場(chǎng)所對(duì)電源可靠性的要求。圖中考慮電網(wǎng)對(duì)系統(tǒng)的干擾,加入磁珠FB1和FB2來(lái)抵御電網(wǎng)中快速脈沖群的干擾,肖特基二極管1N5822作為續(xù)流二極管,為電感L提供電流通路。二極管P6KE為瞬態(tài)電壓抑制管(TVS管),能抑制由于電磁干擾、靜電或電機(jī)等在電路板上出現(xiàn)瞬間高壓時(shí)的尖峰脈沖。
2.2出幣機(jī)控制電路
出幣機(jī)的自動(dòng)控制是使微處理器的P0口通過(guò)74HC574連接2個(gè)四路光耦器件TLP521-4,將光耦的集電極和發(fā)射極分別接出幣機(jī)按鍵的兩個(gè)引腳,以控制光耦內(nèi)部三極管的導(dǎo)通和截止模擬出幣機(jī)按鍵的閉合和釋放,從而控制出幣機(jī)的工作,電路圖如圖3所示。
當(dāng)單片機(jī)向該電路發(fā)出低電平時(shí),由數(shù)據(jù)鎖存器鎖存后致使光耦器件TLP521-4的控制端所接的發(fā)光二極管正向?qū)òl(fā)光,光耦中的光敏三極管導(dǎo)通,因光耦輸出端的集電極和發(fā)射極分別接出幣機(jī)按鍵的兩個(gè)引腳,此時(shí)模擬出幣機(jī)按鍵的閉合狀態(tài);當(dāng)單片機(jī)向該接口電路發(fā)出高電平時(shí),由數(shù)據(jù)鎖存器鎖存后致使光耦器件TLP521-4的控制端所接的發(fā)光二極管截止,光耦的感光器件隨之截止,此時(shí)模擬出幣機(jī)按鍵的釋放狀態(tài)。
2.3出幣信號(hào)采集電路
出幣機(jī)每出一個(gè)幣就會(huì)發(fā)出一個(gè)負(fù)脈沖計(jì)數(shù)信號(hào),將該信號(hào)經(jīng)過(guò)光耦4N33接入微處理器處理并采用光電隔離和快速瞬變脈沖群抑制措施,利于軟件上對(duì)出幣機(jī)的出幣脈沖信號(hào)進(jìn)行篩選,排除非出幣信號(hào)的干擾,接口電路如圖4所示。
當(dāng)出幣機(jī)無(wú)出幣信號(hào)時(shí),T-2端處于高電位,三極管導(dǎo)通,集電極因三極管導(dǎo)通接地變?yōu)榈碗娖剑怦钇骷?N33的輸入端1、2腳所接的發(fā)光二極管正向?qū)òl(fā)光,4N33感光器件感光導(dǎo)通,使外部高電平通過(guò)4、5腳將單片機(jī)/INT0置為高電平。當(dāng)出幣機(jī)有出幣信號(hào)時(shí),T-2端處于低電位,三極管截止,使光耦器件4N33的輸入端1、2腳所接的發(fā)光二極管截止,4N33光敏感器件隨之截止,單片機(jī)的/INT0被置為低電平。
出幣機(jī)連續(xù)出幣時(shí),在4N33的輸出端4腳輸出計(jì)幣脈沖信號(hào),送至單片機(jī)的/INT0腳進(jìn)行出幣計(jì)數(shù)。
圖5 IC卡接口電路
2.4 IC卡接口電路
IC卡接口電路是按照I2C總線接口原理來(lái)設(shè)計(jì),利用單片機(jī)的P1.0判斷有無(wú)IC卡,P1.5、P1.6、P1.7分別用于連接IC卡的CLK、DATA和RST,電路圖如圖5所示。
2.5 RS-485串行通信電路
考慮系統(tǒng)的兼容性,本設(shè)計(jì)選擇基于串行接口芯片MAX487的半雙工總線通訊系統(tǒng)。因動(dòng)漫游戲機(jī)房的通訊網(wǎng)絡(luò)采用了令牌技術(shù),因此該系統(tǒng)需要本機(jī)開(kāi)機(jī)時(shí)處于接收狀態(tài),讓MAX487的收發(fā)使能端經(jīng)過(guò)非門(mén)接至單片機(jī)的P3.5,確保MAX487在最初上電時(shí)處于接收狀態(tài)。同時(shí),采用磁珠FB1和FB2來(lái)抵御通訊網(wǎng)絡(luò)中快速脈沖群干擾信號(hào),在電源地線與大地之間接入一個(gè)電容,使線路上的快速脈沖群經(jīng)由此電容進(jìn)入大地,有效地解決了既需要不直接接地又能將干擾信號(hào)入地的問(wèn)題,確保了通訊的可靠,RS-485串行通信電路如圖6所示。
2.6缺幣光電報(bào)警電路
缺幣報(bào)警不應(yīng)在完全沒(méi)有代幣時(shí)才報(bào)警,而應(yīng)該適度提前報(bào)警(如剩余代幣數(shù)約為400個(gè)時(shí)報(bào)警)。出幣機(jī)的出幣是以“沙漏”形式出幣的,因此在漏斗底部可以安裝一對(duì)紅外傳感器,當(dāng)代幣足夠多時(shí),代幣會(huì)遮擋紅外傳感器,缺幣信號(hào)為高電平。當(dāng)代幣數(shù)較少時(shí),紅外傳感器沒(méi)有遇到障礙物,缺幣信號(hào)為低電平,此時(shí)單片機(jī)控制報(bào)警電路報(bào)警并提醒服務(wù)員及時(shí)向出幣機(jī)加幣。紅外傳感器安裝的位置,可通過(guò)實(shí)際測(cè)試來(lái)確定。
3 系統(tǒng)軟件設(shè)計(jì)
IC卡智能化自助出幣系統(tǒng)的軟件主流程圖如圖7所示。系統(tǒng)上電初始化設(shè)置,與上位機(jī)通訊握手后,首先檢測(cè)是否有IC卡,如有IC卡,則對(duì)IC卡進(jìn)行身份識(shí)別,校驗(yàn)IC卡的密碼及用戶密碼,及時(shí)將讀取的信息通過(guò)串口通訊將數(shù)據(jù)傳到計(jì)算機(jī)終端服務(wù)器。若數(shù)據(jù)校驗(yàn)成功,則讀取卡內(nèi)結(jié)存幣數(shù)并顯示。當(dāng)判斷到有取幣信號(hào)時(shí),則控制出幣機(jī)出幣,直至出幣結(jié)束,最后將數(shù)據(jù)再次傳回終端服務(wù)器。
3.1通訊流程
系統(tǒng)開(kāi)機(jī)初始化,上位機(jī)向下位機(jī)(出幣機(jī))發(fā)送握手命令,下位機(jī)接收數(shù)據(jù)正確后回送握手成功信息,否則回送出錯(cuò)信息,上位機(jī)據(jù)此確定下位機(jī)的狀態(tài)(是否已聯(lián)機(jī))。握手命令設(shè)定為:0xc0,其通訊格式為:“命令+校驗(yàn)標(biāo)志+結(jié)束符”,如“0xc0,0xee,0x0a”。
當(dāng)通訊握手成功后,再按以下流程與上位機(jī)通訊:
1)插入IC卡,請(qǐng)求上位機(jī)接收IC卡卡號(hào),校驗(yàn)IC卡信息。
2)IC卡信息正確后,請(qǐng)求上位機(jī)接收并校驗(yàn)卡內(nèi)結(jié)存幣數(shù),確認(rèn)幣數(shù)后發(fā)送可出幣命令給出幣機(jī)。
3)當(dāng)用戶輸入出幣數(shù)后,判斷出幣數(shù)是否小于或等于卡內(nèi)結(jié)存幣數(shù),是則開(kāi)始出幣。出幣結(jié)束,請(qǐng)求上位機(jī)接收已出幣數(shù)并校驗(yàn),包括正常出幣數(shù)及異常出幣數(shù)。
3.2通訊協(xié)議及數(shù)據(jù)校驗(yàn)
為了保證系統(tǒng)數(shù)據(jù)傳送的可靠性,避免通訊過(guò)程中數(shù)據(jù)出錯(cuò),需要約定通訊協(xié)議及對(duì)通訊數(shù)據(jù)進(jìn)行校驗(yàn)。
通訊協(xié)議中,約定的格式為“命令+數(shù)據(jù)(高位)+數(shù)據(jù)(低位)+校驗(yàn)和+結(jié)束符”的形式。其中,“校驗(yàn)和=命令+數(shù)據(jù)高位+數(shù)據(jù)低位”,校驗(yàn)和只取低字節(jié)校驗(yàn),高字節(jié)舍棄不用,如“0xd0,00,00,0xd0,0x0a”。
同時(shí),為防止出現(xiàn)網(wǎng)絡(luò)意外而造成終端裝置出幣數(shù)量與客人換幣數(shù)不一致而造成經(jīng)濟(jì)損失,除了通訊要進(jìn)行數(shù)據(jù)校驗(yàn)外,在終端裝置出幣機(jī)也要進(jìn)行數(shù)據(jù)的校驗(yàn),檢驗(yàn)的具體方法為:
1)記錄客人的卡內(nèi)結(jié)存和客人請(qǐng)求的擬出幣數(shù)。
2)將上位機(jī)傳送回來(lái)的卡內(nèi)結(jié)存和擬出幣數(shù)相加。
3)檢查相加結(jié)果是否等于原卡內(nèi)結(jié)存。
4)檢查上位機(jī)傳送來(lái)的擬出幣數(shù)是否等于客人請(qǐng)求的擬出幣數(shù)。
5)正確:出幣;
錯(cuò)誤:點(diǎn)亮客人請(qǐng)求出幣數(shù)對(duì)應(yīng)的按鍵并報(bào)警通知服務(wù)員處理。
3.3出幣機(jī)出現(xiàn)故障時(shí)的信號(hào)處理
當(dāng)出現(xiàn)缺幣、卡幣故障時(shí),出幣機(jī)會(huì)空轉(zhuǎn)8秒后自動(dòng)停下來(lái)。如果此時(shí)不對(duì)出幣機(jī)處理,系統(tǒng)將無(wú)法識(shí)別出幣機(jī)的狀態(tài)。因此,需要對(duì)出幣機(jī)出現(xiàn)故障時(shí)的各信號(hào)進(jìn)行采集。
當(dāng)出現(xiàn)缺幣時(shí),出幣機(jī)空轉(zhuǎn)8秒后會(huì)處于停機(jī)狀態(tài),此時(shí)無(wú)出幣信號(hào);當(dāng)出現(xiàn)卡幣時(shí),出幣信號(hào)為低電平且會(huì)隨機(jī)出現(xiàn)一些干擾脈沖,造成系統(tǒng)計(jì)數(shù)不準(zhǔn)。因此,除了在硬件上采用光電隔離和快速瞬變脈沖群抑制措施,保證出幣機(jī)出現(xiàn)故障時(shí)的信號(hào)區(qū)別于其它信號(hào)外,在軟件上也要對(duì)出幣信號(hào)進(jìn)行軟件濾波處理,若在一定時(shí)間內(nèi)檢測(cè)不到出幣信號(hào),則要提示出幣機(jī)出現(xiàn)故障并報(bào)警處理。
4 結(jié)束語(yǔ)
本文介紹了一個(gè)基于RS-485通訊的智能化游戲機(jī)代幣出幣機(jī)的系統(tǒng)設(shè)計(jì),經(jīng)過(guò)測(cè)試與調(diào)試,已實(shí)際應(yīng)用在動(dòng)漫游戲場(chǎng)。該自動(dòng)出幣機(jī)避免了人工出幣機(jī)出現(xiàn)的低效、易出錯(cuò)、管理成本高等問(wèn)題,實(shí)現(xiàn)終端出幣機(jī)與上位機(jī)管理系統(tǒng)的網(wǎng)絡(luò)化、智能化的連接,配以IC卡的自助管理,簡(jiǎn)化了動(dòng)漫游戲場(chǎng)所的管理。隨著各地動(dòng)漫場(chǎng)所的興起,本系統(tǒng)具有廣泛的市場(chǎng)前景。
參考文獻(xiàn):
[1] 李江全,劉榮.單片機(jī)數(shù)據(jù)通信及測(cè)控應(yīng)用技術(shù)詳解[M].北京:電子工業(yè)出版社,2011.
[2] 張萌,和湘,姜斌.單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)綜合實(shí)例[M].北京:清華大學(xué)出版社,2007.
[3] 楊振野.IC卡技術(shù)及其應(yīng)用[M].北京:科學(xué)出版社,2006.