您的位置 首页 ADAS

根据BCM20793的NFC模块规划

摘要:采用博通BCM20793芯片设计了NFC模块,进行硬件设计,并进行设备驱动分析。多方面对该模块进行验证,结果表明该模块稳定、可靠、识别率高,可集成到支付、票务、门禁、防伪等系统中。引言NFC(N

摘要:选用博通BCM20793芯片规划了NFC模块,进行硬件规划,并进行设备驱动剖析。多方面临该模块进行验证,成果标明该模块安稳、牢靠、辨认率高,可集成到付出、票务、门禁、防伪等体系中。

导言

NFC(Near Field Communication,近场通讯)是由Philips和Sony联合推出的一种全新的近间隔无线通讯技能。NFC是由无线射频辨认(RFID)及移动终端技能归纳开展起来的,在单一芯片上结合感应式读卡器、感应式卡片和点对点的功用,能在短间隔内与兼容设备进行辨认和数据交流。NFC作业频率为 13.56 MHz,运用电磁感应耦合进行数据传输,具有双向衔接和辨认特色,兼容不同规范的辨认技能,通讯间隔小于4 cm,支撑多种通讯速率。因为受限于传输速率以及通讯间隔,NFC不合适大数据的传输,并且通讯两边必须有某种程度的相互信任。

NFC技能的呈现改变了人们运用某些电子设备的办法,乃至改变了信用卡、现金和钥匙的运用办法,它能够应用在手机等便携型设备上,完结安全的移动付出和买卖、简洁的端到端通讯、在移动中轻松接入等功用。跟着智能手机的快速鼓起,NFC与智能手机的结合将很大程度上促进NFC的开展,苹果公司推出的 iPhone6也具有NFC功用,信任在不久的将来NFC必定被广泛应用。

本文选用博通BCM20793 NFC芯片并结合S3C6410主控制器,规划了具有主动形式和被动形式的NFC阅读器,首要针对硬件和驱动进行了规划。

1 NFC技能原理

NFC有三种作业状况:Reader/Writer与NFC Tag/NFC Reader相关;Peer—to—Peer支撑两个。NFC设备交互;Card Emulation能把带着NFC功用的设备模仿成SmartCard。这三种作业状况又可归结为被动形式和主动形式,在Reader/Writer和Card Emulation状况下处于被动形式,在Peer—to—Peer状况下处于主动形式。

在被动形式下,主设备担任发动通讯,一起经过RF线圈发生电磁感应,为从设备供给电能。在这种形式下传输速率能够挑选106 kbps、212 kbps或424 kbps,运用负载调制(load modulation)办法,将数据发送给从设备,从设备能够不含电源组件,选用相同的速率以负载调制办法将数据回来给主设备,整个通讯进程如图1所示。

a.jpg

此通讯机制与根据ISO14443A、MIFARE和FeliCa的非触摸式智能卡兼容,其首要差异在于RF层信号调制解调的办法、传输速率及编码办法。因而,NFC建议设备在被动形式下,能够用相同的衔接和初始化进程检测非触摸式智能卡或NFC方针设备,并与之树立联络。

主动形式下,设备之间进行通讯时,建议设备和方针设备都必须发生自己的射频场来进行通讯。此种形式下NFC选用双向辨认和链接,通讯各方不存在固定的主从关系,通讯能够由恣意一个NFC设备建议。这是对等网络通讯的规范形式,能够获得十分快速的呼应。其通讯流程如图2所示。

b.jpg

此外,便利轻型的NFC协议还能够引导两台设备之间的蓝牙配对进程。与其他无线通讯技能比较,NFC是一种近间隔私密通讯办法,供给各种设备间轻松、安全、快速而主动的通讯。对RFID来说,其具有间隔近、带宽高、功耗低一级特色;比红外更快、更安稳并且简略;与蓝牙比较,NFC通讯间隔近,合适交流重要数据。

2 硬件规划

NFC模块首要由NFC(控制器,可与Device Host或Secure Element安全单元交互)、Antenna(天线)和Contactless Front-End(非触摸前段,担任射频信号的调制解调作业)三部分组成。本规划选用BCM20793芯片,该芯片支撑212或424 kbps的数据传输速率,是专为低功耗、低价格的设备规划的。该模块供给PCI、I2C总线、UART串行接口,安全单元能够衔接SD卡、SIM卡、SAM卡或是其他芯片,兼容多种通讯规范。该芯片还支撑低功耗形式、正常作业形式、轮询形式等多种作业形式。

主控制器选用S3C6410芯片,该芯片高性能、低功耗、高性价比,能够运转Android体系。BCM20793与S3C6410选用I2C总线的衔接办法。TX1和TX2引脚接RC匹配电路,RC匹配电路的P_JS_IT_18和天线相衔接。NFC芯片由1.8 V电压供电,其与主控制器有6根引脚相连,别离是NFC_I2C_SD数据线、NFC_I2C_SCL时钟线、NFC_I2C_REQ中止、 NFC_REQ_PU使能、HOST_WAKE唤醒,NFC_CLK_REQ时钟使能,I2C物理通讯地址是0x77,时钟信号由19.2 MHz外接晶振供给、NFC电路原理图如图3所示。

c.jpg

3 NFC驱动剖析

3. 1 设备树剖析

本规划内核选用了Linux 3.4版别,与以往内核版别不同的是,内核3.4版别选用设备树来对驱动设备进行统一办理,以便利设备的办理。NFC选用I2C总线的衔接办法与CPU相衔接,驱动只担任数据的发送接纳,上层担任数据的解析作业。

下面是BCM2079x的设备树节点装备信息,包含:I2C总线的通讯地址为0x77,中止为34号,GPIO34为中止引脚,GPIO65为使能引脚,GPIO20为唤醒引脚。其间最为要害的是compatible=“broadcom,bcm2079x_i2c”键值对,在加载驱动程序时,首先会匹配该字段,假如持平则调用probe函数进行相关的初始化作业。

d.jpg

以下为I2C总线装备信息,GPIO31作为I2C总线的时钟信号线,GPIO32作为I2C总线的数据信号线,I2C总线的时钟频率为19.2MHz。

e.jpg

驱动程序中的bcm2079x_matcn_table结构体担任和设备树进行匹配,在体系初始化阶段,就会匹配设备树里的.compatible特点是否在驱动中有相同的姓名,本驱动中是broadcom,bcm2079x_i2c,若匹配成功就会调用驱动程序的probe函数进行初始化作业。

f.jpg

h.jpg

在驱动程序中,bcm2079x_parse_dt担任解析设备树的代码,以下为设备树解析要害代码,别离获取中止、使能、唤醒引脚。

i.jpg

3.2 驱动初始化剖析

内核加载驱动模块的时分,体系会调用bcm2079x_dev_init()函数,该函数内部嵌套了i2c_add_driver(),用来完结 bcm2079x_driver结构体的注册,体系就会主动勘探驱动设备,经过比较设备树中是否有 compatible=“broadcom,bcm2079x_i2c”键值对来判别设备是否存在。假如存在,则会注册I2C设备相关信息,创立i2c- client,履行probe函数,在probe函数里去解析设备树里边装备的引脚,初始化中止、分配内存空间以及初始化互斥锁、等候行列等,并向体系将驱动注册为misc驱动,然后向体系注册中止。流程图如图4所示。

j.jpg

3.3 驱动运转机制

当用户空间调用open翻开/dev/bcm2079x设备节点时,经过ioctl机制调用驱动程序的ioctl,完结设备的使能与唤醒;然后调用Poll函数完结周期性的检测,以下降设备的功耗,当有设备或卡片挨近NFC设备时,NFC就会发生中止,然后唤醒设备,用户空间就能够经过调用read函数完结I2C数据的读取。运转机制如图5所示。

4 测验成果

NFC设备平常处于休眠状况,设备也会宣布勘探脉冲,此刻处于低功耗状况,当有卡片或NFC设备挨近NFC设备时,就会发生中止唤醒设备,NFC设备就会接连地宣布勘探脉冲,此刻NFC作业在正常作业形式。

图6是用频谱剖析仪观测到的勘探脉冲信号,载波频率为13.559 375 000 MHz,占用带宽OBW为2.259615 385 kHz,满意CE和FCC认证中针对NFC频段的射频测验要求的13 553~13 567 MHz的调制带宽限值。

k.jpg

当将Tag1小卡靠近NFC天线时,能够读出卡内的二进制信息,图7为卡内信息。

l.jpg

用设备别离测验Tag1、Tag2、Tag3、Tag4,其可辨认间隔最远为49 mm、45 mm、29 mm、21 mm,辨认成功率在96%以上,丈量成果如表1所列。

m.jpg

以上测验标明,NFC模块能够辨认多种类型的卡片,可辨认间隔最大为49 mm,满意NFC规划要求。该模块安稳、牢靠、辨认率高,可集成到移动付出、票务、门禁、防伪等不同体系中。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/adas/296728.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部