随着通信技术和微电子技术的快速发展以及人们对信息交流的迫切需求,手持终端式应用的发展进入了一个全新的时期。掌上电脑凭借其强大的功能和特有的优势,已经被广大商务工作者所青睐。掌上电脑的功能和应用领域也可以通过增加无线接入网络的功能得到极大的扩展。目前无线技术经历两代的发展,正向3G宽带移动通信系统网络演进。宽带接入方式的提出为掌上电脑在不久的将来通过无线方式进行移动宽带多媒体应用提供了诱人的前景。当前作为GSM 网络向3G演进过渡的GPRS(通用无线分组业务)已经能为用户提供高达164Kbps的传输速率。 非接触IC卡又称射频卡(RFIC卡),是射频识别技术和IC技术有机结合的产物,目前已经广泛用于金融、医疗卫生、电信、交通、智能建筑等许多领域。它的出现和发展,推动了人类生活中支付体系的革命性变革,也给掌上电脑带来了新的应用领域和新的市场。 因此,在掌上设备中加入无线接入设备和RFIC读写模块是大势所趋,也是掌上设备发展的新阶段和里程碑,它将会给人们的生活带来很大的便利。 1 GPRS业务的优势 GPRS是GSM Phase 2+阶段引入的一种基于分组的数据业务,是欧洲电信协会GSM 系统中有关分组数据所规定的标准。GPRS采用与GSM相同的频段、频带宽度、突发结构、无线调制标准、跳频规则以及相同的TDMA帧结构,因此它的优势是可以充分利用现有的GSM 网络。GPRS是基于GSM 系统的无线分组交换技术,提供端到端的、广域的无线IP连接。GPRS充分利用共享无线信道,采用IPover PPP实现数据终端的高速、远程接入。GPRS业务具有接入迅速、永远在线等特点,因此在远程突发性数据实时传输中有不可比拟的优势,特别适合于频发小数据量的实时无线传输。 2 系统总体设计 系统选用的掌上电脑是handspring公司的visor系列,它内置摩托罗拉“龙珠”处理器,支持USB接口、红外接口、PCMCIA接口,带有液晶显示触摸屏,并有128MB程序/数据存储器,便于扩展网络应用程序。使用的操作系统为PALM OS。当配以相应的底层驱动时,便可实现GPRS模块和RFIC模块的正常工作。硬件上,掌上电脑要求小型化、省电、高可靠性,因此将GPRS模块和RFIC模块尽可能小地集成在一块四层PCB板上,做成即插即用模块,通过PCMCIA接口与掌上电脑相连。在设计过程中,要同时考虑电磁干扰的抑制和电磁兼容性的设计。图1为系统的整体框图。 图1 系统总体框图 当读RFIC卡时,要在掌上电脑的操作系统中选择此功能,由微处理器通过PCMCIA接口给RFIC卡读写模块一个控制信号,通知读写模块准备读卡(平时处于待机模式,可以省电)。同时GPRS模块也会通过串行口发现这个信号,但是由于命令的数据格式不同,因此它不会接收,不会发生误操作。读卡时完成的工作主要包括:卡进入和退出读写范围的识别与控制,通过天线向非接触IC卡提供稳定的电源和时钟,实现与卡的数据交换并提供相应的控制信号等。卡的信息读出后存人程序/数据存储器中,并使RFIC卡读写模块继续处于待机状态。当需要通过GPRS网络发送时,应发送一个控制信号激活GPRS模块。由于GPRS支持“永远在线”功能,因此不需要每次首发时重新登录建立网络连接,只需重新激活场景即可。这样就可以通过串行口运用AT命令把接收的IC卡信息通过GPRS发送出去。
2.1 GPRS模块设计 目前GSM手机厂商除了生产手机之外,还提供GSM/GPRS通信模块供其他产品配套使用。本系统选用SIMCOM公司的ITM100 GSM/GPRS三频模块,为语音传输、短消息和数据业务提供无线接口。ITM100集成了完整的射频电路和GSM 的基带处理器,支持GSM900/DCS1800/ PCS1900三频。其默认设置为GSM900/DCS1800模式,可以通过AT命令切换到GSM900/PCS1900模式。ITM100有60针外部系统连接器,方便与应用系统对接,适合于开发一些GSM/GPRS的无线应用产品。 本系统中,GPRS模块的键盘接口和音频接口都可以不用,而其他的接口包括电源接口、SIM卡接口、RF天线电路接口和UART接口为集成GPRS模块和掌上电脑系统提供了丰富的控制接口资源。这些接口都是由60针外部系统连接器提供的。本系统不需要用到音频,所以GPRS模块的UART接口中只需要用TXD和RXD,而不需要用DCD、DTR、RTS、CTS和RI。由于PCMCIA接口是8位并行输出,因此用ST16C550串并转换芯片负责与GPRS模块实现数据交流,图2为系统接口电路。 掌上电脑的地址线通过PCMCIA接口连接到ST16C550串并转换芯片的片选信号引脚CS0、CS1、/CS2和地址线上,这样ST16C550就获得了一段端口地址,在底层驱动程序中翻译成映射地址。掌上电脑读写这个地址,并通过ST16C550串并转换芯片传递给GPRS模块或RFIC读写模块。这样就完成了掌上电脑与GPRS模块和RFIC读写模块的通信(GPRS模块和RFIC读写模块共用一个PCMCIA接口)。GPRS模块和RFIC读写模块的数据格式不同。因此不会产生数据干扰和接收错误。未用的输入脚要接高电平,不能悬空。SIM卡直接选择符合GSM规范的3V SIM卡或1.8V SIM卡,模块自动监测和适应卡的类型。为了确保模块与外部的接口,模块专门设置了3V接口电平。因此要使模块工作,除了提供3.6V的主电源外,还需要提供3V接12I电压。为此,使3.6V锂电池通过MAX8885EU30降压变压器提供接口电压。同时,采用高速防静电管和去偶电容保护SIM卡和串口输出等敏感部分免受射频、尖峰脉冲和电源波动干扰。 本系统需要利用TCP/IP协议完成GPRS业务数据的装帧和拆帧。数据的完整流程为:掌上电脑将信息数据按照TCP数据报的格式封装为TCP数据报,加上IP报头和报尾封装为IP数据报,之后将IP数据报按照PPP帧的帧格式封装为PPP帧,然后通过串口传给GPRS模块。GPRS模块将接收的数据帧通过无线链路传送到SGSN(Service GPRS Support Node)。SGSN进行相应的协议转换,按照GPRS特有的GTP(GPRS Tunnel Protoco1)将其封装成GTP包,然后通过GPRS骨干网传送到相应的GGSN (Gateway GPRS Support Node)。GGSN也进行相应的协议转换,再根据外部数据网的协议格式进行新的封装,并且根据其目的IP地址选择路由进行传送,从而最终传送到监控中心。监控中心收到上传的信息数据后,根据移动终端的IP地址和端口号下发确认信息给掌上电脑,完成数据的传输。建立GPRS链接的数据链路如图3所示。 ITM100无线模块的软件部分对外提供了一个控制系统操作的AT命令集,通过接收来自串行口的AT命令,解释并执行相应的操作,从而 实现无线Modem的对应功能。模块的设置和上网传输数据用到的AT命令主要有: (1)运用命令AT+IPR:115200(默认)设置波特率,用此命令可自由切换通信速率。由于支持掉电保存,因此只需要设一次,不需要每次开机 重设。 (2)运用命令AT+CGDC0NT=1、“IP”、“CMNET”设置GPRS接入网关。其中CMNET为移动梦网的接入网关。 (3)运用命令AT+CGCLASS=“B”设置移动终端的类别为B类,即同时监控多种业务,但只能运行一种业务。 (4)运用命令AT+CGACT=1,1激活GPRS功能,如果返回OK,则GPRS连接成功;如果返回ERROR,则意味GPRS连接失败。 (5)运用命令AT+CIPSTART=“TCP”、“客户端I P''、“端口号”来连接客户端服务器。 (6)运用命令AT+CIPSEND发送数据。 (7)发送完之后,运用AT+CIPCLOSE关闭连接。 (8)运用命令AT+CIPSHUT关闭移动场景。 掌上电脑通过向GPRS模块发送这些AT指令,就可以驱动模块无线上网收发数据了。
2.2 RFIC读写模块的设计 非接触IC卡的读写原理如下:读写器向非接触IC卡发一组固定频率的电磁波,卡片内有一个LC串联谐振电路,其频率与讯写器发射的频率相同;在电磁波的激励下,LC谐振电路产生共振,从而使电容内有了电荷;在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内储存;当所积累的电荷达到2V时,此电容可做为电源为其他电路提供工作电压,将卡内数据发射出去或接取读写器的数据。本系统采用的是MF500射频读写器,内嵌ISO14443 Type A协议解释器,并具有射频驱动及接收功能,可以简单实现对Mifare Light和Mifare OneS50、S70等卡片的读写操作,读写距离最大可达100mm(与卡片及天线设计有关)。 本系统属于电感耦合识别系统,天线的设计直接关系到能否正常通信。由于MF500读写芯片是低功耗设计,因此卡与天线的耦合系数必须满足一定的值,不能低于0.3。天线的直径要求介于0.5~1.5mm之间。天线的电感可以通过以下公式计算得出: L=2×S×ln(1/D)×N1.8 式中: 为读卡器天线电感(nH);S为1圈天线导体的长度cm);D为天线导体宽度;N为天线导体圈数。 读卡器与卡通信时,需要经过三次握手验证。传输数据加密时, 只有知道加解密规则的读卡器才能读出该卡,并且卡中的每个扇区都有不同的密码,具有良好的保密性。三次确认的过程如下: (1)射频卡向读写器发送一个随机数Rc; (2)读写器返回一个数据Token R后,射频卡译码并校验R中所含的随机数Rc是否与(1)中所发的一致; (3)射频卡发给读卡器一个数据Token C; (4)读写器收到Token C之后,译码并校验Rc的正确性,同时还验证C中所含的随机数是否与(2)中发出的一致。 GPRS模块和RFIC模块的程序都是在PALM OS的开发工具CODE WARRIOR下用C语言编写的。GPRS模块是通过串行口用AT命令控制,RFIC模块也可以调用动态链接库RC500_Mifare.dll,通过串行口发送相关指令, 即可实现对卡片的所有操作。指令结构定义如下(发送、接收均遵循此协议): ACK+LEN+DATAS+CHK+ETX 其中: ACK=0x60 通信头部,指令启始字节,1B LEN=Length(DATAS) 通信数据体长度字节数,1B DATAS 通信数据体 CHK 异或校验和=ACK^LEN^DATAS,1B ETX=0x03 结束符,1B DATAS中包含对卡操作所需要的参数,如认证所需的密钥、地址、写入卡片的数据等。掌上电脑通过向串行口发送符合此命令格式的指令,控制RFIC读写模块对卡进行操作。整个系统的流程如图4所示。 3 结束语 本系统在掌上电脑上实现了GPRS业务的数据传输功能和读写非接触IC卡的功能。系统具有成本低、电路简单的优点,实现了掌上电脑功能的扩展和向高端的升级,在交通管理等领域有很好的应用前景。
|