ENC28J60+AS3990的网络UHF读写器设计_第1页
ENC28J60+AS3990的网络UHF读写器设计_第2页
ENC28J60+AS3990的网络UHF读写器设计_第3页
ENC28J60+AS3990的网络UHF读写器设计_第4页
ENC28J60+AS3990的网络UHF读写器设计_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、【Word版本下载可任意编辑】 ENC28J60+AS3990的网络UHF读写器设计 引言 物联网产业的兴起为RFID技术的发展和广泛应用带来了契机。超高频(UHF)读写系统凭借其读取距离远、读写速度快、并发读取标签数多、标签价格低廉等优点,将成为RFID领域未来研究和发展的热点。但目前国内市场上UHF读写器种类较少,接口单一,使用时难以摒弃传统的读写器加PC机操作模式。这些缺点限制了UHF读写器的大量使用,尤其是在物流这类需要远程物品识别和信息获取的场合。本文以射频识别芯片AS3990为根底,描述了基于网卡芯片ENC28J60的网络读写器的硬件和软件设计方案,使得读写器可以直接连入因特网,开

2、展远程数据获取和参数配置,增强了UHF读写器的实用性。 1 硬件设计 读写器总体设计框架如图1所示。主控制器采用基于ARM7TDMIS内核的控制器LPC2138,该芯片具有32 KB的片内SRAM和512 KB的片内Flash存储器。外部接口丰富,能够很好地满足读写器设计的要求。采用射频芯片AS3990实现了ISO180006C(即EPC GEN2)协议中要求的标签交互,并为外部控制器提供两种接口访问方式。控制器只需发送简单的控制和配置命令,AS3990即可完成与电子标签的交互过程。ENC28J60是兼容IEEE802.3的10M以太网网卡芯片,它通过SPI口与控制芯片实现数据交换。电源模块采

3、用电源芯片EZ10853.3为各个模块提供稳定的3.3 V直流供电。 图1 读写器总体设计框架 1.1 射频芯片接口电路 AS3990是Microsystems公司研制的一款用于超高频RFID读写器的符合ISO180006C标准的专用射频芯片。其内部集成了接收电路、发送电路、协议转换单元、控制接口等部分,用户只需外接少量的射频电路即可完成读写模块的功能设计。 AS3990可以通过并行接口或串行SPI接口与主控制器LPC2138开展交互。射频芯片接口电路如图2所示。IO0IO7用于并行接口,其中IO6和IO7也可用于SPI口的数据发送;引脚CLK作为SPI接口的时钟线使用;EN引脚为AS3990

4、的使能引脚;IRQ为AS3990中断引脚。 图2 射频芯片接口电路 为了降低相位噪声对读写性能的影响,电路中使用了外部压控振荡器(VCO)。VCO的输出连接在EXT_IN引脚上。另一方面,AS3990通过CP脚控制压控振荡器。20 MHz的温度补偿型石英晶体谐振器TCXO连接在OSCO引脚上,作为基准振荡器,这样可以进一步提高芯片的稳定性。 由于AS3990内部未集成功率放大器,所以需要外接功率放大器PA.当使用外接PA模式时,经AS3990调制后的射频信号在RFONX和RFOPX输出,两路射频信号经过平衡/不平衡变换器转换为单路射频信号后进入PA开展功率放大。AS3990的模拟输出引脚DAC

5、用于控制PA的增益。环形器用于将发送通路和接收通路隔离。同样,接收到的射频信号经过平衡/不平衡变换器转换为两路差分信号,AS3990内部解调电路对两路信号解调得到数据。 1.2 网卡芯片接口电路 ENC28J60是Microchip公司生产的28引脚独立以太网控制器,它内置了10 Mbps以太网物理层器件和介质访问控制器,符合IEEE 802.3标准,特别适合于嵌入式设备的入网解决方案。ENC28J60通过SPI接口与控制器LPC2138交互,网卡芯片接口电路如图3所示。SO、SI、SCK为SPI接口的3条总线,CS为ENC28J60的片选信号,中断信号INT和WOL分别连接到主控制器的EIN

