|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
8 y+ y+ p' t+ p" _, s" ]8 D7 h/ |- F1 E2 R" U- [ | |1 r8 L
9 U3 e$ e( U/ t" Q3 G
' f; o# A' D) `! U# H
摘要:RFID中间件在RFID读写器和应用程序之间起桥梁作用。应用程序端使用中间件所提供一组通用的应用程序接口(API),即能连到RFID读写器,采集RFID标签数据。即使存储RFID标签情报的数据库软件或后端应用程序增加或改由其他软件取代,或者读写 RFID读写器种类增加等情况发生时,应用端不需修改也能处理,省去多对多连接的维护复杂性问题。
7 Z+ @3 c; ^# v. C/ h9 X- T6 O
/ }! f' p% c# M关键词:中间件 RFID中间件 中间件 ( j* Y; `' g+ C+ O3 H0 }" V
* d, G" }3 O, ^. k" U& d
引 言
8 P6 I+ q. c$ c& X* s, q
5 b) S* r% m" b3 N+ x" `1 l+ ?RFID中间件在RFID读写器和应用程序之间起桥梁作用。应用程序端使用中间件所提供一组通用的应用程序接口(API),即能连到RFID读写器,采集RFID标签数据。即使存储RFID标签情报的数据库软件或后端应用程序增加或改由其他软件取代,或者读写 RFID读写器种类增加等情况发生时,应用端不需修改也能处理,省去多对多连接的维护复杂性问题。嵌入式RFID中间件在RFID的大规模应用中将扮演重要的角色。在具体应用部署过程中,会有大量的嵌入式设备充当边缘中间件的硬件平台。对于众多有意从事中高端RFID读写器开发的硬件厂商而言,借助嵌入式 RFID中间件迅速实现硬件集成基础之上的软件集成,是帮助硬件厂商快速升级产品系列,满足企业拓展市场和业务范围需要的有效举措。通透性是这种系统整个应用的关键,正确抓取数据、确保数据读取的可靠性,以及有效地将数据传送到后端系统都是必须考虑的问题。
5 q J* Z" {# p! v' L
6 o9 k @9 M% B/ C: rARM处理器是当今应用最为广泛的处理器芯片之一,低功耗、低成本、高性能等特点使其在消费电子类产品中的竞争力日趋显著。本文提出了一种基于ARM的支持多通信平台的RFID中间件系统设计,可以更广泛、更丰富地推动RFID应用。 : a6 o: i+ Y9 ~- t* R
% a0 q1 F" n, E4 u5 V; _1 硬件设计 0 ~1 r" z- H) ]
# I( m5 G) M1 O M1 ?7 @2 v7 OAutO_ID中心曾提出了名为Savant的RFID中间件概念的雏形,并制定出相应的1.0规范草案、技术手册和原型系统,明确了RFID中间件的最原始功能。在此基础上,本系统应有以下功能: 0 c/ o* D/ Z7 }- b8 \3 Q
①管理读写设备,支持多种读写器(包括不同厂商、不同类型)。
0 ^( W/ H; ~4 @% ]* q2 F; i8 T②采集、过滤并缓存数据。
; H+ }9 v9 T0 O. f3 }5 |2 L! j③提供应用开发接口。
* j0 C8 K" g1 K1 \④与EPC体系标准服务交互:ONS、PML。
+ n s p0 k3 U* z3 z. S⑤支持多通信平台,如Internet、GSM、GRPS和CDMA。
6 t o) Y1 k" {4 |6 t, J⑥外设的集成控制与协同,实现嵌入式RFID中间件的柔性设备控制。 ! v; Q1 W6 L; T/ O4 S9 n+ L
8 T1 c: D# D/ y, z4 a. o; G' Q1.1 ARM核微处理器 0 }' E. L' X/ `# P- T+ V6 }
: C' n: k. s: n$ t本系统在功能上分为有线通信模块、无线通信模块、人机交互模块和核心模块。本设计采用Samscmg公司203 MHz的ARM920T内核的处理器S3C2410。
3 Y, f. u' t! w1 ]; s% HS3C2410微处理器是一个多用途的通用芯片,内部集成了微处理器和常用外围组件,可用于各种领域,指令处理速度达到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操作系统,使得程序开发更加简单。 . q) B' b8 [8 b3 T. b1 k+ r* O
; O2 f* _( |3 ^5 Z/ e3 X
1.2 主板模块
" j; |3 G, K4 S3 R$ f; N4 h c8 y! W- g8 K% D0 P/ ]7 W
系统内存部分由1片8M×16位数据宽度的Flash,共16 MB Flash(Intel E28F128J3C),读写周期150 ns;2片16M×16位数据宽度的SDRAM(HY57V561620BT)构成,共64 MB SDRAM。
- r8 s: D2 ]4 Q/ N; Y1 L2 `$ R* o8 k. t
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。
' a) K" U6 g6 c2 k) |7 G& s0 T5 D4 s2 Y: ^( o% \+ z$ l
1.3 人机交互模块 % a+ A! E7 q+ E6 b! ]
" ]4 i! s3 [+ l/ @# @+ X( Q7 L7 V
系统利用GPIO口提供4个按键,以便能够响应按键中断,并获取键值。利用EINT4使用。 PS2键盘。S3C2410自带LCD控制器和触摸屏接口。本系统使用型号为LQ035Q7DB02的LCD液晶显示屏,采用MAX1664.作为电源驱动器。MAX1664是美国Maxim公司生产的有源矩阵液晶显示器开关电源,具有升压、双路输出锁相等特点,还提供一个LCD底板驱动器。 0 e" E3 I8 X, [2 g4 } Z5 ]5 S
. U9 S' x8 J* U# R# Q
1.4 有线通信模块
" q1 p0 S: W7 B
, ^+ p: p1 `& |8 \4 h该模块包括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电平进入微处理器。
3 q: {+ z. T* x! z( \4 o% E V' l9 D
系统通过外接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设备。 ) r" e$ o8 | D0 f! |
2 s& r9 j+ J' Z7 u6 p2 R
1.5 无线通信模块 ; x# H2 [5 |; Q: h
* c9 B t5 O( x8 _& y" j
无线技术是目前通信发展中最具有活力和前景的技术,支持无线接人的RFID中间件可以部署于无固定网络基础设施的场景,降低有线网络部署成本。RFID中间件还可以用无线通信方式向用户传输信息,提高信息传递的实时性。通过在系统中实现GPRS (General Packet Radio Service)模块,使系统具备移动通信功能。GPRS是通用分组无线业务的简称,以分组模式在PLMN和与外部网络互联的内部网上传输。理论上, GPRS可提供高达115 kbps的传输速率,但实际上用户用到的带宽大约为40 KB
* B _7 O: L6 y- A~100KB。GPRS分组交换接人时间小于1 s,广泛支持IP协议。GPRS的这些特点提供了一个完备的基于TCP/IP协议的通信解决方案。& t$ n8 q6 q. E0 P% q& o9 m9 t
- Z2 ]: H( @( {( E' z6 L
GPRS通信模块使用Sony Ericsson公司的GR47来实现GPRS上网的功能。GR47是GSM/GPRS全套语音和数据功能的工业级的先进无线模块,所有的功能都集中在一块集成的芯片内,内嵌TCP/IP协议栈。
6 V& H6 t, q" V2 \ O0 @/ O% L f8 R8 @1 P
1.6 电源设计
1 X9 k0 R3 B4 J; ^) E
0 p; M. H, y0 f# Y j! x系统的核心模块工作电源为单一的3.3 V/0.5 A直流。由于核心模块电源消耗功率较小,因此系统采用LT10856线性稳压芯片,使用电路板上下面铜箔作为散热面,用9 V/0.8 A直流电源供电。 1 {3 T2 ]; @' C, J7 _- D8 |4 ^
+ I& j( [' ^, c9 M6 z$ @+ a1 P5 O
在其他的应用设计中根据不同的电源消耗需求,可以选择线性稳压源方案和开关稳压源方案。对于前一种选择,可以获得低噪声、廉价等益处,但同时也有效率低、发热较大等缺点;对于开关电源方案,正好与线性电源的优缺点相反。
6 }0 \. D4 C1 c2 j, @1 [# `2 Q! l* J
1.7 其他外设 ! ~" W8 B3 h+ [$ K
系统提供了2个USB HOST接口,可支持U盘、USB摄像头等多种USB设备,只需开发不同的设备驱动就可有效扩展。 ) E+ ]5 K: i- R, `; `" W. u" d
使用UDA1380音频编解码器可有效支持MD、CD、MP3格式的音频文件的播放。 9 M: r# T( O8 W: ]! x
: |2 n. a# B( W: k7 I1 J% x2 软件设计 5 S$ f& y2 I+ W/ y* r1 j
4 F/ _8 H: o2 l# \+ t
Linux性能强大,开源免费,有极强的平台可伸缩性,符合POSIX标准,且有强大的网络功能。这些特点使其近年来在嵌入式领域发展迅速,广泛渗透到信息家电、网络设备和手持终端等市场,因此本系统以Linux操作系统为依托,在其上开发应用程序。中间件软件是一个多层次多模块的软件系统,共分为3个层次,如图3所示。
4 K+ }3 `3 Z; [3 R5 p
. R2 g+ Q% E/ e2 U' a' A系统配置层:实现系统配置功能,调用下层提供的一些功能接口,不仅可以添加下层的基本处理单元,而且可以对处理单元的一些参数进行有效配置。它包括Web Server接口模块和远程控制信息台模块。 $ }( G, e/ O$ R/ k
6 M: u* s6 Z: U* E: s8 o
数据逻辑层:实现该软件系统的基本功能,包括读写器命令处理、标签过滤处理、对象域名服务(ONS)接口、企业级服务器接口交互(可能改为和PC中间件进行交互)。该层次完成系统的逻辑功能,包括设备管理模块、数据过滤模块、ONS查询模块(保留)、企业级别服务器接口模块。 $ t+ v4 L/ n/ W3 Z, b
基础设施层:提供系统运行所需要的基本功能,如数据库访问功能、内存管理功能,它们为其他模块提供统一稳定的接口,屏蔽一些差异性。该层次包括网络管理模块、内存管理模块(保留)、数据库访问模块。 G/ a3 f" u I. n
# y0 Q2 w! ^* T9 O: o" U# \2.1 Linux的移植 - n- y' `8 U2 D% [9 ?
$ [" i" y9 s5 d: R5 c
在嵌入式开发中,把操作系统移植到开发板是进行嵌入式应用程序开发的前提和基础。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的文件系统。
4 m1 _$ V+ \0 x9 c
: A( z0 p$ z* i' c# Z l2.2 RFID标签数据处理 ( j; W8 c* {2 q8 A# ~* M+ |, L
; E. j! n3 `; ~8 [" q
系统读取的RFID标签数据在中间件中主要经历数据管理、编码管理和过滤规则管理,之后存入本地数据库。其中数据管理包括数据校验、数据处理和数据存储;编码管理即设定编码规范,可配置支持不同数据编码规范;过滤规则管理能支持用户配置数据过滤规则。系统基本流程如图4所示。 5 ~* M- m+ G6 U5 s* ^" ~# C0 g0 y& n
4 t y* e! ?% S9 n用户的参数配置信息通过消息队列发送给中间件软件,软件分析发送过来的数据,对系统工作状态作出一定的调整。同时,系统通过网络处理模块接收从网口上读写器发送过来的数据,把这些数据分为标签数据和读写器管理数据两类。系统每个读写器实例都有自己的数据处理线程,它分析自己独特的数据格式形成统一的数据,并且调用该种读写器的处理方法,对解析后的数据结合该读写器特定的数据处理参数,对标签数据进行过滤、转发等工作。整个系统中有唯一一个管理命令处理线程,它轮询每个读写器的管理命令处理队列。如果有命令数据,那么调用该读写器特定的处理方法对这些数据进行处理。
7 [/ z' c, k3 _! M5 E, j- f" A: o: N1 g. E/ m B1 ]
结 语
, ^+ E; _. l/ q! b" q$ w7 p0 I
5 w5 r1 s9 o& u+ V Z0 k0 t/ {本文提供了一种支持多通信平台的嵌入式RFID中间件系统设计方案。支持无线接入的RFID中间件可以部署于无固定网络基础设施的场景,降低有线网络部署成本。RFID中间件还可以用无线通信方式向用户或者系统传输信息,提高了信息传递的实时性。 2 z3 A3 r% L- W+ d3 D
. N3 B( |' n. \$ Y5 w) D |
|