|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
9 ?2 O! O" e) _: C; L3 g
# G r0 }% A; i* M7 v. j3 @1 p* V. }3 A% S
0 ?- W- V3 U8 Z% G' D5 g摘要:RFID中间件在RFID读写器和应用程序之间起桥梁作用。应用程序端使用中间件所提供一组通用的应用程序接口(API),即能连到RFID读写器,采集RFID标签数据。即使存储RFID标签情报的数据库软件或后端应用程序增加或改由其他软件取代,或者读写 RFID读写器种类增加等情况发生时,应用端不需修改也能处理,省去多对多连接的维护复杂性问题。% O7 ^$ {8 {5 d# ]
- u) ^9 ?0 Z2 j9 ^- E1 |关键词:中间件 RFID中间件 中间件
5 P O8 q: V) s& B* i6 V+ ?* R5 b$ {* c7 @9 ~' M) e; P
引 言 z6 n+ k4 m4 X& D1 N! c% G
$ p* S) v" b( R0 y/ qRFID中间件在RFID读写器和应用程序之间起桥梁作用。应用程序端使用中间件所提供一组通用的应用程序接口(API),即能连到RFID读写器,采集RFID标签数据。即使存储RFID标签情报的数据库软件或后端应用程序增加或改由其他软件取代,或者读写 RFID读写器种类增加等情况发生时,应用端不需修改也能处理,省去多对多连接的维护复杂性问题。嵌入式RFID中间件在RFID的大规模应用中将扮演重要的角色。在具体应用部署过程中,会有大量的嵌入式设备充当边缘中间件的硬件平台。对于众多有意从事中高端RFID读写器开发的硬件厂商而言,借助嵌入式 RFID中间件迅速实现硬件集成基础之上的软件集成,是帮助硬件厂商快速升级产品系列,满足企业拓展市场和业务范围需要的有效举措。通透性是这种系统整个应用的关键,正确抓取数据、确保数据读取的可靠性,以及有效地将数据传送到后端系统都是必须考虑的问题。
, y3 E! W( ^! z0 S) [- }) j' O x y. `: D
ARM处理器是当今应用最为广泛的处理器芯片之一,低功耗、低成本、高性能等特点使其在消费电子类产品中的竞争力日趋显著。本文提出了一种基于ARM的支持多通信平台的RFID中间件系统设计,可以更广泛、更丰富地推动RFID应用。 4 q2 B. N b }" S
7 q# y9 o% m* r& O1 硬件设计 * K9 s4 m9 L. F( G2 c3 G! K
( ]: T% R. n/ [& `; jAutO_ID中心曾提出了名为Savant的RFID中间件概念的雏形,并制定出相应的1.0规范草案、技术手册和原型系统,明确了RFID中间件的最原始功能。在此基础上,本系统应有以下功能:
; d0 M5 U- r0 D. S" B* s①管理读写设备,支持多种读写器(包括不同厂商、不同类型)。
1 g& X/ q- f5 S3 T- ]②采集、过滤并缓存数据。
5 W4 S1 U3 }4 t; V③提供应用开发接口。 # ?% j3 b' {. M( b% e' A9 ~+ k/ |
④与EPC体系标准服务交互:ONS、PML。
8 `5 w! [6 M% b% b/ P$ n⑤支持多通信平台,如Internet、GSM、GRPS和CDMA。 6 N+ q( R' u& q) J' L7 o
⑥外设的集成控制与协同,实现嵌入式RFID中间件的柔性设备控制。
' o/ g+ ?$ [; s$ _. I& }, r* `! J/ R
1.1 ARM核微处理器
: C4 i* d7 D t: u) d, f3 ] B( W7 ?3 o- l
本系统在功能上分为有线通信模块、无线通信模块、人机交互模块和核心模块。本设计采用Samscmg公司203 MHz的ARM920T内核的处理器S3C2410。
3 ^( u3 \6 z1 Y* q' [2 b) aS3C2410微处理器是一个多用途的通用芯片,内部集成了微处理器和常用外围组件,可用于各种领域,指令处理速度达到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操作系统,使得程序开发更加简单。 , Z( e3 l; k9 B {$ @" \
- M# Y. H. X6 h' Q! v/ O Z. p7 u
1.2 主板模块 - s. O) W! H2 @% H% F7 O
2 i* r% c$ w$ Z5 A' N; G4 x& w
系统内存部分由1片8M×16位数据宽度的Flash,共16 MB Flash(Intel E28F128J3C),读写周期150 ns;2片16M×16位数据宽度的SDRAM(HY57V561620BT)构成,共64 MB SDRAM。
3 G0 m. j( K, B* m0 D* D% ~8 Z
* E: x1 a6 g) b; {( k% dS3C2410提供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。
5 ]2 l4 G6 g/ x: v
/ {' X1 Q5 \' @: s9 R1.3 人机交互模块 9 y. W/ V2 |+ k( u
' X5 L3 _/ T p7 l; K系统利用GPIO口提供4个按键,以便能够响应按键中断,并获取键值。利用EINT4使用。 PS2键盘。S3C2410自带LCD控制器和触摸屏接口。本系统使用型号为LQ035Q7DB02的LCD液晶显示屏,采用MAX1664.作为电源驱动器。MAX1664是美国Maxim公司生产的有源矩阵液晶显示器开关电源,具有升压、双路输出锁相等特点,还提供一个LCD底板驱动器。 : A* U9 d6 I( y- V
0 W- K/ R) o* W" d. F1.4 有线通信模块
$ S' R) `! ~- n; L, @* h) M% I1 C! f$ 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电平进入微处理器。0 O' \! v' k9 c* h5 M
2 k+ |: {7 |, i8 b$ X5 \系统通过外接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设备。
+ @& h T/ Y L* x0 s* K }9 a ^0 M
8 h9 |& A! d* q3 C4 _1.5 无线通信模块 + b% B d6 e% s' R3 }
% N( S6 _- F, C% U) p$ t4 `
无线技术是目前通信发展中最具有活力和前景的技术,支持无线接人的RFID中间件可以部署于无固定网络基础设施的场景,降低有线网络部署成本。RFID中间件还可以用无线通信方式向用户传输信息,提高信息传递的实时性。通过在系统中实现GPRS (General Packet Radio Service)模块,使系统具备移动通信功能。GPRS是通用分组无线业务的简称,以分组模式在PLMN和与外部网络互联的内部网上传输。理论上, GPRS可提供高达115 kbps的传输速率,但实际上用户用到的带宽大约为40 KB
/ _' o- c4 A8 s' t i; z C~100KB。GPRS分组交换接人时间小于1 s,广泛支持IP协议。GPRS的这些特点提供了一个完备的基于TCP/IP协议的通信解决方案。
9 N) }# z( M0 l$ }5 P4 b
2 b( ^( A0 L( j1 Z' J+ {8 Y7 p3 qGPRS通信模块使用Sony Ericsson公司的GR47来实现GPRS上网的功能。GR47是GSM/GPRS全套语音和数据功能的工业级的先进无线模块,所有的功能都集中在一块集成的芯片内,内嵌TCP/IP协议栈。
+ h% V8 H x$ h
: V! i+ [0 e2 n8 I T, R9 _1.6 电源设计
- W& z; i3 R* O s2 p' {: |- y5 d6 m$ O
系统的核心模块工作电源为单一的3.3 V/0.5 A直流。由于核心模块电源消耗功率较小,因此系统采用LT10856线性稳压芯片,使用电路板上下面铜箔作为散热面,用9 V/0.8 A直流电源供电。 $ _4 z1 z6 T: C2 M0 t/ L, o# A: @
" M! H% y# m( _1 x% _% u! J' a
在其他的应用设计中根据不同的电源消耗需求,可以选择线性稳压源方案和开关稳压源方案。对于前一种选择,可以获得低噪声、廉价等益处,但同时也有效率低、发热较大等缺点;对于开关电源方案,正好与线性电源的优缺点相反。 " R$ J; _* j, }, O) K: T
3 ~6 I# U9 x$ \6 h9 F
1.7 其他外设 5 K6 d+ g0 h$ s
系统提供了2个USB HOST接口,可支持U盘、USB摄像头等多种USB设备,只需开发不同的设备驱动就可有效扩展。 : u8 k3 U5 R: s$ h2 s, \& L
使用UDA1380音频编解码器可有效支持MD、CD、MP3格式的音频文件的播放。 . o! X( X. ^! o
( k0 I3 p* W) b8 z2 软件设计 / n0 P5 U: R5 D: @1 P9 u8 E
! u! l! B+ K; C& S4 u+ N( S9 FLinux性能强大,开源免费,有极强的平台可伸缩性,符合POSIX标准,且有强大的网络功能。这些特点使其近年来在嵌入式领域发展迅速,广泛渗透到信息家电、网络设备和手持终端等市场,因此本系统以Linux操作系统为依托,在其上开发应用程序。中间件软件是一个多层次多模块的软件系统,共分为3个层次,如图3所示。 ) X+ V' Q W0 C. V! p5 U
% {; B4 F2 S5 m. K7 q系统配置层:实现系统配置功能,调用下层提供的一些功能接口,不仅可以添加下层的基本处理单元,而且可以对处理单元的一些参数进行有效配置。它包括Web Server接口模块和远程控制信息台模块。 % D- s& \5 o& n/ j' B! L
% D. M" y5 j: ?6 ?! Q
数据逻辑层:实现该软件系统的基本功能,包括读写器命令处理、标签过滤处理、对象域名服务(ONS)接口、企业级服务器接口交互(可能改为和PC中间件进行交互)。该层次完成系统的逻辑功能,包括设备管理模块、数据过滤模块、ONS查询模块(保留)、企业级别服务器接口模块。
+ f, E7 J* w" c' c" b基础设施层:提供系统运行所需要的基本功能,如数据库访问功能、内存管理功能,它们为其他模块提供统一稳定的接口,屏蔽一些差异性。该层次包括网络管理模块、内存管理模块(保留)、数据库访问模块。
! L( n4 g4 |- V# \% i* E
/ y8 M0 `" K+ U; G1 F2.1 Linux的移植 5 I* f, Z9 }, [
% o+ Z5 k+ X5 c0 B; }( K* j9 G, l在嵌入式开发中,把操作系统移植到开发板是进行嵌入式应用程序开发的前提和基础。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的文件系统。 7 H7 Y, Q1 J: T8 r) |# }0 y( G+ R
( \6 z' m; E1 {: }8 X
2.2 RFID标签数据处理
' J/ x \/ ?2 v* y$ M$ A' R* ]6 q
4 L# a3 i2 M# {+ X4 d系统读取的RFID标签数据在中间件中主要经历数据管理、编码管理和过滤规则管理,之后存入本地数据库。其中数据管理包括数据校验、数据处理和数据存储;编码管理即设定编码规范,可配置支持不同数据编码规范;过滤规则管理能支持用户配置数据过滤规则。系统基本流程如图4所示。 & J2 B6 G( Q2 e4 g" p
5 K" C3 S' i. }1 {4 c+ a) A用户的参数配置信息通过消息队列发送给中间件软件,软件分析发送过来的数据,对系统工作状态作出一定的调整。同时,系统通过网络处理模块接收从网口上读写器发送过来的数据,把这些数据分为标签数据和读写器管理数据两类。系统每个读写器实例都有自己的数据处理线程,它分析自己独特的数据格式形成统一的数据,并且调用该种读写器的处理方法,对解析后的数据结合该读写器特定的数据处理参数,对标签数据进行过滤、转发等工作。整个系统中有唯一一个管理命令处理线程,它轮询每个读写器的管理命令处理队列。如果有命令数据,那么调用该读写器特定的处理方法对这些数据进行处理。 ; P. y6 _! h; U% Y7 x: E8 Y
2 W1 C3 P+ X9 M6 Z* n
结 语 + h1 H8 b+ v. _; K0 D. Z
3 ?' C) p2 x' C3 g v; G/ G% D
本文提供了一种支持多通信平台的嵌入式RFID中间件系统设计方案。支持无线接入的RFID中间件可以部署于无固定网络基础设施的场景,降低有线网络部署成本。RFID中间件还可以用无线通信方式向用户或者系统传输信息,提高了信息传递的实时性。
7 @) f5 D+ |* V& }) k4 `5 Y* x' j& Y- r9 b/ T
|
|