搜索: 用户名:密码:
会员天地
会员介绍 入会指南 入会申请 会员登录 政策咨询 科技中介 成果转让 法律咨询 管理咨询 学术交流 企业信息化服务 会员活动
当前位置电子学会首页 >> 会员天地 >>正文

基于嵌入式uCLinux的UHF RFID读写器基带设计


作者:深圳市电子学会 来源:深圳市电子学会 2008-01-16 00:00:00
摘要:

 

 

基于嵌入式uCLinux的UHF RFID读写器基带设计
 
刘春江 黄雪锋 黄新利
(深圳市远望谷信息技术股份有限公司,518057)
 
 

 
 
摘  要:本文介绍一种基于嵌入式uCLinux的UHF RFID读写器设计。利用基于DSP的硬件架构和嵌入式uClinux的软件操作系统,不但使设计的UHF RFID读写器具有良好的标签识别能力,还具备可靠的、灵活性高的网络功能和数据管理功能。本文详细描述了软、硬件设计方案和设计方法。
关键词:uClinux,RFID,读写器,DSP
 

Baseband Design for UHF RFID Reader Based on Embedded uCLinux

LIU chun-jiang, HUANG xue-feng, HUANG xin-li
(Shenzhen Invengo Information Technology Co.Ltd.,Shenzhen 518057, China)
 
Abstract: This paper introduces a kind of baseband design as a part of UHF RFID reader based embedded uCLinux. Using embedded uCLinux as the operating system, the UHF RFID reader based on DSP has the characters of good tag recognition capability、reliable performance、high flexibility network ability and data management function. The article described the software and hardware design in detail.
Key words: uCLinux, RFID, interrogator, DSP
 


 

