单片机在手持式RFID读写器中的网络接口设计

发布者:Xiangtan最新更新时间:2014-01-16 来源: dqjsw关键字:单片机  RFID读写器  网络接口 手机看文章 扫描二维码
随时随地手机看文章
  为适应RFID读写器在不同应用系统中的要求,开发了一种以MSP430F149单片机为核心的具有嵌入式以太网网络接口的手持式RFID 读写器。本文介绍RFID 读写器中单片机与以太网控制器RTL8139组成的网络接口设计方法,实现了手持式RFID读写器接入Internet网络进行数据通信。

  RFID 技术目前广泛应用于身份识别、防伪应用、供应链应用、公共交通管理、物流管理、生产线自动化与过程控制、容器识别等领域。由于手持式RFID读写器的存储器容量有限,保存在读写器中的数据可以通过USB 等接口传送到计算机中进行处理,但为更方便快捷地将读写器中的数据传送到远程的计算机系统中,将便携设备网络化是解决上述问题的有效途径之一。但目前的手持式RIFD 读写器并不具备与互联网进行网络连接的网络接口。另外,手持式RFID 读写器是通过内部所装有的电池进行供电,所以降低其工作功耗也是主要问题之一。而MSP430F149 单片机是一款16 位超低功耗的处理芯片,它将多个不同功能的模拟电路,数字电路模块集成于一身,适合应用与需要电池供电的便携式仪器仪表中。

  因此,本文主要介绍手持式RFID 读写器中MSP430F149单片机与以太网控制器RTL8139 接口的硬件设计的方法,以及相应的硬件设备驱动程序的设计和TCP /IP 协议栈的处理方法。

  1 网络接口硬件结构。

  1. 1 网络接口

  手持式RFID 读写器是便携式射频识别系统的主要设备,其网络接口主要由MSP430 单片机与以太网控制器RTL8139 块等组成。其网络接口硬件结构如图1 所示。

网络接口框图

 

图1 网络接口框图

  根据便携设备的低功耗要求,MSP430 单片机采用MSP430F149,具有超低功耗、强大处理能力、丰富片上外围模块及多种存储器形式等功能,其中有2 个具有中断功能的8 位并行端口P1与P2和4 个8 位的通用并行端口P3、P4、P5与P6,可以满足和以太网控制器的接口,而且能够实现RFID 读写器的其他接口功能。

  隔离变压器选用PM34 - 1006M10 /100 /1000M 变压器。采用RTL8139 以太网控制器作为网络接口。

  由于RTL8139 是PCI 总线接口,不能直接与8 位的MCU 接口,需要一个PCI 接口进行转接。单片机在进行外部存储器操作时采用的信号有P0口、P2口、ALE以及RD 和WR 信号。其中,P0口为地址( 低8 位) /数据复用,P2口为高8 位地址信号; ALE 为地址锁存信号,为高电平时将P0口的值锁存到低8 位数据线上; RD 和WR 为读写有效信号,低电平有效。因此,PCI 接口实际上是起到一个从单片机读写时序到32位PCI 读写时序转换的作用。

  1. 2 RTL8139 的结构及编程接口

  RTL8139 是台湾Realtek 公司生产的一种高度集成的全面支持IEEE802. 3 标准的以太网控制器芯片,支持微软的PnP 规范。利用双绞线可以和全双工网络交换机相连接,能够同时接收和发送数据。支持UTP( Unshielded Twisted Paired) ,AUI( Attachment UnitInterface) 自动侦测。支持IO 地址全解码模式。其主要特性如下:

  ( 1 ) 符合Ethernet Ⅱ 和IEEE802. 3 ( 10Base5,10Base2,10BaseT) 标准。

  ( 2) 支持跳线和免跳线两种工作方式。

  ( 3) 全双工,收发可同时达到100 Mbit·s - 1 的速率。

  ( 4) 支持32 位数据PCI 总线。

  ( 5) 允许3 个诊断LED 可编程输出。

  ( 6) 128 脚LQFP 封装,缩小了PCB 尺寸。

  如图2 所示,RTL8139 内部已经包含有整个网络接口层的协议,因此应用起来较简单。用户不必考虑链路控制问题,而只需考虑单片机如何从RTL8139 中去读TCP /IP 协议的数据即可。

RTL8139AS内部结构图

 

