基于嵌入式以太网的二代身份证读卡器设计 - 中国一卡通网
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

基于嵌入式以太网的二代身份证读卡器设计

来源:中国一卡通网  作者:孙鹏 王宜怀  发布时间:2012-09-07 09:59:49  字体:[ ]

关键字:二代证  读卡器  以太网  

摘   要:提出了一种读取二代身份证全球唯一序列号的读卡器设计方案,并结合嵌入式以太网技术,给出了以二代身份证为载体的局域网射频识别系统应用方法。对涉及的软、硬件技术进行了深入的分析。该方法可用于现有只读卡系统的升级换代,以及其它新用途。

  无线射频识别技术(Radio Frequency Identification,RFID)兴起于20世纪90年代,是利用射频方式进行非接触式双向通信的一种技术。RFID系统一般由读卡器和射频卡两部分组成。射频卡按芯片类型可分为只读卡、读写卡和CPU卡。其中,只读卡(又称ID卡)只能通过读卡器读出被固化的卡号(ID号)。由于电路简单、制作成本低等优点,只读卡广泛应用于身份识别、门禁、考勤、收费、停车、防盗等系统中。使用传统的只读卡,每套系统都需要单独发卡,不仅增加了制卡成本,而且给用户携带带来了不便。

  我国已开始全面换发第二代居民身份证。“二代证”采用了非接触式IC卡技术,将公民身份证号码等个人信息存入芯片中。读取身份证内的全部信息,需要公安部授权的专用身份证安全控制模块,提高了其防伪性。

  “二代证”采用的射频技术符合ISO14443 Type B国际标准,每张卡拥有全球唯一的序列号,可以在无需安全控制模块的情况下被读取。在不涉及“二代证”保密性的前提下,使用“二代证”来代替普通只读卡,不仅节省了制卡费用,而且扩展了“二代证”的使用范围,实现了一卡多用,提高了只读卡系统的防伪性。

  在读卡器与PC机的通信方式中,RS232/RS485接口或USB接口只适用于单机或区域使用,并且在传输距离和布线上存在一定的限制。而随着成本的不断降低,局域网在机关、企事业单位、家庭、学校中越来越普及。因此,设计具有以太网通信功能的“二代证”读卡器,可以利用现有的网络基础设施,省去了现场布线费用,且具有通信距离远,速度快等优点。但标准的TCP/IP协议栈实现复杂,需占用大量系统资源,而嵌入式系统的系统资源往往都很有限,因此需要在实现基本通信功能的基础上,对其进行裁减,以适应嵌入式系统的需求。

  本文首先阐述了“二代证”全球唯一序列号的识别过程,然后分层讨论了TCP/IP协议栈在嵌入式系统中的实现和简化方法,最后给出了读卡器在实际系统中的应用案例。

  1 总体设计

  系统采用MC9S12NE64作为主控芯片,主要包括读卡模块和以太网模块,并且为单机使用保留了SCI和USB通信接口,如图1所示。读卡模块由主控芯片、射频芯片MF RC531,以及天线等相关部分组成,用于读取身份证的卡号信息;而以太网通信模块由主控芯片内部的以太网介质访问控制模块(Ethernet Media Access Controller,EMAC)和以太网物理层收发模块(Ethernet Physical Transceiver,EPHY),加上外部PPT RJ45连接器PRJ-005组成,负责通过以太网与PC机进行数据通信。

  1.1 主控芯片MC9S12NE64

  MC9S12NE64是飞思卡尔公司2004年底推出的S12系列16位MCU中的一款应用于以太网连接的产品。其内部集成EMAC和EPHY,可配合第三方TCP/IP协议栈实现以太网的通信功能,从而实现单芯片的以太网连接方案。与多芯片的网络连接方案相比,具有设计简单,成本低廉,开发周期短等优点。

  此外,MC9S12NE64还包含:64KB的FLASH空间和8KB的RAM空间;2个SCI模块,1个SPI模块和1个I2C模块,可用于芯片间通信;1个4通道16位的时钟模块;1个8通道10位的AD模块。其最大工作频率达50MHz,拥有丰富的IO资源,112脚封装版本中的IO引脚总数有70个。因此,使用MC9S12NE64作为主控芯片能满足整个系统的需求。

  1.2 射频芯片MF RC531简介

  MF RC531是NXP公司生产的应用于13.56MHz非接触式通信的高集成IC卡读写芯片系列中的一员,支持ISO 14443 A&B的所有层协议。其内部的发送器模块不需要外加有源电路就能够直接驱动天线,操作距离可达100mm。接收器模块接收天线传送来的信号,然后对该信号进行解调和解码。数字模块负责处理ISO 14443帧,并使用奇偶校验和CRC校验进行错误检测。MF RC531与主机之间可采用并行模式或SPI模式进行通信。

  2 读卡模块

  2.1 主控芯片与射频芯片的连接

  主控芯片MC9S12NE64与射频芯片MF RC531通过SPI接口连接,如图2所示。在SPI通信中,MC9S12NE64作为SPI主机,控制数据的传输,MF RC531作为SPI从机,配合主机完成传输过程。由于双方的SPI模块各有一个8位的移位寄存器,所以每次的通信只能相互传送8位数据。在不传输数据时,SPI主机的SPI_NSS输出高电平,使双方的SPI模块处于空闲状态;当SPI主机要主动与SPI从机通信时,首先使SPI_NSS引脚输出低电平以选中SPI从机,然后SPI主机的SPI_SCK产生8个时钟信号,在时钟信号的控制下,SPI主机8位移位寄存器的数据依次串行,从SPI_MOSI引脚送出,到SPI从机的MOSI引脚并进入移位寄存器,同时从机的数据也通过MISO引脚送到主机的移位寄存器中。此外,MF RC531芯片的SPI模块要完成通信还需要将A1引脚接低电平,NRD和NWR引脚接高电平,且D7~D1引脚必须悬空。

  2.2 读卡模块软件设计

  射频芯片MF RC531的内部共有64个寄存器,按功能分为8页,每页8个寄存器。主控芯片MC9S12NE64通过SPI接口读/写MF RC531的相关寄存器,实现对射频芯片的控制,从而完成对“二代证”的读卡操作。

  2.2.1 MF RC531初始化:首先,要对射频芯片MF RC531进行初始化。“二代证”中的非接触式IC卡遵循ISO14443 B标准,数据通信方式如表1所述。因此,初始化过程中要严格按照表1中的标准,对RC531的相关寄存器进行设置。

  2.2.2 读取“二代证”序列号:当完成MF RC531复位和初始化之后,读卡模块天线产生高频磁场,并循环发送REQB命令“0x05 0x00 0x00”,对“二代证”进行询卡操作。当“二代证”靠近读卡模块天线,距离在100mm以内时,“二代证”内部的线圈接收到读卡模块天线发出的磁场能量,产生感应电压对“二代证”内部芯片进行供电。当“二代证”内部芯片正常工作并接收到读卡模块发送的REQB命令后,会返回12个字节的卡类型代码给读卡模块。

  询卡成功后,读卡模块发送SELECT命令“0x1D 0x00 0x00 0x00 0x00 0x00 0x08 0x01 0x08”,对“二代证”进行选卡操作,这时“二代证”会返回状态码。最后读卡模块发送GUID命令“0x00 0x36 0x00 0x00 0x08”,读取“二代证”的8字节的唯一序列号UID。

  3 以太网通信模块

  3.1 TCP/IP协议模型

  TCP/IP协议通常被认为是一个四层的协议系统,包括应用层、传输层、网络层及数据链路层,如表2所示。以太网通信模块按照TCP/IP模型进行分层设计,并根据嵌入式系统的特点,对标准的TCP/IP协议进行简化。

  3.2 链路层

  简化的链路层主要提供两个功能:收发以太帧;为ARP模块发送ARP请求和接收ARP应答。

  3.2.1 收发以太帧:主控芯片MC9S12NE64的EMAC和EPHY模块支持IEEE802.3标准,具有2个接收和1个发送缓冲区,通信速度可以手工配置成10Mbps或100Mbps,也可以通过自动协商自动配置,通信方式可以配置成全/半双工模式,具有MAC地址过滤功能,可以接收所有广播地址帧、组播地址帧,以及唯一地址帧。在MC9S12NE64的EPHY和EMAC模块的正确初始化后,就可以编写接收和发送以太帧的程序,实现链路层的基本通信功能。 

更多

新闻投稿合作邮箱:yktchina-admin@163.com    字体[ ] [收藏] [进入论坛]

推荐文章

论坛热帖