本節(jié)介紹將IC卡用于各行業(yè)從業(yè)人員的登記管理,此處以從事餐飲業(yè)人員的健康狀況卡為例。之所以稱其為終端機,是因為該系統(tǒng)既可聯(lián)網(wǎng)使用,也可單機使用。
一、系統(tǒng)硬件結(jié)構(gòu)
系統(tǒng)結(jié)構(gòu)如圖1 - 118所示。
工作過程簡介:首先由PC機通過串口與終端機通信,將從事餐飲業(yè)人員的有關(guān)信息寫入終端機,如:姓名、年齡、單位、各種病史、有無傳染
病及醫(yī)療檢測機構(gòu)從業(yè)審批意見等;然后再由終端機將該信息寫入IC卡,管理人員可隨時持IC卡終端機對從業(yè)人員的健康狀況進行抽查。
MCU采用80C31。由于本系統(tǒng)漢字信息量較大,故使用點陣式LCD屏顯示相關(guān)漢字信息;另配置對系統(tǒng)進行操作的行列式鍵盤,由80C31的I/O口直接構(gòu)成。按鍵包括讀卡、滾屏查閱及必要的信息寫入等。
1.IC卡選型
目前,世界上IC卡的生產(chǎn)廠家很多,國內(nèi)使用較多的主要有ATMEL,SIEMENS,GEM-PLUS等公司的產(chǎn)品。
ATMEL公司的產(chǎn)品中,AT24CXX系列因其讀/寫與被廣泛使用的I2 C總線兼容(有成熟的讀/寫程序模塊),故編程相對容易。但其大容量的IC卡中暫無加密型號,而本節(jié)所用的IC卡既要求有8K位以上的容量,又要求有加密功能,故選用SIEMENS公司的SLE4428型IC卡。該卡具有8K位Ez PROM和2字節(jié)的可編程保密代碼。詳細使用情況請參閱SIE-MENS公司相應(yīng)型號IC卡的技術(shù)資料。
2.漢化實現(xiàn)
由于從業(yè)人員登記卡采用全漢字顯示,漢字用量較大,故選用GB5199A漢字庫芯片,內(nèi)含國標一、二級漢字庫。漢字庫部分的電路如圖1 - 119所示。
每個漢字占32個連續(xù)的字節(jié)單元,尋址訪問漢字庫由國標碼作為地址直接尋址。但由于漢字國標碼是不連續(xù)的,不能和GB5199A的地址一一對應(yīng),因此用門陣列B202進行地址轉(zhuǎn)換(若使用較新的漢字庫芯片GB5199B,則可省去該器件),完成漢字庫尋址。
GB5199A共18根地址線,但80C31只有16根地址線,需要進行尋址擴展。常用的有I/0口線擴展和本節(jié)所用的擴展方法。由于每個漢字占32個連續(xù)的字節(jié),故可將其視為一個大的尋址單元,用5根地址線細分尋址。
圖1 - 119中用了兩根片選線:一根選擇74HC573,另一根選擇GB5199A。采用74HC573是因為該芯片較常用的74LS273或74LS373等在印刷電路板時更易于布線。操作時首先將32字節(jié)的低字節(jié)地址以數(shù)據(jù)的形式送出并鎖存至74HC573(注意:鎖存的是代表地址的數(shù)據(jù),而非地址,應(yīng)確保操作時序的正確性);然后,按國標碼尋址GB5199A,讀取漢字字模;將漢字字節(jié)地址加1,重復(fù)上述操作32次,即為該漢字的字模點陣。
LCD屏為128×64點陣,可顯示4行×8列漢字。獲取LCD所需負壓的方法有很多,MAXIM公司有一系列芯片可進行各種電壓轉(zhuǎn)換,如MAX749。本系統(tǒng)所采用的方法較為巧妙,
由于需要串行數(shù)據(jù)通信,此處使用了MAX232E芯片。該芯片有一個不常被使用的附加功能,即可提供+5~士10 V雙充電泵電壓變換器,相關(guān)電路如圖1- 120所示,負壓由V-引腳得到。
正常工作時,用作Cl~C4的電容器類型要求不是很高,典型的電容值為1μF。當從V+或V-端取出功率時,加大充電泵的電容值(可達10 μF)有助于維持性能。
3.低功耗系統(tǒng)設(shè)計
首先,盡可能選取CMOS芯片。對各芯片的片選要嚴格加以限制,只有在對器件操作時才使其有效,以降低系統(tǒng)功耗。對沒有CMOS型號的芯片,設(shè)計成選通供電的方式,即只在芯片工作時,才提供工作電壓VCCB;否則,電源切斷,如圖1- 121所示。
當經(jīng)過一定時間沒有對系統(tǒng)施加任何操作時,本系統(tǒng)將自動進入80C31的掉電/睡眠方式。也可設(shè)計成定時自動關(guān)機,以降低功耗。
二、軟件結(jié)構(gòu)
程序流程圖見圖1 - 122。