|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
% a: ^- G( k/ D
/ ?. h9 r8 d/ K. Q8 {. p" L
3 X4 t% |) `; S/ g. l4 B" L3 K+ P' f+ s0 A' j& m
摘要:RFID中间件在RFID读写器和应用程序之间起桥梁作用。应用程序端使用中间件所提供一组通用的应用程序接口(API),即能连到RFID读写器,采集RFID标签数据。即使存储RFID标签情报的数据库软件或后端应用程序增加或改由其他软件取代,或者读写 RFID读写器种类增加等情况发生时,应用端不需修改也能处理,省去多对多连接的维护复杂性问题。2 y; u# c2 A( d0 J0 @. E7 B+ S
/ A. q6 s# R7 X" k关键词:中间件 RFID中间件 中间件 ; V2 |3 U7 O0 _3 t
8 y: X4 A; K5 h# R' f引 言 ; j2 G; B6 ~& r/ L
( k! r& W. f# I! j
RFID中间件在RFID读写器和应用程序之间起桥梁作用。应用程序端使用中间件所提供一组通用的应用程序接口(API),即能连到RFID读写器,采集RFID标签数据。即使存储RFID标签情报的数据库软件或后端应用程序增加或改由其他软件取代,或者读写 RFID读写器种类增加等情况发生时,应用端不需修改也能处理,省去多对多连接的维护复杂性问题。嵌入式RFID中间件在RFID的大规模应用中将扮演重要的角色。在具体应用部署过程中,会有大量的嵌入式设备充当边缘中间件的硬件平台。对于众多有意从事中高端RFID读写器开发的硬件厂商而言,借助嵌入式 RFID中间件迅速实现硬件集成基础之上的软件集成,是帮助硬件厂商快速升级产品系列,满足企业拓展市场和业务范围需要的有效举措。通透性是这种系统整个应用的关键,正确抓取数据、确保数据读取的可靠性,以及有效地将数据传送到后端系统都是必须考虑的问题。 9 }2 V/ b, _% W7 \2 `: B
# J! f& N' Z( U4 R5 N
ARM处理器是当今应用最为广泛的处理器芯片之一,低功耗、低成本、高性能等特点使其在消费电子类产品中的竞争力日趋显著。本文提出了一种基于ARM的支持多通信平台的RFID中间件系统设计,可以更广泛、更丰富地推动RFID应用。
# I% D7 x) k6 B# d
8 V6 ^6 z. W- X, o% t1 硬件设计 9 O5 t4 A5 _; V; ~, s
0 ]9 I$ N2 t) W' h! r
AutO_ID中心曾提出了名为Savant的RFID中间件概念的雏形,并制定出相应的1.0规范草案、技术手册和原型系统,明确了RFID中间件的最原始功能。在此基础上,本系统应有以下功能: ! W6 ~* Q6 i( E8 F/ _5 g$ d" i
①管理读写设备,支持多种读写器(包括不同厂商、不同类型)。
! H X# E0 i9 c3 n- t②采集、过滤并缓存数据。
6 @% z B! b; _8 G e③提供应用开发接口。 $ f' ]3 @4 R- c5 w- c7 m2 B4 @
④与EPC体系标准服务交互:ONS、PML。
" r% M$ I& ]( G Z; W3 w. z& ~⑤支持多通信平台,如Internet、GSM、GRPS和CDMA。 ( d2 |" R- j/ g
⑥外设的集成控制与协同,实现嵌入式RFID中间件的柔性设备控制。
I: \/ \+ R' Z; g4 P, A! S* r- ], q: K# a/ @5 x2 @2 I
1.1 ARM核微处理器 1 b# T. K( L* e, _/ X& `
8 Q+ s; R* ~ h, S R4 K本系统在功能上分为有线通信模块、无线通信模块、人机交互模块和核心模块。本设计采用Samscmg公司203 MHz的ARM920T内核的处理器S3C2410。 & c M1 M/ A, i1 C; I
S3C2410微处理器是一个多用途的通用芯片,内部集成了微处理器和常用外围组件,可用于各种领域,指令处理速度达到200MIPS。其特性包括:扩展总线最高频率为100MHz,32位数据,27位外部地址线,存储控制器(8个存储体)包含RAM(SDRAM)控制器、NAND控制器;复位时引导芯片选择(8、16位存储或NAND可供选择);4个带有PWM的16位定时器,多达55个中断源的中断控制器;3个UART,支持IrDA 1.O;4个DMA通道(支持外设DMA);支持STN与TFTL LCD控制器;2个 USB口;I2C-Bus接口;2个串行外围接口电路(SPI)和SD卡接口。此外,S3C2410上可以移植标准Linux操作系统,使得程序开发更加简单。
5 `0 [1 c6 u; Z7 W" b9 v7 G% g! A- C" w/ o5 `# S/ y
1.2 主板模块 ! W2 \0 P2 M2 c1 x. U
0 R* ^5 S% [- j
系统内存部分由1片8M×16位数据宽度的Flash,共16 MB Flash(Intel E28F128J3C),读写周期150 ns;2片16M×16位数据宽度的SDRAM(HY57V561620BT)构成,共64 MB SDRAM。 1 k6 X; y9 D5 ~2 Y! ]! n/ D2 s
; @- [+ t; e- I; W0 Z# _
S3C2410提供8路片选nGCSn[0~7],每个片选都指定了固定的地址,每个片选固定间隔为128 MB。系统内存由2片16M×16位数据宽度的SDRAM拼成32位模式,公用nGCS6。共64 MB RAM。起始地址为Ox30000000。nGCS0接的是一片8M×16位数据宽度的Intel E28F128 Flash,安装在BANK0,起始地址为0x0。其中内核烧写的起始地址为Ox40000,根文件系统RAM~DISK烧写的起始地址为 Oxl40000。 ! o8 X- V) K" G$ ~ t( L" g8 e
& C a- J4 }2 A3 \$ k0 v4 H1 h
1.3 人机交互模块
! M, v& `( D' x! x: ^8 M
; H' b$ ^1 a V) l! G: }: Q系统利用GPIO口提供4个按键,以便能够响应按键中断,并获取键值。利用EINT4使用。 PS2键盘。S3C2410自带LCD控制器和触摸屏接口。本系统使用型号为LQ035Q7DB02的LCD液晶显示屏,采用MAX1664.作为电源驱动器。MAX1664是美国Maxim公司生产的有源矩阵液晶显示器开关电源,具有升压、双路输出锁相等特点,还提供一个LCD底板驱动器。
h; {9 @" w# j0 J
( d8 X3 K, d: J# T9 K" Q1.4 有线通信模块
7 \ u! m1 u& } w
- R/ ^" ^4 f6 O, w4 e: A该模块包括RS-232串行接口和1个10/100M自适应以太网接口。本系统采用一种单电源、低功耗RS-232芯片MAX3232。13、8脚接收:RS-232电平,最大值可达±25 V,从而12、9脚输出TTL电平,低电平不大于O.4V,高电平不低于Vcc-O.6 V;11、10脚输入TTL电平,14、7脚输出RS-232电平,最小幅值大于±5.0 V,典型值为±5.4 V。当向外发送数据时,TXD1有一个下降沿,指示灯LED亮,经过MAX3232,TTL电平转化为RS-232电平。当接收外部数据时,RXD1有一个下降沿,指示灯LED亮,外部RS-232电平经过MAX3232转化为TTL电平进入微处理器。
" a3 T2 I, M; Q+ n* a
; v' r2 D6 Q! D) e+ ~系统通过外接1片DM9000以太网MAC芯片扩展了一个10/100M自适应的以太网接口,占用资源nGCS1/EINTO。DM9000是 Davicom公司的一个全双工高速以太网控制处理器,内部集成了10/100M PHY、MAC、MMU和4 KB Dword SRAM。兼容3.3 V和5 V供电。它提供8位、16位和32位3种接口,4路多功能GPIO。此外DM9000还集成有接收缓冲区。S3C2410X支持2路USB HOST接口,支持高速、低速USB设备。 I4 z, w, ~. v: z
; V$ z+ x% d/ |8 i1.5 无线通信模块 u6 C4 y! ^1 j6 j4 C- m6 s: j
8 b) J- A, v, E无线技术是目前通信发展中最具有活力和前景的技术,支持无线接人的RFID中间件可以部署于无固定网络基础设施的场景,降低有线网络部署成本。RFID中间件还可以用无线通信方式向用户传输信息,提高信息传递的实时性。通过在系统中实现GPRS (General Packet Radio Service)模块,使系统具备移动通信功能。GPRS是通用分组无线业务的简称,以分组模式在PLMN和与外部网络互联的内部网上传输。理论上, GPRS可提供高达115 kbps的传输速率,但实际上用户用到的带宽大约为40 KB
" p8 ?5 S+ m# [$ R: D& G~100KB。GPRS分组交换接人时间小于1 s,广泛支持IP协议。GPRS的这些特点提供了一个完备的基于TCP/IP协议的通信解决方案。
+ l- r6 M/ o2 ^$ L+ ?! T, x
' C$ e, B; U# A8 H/ K1 }9 hGPRS通信模块使用Sony Ericsson公司的GR47来实现GPRS上网的功能。GR47是GSM/GPRS全套语音和数据功能的工业级的先进无线模块,所有的功能都集中在一块集成的芯片内,内嵌TCP/IP协议栈。
5 g1 Q5 }2 K; N" p/ R+ V& V
, ^# V- U+ }+ f* G! y# f1.6 电源设计 8 v4 X% U4 D/ Y& ]6 s! V4 F
, ~8 Y- E( g; _- n1 U/ }( ?系统的核心模块工作电源为单一的3.3 V/0.5 A直流。由于核心模块电源消耗功率较小,因此系统采用LT10856线性稳压芯片,使用电路板上下面铜箔作为散热面,用9 V/0.8 A直流电源供电。 3 N3 F7 ]. @1 ?4 d3 L9 W+ E4 G
3 X- Q5 s5 W# U9 e
在其他的应用设计中根据不同的电源消耗需求,可以选择线性稳压源方案和开关稳压源方案。对于前一种选择,可以获得低噪声、廉价等益处,但同时也有效率低、发热较大等缺点;对于开关电源方案,正好与线性电源的优缺点相反。
J/ i7 d ^' D- P* h; Q; k" Y6 H- _, v: } y/ H
1.7 其他外设
( s3 m; c+ N- j, }# Z( b# v系统提供了2个USB HOST接口,可支持U盘、USB摄像头等多种USB设备,只需开发不同的设备驱动就可有效扩展。 g- Y g7 e; f g2 R' E9 j
使用UDA1380音频编解码器可有效支持MD、CD、MP3格式的音频文件的播放。 ) u8 g# n1 G. W: W5 U/ m* @
% t1 h' x- |, f2 M2 软件设计
0 o& I& |0 g3 y* [& v5 S2 W/ C
Linux性能强大,开源免费,有极强的平台可伸缩性,符合POSIX标准,且有强大的网络功能。这些特点使其近年来在嵌入式领域发展迅速,广泛渗透到信息家电、网络设备和手持终端等市场,因此本系统以Linux操作系统为依托,在其上开发应用程序。中间件软件是一个多层次多模块的软件系统,共分为3个层次,如图3所示。 B- \1 J/ S2 m$ Q- h/ _
7 L% i$ B) P! _* T' n0 [$ y/ u9 O
系统配置层:实现系统配置功能,调用下层提供的一些功能接口,不仅可以添加下层的基本处理单元,而且可以对处理单元的一些参数进行有效配置。它包括Web Server接口模块和远程控制信息台模块。
$ N3 }# U( ]7 V2 y) j* H% y; y, T: T" v' c6 w
数据逻辑层:实现该软件系统的基本功能,包括读写器命令处理、标签过滤处理、对象域名服务(ONS)接口、企业级服务器接口交互(可能改为和PC中间件进行交互)。该层次完成系统的逻辑功能,包括设备管理模块、数据过滤模块、ONS查询模块(保留)、企业级别服务器接口模块。
( Z' i& ~; u' q5 D4 S基础设施层:提供系统运行所需要的基本功能,如数据库访问功能、内存管理功能,它们为其他模块提供统一稳定的接口,屏蔽一些差异性。该层次包括网络管理模块、内存管理模块(保留)、数据库访问模块。 3 i/ g! v/ ~7 Y# k* w
5 I& o& j. X7 j/ T" [6 M1 V
2.1 Linux的移植 % B+ t! ]% B d7 ^
_% U2 H7 u5 J2 P; W
在嵌入式开发中,把操作系统移植到开发板是进行嵌入式应用程序开发的前提和基础。ARM Linux是针对ARM体系结构的嵌入式Linux操作系统。在编译Linux内核之前,首先要针对具体的硬件对内核进行配置,包括系统类型的配置。本系统选择ARM system type。在配置好通用内核选项、块设备和文件系统之后,即可编译修改后的内核文件,生成一个内核映像的自解压压缩文件。通过运行make clean dep zImage对该文件进行依赖编译,系统将在/arch/armnommu/boot目录下生成内核映像zImage,并将zImage下载到Flash 中的64K地址处。运行时,将U-Boot复制到SDRAM中的OxOc300000地址处并启动zImage;zImage会自行解压缩,将其解压缩到 SDRAM中的OxOc080000地址处并开始运行。内核启动后,系统会将romfs作为根文件系统。在linux-dist目录下运行make menuconfig命令可配置Linux的文件系统。
# l, ]3 H! p1 A+ `7 M! R/ |, Z$ R4 l
2.2 RFID标签数据处理 / Y* n* H" h5 ?1 T: _& g% E- L8 Z
6 F3 P% E1 |7 \: L
系统读取的RFID标签数据在中间件中主要经历数据管理、编码管理和过滤规则管理,之后存入本地数据库。其中数据管理包括数据校验、数据处理和数据存储;编码管理即设定编码规范,可配置支持不同数据编码规范;过滤规则管理能支持用户配置数据过滤规则。系统基本流程如图4所示。 - a# d8 ^+ T3 a# |' M7 V6 k
' Y8 _6 h( L2 f( n0 ~' K
用户的参数配置信息通过消息队列发送给中间件软件,软件分析发送过来的数据,对系统工作状态作出一定的调整。同时,系统通过网络处理模块接收从网口上读写器发送过来的数据,把这些数据分为标签数据和读写器管理数据两类。系统每个读写器实例都有自己的数据处理线程,它分析自己独特的数据格式形成统一的数据,并且调用该种读写器的处理方法,对解析后的数据结合该读写器特定的数据处理参数,对标签数据进行过滤、转发等工作。整个系统中有唯一一个管理命令处理线程,它轮询每个读写器的管理命令处理队列。如果有命令数据,那么调用该读写器特定的处理方法对这些数据进行处理。 : W+ }1 h' A( w3 ~
4 ?1 E) a$ Y: W L结 语 ) O% R' S2 ?' y# t
2 r; g P' y$ f! i; {9 M
本文提供了一种支持多通信平台的嵌入式RFID中间件系统设计方案。支持无线接入的RFID中间件可以部署于无固定网络基础设施的场景,降低有线网络部署成本。RFID中间件还可以用无线通信方式向用户或者系统传输信息,提高了信息传递的实时性。
# X1 b% _5 E) W+ Y9 ~
" u2 c# u& F6 L |
|