图2 RTL8139AS 内部结构图

  PCI 总线信号有3. 3 V 标准和5 V 标准,信号线众多,但并不是所有的PCI 设备都使用全部的PCI 接口信号,实际只使用需要的即可。RTL8139AS 以太网控制器遵循3 V 标准,并且只使用了PCI 总线信号中的以下部分: AD[31: 0]为数据信号复用总线。[page]

  FRAME 为帧周期信号,由当前主设备驱动,表示一次访问的开始和持续时间。IRDY 为主设备准备好信号。

  TRDY 为从设备准备好信号。C /BE 为总线命令和字节使能复用信号。地址期是总线命令,数据期是字节使能。IDSEL 为初始化设备选择信号。在参数配置读写传输期间,用作片选。对于只有一个PCI 设备的情况,它可以总接高电平。RST 为复位信号。CLK 为系统时钟信号,频率范围DC ~ 33 MHz.以上信号都在CLK 的上升沿有效。INTA 为中断请求信号,RTL8139数据准备好后可以用来向主控制器发出中断。

  DEVSEL 为设备选择信号,表明驱动它的设备已成当前访问的设备,由于系统中,RTL8139 是单一的PCI 设备,因此该信号可以不用。

  2 网络接口软件结构

  RFID 读写器系统网络接口软件主要包括硬件设备驱动程序、TCP /IP 协议栈、应用协议和其他用户应用程序。网络接口软件的流程如图3 所示。

网络接口软件流程图

 

图3 网络接口软件流程图。

  其中应用协议和其他用户应用程序将在二次开发时根据RFID 读写器的具体功能要求进行设计,这里主要介绍硬件设备驱动程序、TCP /IP 协议栈的实现方法。

  2. 1 硬件设备驱动程序

  硬件设备驱动是将PCI 接口当作单片机的外部存储器看待,单片机以读写外部存储器的时序对PCI 接口进行读写,再由PCI 接口将这种读写操作时序转换成PCI 时序对以太网控制器进行操作。主要包括3 个部分,网络初始化,发送控制和接收控制。主要完成对CR,TCR,RCR IMR ISR,RBSTART,MAR 等寄存器操作。

  发送控制过程在网络中,帧传输的过程是发送方将待发送的数据按帧格式要求封装成帧,然后同过网卡发送到网络的传输线上。发送程序框图如图4所示。

RTL8139数据发送流程图

图4 RTL8139 数据发送流程图。

  接收控制过程分成2 步,第1 步是根据哈稀算法判断数据包是否是本地的数据包,如果是则接收放入FIFO,如果FIFO 里的数据包达到了RCR 寄存器预先设定阈值,把数据报放入RX_BUFF.第2 步主机程序将RX_BUFF 里的数据读取到内存进行处理。

  2. 2 TCP /IP 协议栈

  如图5 所示,以太网控制器提供了逻辑链路层协议,TCP /IP 协议栈则通过底层的硬件设备驱动程序来接收和发送数据,对接收到的以太帧数据进行协议的分析,并给其上层应用提供一些简单、易用的函数。

RTL8139数据接收流程图

图5 RTL8139 数据接收流程图。

-
-
  TCP /IP 实质上是一系列协议的总称,是实现Internet通讯必不可少的部分,包括十几个协议标准,在这里要实现的是通过网络读取居民用表的读数,传输的数据量少且对实时性要求不高,不需要全部的协议,只要实现几个必备的即可,权衡之下,求在最小代码、最小资源需求和功能实现间取得一个平衡: 只实现了ICMP、TCP、IP、ARP 4 个协议,组成一个小型化的TCP /IP 协议。因为任何一个以太网数据帧要发送时都必须要知道对方的物理地址,这能过ARP 协议获得,所以要实现ARP 协议。而IP 协议是TCP, ICMP协议数据的传输格式; TCP 协议提供可靠的,可重组服务; 而ICMP 协议是调试时所不可缺少的。另外,在实现重发功能时,大多的做法是应用层不参与,当需要重发时,由TCP /IP 协议把存储在数据缓冲区的数据再发送一次即可,但在以单片机为主处理器的情况下,因为单片机自身的资源有限,为了减少RAM 的使用,可以在需要重发时再由应用层产生这一帧数据即可,这无需太多的时间。这样也不必每发送一帧数据都要存在缓冲区中以备重发时使用,进一步节省了RAM。 [page]