6、T3和EINT1上。芯片ENC28J60的2条差分接收引脚TPIN和2条差分发送引脚TPOUT外接在一个1:1脉冲变压器上,脉冲变压器输出接至网口座上。 图3 网卡芯片接口电路 2 软件设计 网络读写器软件设计包括C/OSII移植、LwIP协议栈移植、网卡驱动程序和上层应用程序的编写4个部分。软件设计整体框架如图4所示。 图4 软件设计整体框架 2.1 C/OSII移植 操作系统移植是LwIP协议栈移植和应用程序编写的根底,其在LPC2138上的移植内容包括: 完成操作系统所需的基本配置和数据类型定义、开关中断函数文件OS_CPU.H的编写。 在文件OS_CPU.C完成堆栈初始化函数OSTas

7、kStkInit()函数,并根据自身需求编写相关Hook函数。 利用文件OS_CPU_A.S完成启动优先级任务的函数OSStartHighRdy、任务切换函数OSCtxSw、中断级任务切换函数OSIntCtxSw、系统时钟中断服务函数OSTickISR的编写。 初始化定时器0,为系统提供时钟。 2.2 LwIP协议栈移植 完成LwIP协议内部使用的数据类型的定义,如u8_t、s8_t、u16_t、u32_t等。这样使得协议栈内部使用的数据类型不再受移植平台处理器和编译器的影响,增强了协议栈的可移植性。移植时,根据编译器和移植平台事先定义好这些数据类型,定义如下: typedef unsigne

8、dcharu8_t;/定义8位无符号整数 typedef signedchars8_t;/定义8位带符号整数 typedef unsignedshortu16_t;/定义16位无符号整数 typedef signedshorts16_t;/定义16位带符号整数 typedef unsignedintu32_t;/定义32位无符号整数 typedef signedints32_t;/定义32位带符号整数 定义临界区保护函数用于开关中断,定义构造体封装宏以防止编译器地址自动对齐。LwIP的实现基于这样一种机制,即上层协议已经明确知道了下层所传上来的数据的构造特点,上层直接使用地址计算得到想要的数据

9、,而防止了数据递交时的复制与缓冲。所以需定义构造体封装宏,禁止编译器的地址自动对齐以防止数据构造被打乱。 实现与信号量和邮箱操作相关的函数,比方建立、删除、等待、释放等。LwIP使用邮箱和信号量来实现上层应用程序与协议栈间、下层硬件驱动与协议栈间的信息交互。这些函数可以通过调用C/OSII提供的信号量、邮箱函数来实现。 实现一个与等待超时相关的函数sys_arch_timeouts.该函数能够返回当前协议栈超时事件链表的首地址。在初始化LwIP进程时,会同时初始化一些超时事件,如ARP超时、TCP超时等,当某些事件等待超时后,协议栈会自动调用一些超时处理函数作相关处理,以满足TCP/IP协议栈

10、的需求。 实现创立一个进程的函数,可以通过操作系统提供的OSTaskCreate函数完成。 2.3 网卡驱动程序编写 网卡芯片生产厂商一般都提供了丰富的驱动函数,对这些接口函数开展相应的封装,将接收到的数据包封装为LwIP协议栈熟悉的数据构造,将发送的数据包封装为芯片熟悉的数据构造。发送数据包和接收数据包的函数需要被实现。芯片与控制器LPC2138接口定义如下: #defineSPI_SCK(0 x014) /P0.4 #defineSPI_MISO(0 x015) /P0.5 #defineSPI_MOSI(0 x016) /P0.6 #defineENC28J60_CS(0 x018) /

11、P0.8 #defineENC28J60_INT(0 x019) /P0.9 2.4 应用程序编写 基于多任务环境,在读写器上创立两个任务:一个为HTTP服务器任务,此时读写器可看作是一个网络服务器,它可以响应远程的浏览器连接请求,并返回Html数据至浏览器上,这样就可以远程获取读写器状态;另一个为读写器的读写任务,此时读写器作为一个客户端使用,它需要连接到远程的控制服务器,接收服务器的配置或控制命令,以响应并开展相关操作,返回操作结果或数据给服务器端。应用程序流程如图5所示。 图5 应用程序流程 结语 诸如电子商务、智能物流等需要大量使用电子标签的领域的兴起,使得超高频读写器在物联网及RFID领域发挥出日趋重要的作用。目前国内市场上出现了部分UHF读写器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论