摘要:为低成本地实现具有以太网接口的读卡器,提出一种采用W7100新型网络微处理器的方案。该读卡器包括以太网传输、读IC卡和USB传输功能。W7100芯片不同于以往采用的以太网控制器。该芯片内置硬件TCP/IP协议栈且包含一个与8051微处理器二进制代码兼容的8位微处理器内核。只需要执行简单的网络传输命令即可实现以太网通信,而不涉及以太网协议。另外该芯片内置以太网物理层可直接连接内置变压器的RJ45插座,而不需要专用的物理层芯片。读卡器采用MFRC500实现读写IC卡功能、采用CH341T实现USB接口。实际应用结果表明该款读卡器运行稳定,没有出现无法刷卡和无法传输的情况。
关键词:W7100;以太网微处理器;读卡器;MFRC500;设备联网
在实现微控制器设备联入以太网的方案中,常见的是采用微处理器连接以太网控制器。目前大部分的以太网控制器都是为PC机设计的,如DM9000、CS8900A等。采用这些芯片不仅使用复杂,而且成本很高,不适合作为读卡器联网的方案。
W7100是WIZnet公司新型的以太网微处理器。该芯片包含一个8位微处理器内核和硬件的TCP/IP内核。其内部集成了10/100 Mb/s以太网PHY层,芯片引脚不经过物理层芯片直接连接网口插座。其TCP/IP硬核提供Socket套接字接口,因此只需要进行Socket编程就可以完成以太网的通信,就像访问外部存储器一样简单,而不涉及以太网底层的控制。
1 W7100的基本特性
W7100的CPU内核是一款高性能、速率优化的8位嵌入式微处理器。它使用片内存储器高速运行,与工业标准的8051微处理器二进制代码兼容。其TCP/IP内核是一个全硬件的、经过多年市场验证的TCP/IP协议栈,并集成了以太网的MAC和PHY层。芯片的主要特性如下:
1)64 kB的程序闪存(Flash);
2)64 kB的SRAM;
3)256 B数据Flash存储器(可用于存储需要掉电保护的数据,如网络配置信息);
4)内置10/100 Mb/s以太网物理层;
5)硬件的TCP/IP协议栈支持TCP、UDP、IPv4、ICMP、ARP、IGMP和PPPoE;
6)支持8个独立的Socket通信,内部128B的发送缓冲区可快速进行数据交换;
7)支持ADSL连接。
该芯片可以简单理解为由TCP/IP硬件协议栈、以太网MAC层、以太网PHY层和8051内核4部分相加而成。W7100具有的以上特性不仅满足以太网读卡器的功能需求,而且开发难度更小。
2 读卡器功能和接口芯片选择
以太网读卡器主要功能是读卡器接受使用者的刷卡,然后通过以太网将卡号等信息发送给服务器,服务器查询并修改数据库表格。要完成该目标,读卡器需要实现以下方面。
1)刷卡功能这里的卡是常见的IC卡,因此需要实现射频发送与接收功能。方案选用NXP公司的MFRC500作为IC卡读写芯片。该芯片主要应用于13.56 MHz非接触式通信,其内部的发送器不需要增加有源电路就能直接驱动近操作距离的天线。
2)以太网接口功能方案采用的W7100直接具有该接口,只需要在软件中执行命令即可。该芯片引出4根差分信号线连接到RJ45插座。方案选用内置变压器的接口整合型单口RJ45插座13F-60LDNL。该插座还具有数据传输指示灯和连接指示灯。
3)USB接口功能 考虑到在以太网故障或者没有连接以太网的情况如何设置读卡器和取出刷卡信息,方案为此添加一个USB接口作为应急。同时由于W7100具有ISP(系统可编程)功能,即可以通过串行口下载程序,所以添加的USB口又作为下载程序的接口。方案选用南京沁恒电子有限公司的CH341T作为USB接口芯片。CH341T是一个USB总线的转接芯片,通过USB总线仿真异步串口。芯片内置了独立的收发缓冲区,支持单工、半双工和全双工异步串行通讯。在计算机端的Windows操作系统下,CH341T的驱动程序能够仿真标准串口,因此上位机程序就可以完全以串口方式与读卡器通信,同样也能实现程序下载。
4)外部WatchDog在实际使用中发现该芯片2010年的一个版本有WatchDog不稳定的现象(将喂狗代码与写dataflash代码同时存在程序中时会有死机的现象),因此方案选用XCOR公司X5043(2.7 V)作为外部Watchdog。同时该芯片具有4 KB的SPI EEPROM作为数据存储器,可用来扩展内部dataflash存储掉电不能丢失的数据。
5)唯一标识 在IP地址不固定的情况下,在网络上实现唯一标识每一台读卡器就很困难。方案为读卡器添加了一组8位的拨码开关,通过为每一台读卡器拨成不同的二进制编码实现标识。读卡器在启动的时候读取拨码开关的值来设定自己的序列号。拨码开关的8根引脚可接至W71004组通用引脚中的任意8根。需要注意的是W7100的所有通用引脚在作为输出时都要外部上拉。
6)设定工作状态读卡器在正常使用前时需要运行在配置状态,此时读卡器接收上位机配置程序发来的配置参数配置其IP地址、MAC地址、子网掩码等。这些数据存放在内部dataflash或者外部watchdog中。方案采用将拨码开关拨为“1000 0000”作为配置状态,其他为正常工作状态。
7)指示灯和蜂鸣器 刷一次卡需要蜂鸣器蜂鸣一次和指示灯闪烁一次,用来指示刷卡成功。如果操作未成功,蜂鸣器要长响报警。如果进入配置状态,指示灯要改变颜色。方案选用红蓝双色的LED灯作为指示灯,红色代表配置状态,蓝色代表工作状态。
读卡器的结构如图1所示。
3 硬件电路设计
1)射频电路如图2所示,MFRC500需要连接8根数据线和4个功能引脚,另外通过3根信号线连接到天线线圈。数据线和CS引脚接到W7100的通用口,ALE、WR和RD引脚分别接到W7100对应功能引脚。如图3和图4所示,天线线圈的是由地线(GND)绕成的。为了加强信号,通常还需要添加一个屏蔽层。可调电容的具体值还要根据实际的感应距离调校而得。