3 实验结果及分析

  将手持式RFID 读写器通过网线连入局域网交换机,预先将读写器的IP 地址设置为192. 168. 1. 37,启动读写器、交换机及电脑,在电脑的命令终端输入ping192. 168. 1. 37 命令,其结果如图6 所示。

RFID连入局域网

图6 RFID 连入局域网结果。

  由图6 可知,手持式RFID 读写器已通过交换机成功连入局域网,与电脑建立网络连接。

  在电脑中打开RFID 综合管理系统,将实验用RFID 卡放入手持式RFID 读写器后,综合管理系统读到信息如图7 所示。

综合管理系统

图7 综合管理系统接收信息。

  由图7 可知,手持式RFID 读写器将读到的实验卡信息,通过局域网交换机成功地传输到电脑的综合管理系统当中,实现了网络接口的功能。

  4 结束语

  设计的手持式RFID 读写器网络接口硬件采用MSP430F149 作为控制芯片,选用PM34 - 1 006M10 /100 /1 000M 变压器作为隔离变压器,以及全面支持IEEE802. 3 标准高度集成的RTL8139 作为以太网控制器芯片,整个系统具有超低功耗等优点,实现了RFID 读写器的网络化功能,为提高产品的竞争力创造了条件。同时,网络接口驱动程序及TCP /IP C 语言进行开发,具有较好的可读性和移植性,可以提高开发效率,缩短开发周期。

关键字:单片机  RFID读写器  网络接口 引用地址:单片机在手持式RFID读写器中的网络接口设计

上一篇:手把手教你学单片机
下一篇:单片机电子电路的抗干扰设计

推荐阅读最新更新时间:2024-03-16 13:33

PIC单片机虚拟串行通信设计
1.实例目的: 本实例完全建立在计算机软件的基础上,利用PROTEUS软件构建一个单片机系统,利用VB编写一个计算机控制软件和单片机系统串行通信,计算机上的控制软件可以发送一个值在0——999之间的数,在单片机系统上显示出来,单片机系统上也可输入一个相同值域的数并在计算机控制软件上显示出来。本实例主要是为了展示虚拟串行通信的仿真。 2.系统配置 本实例虽然简单,但是要想看到想要的仿真结果,建立虚拟的串口连接是必不可少的。要想仿真串行通信,必须要把单片机系统上的串行口与计算机上的串行口连接,这样他们之间才能传输数据,但由于是仿真,实际没有相连接,所以需要创建一对虚拟串行口并使他们相连,这里我使用的是这个软件Virtual Ser
[单片机]
PIC<font color='red'>单片机</font>虚拟串行通信设计
PIC单片机开发工具
MPLAB简介 MPLAB 集成开发环境(IDE)是一个综合的编辑器、项目管理器和设计平台, 提供以下功能:使用内置的编辑器创建和编辑源代码、 汇编、编译和链接源代码, 通过使用内置的软件模拟器观察程序流程,或者使用在线仿真器或在线调试器以实时方式观察程序流程来调试可执行逻辑, 用软件模拟器或仿真器进行时序测量, 查看Watch 窗口中的变量, 使用器件编程器将固件烧写入器件。软件可以从Microchip公司的官方网站免费下载,使用时重点注意几个菜单项:在线调试,电源选项,芯片型号选择,单片机配置位的设置。 编译器MC18   MPLAB C18是适用于PIC18系列单片机独立而优化的ANSIC 编译器。此编译器是Microch
[单片机]
轻触式开关电路在AVR单片机中的应用
引 言: 单键开关电路已经广泛应用于PDA、手机和电子词典等数码产品中,其实现方式多种多样。一般可采用RS触发器、计数器以及采用555集成电路等等。在单片机的一些实际应用中,以上的实现方式会增加整个电路的复杂度,不能达到简洁、实用的效果。本文将介绍一种可以在单片机应用中实现的,简易、稳定的轻触式单键开关电路。 1 电路原理 如图1所示,DC-DC为一个带有关断控制端的直流稳压电源芯片,MCU是一个单片机。当按下S1时,Q1和D1导通,稳压芯片工作,为单片机供电。单片机马上将相应的I/O引脚置为输出高,这时Q1和Q2导通,整个电路进入工作状态。而后单片机再将这个I/O引脚设置为输入,由于上拉电阻R4的存在,Q1和Q2一直导通。
[单片机]
基于单片机应用系统的串行通信设计
  1 引 言   在红外成像技术的电力设备状态检测系统中,基于AT89C51单片机的应用系统,采用美国雷态公司的型号为3iLRL3的非接触式红外测温仪。该测温仪采用的是RS232C串行通信标准接口,该接口在很多通信设备中通用,目前与PC机的直接串行通信也是RS 232C接口。尽管RS232C性能指标并非很好,但还是有广泛的市场支持。就可以方便的在2个数字设备之间进行信息的交换,实现全双工的传送数据,硬件成本低。而且通用性好。   2 串行通信的硬件设计   串行通信是指 使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外
