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

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

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