一种在安卓平台下驱动NFC模组的方法技术

技术编号:11578961 阅读:106 留言:0更新日期:2015-06-10 12:34
本发明专利技术公开一种在安卓平台下驱动近场通信模组的方法,将通用异步收发传输器与带近场通信的高频射频识别读写芯片的发送端、接收端管脚分别连接通信,该方法包括以下步骤:通过驱动平台的应用程序接口注册一字符设备;按照标准字符设备的驱动框架通过系统调用接口驱动所述带近场通信的高频射频识别读写芯片,将所述带近场通信的高频射频识别读写芯片与所注册的字符设备相关联;通过标准的串行输入输出虚拟总线的驱动应用程序接口注册通信交互读写及其中断处理函数,通过所述中断处理函数与所述带近场通信的高频射频识别读写芯片进行读写操作。本发明专利技术解决了非I2C端口与NFC芯片进行数据交互实现的问题。

【技术实现步骤摘要】

本专利技术涉及近场通信领域,特别是涉及一种在安卓平台下利用Ser1总线(Serial I/O,串行输入输出总线)驱动NFC (Near Field Communicat1n,近场通信)模组的方法。
技术介绍
目前安卓系统在国内外得到了广泛的应用,其自身代码也在飞速的发展以满足各种硬件设备和业务需求,但是目前的安卓设备的近场无线通讯技术(NFC)芯片都是和嵌入式 MCU (Micro Controller Unit,微控制单兀)的 I2C (Inter-1ntegrated circuit,两线式串行总线)端口交互的,这是以芯片厂家提供的驱动为蓝本配合的。但是在众多的MCU芯片厂商中有许多没有I2C端口,或是无法在原理图上设计连接实现等各种因素,只能与用非I2C端口来进行与NFC芯片进行数据交互。Linux 系统中包含的总线有 i2c、IDE (Integrated Drive Electronics,电子集成驱动器)、PCI (Peripheral Component Interconnect,外部局部总线)、PCI express (高速外部局部总线)、platform (平台总线)、PNP (Plug and Play,即插即用)、SCSI (SmallComputer System Interface,小型计算机系统接口)、Ser1 (Serial 1/0,串行输入输出总线)、Usb等。Ser1总线是一种虚拟总线,表示串行的输入输出设备.很多输入输出设备都是以此为基础的。有鉴于此,本专利技术运用Linux系统中的虚拟总线Ser1总线,提供一种方法,解决非I2C端口与NFC芯片进行数据交互的问题。
技术实现思路
为了解决上述非I2C端口与NFC芯片进行数据交互实现的问题,本专利技术提出了一种在安卓平台上实现Ser1总线控制NFC芯片进行数据交互的方法,适用于带NFC的高频射频识别读写器芯片PN544的安卓平台终端设备,可以随意增加将没有I2C端口的MCU芯片,或是无法在原理图上设计连接I2C等条件下对NFC芯片进行通信的功能。本专利技术提出一种在安卓平台下驱动近场通信模组的方法,将UART模块(Universal Asynchronous Receiver/Transmitter,通用异步串口收发传输器)与带近场通信的高频射频识别读写芯片的发送端、接收端管脚分别连接通信,该方法包括以下步骤:通过驱动平台的应用程序接口注册一字符设备;按照标准字符设备的驱动框架通过系统调用接口驱动所述带近场通信的高频射频识别读写芯片,将所述带近场通信的高频射频识别读写芯片与所注册的字符设备相关联;通过标准的串行输入输出虚拟总线的驱动应用程序接口注册通信交互读写及其中断处理函数,通过所述中断处理函数与所述带近场通信的高频射频识别读写芯片进行读写操作。其中,所述字符设备的设备节点为设备目录下面的相应设备名称。其中,通过调用所述带近场通信的高频射频识别读写芯片对应的标准字符设备,根据近场通信的相关人机交互命令进行非接触式射频卡的识别和配置工作。其中,在安卓系统层接收到从所述带近场通信的高频射频识别读写芯片读取的识别信息后进行相应的系统操作。其中,带近场通信的高频射频识别读写芯片为PN544。与现有技术相比,本专利技术的显著进步表现在:本专利技术提出了一种在安卓平台上实现Ser1总线控制NFC芯片进行数据交互的方法,适用于带NFC的高频射频识别读写器芯片,特别是PN544的安卓平台终端设备,增加在没有I2C端口的MCU芯片,或是无法在原理图上设计连接I2C等条件下对NFC芯片进行通信的功能。【附图说明】图1为本专利技术一个实施例的在安卓平台下驱动NFC模组的方法整体框架图;图2为本专利技术一个实施例的在安卓平台下驱动NFC模组读取数据的流程图;图3为本专利技术一个实施例的在安卓平台下驱动NFC模组发送数据的流程图。【具体实施方式】下面将结合附图,对本专利技术的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1,图1为本专利技术一个实施例的在安卓平台下驱动NFC模组的方法整体框架图。从图1看出本专利技术的思路框架:首先利用MISC CHAR DRIVER (字符驱动平台)的API接口注册一个字符设备,然后在ANDR1D FRAMEWORKS (安卓系统的架构平台)编写字符设备的驱动程序及系统调用接口程序,将PN544HARDWARE (终端硬件)NFC芯片塑造成一个字符设备,安卓系统与NFC芯片交互读写操作底层系统调用SER1 VIRTUAL BUS (Ser1总线)的相关驱动程序。具体实施时,包括以下步骤:通过驱动平台的应用程序接口注册一字符设备;按照标准字符设备的驱动框架通过系统调用接口驱动所述带近场通信的高频射频识别读写芯片,将所述带近场通信的高频射频识别读写芯片与所注册的字符设备相关联,具体实施时,所述字符设备的设备节点为设备目录下面相应的设备名称;通过标准的串行输入输出虚拟总线的驱动应用程序接口注册通信交互读写及其中断处理函数,通过所述中断处理函数与所述带近场通信的高频射频识别读写芯片进行读写操作。其中,通过调用所述带近场通信的高频射频识别读写芯片对应的标准字符设备,根据近场通信的相关人机交互命令进行非接触式射频卡的识别和配置工作。其中,在安卓系统层接收到从所述带近场通信的高频射频识别读写芯片读取的识别信息后进行相应的系统操作。以下是本专利技术在实施时的一个具体案例,在安卓平台上通过Ser1总线驱动带NFC的芯片PN544的实现。该功能的实现主要针对某些行业对NFC的使用开发。利用驱动平台的API 接口(Applicat1n Programming Interface,应用程序编程接口)注册一个字符设备,按照标准字符设备的驱动框架编写基于交互PN554的系统调用接口,将PN544塑造成Ser1虚拟总线下的一个字符设备,其设备节点即为dev (设备节点的文件目录,把对设备的操作映射到具体的驱动程序代码中)目录下面的PN544 ;利用Linux标准的Ser1虚拟总线的驱动API注册通信交互读写及其中断处理函数,在中断处理函数中完成从NFC芯片读取条码识别信息及上报工作,安卓系统层接收到该识别信息后进行相应的系统操作。安卓系统调用Ser1总线的相关驱动程序进行交互读写操作,安卓系统层完成读写后,根据NFC的相关HCI (Human Computer Interface,人机交互)命令进行各种射频卡(非接触式IC卡)的识别和配置工作,这里的HCI操作部分是系统调用PN544的标准字符设备。这样借助Ser1的虚拟总线驱动程序,就巧妙代替了基于I2C接口的数据交互模式。如图2所示,是该实施例中在安卓平台下驱动NFC模组读取数据的流程图,读取数据(RECEIVE DATA)时,通过 SER1 INTERRUPT (Ser1 总线的中断函数)访问 PN544_RXBUF(PN544设备的接收缓冲区),PN544_READ (PN544的读函数)从ANDROID_LIBNFC (安卓系统NFC本文档来自技高网
...

【技术保护点】
一种在安卓平台下驱动近场通信模组的方法,其特征在于,将通用异步收发传输器与带近场通信的高频射频识别读写芯片的发送端、接收端管脚分别连接通信,该方法包括以下步骤:通过驱动平台的应用程序接口注册一字符设备;按照标准字符设备的驱动框架通过系统调用接口驱动所述带近场通信的高频射频识别读写芯片,将所述带近场通信的高频射频识别读写芯片与所注册的字符设备相关联;通过标准的串行输入输出虚拟总线的驱动应用程序接口注册通信交互读写及其中断处理函数,通过所述中断处理函数与所述带近场通信的高频射频识别读写芯片进行读写操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:高硕陈皓杨彦青王德满崔霈文唐日升张晓佳
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1