原创 二代身份证智能采集器研究与开发

2009-8-13 23:08 1648 4 4 分类: MCU/ 嵌入式
摘  要:随着二代身份证的广泛使用,如何使二代身份证阅读器与各种平台的相关应用协同工作的问题越来越突出。本文研究设计了一种智能采集器, 实现了二代身份证信息的平台无关智能读取,可以和银行、电信等现有应用实现无逢连接,工程实践表明,该方案切实可行。
*PY |$`&IN0关键词:二代证;智能采集器;单片机;电子园51单片机学习网7Y#o4u+c$Xa
e}R7{h TJ4R0

0  引  言

电子园51单片机学习网Tc8LeSZL+Q6`

随着二代身份证的换发工作的推进,我国需要使用二代身份证的领域越来越广泛。由于二代身份证件是射频智能卡,可以通过二代身份证阅读器来读取身份信息,这为提高工作效率和录入信息的准确度提供了条件,但是二代证阅读器在银行、电信、邮政等行业推广使用仍有很大障碍。这是因为这些行业的业务终端一般都使用非windows操作系统的终端,但是二代证阅读器生产厂家提供的只是windows系统下的SDK开发包,使用户无法在这些行业进行二次开发。即便是windows系统,有些行业也不希望因为使用二代证阅读器而改动自己软件系统。基于这样情况,我们设计开发了二代身份证智能采集器,可以有效解决这个问题。二代身份证智能采集器是配合第二代居民身份证阅读器在银行、电信、邮政等领域应用的第二代居民身份证信息自动录入工具,二代身份证智能采集器可以实现在不改变银行、电信、邮政等行业应用设备、软件的情况下,实现对第二代居民身份证信息的自动录入,消除手动录入错误,减少工作量,提高效率。

Ow6sw2c7E0

1、设计方案分析


1.1硬件设计


 
电子园51单片机学习网r;lvwjT8].N

智能采集器通过RS232串口连接线与二代身份证阅读器的串口相连,通过键盘PS/2接口连接线与PC机或终端的PS/2接口相连,使标准键盘与智能采集器有效隔离,用户在使用智能采集器的同时,也可使用标准键盘,实现智能采集器与标准键盘的分时复用。二代身份证阅读器是基于射频卡技术的身份证信息读取设备,能快速准确地读取二代证中的身份密文信息。本智能采集器可以独立完成与二代身份证阅读器的验证及通信,同时可以读取并保存阅读器发过来相应身份证的信息,然后通过内部高速MCU进行运算和编码,把接收到的RS232信号转换标准PS/2键盘信号,直接输入计算机显示相应的信息。

m+p` nP6u`*q;@0电子园51单片机学习网+\,r8Z:A:UpC&X%] w*r

智能采集器的系统逻辑框图如图1所示。电子园51单片机学习网8J3E'SW CX9w


qE![ Jz;[^F06136_200904061301461Y5ZN.jpg

dSr L&yo0

;W%OA$H-JT-F_Y0图1智能采集器的系统逻辑框图电子园51单片机学习网D!r ^vov


8XHj$hv1j:y @A0硬件结构原理图如图2所示

J,u |?pfH(U0

jg+CE%jT@7|06136_2009040613014623Flj.jpg

DiRATeP8I\0电子园51单片机学习网"qrZ-@:a-JT

图2、智能采集器硬件结构原理图

g1f7A,ESH7},S/k0电子园51单片机学习网Zb8af*Y~I(@*M

智能采集器的主控MCU为STC89C516RD+[1],该单片机是宏晶科技公司推出的新一代超强抗干扰、高速、低功耗的MCU,其指令代码完全兼容传统8051单片机, 其晶振为11.0592MHz,串行接口电平转换芯片为ADM202,模拟开关CD4066实现了专用键盘与标准键盘的分时复用,电源直接从主机的PS/2口供电,蜂鸣器和指示灯由CPU控制。

/`r I.Q{0

1.2软件设计

电子园51单片机学习网.BK qN~^uRp

智能采集器的软件工作流程如图3所示:

8@|/@;U)U-`0电子园51单片机学习网 Z:Te#W Q^x

点击看大图 

!UFk @6}MF]y0电子园51单片机学习网#N{w#{p"z3~

P6^4F4D8K:i-U5SJf0电子园51单片机学习网7V5R&}rq|h9o+x



