<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 設計應用 > 基于BCM20793的NFC模塊設計

基于BCM20793的NFC模塊設計

作者: 時(shí)間:2016-10-10 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:采用博通芯片設計了模塊,進(jìn)行硬件設計,并進(jìn)行設備分析。多方面對該模塊進(jìn)行驗證,結果表明該模塊穩定、可靠、識別率高,可集成到支付、票務(wù)、門(mén)禁、防偽等系統中。

本文引用地址:http://dyxdggzs.com/article/201610/306157.htm

引言

(Near Field Communication,近場(chǎng)通信)是由Philips和Sony聯(lián)合推出的一種全新的近距離無(wú)線(xiàn)通信技術(shù)。是由無(wú)線(xiàn)射頻識別(RFID)及移動(dòng)終端技術(shù)綜合發(fā)展起來(lái)的,在單一芯片上結合感應式讀卡器、感應式卡片和點(diǎn)對點(diǎn)的功能,能在短距離內與兼容設備進(jìn)行識別和數據交換。NFC工作頻率為 13.56 MHz,使用電磁感應耦合進(jìn)行數據傳輸,具有雙向連接和識別特點(diǎn),兼容不同標準的識別技術(shù),通信距離小于4 cm,支持多種通信速率。由于受限于傳輸速率以及通信距離,NFC不適合大數據的傳輸,而且通信雙方必須有某種程度的相互信任。

NFC技術(shù)的出現改變了人們使用某些電子設備的方式,甚至改變了信用卡、現金和鑰匙的使用方式,它可以應用在手機等便攜型設備上,實(shí)現安全的移動(dòng)支付和交易、簡(jiǎn)便的端到端通信、在移動(dòng)中輕松接入等功能。隨著(zhù)智能手機的快速興起,NFC與智能手機的結合將很大程度上促進(jìn)NFC的發(fā)展,蘋(píng)果公司推出的 iPhone6也具備N(xiāo)FC功能,相信在不久的將來(lái)NFC必定被廣泛應用。

本文采用博通 NFC芯片并結合S3C6410主控制器,設計了具有主動(dòng)模式和被動(dòng)模式的NFC閱讀器,主要針對硬件和進(jìn)行了設計。

1 NFC技術(shù)原理

NFC有三種工作狀態(tài):Reader/Writer與NFC Tag/NFC Reader相關(guān);Peer—to—Peer支持兩個(gè)。NFC設備交互;Card Emulation能把攜帶NFC功能的設備模擬成SmartCard。這三種工作狀態(tài)又可歸結為被動(dòng)模式和主動(dòng)模式,在Reader/Writer和Card Emulation狀態(tài)下處于被動(dòng)模式,在Peer—to—Peer狀態(tài)下處于主動(dòng)模式。

在被動(dòng)模式下,主設備負責啟動(dòng)通信,同時(shí)通過(guò)RF線(xiàn)圈產(chǎn)生電磁感應,為從設備提供電能。在這種模式下傳輸速率可以選擇106 kbps、212 kbps或424 kbps,使用負載調制(load modulation)方式,將數據發(fā)送給從設備,從設備可以不含電源組件,采用相同的速率以負載調制方式將數據返回給主設備,整個(gè)通信過(guò)程如圖1所示。

a.jpg

此通信機制與基于ISO14443A、MIFARE和FeliCa的非接觸式智能卡兼容,其主要區別在于RF層信號調制解調的方法、傳輸速率及編碼方式。因此,NFC發(fā)起設備在被動(dòng)模式下,可以用相同的連接和初始化過(guò)程檢測非接觸式智能卡或NFC目標設備,并與之建立聯(lián)系。

主動(dòng)模式下,設備之間進(jìn)行通信時(shí),發(fā)起設備和目標設備都必須產(chǎn)生自己的射頻場(chǎng)來(lái)進(jìn)行通信。此種模式下NFC采用雙向識別和鏈接,通信各方不存在固定的主從關(guān)系,通信可以由任意一個(gè)NFC設備發(fā)起。這是對等網(wǎng)絡(luò )通信的標準模式,可以獲得非??焖俚捻憫?。其通信流程如圖2所示。

b.jpg

此外,快捷輕型的NFC協(xié)議還可以引導兩臺設備之間的藍牙配對過(guò)程。與其他無(wú)線(xiàn)通信技術(shù)相比,NFC是一種近距離私密通信方式,提供各種設備間輕松、安全、快速而自動(dòng)的通信。對RFID來(lái)說(shuō),其具有距離近、帶寬高、功耗低等特點(diǎn);比紅外更快、更穩定而且簡(jiǎn)單;與藍牙相比,NFC通信距離近,適合交換重要數據。

2 硬件設計

NFC模塊主要由NFC(控制器,可與Device Host或Secure Element安全單元交互)、Antenna(天線(xiàn))和Contactless Front-End(非接觸前段,負責射頻信號的調制解調工作)三部分組成。本設計采用芯片,該芯片支持212或424 kbps的數據傳輸速率,是專(zhuān)為低功耗、低價(jià)格的設備設計的。該模塊提供PCI、I2C總線(xiàn)、UART串行接口,安全單元可以連接SD卡、SIM卡、SAM卡或是其他芯片,兼容多種通信標準。該芯片還支持低功耗模式、正常工作模式、輪詢(xún)模式等多種工作模式。

