基于嵌入式体系的RFID驱动圭表打算概述

beplay亚洲体育官网

发布时间:2019-09-21 08:11

  完毕SPI底层驱动后,上层RFID驱动的实质紧假使对nRF905修设寄存器实行修设,席卷发送接受数据的字节数、目的地点、事情形式、时钟频率等通过nRF905自界说的SPI指令写入寄存器中。因而要对SPI驱动中的write/read函数实行封装,通过挪用SPI驱动中的函数完毕全部驱动的寄存器修设和数据传输性能。

  nRF905采用SPI接口与表界实行通讯,因而底层SPI驱动紧要完毕nRF905的SPI和微管理器S3C2440的SPI模块间的通讯。上层RF驱动圭表通过SPI接口向nRF905发送指令和数据,最终由nRF905的主机左右器左右射频收发器完毕数据收发,达成射频模块间的无线 SPI驱动圭表打算

  正在ARM9嵌入式平台的内核Linux2。6。12中,不包罗SPI驱动圭表,而正在Linux内核之后的版本中包罗了SPI驱动。如许,就能够移植新版本中的SPI驱动到本嵌入式平台Linux2。6。12中。固然这种SPI驱动通用性和性能性都较强,但其代码量大,较多性能并不适合本打算的央浼。因而,本打算采用从新编写SPI底层驱动,简化其性能,修树环形缓冲区,普及数据收发效能。

  将RFID时间与嵌入式编造相维系,将射频识别模块嵌入到嵌入式编造中,正在嵌入式Linux下通过打算驱动圭表达成射频模块的收发性能。嵌入式RFID编造增添了RFID时间的通用性和可移植性,足够了嵌入式编造通讯接口表设性能,提拔了嵌入式时间正在无线通讯规模的起色空间。

  S3C2440是一款采用ARM920T内核的高本能32 bit管理器,其主频高达405 MHz,采用5级流水线席卷两个SPI接口,每个接口差异有两个8 bit数据移位寄存器用于发送和接受。正在SPI发送时刻,数据同时发送(串行移出)和接受(串行移入)[2]。因而,使用途理器的SPI接口,能够很轻易地用SPI接口与nRF905无线收发模块实行数据传输。

  nRF905采用Nordic公司的VLSI ShockBurst时间。ShockBurst时间使nRF905可以供给高速的数据传输而不必要腾贵的高速MCU来实行数据管理/时钟笼罩。通过将与RF公约相闭的高速信号管理器放到芯片内,nRF905供给给微左右器一个SPI接口,速度由专为左右器设定的接口速率断定。nRF905通过ShockBurst事情形式正在RF以最大速度实行维系时,下降数字操纵片面的速度来下降正在操纵中的均匀电流损耗。正在ShockBurst接受形式中,地点成婚(AM)和数据打定停当(DR)信号报告微管理器一个有用的地点和数据包一经各自接受完毕。正在ShockBurst发送形式中,nRF905自愿出现前导码和CRC校验码,数据打定停当(DR)信号报告微管理器数据传输一经完毕[3]。

  RFID驱动圭表的打算采用自底而上(Down-Top)的步骤。优先打算底层片面即SPI接口的驱动圭表,然后再打算上层RFID驱动。这种自低而上打算步骤能够把大模块疏散为几个幼模块,把大打算分为幼打算,便于开辟验证,而且适合Linux模块化的打算思思,是一种高效的打算步骤。

  正在硬件电道中,微管理器S3C2440的SPI0模块与nRF905中的SPI接口相维系。SPI驱动的效用即完毕主SPI与nRF905中从SPI的数据传输。为了便于验证性能,普及项目开辟效能,底层SPI驱动打算为独立的模块,而且实行调试,必威手机APP正在SPI驱动打算的基本上,完毕上层RF驱动。

  SPI驱动圭表的读流程和写流程相同,SPI接受寄存器接到数据后触发终止。CPU接到终止信号晚生入终止管理例程,更改tasklet进入底半部实行终止管理,把接受寄存器中的数据拷贝到环形缓冲区中,然后叫醒正正在息眠的过程,由read函数把环形缓冲区中的数据拷贝到申请好的数据机闭中,再拷贝至用户空间。

  串“aaaaaaaa”时,单片机端的nRF905模块接受寄存器中收到转换后的ASCII码“97”;当ARM端行动接受端而单片机行动发送端时,ARM端运转接受圭表后,正在用户空间即显示终端上显示了接受到的数据“abcd…”。评释此RFID驱动圭表凯旋达成了左右nRF905无线收发器实行数据接受传输的性能。

  、read、open、release、ioctl等几个操作[4],此中闭头性的硬件品行动读写操作,写操作的紧要效用是把用户数据拷贝到内核缓冲区,并左右微左右器中的主SPI发送数据到nRF905中;读操作与写操作相同,而流程相反,即把主SPI接到的数据拷贝到内核缓冲区,基于嵌入式体系的RF再由内核缓冲区拷贝到用户空间申请好的数据机闭中。对SPI配置数据接受的监控,研究设计概述驱动圭表采用终止的式样来报告编造SPI数据是否收发完毕,正在SPI配置每发送完一组数据或接受到一组数据后,就会触发终止,信号由IRQ线进入,ID驱动圭表打算概述传入CPU实行终止管理。SPI驱动圭表的写流程席卷修树数据机闭、修树环形缓冲区,从用户空间把数据拷贝到数据机闭中、挪用write函数把数据拷贝进环形缓冲区中、写满后发送第一组数据到发送寄存器。当SPI发送寄存器中的数据发送完毕后,会发出终止信号,触发微管理器终止,编造进入终止上下文。为了缩短终止管理时光,普及终止管理效能,驱动圭表中采用了顶/底半部的管理步骤[5],即终止管理时光尽量地短,正在终止管理例程中挪用tasklet更改函数,将必要较多时光的终止处剃发到tasklet(即底半部)中管理。正在tasklet中会把环形缓冲区的数据写入发送寄存器,最终由SPI左右器发送出去。

  拥有读取速率疾、读取间隔远、积蓄新闻量大、标签上数据可加密、利用寿命长、事情境况适合性强等多种长处,一经正在各规模通常操纵[1]。

  单片nRF905无线 MHz的ISM频段。由一个全部集成的频率调造器、一个带解调器的接受器、一个功率放大器、一个和一个安排器构成。其所拥有的ShockBurst事情形式能够自愿出现前导码和CRC。能够通过SPI接话柄行编程修设。

  本文先容了一种基于ARM9 S3C2440嵌入式平台扩展RFID驱动的打算计划,打算了硬件扩展电道和相应的驱动圭表,通过了并测试。达成了嵌入式平台间的RFID短间隔即时通讯性能。嵌入式RFID驱动将促进RFID时间正在操纵规模中的起色,将会支柱更多的射频硬件,遵循此驱动能够开辟更多的操纵圭表,餍足多种需求。

  RFID的读操作将鉴定缓冲区是否为空,研究设计概述若是不为空,就把缓冲区中的数据拷贝至数据机闭中,并拷至用户空间中;若是为空,过程就会进入息眠,恭候缓冲区接受到数据后,进入终止叫醒过程。正在进入ShockBurst RX形式后,当地nRF905会自愿监测空中的新闻,正在nRF905挖掘和接受频率雷同的载波时,载波检测信号CD被置高,触发终止,正在终止例程中只是延时一段时光,恭候nRF905接受到有用的主意地点时,地点成婚信号置高。当nRF905接受到有用的数据包后,数据打定停当信号DR会触发终止,进入终止例程,进入Standby形式,把接受到的数据通过SPI接口读入缓冲区内,尔后叫醒过程,把缓冲区中的数据拷贝至用户空间中。当全面的数据被读出后,nRF905的AM和DR

  现时的嵌入式编造中并不支柱RFID编造,是以要实行硬件和软件两方面的扩展。硬件方面紧要遵循nRF905无线收发器的电气特色实行接口扩展,使用基于ARM9嵌入式平台的扩展口对nRF905实行左右;软件方面使用Linux内核优秀的移植性和扩展性,编写驱动圭表左右射频模块的收发性能,正在底层驱动以搜聚和分组数据并转达给上层操纵圭表,由上层操纵圭表与用户实行交互。本文所商酌的基于嵌入式编造的RFID驱动,将为嵌入式RFID编造供给底层软硬件接口圭表,为嵌入式内核添加RFID处理机造,为上层操纵圭表供给优秀效劳,下降嵌入式RFID的开辟难度,缩短开辟周期,从而下降其本钱,使RFID的操纵加倍普及。

  图1是nRF905无线收发器接口扩展的硬件电道道理图,硬件电道的达成紧要基于S3C2440 ARM9微管理器和单片nRF905无线收发器的互联,以及遵循nRF905电气特色所做的少少表接电道。

  RFID驱动圭表行动配置文献,同样分为write、read、open、release、ioctl等几个操作。RFID驱动圭表的写操作流程:开始将用户空间中的数据拷贝至数据机闭中;然后使nRF905进入Standby形式,挪用SPIwrite函数对数据寄存器和地点寄存器实行修设,把发送数据和目的地点写入当地nRF905,之晚生入ShockBurst发送形式,由当地nRF905向目的nRF905发送数据;最终过程进入息眠状况,恭候数据打定信号DR触发终止,由终止管理例程叫醒过程,完毕数据发送。图2为RFID的发送流程图。

  测试紧要分为两片面,开始对底层SPI接口片面做调试,然后正在此基本上,对RFID驱动实行性能测试。


上一篇:大学生考研处境探问计划

下一篇:大学生创业系列之创业资源执掌与创业计算书-