摘 要:本文著重介紹了ATM出鈔機的基本結(jié)構(gòu)和工作原理,并對控制系統(tǒng)的硬件和軟件設(shè)計進行了詳盡的描述,給出了ATM出鈔機控制系統(tǒng)的軟、硬件結(jié)構(gòu)框圖。
關(guān)鍵詞:嵌入式系統(tǒng);ATM;出鈔機
Abstract: This paper decribes the principle and structure of Automatic Teller Machine, and exhaustively introduces its design of software and hardware.
Keywords: Embedded System ATM Dispenser
1 前言
ATM的核心部件是出鈔機,它是集電子、機械于一體的自動化裝置,到現(xiàn)在為止,只有幾個發(fā)達國家可以研發(fā)和制造,但隨著我國機械制造和自動控制技術(shù)的提高,完全有能力研制出適合中國國情的ATM出鈔機。
2 出鈔機的機械結(jié)構(gòu)
ATM出鈔機一般由上、下兩功能模塊組成:上層為驗鈔、送鈔、廢鈔回收模塊;下層為鈔箱及挖鈔塊(由1~4個結(jié)構(gòu)相同的挖鈔單元成),其結(jié)構(gòu)示意圖如圖1所示。驗鈔及送鈔模塊的作用是對由鈔模塊挖出的每張鈔票進行高度以及傾斜度進行檢測,通過控制揀器把不合格的鈔票送進廢鈔箱合格的鈔票則送到疊鈔器,最后由鈔機械手把整疊的鈔票送到出鈔,完成一次出鈔操作。如客戶超時取款,則把鈔票收回并放到回鈔箱挖鈔模塊的作用是放置鈔箱并根據(jù)指令把鈔票從鈔箱中一張一張地挖出來,挖鈔方式有兩種:真空吸鈔和摩擦出鈔。這兩種方式各有千秋,真空吸鈔精確可靠,容易維護,但出鈔速度較慢(1~2張/秒),目前只有NCR公司使用。而摩擦出鈔技術(shù)的優(yōu)點是出鈔速度快(5~7張/秒),為絕大部分ATM廠商所采用。

3 系統(tǒng)的硬件設(shè)計
整個系統(tǒng)的采用嵌入式處理器LPC2212作為系統(tǒng)主要功能就是通過各種電子電路驅(qū)動電磁閥、單、雙向電機和步進電機,以實現(xiàn)對整個出鈔模塊的所有機械部件的動作,并對各種開關(guān)量輸入(如光電傳感器、微動開關(guān)等)和各種物理參數(shù)測量電路的直流電壓信號(如單張、整疊鈔票厚度)做實時、連續(xù)的檢測,根據(jù)檢測結(jié)果及時調(diào)整機械部件的動作,保障顧客在取鈔過程中的正確、安全穩(wěn)定運行。同時,在運行過程中出現(xiàn)故障時能夠記錄故障狀態(tài),給出錯誤代碼,并進行相應(yīng)的故障處理,為維護人員提供準(zhǔn)確的參考數(shù)據(jù)。控制系統(tǒng)的硬件結(jié)構(gòu)如圖2所示。

3.1 LPC2212嵌入式處理器電路
LPC2212是基于一個支持實時仿真和跟蹤的32位ARM7TDMI-STM CPU的微控制器,并帶有128KB嵌入的高速片內(nèi)Flash存儲器。片內(nèi)128位寬度的存儲器接口和獨特的加速結(jié)構(gòu)使32位代碼能夠在最大時鐘頻率下運行。對代碼規(guī)模進行嚴格控制可以使用16位Thumb模式將代碼規(guī)模降低超過30%,而性能的損失卻很小。LPC2212功耗極低,其具有的多個32位定時器、8路10位ADC以及9個外部中斷使它特別適用于工業(yè)控制、醫(yī)療系統(tǒng)、訪問控制和POS機。
3.2 電源電路
電源部分采用DC/DC變換線性電源,提供5V、3.6V、3.3V和1.8V各等級的電壓,并采用大容量鋰電池作為后備電源以及存儲器掉電電池,在系統(tǒng)斷電的情況下,保證所存儲的鈔票相關(guān)的信息和出鈔模塊的故障記錄不丟失。
3.3 通信接口和在線編程電路
為了方便與控制主機的連接,系統(tǒng)的通信接口包括RS232和USB接口,接收從主機發(fā)送來的控制命令;在線編程電路完成系統(tǒng)程序的下載使系統(tǒng)具有ISP的功能。
3.4 鈔票厚度信號采集電路
本系統(tǒng)采用電渦流傳感器對鈔票的厚度進行采集,電渦流傳感器能靜態(tài)和動態(tài)的非接觸、高線性度、高分辨率地測量被測金屬導(dǎo)體表面與探頭表面的距離,將位置信號轉(zhuǎn)換成模擬電壓信號,然后通過CPU內(nèi)部的10位高精度ADC進行轉(zhuǎn)換,檢測精度可以達到0.005mm。
3.5鍵盤和顯示電路
鍵盤和顯示電路的主要功能是在沒有外部主機的情況下,維護人員也可以對出鈔模塊進行相應(yīng)的操作,通過鍵盤輸入相應(yīng)的命令,并將執(zhí)行結(jié)果在LED上顯示出來。LED顯示采用靜態(tài)方式,通過CPU的串口和74LS164串行移位來實現(xiàn),大大節(jié)省了CPU資源。
3.6 FPGA電路
為了簡化硬件電路結(jié)構(gòu),提高統(tǒng)的集成度和可靠性,減輕應(yīng)用系統(tǒng)中處理器的負擔(dān),采用了基于FPGA的步進電機控制電路;同時在FPGA
4 系統(tǒng)的軟件設(shè)計
出鈔模塊系統(tǒng)的軟件設(shè)計引入實時操作系統(tǒng)(RTOS)概念,采用μC/OS-Ⅱ?qū)崟r嵌入式操作系統(tǒng)作為系統(tǒng)軟件的核心。本系統(tǒng)的軟件基于3層設(shè)計,包括硬件驅(qū)動層、操作系統(tǒng)層和用戶應(yīng)用層。
4.1硬件驅(qū)動層
驅(qū)動程序是硬件和軟件之間的橋梁,任何一個硬件設(shè)備都需要加載驅(qū)動程序才能被系統(tǒng)正常識別和支持,這種固化在了硬件中的軟件被稱為Firmware,也叫固件。它存儲著系統(tǒng)中硬件設(shè)備最基本的參數(shù),為系統(tǒng)提供最底層、最直接的硬件控制。本設(shè)計中所采用的硬件驅(qū)動主要有存儲驅(qū)動、通信接口驅(qū)動、I/O驅(qū)動以及鍵盤和顯示驅(qū)動。
4.2 操作系統(tǒng)層
μC/OS-Ⅱ是由世界著名嵌入式專家Jean Labrosse編寫的嵌入式實時操作系統(tǒng)[3],具有源碼公開、可移植、可固化、可裁剪、穩(wěn)定性和可靠性高及占先式的特點。實際上μC/0S-Ⅱ可以簡單的看作是一個多任務(wù)調(diào)度器,在這個任務(wù)調(diào)度器上完善地添加了與多任務(wù)操作系統(tǒng)相關(guān)的一些系統(tǒng)服務(wù),如信號量、郵箱等。其90%的代碼是用C語言編寫的,可以直接移植到有C語言編譯器的處理器上。移植工作主要都集中在多任務(wù)切換的實現(xiàn)上,因為這部分代碼用來保存和恢復(fù)CPU現(xiàn)場(即寫/讀相關(guān)寄存器),不能用C語言,只能用匯編語言完成。將μC/OS-Ⅱ移植到ARM處理器上,需要修改三個與ARM體系結(jié)構(gòu)相關(guān)的文件,這三個文件是:OS_CPU.H、OS_CPU_C.C、OS_CPU_A.S。
4.3 用戶應(yīng)用程序?qū)?BR>
嵌入式系統(tǒng)中,最重要的就是應(yīng)用程序,只有開發(fā)出好的應(yīng)用程序,整個系統(tǒng)才有價值。根據(jù)出鈔模塊所要實現(xiàn)的功能,本文設(shè)計了通信任務(wù)、挖鈔任務(wù)、送鈔任務(wù)、未取鈔回收任務(wù)、通道清理與復(fù)位任務(wù)、獲取鈔箱信息任務(wù)、出鈔口檢測任務(wù)、拒絕任務(wù)、顯示任務(wù)、故障記錄任務(wù)。
通信任務(wù)
出鈔模塊通信任務(wù)負責(zé)系統(tǒng)和上位機控制機的通信,接收控制機發(fā)送來的命令包,將命令進行解析,分發(fā)。出鈔模塊在執(zhí)行命令后,將以一定格式將命令的執(zhí)行結(jié)果返回到PC主機,在執(zhí)行命令過程中出鈔模塊不接收命令,直到命令返回。
挖鈔任務(wù)
此任務(wù)的功能是執(zhí)行控制主機所分配的各個鈔箱的出鈔數(shù)量在對每個通道鈔箱進行挖鈔操作時都要對鈔票進行檢測,如果有尺寸或者厚度不合格的,則打開分揀器將其送入廢鈔箱中,將合格的鈔票送到疊鈔板上,整個命令執(zhí)行完成后將各個鈔箱的出鈔數(shù)量和廢鈔數(shù)量返回到主機。
送鈔任務(wù)
此任務(wù)的主要功能是把疊鈔板的鈔票通過機械手送到閘門口,取款人就可以將鈔票拿走。在送鈔過程中,隨時根據(jù)各個傳感器的狀態(tài),控制傳送的位置,給出相應(yīng)的提示,保證鈔票在傳送過程中的安全。
出鈔口檢測任務(wù)
此任務(wù)的主要功能是檢測閘門口的鈔票是否被拿走,并將信息返回到主機,如果檢測到鈔票已經(jīng)拿走,機械手將回到原始位置。
未取鈔回收任務(wù)
如果在銀行規(guī)定的時間內(nèi)(一般是30秒,時間由主機控制軟件控制)閘門口的鈔票都未拿走,控制主機將發(fā)送此命令,通知出鈔模塊將閘門口鈔票回收,送入回收箱中。
拒絕任務(wù)
拒絕任務(wù)的功能是在挖鈔過程中出現(xiàn)了故障,整個挖鈔未成功執(zhí)行,或者是挖鈔執(zhí)行成功,但由于某些原因,不能進行送鈔操作,此時將出鈔模塊將疊鈔板上的鈔票送入回收箱中。
通道清理與復(fù)位任務(wù)
此任務(wù)的主要功能是復(fù)位出鈔內(nèi)部寄存器、清理挖鈔通道和通道,如果有殘余鈔票在通道則將其送入回收箱,同時檢測部件是否正常。ATM主機軟件動時,首先要啟動此任務(wù)對出鈔模塊進行通道清理和復(fù)位,出鈔模塊將相應(yīng)的執(zhí)行結(jié)果返回到控制主機,如果出鈔模塊有故障返回碼,表示出鈔模塊不能正常工作,ATM主機控制軟件需要停止取款的功能,并給出相應(yīng)的故障提示,等待維護。
5 結(jié)束語
由于篇幅所限,本文只能從出鈔模塊系統(tǒng)的功能著手對整個系統(tǒng)的結(jié)構(gòu)、硬件和軟件組成做一個簡單的介紹。本文所介紹的出鈔模塊系統(tǒng)已應(yīng)用于ATM機中,實踐證明,系統(tǒng)可靠穩(wěn)定。
參考文獻
1. 羅永道.羅徽.廖寧放.基于uC/OS的嵌入式系統(tǒng)通信接口設(shè)計.微處理機,2000.8.
2.周立功等編著. ARM嵌入式系統(tǒng)軟件開發(fā)實例. 北京航空航天大學(xué)出版社,2004
3.艾克武等譯. 嵌入式系統(tǒng)的C程序設(shè)計.機械工業(yè)出版社,2002