电子园51单片机学习网E5g&k t0E-s-^x

图3 程序工作原理图电子园51单片机学习网8c!uu G!xa:Ay

 Kr ~H~9X [0电子园51单片机学习网n G UO*Z6L1a6B,k5?


 电子园51单片机学习网{,rq2Y'k"T

电子园51单片机学习网)O,D k'z;JE;iEc

系统通过RS-232通信接口发送命令请求到第二代身份证阅读器,读出证件信息;经过验证后,保存到智能采集器中;再等待系统定义的热键按下,一旦有热键按下,智能采集器将相应的信息取出;处理之后发送到PC机的PS/2键盘接口,在光标闪烁处显示相应信息。 

@2wFTA O Cg~0

MerS3NzA8Z0本系统包括系统初始化(如各寄存器初始化、串口初始化、端口初始化等) 、数据采集、GBK编码转换、键盘事件处理、数据发送等模块。采用软件控制程序的循环执行,以达到实时检测并发送信息的目的。电子园51单片机学习网(k]:b+l;Z fsf4H


0V6[ pYq:w&R7O0在数据通信方面,使用了单片机自带的USART通用同步异步接收传输器,采取异步工作模式,8位数据格式。因此需在程序启动时对相关寄存器进行初始化。同时须与身份证阅读器同步传输波特率。电子园51单片机学习网#k^'W?+]

电子园51单片机学习网`2w8K\7lPK

由于CPU使用11.0592MHz的晶振,采用高速通信模式,根据文献2可得公式:

;^D)GY[6g0电子园51单片机学习网7yg+{@R M-L)]+f

要计算的波特率= 2SMOD.Fosc/64,设置波特率为9600,Fosc应等于FDH。电子园51单片机学习网8U#SaYNT


:{LX*\ UQ|7? g0MOVLW  FDH电子园51单片机学习网6@9T CTax4}E


F3F-^En"K0MOVWF  SPBRG                ;设置波特率为9600电子园51单片机学习网 aH(S)i]^3wB'W


v ys\3G$F*\0通信亦采用轮询方式[3],智能采集器通过连接端口,不断向身份证阅读器发送卡片轮询命令(命令格式: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)时,则表示阅读器已经检测到有效的二带身份证卡了,然后进行相关数据采集处理。使用MOV  INDEX, W语句取得接收身份证数据,使用MOV SDA,C  语句发送命令数据。 

Pns.R'?5S0

E$h!`!Ie/e/G~h6H0出错处理部分对主流程和按键轮询部分分别进行纠错。为防止程序进入死循环,添加了断电功能,用于对智能采集器的重启纠错。

6K*k2Vl x&EE,\3_0电子园51单片机学习网-t/\+SnS g0eNX

系统采用结构化程序设计方案,具有较好的模块性、可移植性和可修改性;系统通过主控流程管理和调度其他模块,其主程序流程如图4:

D5?"HJ6Nm^0电子园51单片机学习网 SU_9M(N P:o7T

6136_200904061301464ry7i.jpg电子园51单片机学习网]N;VK6g4D!i D

电子园51单片机学习网y [:KK},W

图4 主程序流程图电子园51单片机学习网4C)bJ5_8o K"\


*j:X-o r)b0
 电子园51单片机学习网#bO$JV;f5V;Co


2关键技术分析


2.1汉字编码转换