1 引言
射频识别(RFID)是一种非接触的自动识别技术。其识别过程无需人工干预,可工作于各种恶劣的环境下。而UHF频段的RFID具有波长适中、远场耦合、标签较小、空间衰耗小、工作距离相对较远等优点。所以它适合应用在物料跟踪、运载工具和货架识别等要求非接触数据采集和交换的场合,并具有良好的多标签识别能力[1]
由于现代物流的管理需要实现物流全过程的智能化“无缝隙”的管理,这种管理是在网络环境下实现的。这就要求远距离自动识别系统特别是UHF RFID 读写器具备优良的网络联接功能。数据通讯的数据格式必须遵从国际标准和中间件的要求。
此次设计的读写器是基于DSP硬件平台结合uClinux嵌入式软件来达到上述设计要求。uClinux是一种优秀的嵌入式linux版本。由于经过了裁剪和优化,它形成了一个高度优化,代码紧凑的嵌入式Linux。它具有体积小、稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持,以及丰富的API函数等优点[2]。处理器使用ADI公司的Blackfin BF537高速数字信号处理器(DSP)。
图1 系统硬件方案图
2 系统硬件方案设计
UHF RFID应用系统由读写器、标签和数据管理、处理单元组成,其中读写器由基带模块、射频模块和天线三部分组成,本文主要介绍基带模块的设计。硬件方案如图一所示。
BLACKFIN是ADI 16位定点产品的一个大系列,是ADI和Intel联合开发的体现高性能体系结构的第四代DSP产品,具有增强的DMA子系统和动态功率管理(DPM)功能。其体系结构不仅适合于完成视频、图像、音频、语音和数据通信的数字信号处理,同时还具有综合的控制能力。而ADSP-BF537片内集成IEEE 802.3兼容10/100以太网MAC层,配合外部PHY层即可具有嵌入网络连接功能[3]
Blackfin处理器的全双工同步串行端口(SPORT)工作在较高数据速率,支持同时发送与接收。利用此端口,设计控制连接ADC采样器件,对经过射频模块解调出的标签回波信号进行采样。对标签通讯的控制命令通过DSP的TWI端口控制DAC发出,经过射频模块调制并由天线发射。
另外系统中还包括DSP应用所要求的FLASH和SDRAM,它们通过DSP专用的外部存储器总线连接。系统设计采用2M*16位NOR FLASH和32M*16位SDRAM。
3 软件设计
基于嵌入式uClinux的系统软件分为一下几个部分:引导加载程序u-boot、uClinux内核、文件系统、用户应用程序。各部分在系统存储器中的分布如图二所示。
图2 嵌入式软件在存储器中的分布
3.1 移植u-boot
引导加载程序是系统加电后运行的第一段代码,是在操作系统内核运行前运行地一段小程序。通过这段程序,初始化硬件设备,创建内核需要的信息并将这些信息传递给内核,从而将系统的软硬件环境带到一个合适的状态,最终调用操作系统内核,起到引导和加载内核的作用。u-boot具有很强的硬件依赖性,对于每一种硬件系统都需要单独定制。u-boot是一个开放源代码的项目,下载到源码后修改其相关配置即可使用。此次设计主要修改的配置是PHY层网络芯片配置和FLASH存储器配置。对硬件移植完成后还要对u-boot的启动内核参数进行配置,示例如下:
Uboot> setenv bootargs root=/dev/ram rw console=ttyS0,115200
//启动系统环境变量
Uboot>setenv boot bootm 0x20020000
//设置变量boot
Uboot>setenv bootcmd run boot
//设置默认变量bootcmd
Uboot>saveenv
//保存环境变量
在这里假设已将内核镜像烧录到FLASH中,地址为0x20020000。
3.2 uClinux操作系统平台搭建
uClinux是专为无存储器管理单元(MMU)的微控制器打造的嵌入式Linux操作系统,具有稳定性高、优异的网络能力以及优秀的文件系统支持等优点。uCLinux不能使用处理器的虚拟内存管理技术,所有程序中访问的地址都是实际的物理地址。操作系统对内存空间没有保护,各个进程实际上共享一个运行空间[4]
(1)交叉编译环境的建立。下载工具链压缩文件http://blackfin.uclinux.org/gf/project/toolchain/frs/并保存到用户文件夹下,以/home/uclinux为例,下面是在SuSE10.1下的具体步骤:
$cd /home/uclinux
$rpm -Uvh blackfin-toolchain-07r1-9.i386.rpm
(2)uClinux内核的编译。下载ucliunx内核http://blackfin.uclinux.org/gf/project/uclinux-dist/frs/,将压缩文件uClinux-dist -2005R3.tar.bz2保存到用户文件夹下,以/home /uclinux为例,下面是具体安装过程:
$cd /home/uclinux
$bunzip2 uClinux-dist-2007R1-R3.tar.bz2
$tar –xvf uClinux-dist-2007R1-R3.tar
$cd uClinux-dist
$make clean
$make menuconfig
$make
在make menuconfig时,程序会依次出现开发平台,内核配置,文件系统应用程序的配置界面。
(3)uCLinux的根(root)文件系统及其加载。根据系统应用的要求,本文选用JFFS2(Journalling Flash File System 2)作为根文件系统。JFFS2具有以下特点:
日志文件系统,提供了更好的崩溃、掉电安全保护。
jffs2支持对flash的均匀磨损。在扇区级别上执行闪存擦除/写/读操作要比Ext2文件系统好
内核编译时添加MTD(Memory Technology Devices)等相关内核选项以支持NOR FLASH的识别及JFFS2文件系统的加载。
(4)内存分配优化。基于uclinux对内存空间没有保护的缺点,以及Blackfin处理器的特点,本文对内存分配方案进行了优化。和传统分配方案不同,本文并没有将全部内存都交给uClinux内核管理。系统设计总共64MB内存,其中低地址的50MB由uClinux内核管理,剩余14MB保留给应用程序使用。这样可提高系统的稳定性,不会出现内存溢出或访问非法地址的问题出现。也简便了应用程序的设计。
在u-boot启动参数bootargs中添加mem=50M max_mem=64M$#,通知内核可管理内存大小和系统硬件内存大小。这样通过mmap就可利用指针访问高地址的保留内存。
3.3 RFID应用程序设计
应用程序建立在操作系统uClinux之上,当操作系统启动运行完毕后调用,应用程序完成系统所需的大部分功能。系统上电后,首先启动uClinux,在进行硬件和存储器初始化后,为了保护知识产权,程序从加密的IC中读取数据并进行验证,验证通过后程序继续正常执行,否则停止运行。
在uClinux系统中,应用程序使用多线程编写,来保证系统的实时性,其中应用程序主要包括3个方面:串口收发、网络收发、编解码和RFID协议处理。一个线程负责对协议部分的数据处理,保证数据能够及时的处理;两个线程监听串口的收发数据,两个线程监听网络的数据收发,这几个线程确保数据能够及时地收发。
RFID协议处理模块。此模块的完成对符合ISO18000-6协议的标签识别操作,实现所有强制命令,并完成符合协议规定的多标签识别流程。包括命令发送和标签回应数据解析两个模块。模块根据不同的上位机命令完成操作并负责将读写器的应答数据返回给上位机。模块还包括一些应用函数,如CRC16的校验函数等。
3 RFID协议处理模块流程图
编解码模块:此模块实现ISO18000-6B协议要求的曼切斯特编码和FM0解码功能。编码包括前导码、帧头编码和数据编码三部分。解码包括数据解码和CRC验证两部分。在编码部分,为了保证数据的时钟精度,采用DMA方式通过SPORT口发送编码数据。在解码部分,根据发送的编码数据对标签回波信号进行采样,处理采样的数据后组织数据返回。
网络、串口通讯协议模块:网络协议部分采用TCP进行通讯;串口通信部分采用115200波特率进行格式化数据通讯。
4 小结
本文给出了一种基于DSP硬件和uClinux嵌入式软件的UHF RFID读写器的基带设计,实现了对UHF RFID标签的基本读写等功能。读写器采用嵌入式uClinux,网络接口TCP/IP协议健全,具有优良的网络连接性能。采用DSP的硬件架构具有较强的数据处理能力,对完善RFID协议应用具有较强优势。融合这两种技术所设计的读写器基带,必将有效地提升UHF RFID读写器性能,满足应用需求。
[参考文献]
[1 ] [德 ] Klaus Finkenzeller著, 陈大材编译. 射频识别技术 [M ].电子工业出版社 , 2001 .
[2]《构建嵌入式 Linux系统》 ,Karim Yaghmour著,中国电力出版社
[3] Blackfin Embedded Processor ADSP-BF537, Analog Devices, Inc. 2007
[4] Open Source Software on the Blackfin Processor, blackfin.uclinux.org

最新评论

我要评论

昵称:   

在线咨询

备案/许可证编号:粤ICP备 13069091号

粤公网安备 44030502003191号