论文部分内容阅读
射频识别技术,是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境。它作为物联网的基础之一,是一种数据采集的重要手段,把“物”智能化,是沟通现实世界与虚拟世界的桥梁。近年来,RFID技术在国内外发展十分迅速,已经成功应用于交通管理、生产管理、公共管理等众多领域,并且其应用范围越来越广泛。随着RFID技术的广泛应用,RFID协议栈的研究与实现便成了一个重要的研究方向,以满足RFID的各种应用需求。本文在研究RFID技术的基本原理的基础上,对EPCglobal C1G2空中接口协议进行了深入地剖析。首先,对EPCglobal C1G2协议栈的物理层进行了研究,包括读写器到标签的信道编码、射频包络、同步问题以及标签到读写器的FM0编码、通信过程。其次,对EPCglobal C1G2协议栈的标签识别层进行探讨和设计。在标签识别层中,分别对C1G2标签的存储器、标签群的管理、标签状态、标签的状态转移以及读写器管理标签的命令进行深入研究。再次,运用UML对EPCglobal C1G2协议栈的各个功能模块进行建模,利用JAVA语言实现协议栈功能模块。UML即统一建模语言,是一种可视化建模语言,可以为面向对象开发系统的产品进行说明建模。本文把协议栈系统分成多个包,根据不同的功能,在包中分不同的类。在标签这个包中,包含了读写锁定等功能模块、标签的异常处理以及各功能对外的接口。在读写器这个包中,包含了读写器盘存、读写、灭活、锁定等功能,这些操作结果的处理以及对外接口的定义。模块与模块之间进行通信和信息交换,实现了整个协议栈的功能。在建模的过程中,运用Factory Method模式和Facade模式进行设计,对系统的各种功能进行抽象,使协议功能模块化处理,子系统相互的分离,提高子系统的独立性和可移植性,也有利于后续的开发维护和功能扩充。建模完成后用JAVA语言实现了协议栈代码编写。JAVA是一种面向对象、健壮安全、可移植性好的动态语言。由于JAVA独立于平台,用户可以自由地使用软硬件资源。本文利用JAVA来实现EPCglobalC1G2空中接口协议栈各模块的功能。最后完成了EPCglobal C1G2空中接口协议栈的测试工作,验证了协议栈设计的合理性。