8H3Tha&J6?KZ0为了进行汉字信息处理,国家专门于1981年颁布了国标GB2312――《信息交换汉字编码字符集》。其中共收集了汉字6763个,并确定每个汉字采用两字节编码。区位码和国际码这两种汉字编码都由国标GB2312规定。考虑到GB2312支持的汉字太少,1995年的汉字扩展规范GBK1.0收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符。2000年的GB18030是取代GBK1.0的正式国家标准。它是对GBK和GB2312编码的进一步扩充[4]

}%[y"b5aZGVhD0电子园51单片机学习网.|0L~,i G"BD6n p6`4t

由于第二代身份证卡内存储的汉字信息为GB13000编码,考虑到本智能采集器除了应用于银行、电信、邮政等终端设备相连外,还需要和其他PC机相连,对于连接PC机,经测试目前windows98以上的操作系统都支持GB1300,可以将阅读器中的汉字编码直接显示,而当前许多终端设备主要使用GB2312字库、GBK字库、GB18030字库,这就需要根据终端支持的字库不同,将阅读器中的汉字编码进行适当的处理后显示在不同类型的终端设备上。鉴于此,我们在设计中考虑到汉字编码的兼容性和用户操作的方便性,选择在智能采集器中采用GBK汉字库,并建立GB1300和GBK对应的编码字典,如果终端设备只支持GB2312字库,则在读取阅读器中的汉字编码后,通过查找字典,将GB1300编码转换为对应的区位码,对于不能查找到的冷僻字,则自动忽略;如果终端设备支持GBK或GB18030,则输出GBK编码直接显示。实践证明,该方案不仅可以兼容当前绝大部分终端设备,而且能无缝连接到PC机上的各类应用。电子园51单片机学习网I M0MI@] w


2.2专用键盘和标准键盘的分时复用

电子园51单片机学习网6M7MdV` C/{

由于本程序要实现采集器专用键盘与宿主机标准键盘的分时复用,所以按照使用手册将相关插头、插座对接。根据程序检测相应针脚的电平高低来判断允许那个数据信号输出,从而通过选择不同的输入地址线,选择不同的输入设备,达到分时复用的目的。

_ZdFzZ0

2.3身份证数据帧格式解析

电子园51单片机学习网 V8w a II

   公安部已经严格规定了二代证的信息储存格式如表1所示:电子园51单片机学习网 _ tiyp8l5e7@Bl

电子园51单片机学习网;v)awC[|

表一: 二代身份证数据格式电子园51单片机学习网 Q&[9bz%pk8M5B,k l!G k

电子园51单片机学习网0TV0Pw#m(w



}*H)t5[ ['] GB3G \,g7W#P0字段名称电子园51单片机学习网 s.ky(b k


B9CZ6t%q2cS A0姓名电子园51单片机学习网#hf#b7S.j"s.ZT'H

电子园51单片机学习网X+pJ6^\/B6n~3i

性别电子园51单片机学习网 \L_Cel

电子园51单片机学习网 V%D@"r)q GK

民族

YB U$d@u8u0

I5[ x J&M6Ua0出身日期电子园51单片机学习网.NObQ9U H


4uI0P _,N#o6H0家庭住址

W [luTf{d"{5b0
电子园51单片机学习网p ]z mB2|8v]7_y

身份证号电子园51单片机学习网/ySB(_@1AJj+s+?

电子园51单片机学习网5f"v-S RO,mb^

发证机关电子园51单片机学习网d6F B { FxKH;B"m

电子园51单片机学习网q!c(I(Dv'R

有效期电子园51单片机学习网bl\&Y~

电子园51单片机学习网c$M`n [4U

追加信息

bh B#V m0A0

t"X |)oa"d(e4R8E|4iH+y0照片信息电子园51单片机学习网4P5KDN Au

电子园51单片机学习网x o f,iy/h~9T u

长度(字节)

T1V5_] QG4t4S0
电子园51单片机学习网3z F:H.iA+B9?

30

ac(g6|HTP8IM0
电子园51单片机学习网ce8? gu,q([

2

)f!g5? S7rpsA7XO3O`C0K0

~)Es.Fz%e04

Or0TG8~4~+S0

+bp^O6|:Z#ZU016

(L~ }#p%s F7X_0

'P\n$brwl070电子园51单片机学习网J_:E'|FM'y


8IEO l:i;i036

j$G9rX$B|0

S_wO3L*Os%K030电子园51单片机学习网_&g$wX5}


O |'`PoVX032电子园51单片机学习网8Y WO*W%Y^


)l0cFV+L3hkb4n036

Da/?!Uco(BzHE0
电子园51单片机学习网{-ArI}9r)D0r#y X

1024

L7\\WrsR0

5n4X^~d7@o0g$[ I0起始地址电子园51单片机学习网 C6X7w(^(cqU1GH#[ d


\;i9IYs7C00000H电子园51单片机学习网%l)e&U_$vd

电子园51单片机学习网s)R*iJ\{

001FH

`:A)? f-NVS0
电子园51单片机学习网 [S.Q*n gvb{ H;}J

0021H

s(Z0R X6o0
电子园51单片机学习网N5Mh-{!H}2wF&E

0025H

1Ft~ d#k0
电子园51单片机学习网'^(baR8L id

0035H

T%v2r|Z`x?w9Z0
电子园51单片机学习网KY1T#de D2n k'n

007BH

&T;[O0J-v0
电子园51单片机学习网)zVg#\8Ar2P6gX

009FH

,kJZ*yC vM.ET0

+N7TA0x9H],vD000BDH

N j0u,Gh#c0

)U'M*w$eO1~v8UI000DDH

1J:c8v,S~-bio0
电子园51单片机学习网t*hGd/{

0101H电子园51单片机学习网c P wHd"L%g N.}Z4J

电子园51单片机学习网NI*rq)V'Ei

'j$x:VS6HftA/Wtr0智能采集器通过轮询发现二代证阅读器中已经存在身份信息时,则向连接端口发送AA AA AA 96 69 00 03 30 01 32命令,可以按照上面给定的格式读取相应的数据信息。其中:性别字段目前的代码为1-男,2-女,9-其他;家庭住址字段中注意‘-’的识别;追加信息字段表示地址变更信息,若没有变更,则该字段为空;对于照片信息,智能采集器只是负责将编码信息按特定的字符流传输到终端或PC机上,然后使用公安部提供的SDK解密显示图像;目前只能在windows 平台上实现图像显示。电子园51单片机学习网_SJKk,c$xD


3、结束语

电子园51单片机学习网9izr7UpGX

本智能采集设备支持即插即用,采用专用键盘设计,不需要切换输入法,在银行、电信、邮政等行业应用时,不需要对原有系统的软硬件作任何改动,即可进行第二代居民身份证信息的自动录入操作;使用方便快捷。通过实际应用于成都市建设银行部分支行前台营业服务系统表明:本设计方案消除手动录入错误,减少工作量,提高了工作效率。电子园51单片机学习网R;V*fZAG

电子园51单片机学习网Cd:A&f2?b;X:x

参考文献电子园51单片机学习网"}7H^_zN


LUsXJgA0[1]、STC增强型8051单片机中文指南(RC/RD+系列)http://www.MCU-Memory.com;电子园51单片机学习网,un*k;j5i V

电子园51单片机学习网V'W xWZ+ut

[2]、武庆生、仇海 弹片机原理与应用 电子科技大学出版社 1998 P82;

5^3w z x l}#@$W!Q0

c"cR vw$]?H(B0[3]、徐乐年,刘坤,刘明辉 基于M-BUS的智能采集器的设计与应用 工矿自动化 2006.4 P268电子园51单片机学习网!nQ$I4Am9FURg

电子园51单片机学习网4p1xo)@5Mkh|1{

[4]、何江水,高有行 VxWorks汉字的显示支持 微计算机信息,2005,5 :142-144电子园51单片机学习网T [X3bI)h q

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /3 下一条