[单片机]
基于<font color='red'>单片机</font>应用系统的串行通信设计
赋能边缘,恩智浦如何打造未来智能工厂?
18世纪中叶以来,人类历史上先后围绕蒸汽技术、电力技术、计算机信息与新能源技术发生了三次工业革命,而现在以智能化技术为基石的第四次工业革命也正蓄势待发。 未来的工厂会是什么样的?那一定会是一张网之下,万物都被连接,一切都被数据赋予灵魂,没有人干预,也能自动地完成一切生产。 数据显示,2021年,全球18%的GDP将用于工厂自动化。未来30年,全球人口将增加近 20亿,这将继续推动工厂自动化需求的巨大增长。 虽然工业4.0的概念已经喊了很多年,但实现这样的目标,并不容易。日前,恩智浦(NXP)召开媒体沟通会,深入探讨智能工厂。 真实物理工厂的数字孪生 “智能工厂真正的推动力是工业4.0或工业物联网,其核心是将
[焦点新闻]
赋能边缘,恩智浦如何打造未来智能工厂?
MSP430单片机RTC操作-TimeA实现的实时时钟
//******************************************************************************* // D13x Demo - 利用Timer_A及中断实现RTC,观察LED灯的闪烁频率 // // 描述:利用Timer_A及中断实现RTC;通过 P1 异或 来取反 P1.5; // 系统处于休眠状态LPM3,中断时唤醒执行P1.5切换 // ACLK= n/a, MCLK= SMCLK= default DCO ~ 800k // // MSP430F13x // ------------------- // /|\| XIN|- // | | | 32kHz /
[单片机]
单片机内部结构知多少
01 单片机内部结构分析 我们来思考一个问题,当我们在编程器中把一条指令写进单片机内部,然后取下单片机,单片机就可以执行这条指令,那么这条指令一定保存在单片机的某个地方,并且这个地方在单片机掉电后依然可以保持这条指令不会丢失,这是个什么地方呢?这个地方就是单片机内部的只读存储器即 ROM(READ ONLY MEMORY)。为什么称它为只读存储器呢?刚才我们不是明明把两个数字写进去了吗?原来在 89C51 中的 ROM 是一种电可擦除的 ROM,称为 FLASH ROM,刚才我们是用的编程器,在特殊的条件下由外部设备对 ROM 进行写的操作,在单片机正常工作条件下,只能从那面读,不能把数据写进去,所以我们还是把它称为 ROM。
[单片机]
基于C8051单片机和FPGA实现导纳测量仪的系统设计
虚拟仪器的广泛应用,使得用户可以根据需求,设计自己的仪器系统。无源网络导纳测量仪即是虚拟仪器设计思想的一种具体运用,旨在实现对端口网络的导纳进行自动测量。测量仪是以C8051单片机为控制和处理核心,采用可编程逻辑器件EPF10K10,根据DDS原理产生信号源,将信号源连接到待测的网络上,对网络两端的电压和电流进行差分放大,使其输出电压尽可能达到ADC的最大输入电压,然后进行A/D采样,采样时,频率随信号频率而改变,一个周期内固定采32个点,用单片机的P1、P2直接接收数据,边采样边接收。对采样所得的电流、电压数据进行快速傅立叶变换(FFT),并分别求出其模值和相位,则导纳的模值为电流模值与电压模值之比,相位为电流与电压的相位之差。
[单片机]
基于C8051<font color='red'>单片机</font>和FPGA实现导纳测量仪的系统设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved