IC卡讀寫機(jī)的研制
文章出處:http://56733.cn 作者:史百舟馮秀娟趙向陽 劉君華 人氣: 發(fā)表時(shí)間:2011年10月20日
[文章內(nèi)容簡介]:給出了自行研制的IC卡讀寫機(jī)的實(shí)際電路,講述了各部分電路的功能、接口及編程方法。
1 引言 IC卡在工農(nóng)業(yè)生產(chǎn)、人民生活中的應(yīng)用越來越廣泛,其種類也越來越多,市場(chǎng)上常見的IC卡寫卡機(jī)產(chǎn)品一般都接到計(jì)算機(jī)上,本身不是一個(gè)獨(dú)立的儀表,而一些不需要接到計(jì)算機(jī)上的產(chǎn)品也都是有某些特殊用途的。選購寫卡機(jī)時(shí),常發(fā)現(xiàn)難買到滿意的產(chǎn)品。因此,我們開發(fā)出一種IC卡寫卡機(jī),用于自行研制的IC卡電能管理系統(tǒng)。本文給出的硬件電路具有通用性,可以根據(jù)不同需要增減。軟件將以電能收費(fèi)寫卡機(jī)為例加以說明。我們?cè)O(shè)計(jì)的IC卡電能收費(fèi)系統(tǒng)包括三個(gè)部分:寫卡機(jī),電卡和電能收費(fèi)控制器。電卡是寫卡機(jī)與控制器間傳遞信息的媒介,它有四種卡型,即開戶卡、補(bǔ)電卡、購電卡和檢查卡。電能收費(fèi)控制器可與一般電度表配合使用,按照購電卡輸入的信息及用電情況自動(dòng)完成抄表、收費(fèi)和控制線路的通/斷等工作。寫卡機(jī)可用于完成對(duì)各種電卡的操作,可以用作鐘表,可以打印數(shù)據(jù),還可以直接將該寫卡機(jī)的數(shù)據(jù)長途傳輸?shù)焦╇姽芾聿块T。 2 寫卡機(jī)的設(shè)計(jì)方案 寫卡機(jī)的硬件電路總體框圖如圖1所示。 寫卡機(jī)的硬件電路包括打印機(jī)接口電路,8279等構(gòu)成的鍵盤顯示電路,DS12887組成的時(shí)鐘及掉電重要信息保護(hù)電路,與供電管理部門進(jìn)行信息傳遞的MODEM接口電路,IC卡接口電路,數(shù)據(jù)存儲(chǔ)器和復(fù)位電路等。下面對(duì)其中的一些電路進(jìn)行討論。 2.1 單片機(jī)與IC卡接口 由于IC卡的邏輯接口電路一般采用集電極開路輸出及非嵌位保護(hù)式輸入結(jié)構(gòu),故在IC卡與單片機(jī)的接口電路中加入上拉電阻R1,R2,…,R6。嵌位二極管D1,D2,…D10把IC卡各引腳上的電壓嚴(yán)格地限制在-VD與VD+5V之間(VD是嵌位二極管的正向壓降,通常為0.6V左右)。這樣可以抑制由于線路干擾和邏輯電平變化的邊沿產(chǎn)生抖動(dòng)帶來的瞬態(tài)過壓,這就為IC卡提供了進(jìn)一步的保護(hù)。 電卡選用AT88SC102,配合使用的卡座有十個(gè)腳,其中GND腳接地,Vcc腳接+5V電源。Vpp腳是編程電壓輸入端,AT88SC102不需要它,將其接地。CLK腳為時(shí)鐘輸入端,RST腳為復(fù)位信號(hào)輸入端,I/O腳為雙向數(shù)據(jù)輸入輸出端,F(xiàn)US腳用于對(duì)AT88SC102進(jìn)行熔斷操作,PGM腳為編程信號(hào)輸入端,由于芯片內(nèi)部有升壓電路,因此不需要讀寫設(shè)備提供高壓Vpp信號(hào),而采用PGM信號(hào)作編程通知。SW1接地,配合SW2判斷卡是否插入。 卡的操作流程包含7個(gè)子程序:識(shí)別卡是否插入,復(fù)位,地址定位,讀卡,寫卡,擦處卡中數(shù)據(jù),密碼比較。寫卡程序因完成的任務(wù)不同而略有區(qū)別,下面以購電卡為例,給出讀、寫卡部分的子程序框圖 。 2.2 寫卡機(jī)與供電管理部門的通信 圖5中,MC1488用于把TTL電平轉(zhuǎn)換為RS232電平,MC1489用于把RS232電平轉(zhuǎn)換為TTL電平。實(shí)現(xiàn)寫卡機(jī)與供電管理部門的通信任務(wù),就是由寫卡機(jī)的單片機(jī)即89C51的串行口向MODEM發(fā)送一系列AT命令,發(fā)送數(shù)據(jù),經(jīng)長話線路送給供電管理部門的計(jì)算機(jī);89C51通過MC1489從MODEM那里接收由供電管理部門的計(jì)算機(jī)發(fā)來的信號(hào)狀態(tài)、回答碼或命令。 2.2.1 89C51的串口初始化程序及發(fā)送子程序 程序中AT&F為初始化命令,參見參考文獻(xiàn)1。當(dāng)工作方式需要時(shí)可以修改初始化字符。 2.2.3 MODEM的撥號(hào)子程序 設(shè)要撥號(hào)電話號(hào)碼為3212,有 2.2.4數(shù)據(jù)發(fā)送子程序 在公共電話網(wǎng)上進(jìn)行兩站之間通信時(shí),兩個(gè)MODEM需要工作在不同的方式。一方為呼叫端,另一方為應(yīng)答端。當(dāng)工作在呼叫端時(shí),撥號(hào)后檢測(cè)載波信號(hào)。當(dāng)檢測(cè)到載波時(shí),調(diào)用子程序FAS1,發(fā)送數(shù)據(jù)。當(dāng)工作在應(yīng)答端時(shí),檢測(cè)振鈴信號(hào)。當(dāng)檢測(cè)到振鈴信號(hào)時(shí),調(diào)用子程序FAS,發(fā)送數(shù)據(jù)。 假設(shè)要發(fā)送的數(shù)據(jù)為3875,有: 2.3 單片機(jī)與微型打印機(jī)、數(shù)據(jù)存儲(chǔ)器及實(shí)時(shí)時(shí)鐘芯片DS12887的接口 圖6的電路中,微型打印機(jī)選用啟東計(jì)算機(jī)廠的LH系列微型打印機(jī),DATA0~DATA7為打印機(jī)的數(shù)據(jù)輸入口;BUSY為打印機(jī)的狀態(tài)輸出信號(hào),高電平時(shí)表示打印機(jī)忙,不能接受數(shù)據(jù);STB為數(shù)據(jù)選通信號(hào),上升沿時(shí)讀入數(shù)據(jù)。由于單片機(jī)的口線已經(jīng)用完,不能直接將STB連接到單片機(jī),若加入并行口擴(kuò)展芯片則因?yàn)閮H用一個(gè)口線而造成大量資源的浪費(fèi)。圖6中將2~4譯碼器的Y1端經(jīng)反向器接于打印機(jī)的STB端,一般情況下Y1為高電平,STB為低電平,當(dāng)2~4譯碼器選通Y1時(shí),Y1由高電平變?yōu)榈碗娖?,?jīng)過反相器反相后,STB端有一個(gè)上升沿產(chǎn)生,打印機(jī)讀入數(shù)據(jù)并打印。用戶購電后,打印機(jī)打印出購電收據(jù)。 實(shí)時(shí)時(shí)鐘DS12887包含一個(gè)鋰電池、石英晶振和寫保護(hù)電路,是一個(gè)具有多種功能的完整的子系統(tǒng)。其非易失時(shí)鐘和百年歷功能令寫卡機(jī)具有鐘表功能,該鐘表可顯示秒、分、時(shí)、天、星期、日、月、年并有閏年補(bǔ)償功能、夏令時(shí)功能和12小時(shí)、24小時(shí)顯示模式。DS12887的非易失靜態(tài)RAM可以存放寫卡機(jī)的一些重要信息。DS12887的可編程中斷、警報(bào)器功能可以使寫卡機(jī)每天或每小時(shí)向供電管理部門發(fā)送一次數(shù)據(jù)。DS12887的可編程方波發(fā)生器,可以在SQW端接蜂鳴器產(chǎn)生間隔不同的聲音報(bào)警,提示不同類型的錯(cuò)誤。 2.4 鍵盤顯示電路 鍵盤顯示電路使用了芯片8279,其接口電路如圖7所示。 采用雙16位數(shù)碼管顯示,使操作者和購電者可以同時(shí)看到顯示的數(shù)據(jù),16位分兩排顯示,上面一排6位指示顯示類型,下面一排顯示數(shù)據(jù)。由3—8譯碼器的Y0,…,Y7與8279的RL0,RL1,RL2組成具有24個(gè)鍵的鍵盤,如果鍵不夠用,可以引出RL3,RL4等,最多可有64個(gè)鍵。 3 結(jié)束語 按照本文給出的寫卡機(jī)設(shè)計(jì)方法,我們?cè)O(shè)計(jì)了IC卡電能收費(fèi)系統(tǒng)的寫卡機(jī),經(jīng)長期使用證明,本設(shè)計(jì)方案具有設(shè)計(jì)合理、工作可靠、功能齊全、抗干擾能力強(qiáng)等優(yōu)點(diǎn)?,F(xiàn)在,該寫卡機(jī)已被幾家公司采用 。
本文關(guān)鍵詞:IC卡,讀寫機(jī),單片機(jī)
上一篇:基于89C51的IC卡讀寫器設(shè)計(jì)與實(shí)現(xiàn)[ 10-20 ]
下一篇:基于MF RC500的射頻識(shí)別讀寫器設(shè)計(jì)[ 10-20 ]