二代身份證智能采集器研究與開發(fā)
引 言
本文引用地址:http://www.ex-cimer.com/article/77962.htm隨著二代身份證的換發(fā)工作的推進,我國需要使用二代身份證的領域越來越廣泛。由于二代身份證件是射頻智能卡,可以通過二代身份證閱讀器來讀取身份信息,這為提高工作效率和錄入信息的準確度提供了條件,但是二代證閱讀器在銀行、電信、郵政等行業(yè)推廣使用仍有很大障礙。這是因為這些行業(yè)的業(yè)務終端一般都使用非windows操作系統(tǒng)的終端,但是二代證閱讀器生產(chǎn)廠家提供的只是windows系統(tǒng)下的SDK開發(fā)包,使用戶無法在這些行業(yè)進行二次開發(fā)。即便是windows系統(tǒng),有些行業(yè)也不希望因為使用二代證閱讀器而改動自己軟件系統(tǒng)?;谶@樣情況,我們設計開發(fā)了二代身份證智能采集器,可以有效解決這個問題。二代身份證智能采集器是配合第二代居民身份證閱讀器在銀行、電信、郵政等領域應用的第二代居民身份證信息自動錄入工具,二代身份證智能采集器可以實現(xiàn)在不改變銀行、電信、郵政等行業(yè)應用設備、軟件的情況下,實現(xiàn)對第二代居民身份證信息的自動錄入,消除手動錄入錯誤,減少工作量,提高效率。
1、設計方案分析
1.1硬件設計
智能采集器通過RS232串口連接線與二代身份證閱讀器的串口相連,通過鍵盤PS/2接口連接線與PC機或終端的PS/2接口相連,使標準鍵盤與智能采集器有效隔離,用戶在使用智能采集器的同時,也可使用標準鍵盤,實現(xiàn)智能采集器與標準鍵盤的分時復用。二代身份證閱讀器是基于射頻卡技術的身份證信息讀取設備,能快速準確地讀取二代證中的身份密文信息。本智能采集器可以獨立完成與二代身份證閱讀器的驗證及通信,同時可以讀取并保存閱讀器發(fā)過來相應身份證的信息,然后通過內(nèi)部高速MCU進行運算和編碼,把接收到的RS232信號轉(zhuǎn)換標準PS/2鍵盤信號,直接輸入計算機顯示相應的信息。
智能采集器的系統(tǒng)邏輯框圖如圖1所示。
圖1智能采集器的系統(tǒng)邏輯框圖
硬件結構原理圖如圖2所示
圖2、智能采集器硬件結構原理圖
智能采集器的主控MCU為STC89C516RD+[1],該單片機是宏晶科技公司推出的新一代超強抗干擾、高速、低功耗的MCU,其指令代碼完全兼容傳統(tǒng)8051單片機, 其晶振為11.0592MHz,串行接口電平轉(zhuǎn)換芯片為ADM202,模擬開關CD4066實現(xiàn)了專用鍵盤與標準鍵盤的分時復用,電源直接從主機的PS/2口供電,蜂鳴器和指示燈由CPU控制。
1.2軟件設計
智能采集器的軟件工作流程如圖3所示:
圖3 程序工作原理圖
系統(tǒng)通過RS-232通信接口發(fā)送命令請求到第二代身份證閱讀器,讀出證件信息;經(jīng)過驗證后,保存到智能采集器中;再等待系統(tǒng)定義的熱鍵按下,一旦有熱鍵按下,智能采集器將相應的信息取出;處理之后發(fā)送到PC機的PS/2鍵盤接口,在光標閃爍處顯示相應信息。
本系統(tǒng)包括系統(tǒng)初始化(如各寄存器初始化、串口初始化、端口初始化等) 、數(shù)據(jù)采集、GBK編碼轉(zhuǎn)換、鍵盤事件處理、數(shù)據(jù)發(fā)送等模塊。采用軟件控制程序的循環(huán)執(zhí)行,以達到實時檢測并發(fā)送信息的目的。
在數(shù)據(jù)通信方面,使用了單片機自帶的USART通用同步異步接收傳輸器,采取異步工作模式,8位數(shù)據(jù)格式。因此需在程序啟動時對相關寄存器進行初始化。同時須與身份證閱讀器同步傳輸波特率。
由于CPU使用11.0592MHz的晶振,采用高速通信模式,根據(jù)文獻2可得公式:
要計算的波特率= 2SMOD.Fosc/64,設置波特率為9600,F(xiàn)osc應等于FDH。
MOVLW FDH
MOVWF SPBRG ;設置波特率為9600
通信亦采用輪詢方式[3],智能采集器通過連接端口,不斷向身份證閱讀器發(fā)送卡片輪詢命令(命令格式:AA AA AA 96 69 00 03 20 01 22),當收到應答信息為(AA AA AA 96 69 00 08 00 00 9F 00 00 00 00 97)時,則表示閱讀器已經(jīng)檢測到有效的二帶身份證卡了,然后進行相關數(shù)據(jù)采集處理。使用MOV INDEX, W語句取得接收身份證數(shù)據(jù),使用MOV SDA,C 語句發(fā)送命令數(shù)據(jù)。
出錯處理部分對主流程和按鍵輪詢部分分別進行糾錯。為防止程序進入死循環(huán),添加了斷電功能,用于對智能采集器的重啟糾錯。
系統(tǒng)采用結構化程序設計方案,具有較好的模塊性、可移植性和可修改性;系統(tǒng)通過主控流程管理和調(diào)度其他模塊,其主程序流程如圖4:
圖4 主程序流程圖
2關鍵技術分析
2.1漢字編碼轉(zhuǎn)換
為了進行漢字信息處理,國家專門于1981年頒布了國標GB2312――《信息交換漢字編碼字符集》。其中共收集了漢字6763個,并確定每個漢字采用兩字節(jié)編碼。區(qū)位碼和國際碼這兩種漢字編碼都由國標GB2312規(guī)定??紤]到GB2312支持的漢字太少,1995年的漢字擴展規(guī)范GBK1.0收錄了21886個符號,它分為漢字區(qū)和圖形符號區(qū)。漢字區(qū)包括21003個字符。2000年的GB18030是取代GBK1.0的正式國家標準。它是對GBK和GB2312編碼的進一步擴充[4]。
由于第二代身份證卡內(nèi)存儲的漢字信息為GB13000編碼,考慮到本智能采集器除了應用于銀行、電信、郵政等終端設備相連外,還需要和其他PC機相連,對于連接PC機,經(jīng)測試目前windows98以上的操作系統(tǒng)都支持GB1300,可以將閱讀器中的漢字編碼直接顯示,而當前許多終端設備主要使用GB2312字庫、GBK字庫、GB18030字庫,這就需要根據(jù)終端支持的字庫不同,將閱讀器中的漢字編碼進行適當?shù)奶幚砗箫@示在不同類型的終端設備上。鑒于此,我們在設計中考慮到漢字編碼的兼容性和用戶操作的方便性,選擇在智能采集器中采用GBK漢字庫,并建立GB1300和GBK對應的編碼字典,如果終端設備只支持GB2312字庫,則在讀取閱讀器中的漢字編碼后,通過查找字典,將GB1300編碼轉(zhuǎn)換為對應的區(qū)位碼,對于不能查找到的冷僻字,則自動忽略;如果終端設備支持GBK或GB18030,則輸出GBK編碼直接顯示。實踐證明,該方案不僅可以兼容當前絕大部分終端設備,而且能無縫連接到PC機上的各類應用。
2.2專用鍵盤和標準鍵盤的分時復用
由于本程序要實現(xiàn)采集器專用鍵盤與宿主機標準鍵盤的分時復用,所以按照使用手冊將相關插頭、插座對接。根據(jù)程序檢測相應針腳的電平高低來判斷允許那個數(shù)據(jù)信號輸出,從而通過選擇不同的輸入地址線,選擇不同的輸入設備,達到分時復用的目的。
2.3身份證數(shù)據(jù)幀格式解析
公安部已經(jīng)嚴格規(guī)定了二代證的信息儲存格式如表1所示:
表一: 二代身份證數(shù)據(jù)格式
智能采集器通過輪詢發(fā)現(xiàn)二代證閱讀器中已經(jīng)存在身份信息時,則向連接端口發(fā)送AA AA AA 96 69 00 03 30 01 32命令,可以按照上面給定的格式讀取相應的數(shù)據(jù)信息。其中:性別字段目前的代碼為1-男,2-女,9-其他;家庭住址字段中注意‘-’的識別;追加信息字段表示地址變更信息,若沒有變更,則該字段為空;對于照片信息,智能采集器只是負責將編碼信息按特定的字符流傳輸?shù)浇K端或PC機上,然后使用公安部提供的SDK解密顯示圖像;目前只能在windows 平臺上實現(xiàn)圖像顯示。
3、結束語
本智能采集設備支持即插即用,采用專用鍵盤設計,不需要切換輸入法,在銀行、電信、郵政等行業(yè)應用時,不需要對原有系統(tǒng)的軟硬件作任何改動,即可進行第二代居民身份證信息的自動錄入操作;使用方便快捷。通過實際應用于成都市建設銀行部分支行前臺營業(yè)服務系統(tǒng)表明:本設計方案消除手動錄入錯誤,減少工作量,提高了工作效率。
蜂鳴器相關文章:蜂鳴器原理
評論