用TCP/IP通信的射频一卡通系统设计 - 中国一卡通网
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

用TCP/IP通信的射频一卡通系统设计

来源:中国一卡通网  作者:中国科学技术大学 曾鹏程 陈恩红  发布时间:2008-09-12 10:38:44  字体:[ ]

关键字:射频一卡通  tcp/ip  一卡通系统  

摘   要:射频IC卡使用及携带方便、安全性高、成本低,已得到越来越广泛的应用。本文介绍一种用TCP/IP通信的射频一卡通系统。

  射频IC卡使用及携带方便、安全性高、成本低,已得到越来越广泛的应用。本文介绍一种用TCP/IP通信的射频一卡通系统。

  系统分为两个子系统,即嵌入式TCP/IP子系统和射频IC卡读卡子系统。嵌入式TCP/IP子系统使用一个简化的TCP/IP协议栈,易于在单片机中实现。射频IC卡读卡子系统是对射频卡进行读写的系统。两个子系统各使用一片AT89S52单片机,子系统间通过UART通信。

  1 嵌入式TCP/IP子系统

  本子系统主要负责与上位机的通信。下面介绍其结构设计和简化的TCP/IP协议栈。

  1.1 嵌入式TCP/IP子系统的结构设计

  本子系统的结构如图1所示。系统主控芯片为AT89S52单片机,选用IS61C256AH芯片外部扩展32KB SRAM。单片机与片外RAM的接口:P0[0..7]经74HC373锁存低8位地址,再接到SRAM的[A0..A7];P2[0..6]接SRAM 的[A8..A14];P2.7接SRAM的CE,当P2.7为低电平时,SRAM使能;P3.6和P3.7分别接SRAM的WE和OE,作为读写 SRAM的信号,同时P0复用到SRAM的[IO0..IO7]。局域网的以太网控制器使用RTL8019AS。单片机与8019AS的接口:P3.6和 P3.7分别接IORB和IOWB,作为网络芯片的I/O信号;P3.5接RSTDRV,用于网络Reset;P3.3接IOCHRDY,用于网络芯片忙时插入等待时间;P1[0..7]接[SD0..SD7]。由于使用轮询方式,所以IRQ可以不设定,因为I/O Base选择300H,所以IOS0~IOS3悬空。P2[0..4]接[SA0..SA4],SA5..SA7接低电平,P2.7接SA8和SA9, SA10..SA19接低电平,这样就使得P2.7为高电平时,选择网络芯片,同时P2[0..4]为片内寄存器地址。因为没有Memory Read和Write的动作,将SMEMRB和SMEMWB接高电平。因为在发出I/O命令时,地址都会先准备就绪,所以将AEN接低电平。为了使用 jumper进行初始化设定,将JP接高电平。P3.0和P3.1是单片机UART的RX和TX,连接到读卡器子系统。 

嵌入式TCP/IP子系统的结构设计

  1.2 嵌入式TCP/IP子系统的简化协议栈设计

  由于单片机的资源有限,本子系统针对一卡通系统的要求简化了TCP/IP协议栈,只需实现系统必需的功能即可。TCP/IP协议栈有四个层次,分别为链路层、网络层、运输层和应用层,如图2所示。下面对简化协议栈逐层说明。 

TCP/IP协议的四个层次

  (1)链路层协议。10Mbps以太网的帧有以太网帧和IEEE 802帧两种封装格式。根据RFC 1122(即主机需求RFC)的要求,所有主机必须能够发送和接收以太网帧,应该能够接收IEEE 802帧,也许能够发送IEEE 802帧。根据这一要求,本系统设定为能够接收以太网帧和IEEE 802帧,只能发送以太网帧,不能发送IEEE 802帧。由于系统不会在同一主机的不同进程间交换IP分组,所以不支持环回接口(Loopback Interface)。显然SLIP和PPP链路协议也不必支持。在链路层中,每接收到一个帧,都检查其Type field的值,只交付0x0800和0x0806二种Type,丢弃其他的Type。RARP帧的Type为0x8035,因为系统不必支持RARP协议,所以这种帧也不交付。Type为0x0800表示帧中封装了IP分组,Type为0x0806表示帧中封装了ARP分组,这两种帧的分组会被取出,并交付给相应的子程序。
  (2)网络层协议。本系统只交付Protocol=1和Protocol=17的分组,其他的Protocol都丢弃,即只支持ICMP和UDP协议;不支持IGMP协议(Protocol=2),相应地也不支持组播(multicast),但支持广播;不支持TCP协议 (Protocol=6)。对于ICMP协议,只支持回显请求和回显应答,即只处理Type=0,Code=0和Type=8,Code=0,其他的 Type和Code丢弃,所以Ping读卡器的IP地址会收到应答。对于Protocol=17的分组,先检查目的地址,如果为广播地址或是本机地址,则取出其中的UDP数据报,交付给运输层,丢弃其他分组。
  (3)运输层协议。本系统只支持UDP协议,而且只接收一个指定端口的UDP数据报,丢弃其他端口的数据报。收到要交付的数据报后,取出其中的数据内容,交给应用层子程序。
  (4)应用层。根据收到的不同上位机指令,分别进行处理。指令包括:扫描在线的读卡器、设定读卡器地址、同步读卡器时间、读取读卡器容量状态、上载刷卡记录等。

  2 射频IC卡读卡子系统

   本子系统完成读写射频卡、保存刷卡资料、发出控制开关量等功能。 

更多

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

推荐文章

论坛热帖