主控制器采用S3C6410芯片,該芯片高性能、低功耗、高性?xún)r(jià)比,可以運行Android系統。BCM20793與S3C6410采用I2C總線(xiàn)的連接方式。TX1和TX2引腳接RC匹配電路,RC匹配電路的P_JS_IT_18和天線(xiàn)相連接。NFC芯片由1.8 V電壓供電,其與主控制器有6根引腳相連,分別是NFC_I2C_SD數據線(xiàn)、NFC_I2C_SCL時(shí)鐘線(xiàn)、NFC_I2C_REQ中斷、 NFC_REQ_PU使能、HOST_WAKE喚醒,NFC_CLK_REQ時(shí)鐘使能,I2C物理通信地址是0x77,時(shí)鐘信號由19.2 MHz外接晶振提供、NFC電路原理圖如圖3所示。

c.jpg

3 NFC分析

3. 1 設備樹(shù)分析

本設計內核采用了Linux 3.4版本,與以往內核版本不同的是,內核3.4版本采用設備樹(shù)來(lái)對驅動(dòng)設備進(jìn)行統一管理,以方便設備的管理。NFC采用I2C總線(xiàn)的連接方式與CPU相連接,驅動(dòng)只負責數據的發(fā)送接收,上層負責數據的解析工作。

下面是BCM2079x的設備樹(shù)節點(diǎn)配置信息,包括:I2C總線(xiàn)的通信地址為0x77,中斷為34號,GPIO34為中斷引腳,GPIO65為使能引腳,GPIO20為喚醒引腳。其中最為關(guān)鍵的是compatible=“broadcom,bcm2079x_i2c”鍵值對,在加載驅動(dòng)程序時(shí),首先會(huì )匹配該字段,如果相等則調用probe函數進(jìn)行相關(guān)的初始化工作。

d.jpg

以下為I2C總線(xiàn)配置信息,GPIO31作為I2C總線(xiàn)的時(shí)鐘信號線(xiàn),GPIO32作為I2C總線(xiàn)的數據信號線(xiàn),I2C總線(xiàn)的時(shí)鐘頻率為19.2MHz。

e.jpg

驅動(dòng)程序中的bcm2079x_matcn_table結構體負責和設備樹(shù)進(jìn)行匹配,在系統初始化階段,就會(huì )匹配設備樹(shù)里的.compatible屬性是否在驅動(dòng)中有相同的名字,本驅動(dòng)中是broadcom,bcm2079x_i2c,若匹配成功就會(huì )調用驅動(dòng)程序的probe函數進(jìn)行初始化工作。

f.jpg

h.jpg

在驅動(dòng)程序中,bcm2079x_parse_dt負責解析設備樹(shù)的代碼,以下為設備樹(shù)解析關(guān)鍵代碼,分別獲取中斷、使能、喚醒引腳。

i.jpg

3.2 驅動(dòng)初始化分析

內核加載驅動(dòng)模塊的時(shí)候,系統會(huì )調用bcm2079x_dev_init()函數,該函數內部嵌套了i2c_add_driver(),用來(lái)完成 bcm2079x_driver結構體的注冊,系統就會(huì )自動(dòng)探測驅動(dòng)設備,通過(guò)比較設備樹(shù)中是否有 compatible=“broadcom,bcm2079x_i2c”鍵值對來(lái)判斷設備是否存在。如果存在,則會(huì )注冊I2C設備相關(guān)信息,創(chuàng )建i2c- client,執行probe函數,在probe函數里去解析設備樹(shù)里面配置的引腳,初始化中斷、分配內存空間以及初始化互斥鎖、等待隊列等,并向系統將驅動(dòng)注冊為misc驅動(dòng),然后向系統注冊中斷。流程圖如圖4所示。

j.jpg

3.3 驅動(dòng)運行機制

當用戶(hù)空間調用open打開(kāi)/dev/bcm2079x設備節點(diǎn)時(shí),通過(guò)ioctl機制調用驅動(dòng)程序的ioctl,實(shí)現設備的使能與喚醒;然后調用Poll函數實(shí)現周期性的檢測,以降低設備的功耗,當有設備或卡片接近NFC設備時(shí),NFC就會(huì )產(chǎn)生中斷,從而喚醒設備,用戶(hù)空間就可以通過(guò)調用read函數實(shí)現I2C數據的讀取。運行機制如圖5所示。

4 測試結果

NFC設備平時(shí)處于休眠狀態(tài),設備也會(huì )發(fā)出探測脈沖,此時(shí)處于低功耗狀態(tài),當有卡片或NFC設備接近NFC設備時(shí),就會(huì )產(chǎn)生中斷喚醒設備,NFC設備就會(huì )連續地發(fā)出探測脈沖,此時(shí)NFC工作在正常工作模式。

圖6是用頻譜分析儀觀(guān)測到的探測脈沖信號,載波頻率為13.559 375 000 MHz,占用帶寬OBW為2.259615 385 kHz,滿(mǎn)足CE和FCC認證中針對NFC頻段的射頻測試要求的13 553~13 567 MHz的調制帶寬限值。

k.jpg

當將Tag1小卡貼近NFC天線(xiàn)時(shí),可以讀出卡內的二進(jìn)制信息,圖7為卡內信息。

l.jpg

用設備分別測試Tag1、Tag2、Tag3、Tag4,其可識別距離最遠為49 mm、45 mm、29 mm、21 mm,識別成功率在96%以上,測量結果如表1所列。

m.jpg

以上測試表明,NFC模塊可以識別多種類(lèi)型的卡片,可識別距離最大為49 mm,滿(mǎn)足NFC設計要求。該模塊穩定、可靠、識別率高,可集成到移動(dòng)支付、票務(wù)、門(mén)禁、防偽等不同系統中。



關(guān)鍵詞: NFC BCM20793 驅動(dòng)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>