999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于BCM20793的NFC模塊設計

2015-07-02 00:17:24沈顯慶張煒瑋常佳龍
單片機與嵌入式系統應用 2015年6期
關鍵詞:設備設計

沈顯慶,張煒瑋,常佳龍

(黑龍江科技大學 電氣與信息工程學院,哈爾濱 150027)

?

基于BCM20793的NFC模塊設計

沈顯慶,張煒瑋,常佳龍

(黑龍江科技大學 電氣與信息工程學院,哈爾濱 150027)

采用博通BCM20793芯片設計了NFC模塊,進行硬件設計,并進行設備驅動分析。多方面對該模塊進行驗證,結果表明該模塊穩定、可靠、識別率高,可集成到支付、票務、門禁、防偽等系統中。

NFC;BCM20793;驅動

引 言

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

NFC技術的出現改變了人們使用某些電子設備的方式,甚至改變了信用卡、現金和鑰匙的使用方式,它可以應用在手機等便攜型設備上,實現安全的移動支付和交易、簡便的端到端通信、在移動中輕松接入等功能[2]。隨著智能手機的快速興起,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功能的設備模擬成Smart Card[3]。這三種工作狀態又可歸結為被動模式和主動模式,在Reader/Writer和Card Emulation狀態下處于被動模式,在Peer-to-Peer狀態下處于主動模式[4]。

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

圖1 被動模式下通信流程

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

主動模式下,設備之間進行通信時,發起設備和目標設備都必須產生自己的射頻場來進行通信。此種模式下NFC采用雙向識別和鏈接,通信各方不存在固定的主從關系,通信可以由任意一個NFC設備發起。這是對等網絡通信的標準模式,可以獲得非常快速的響應。其通信流程如圖2所示。

圖2 主動模式下通信流程

此外,快捷輕型的NFC協議還可以引導兩臺設備之間的藍牙配對過程。與其他無線通信技術相比,NFC是一種近距離私密通信方式,提供各種設備間輕松、安全、快速而自動的通信。對RFID來說,其具有距離近、帶寬高、功耗低等特點;比紅外更快、更穩定而且簡單;與藍牙相比,NFC通信距離近,適合交換重要數據[6]。

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總線的連接方式[7]。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所示。

圖3 NFC電路原理圖

3 NFC驅動分析

3.1 設備樹分析

本設計內核采用了Linux 3.4版本,與以往內核版本不同的是,內核3.4版本采用設備樹來對驅動設備進行統一管理,以方便設備的管理。NFC采用I2C總線的連接方式與CPU相連接,驅動只負責數據的發送接收,上層負責數據的解析工作。

下面是BCM2079x的設備樹節點配置信息,包括:I2C總線的通信地址為0x77,中斷為34號,GPIO34為中斷引腳,GPIO65為使能引腳,GPIO20為喚醒引腳。其中最為關鍵的是compatible = "broadcom,bcm2079x_i2c"鍵值對,在加載驅動程序時,首先會匹配該字段,如果相等則調用probe函數進行相關的初始化工作。

i2c@f9928000 {

bcm2079x@77 {

status = "okay";

reg = <0x77>;

interrupts = <34 0x2>;

compatible = "broadcom,bcm2079x_i2c";

bcm2079x,irq_gpio = <&msmgpio 34 0>;

bcm2079x,en_gpio = <&msmgpio 65 0>;

bcm2079x,wake_gpio = <&msmgpio 20 0>;

};

};

以下為I2C總線配置信息,GPIO31作為I2C總線的時鐘信號線,GPIO32作為I2C總線的數據信號線,I2C總線的時鐘頻率為19.2MHz。

i2c_6: i2c@f9928000 {

compatible = "qcom,i2c-qup";

qcom,i2c-src-freq = <19200000>;

qcom,scl-gpio = <&msmgpio 31 0>;

qcom,sda-gpio = <&msmgpio 32 0>;

};

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

static struct of_device_id bcm2079x_match_table[] = {

{ .compatible = "broadcom,bcm2079x_i2c",},

{ },

};

i2c_driver bcm2079x_driver結構體定義了驅動程序中一些重要的函數以及匹配信息。

static struct i2c_driver bcm2079x_driver = {

.id_table = bcm2079x_id,

.probe = bcm2079x_probe,

.remove = bcm2079x_remove,

.driver = {

.owner = THIS_MODULE,

.name = "bcm2079x-i2c",

.of_match_table = bcm2079x_match_table,

},

};

在驅動程序中,bcm2079x_parse_dt負責解析設備樹的代碼,以下為設備樹解析關鍵代碼,分別獲取中斷、使能、喚醒引腳。

static int bcm2079x_parse_dt(struct device *dev, struct bcm2079x_platform_data *pdata){

……

pdata->irq_gpio = of_get_named_gpio_flags(np,"bcm2079x,irq_gpio", 0, &irq_gpio_flags);

pdata->en_gpio = of_get_named_gpio_flags(np,"bcm2079x,en_gpio", 0, &en_gpio_flags);

pdata->wake_gpio = of_get_named_gpio_flags(np,"bcm2079x,wake_gpio", 0, &wake_gpio_flags);

……

}

3.2 驅動初始化分析

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

圖4 驅動初始化

3.3 驅動運行機制

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

圖5 驅動運行機制

4 測試結果

NFC設備平時處于休眠狀態,設備也會發出探測脈沖,此時處于低功耗狀態,當有卡片或NFC設備接近NFC設備時,就會產生中斷喚醒設備,NFC設備就會連續地發出探測脈沖,此時NFC工作在正常工作模式。

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

當將Tag1小卡貼近NFC天線時,可以讀出卡內的二進制信息,圖7為卡內信息。

圖7 Tag卡內二進制信息

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

表1 Tag的最遠識別距離

[1] 張沛.NFC閱讀器設計與安全性研究[D].杭州:杭州電子科技大學,2012.

[2] 晏鵬.NFC接收機的研究與設計[D].上海:復旦大學,2009.

[3] 許江成.具有NFC功能的移動通信終端電路設計[D].成都:電子科技大學,2013.

[4] 劉浩.基于NFC技術的近場通信應用探索[J].中國無線電,2010(12):34-35.

[5] 韋媛娜.基于NFC技術的天線設計方法研究[D].南京:南京郵電大學,2012.

[6] 郎為民.射頻識別(RFID)技術原理與應用[M].北京:機械工業出版社,2006.

[7] Samsung Electronics.S3C6410X_UM_Rev[EB/OL].(2010-11).[2014-12].http://www.samsung.com/global/business/semiconductor/support/brohures/downloads/systemlsi/s3c6410_datasheet_200804.pdf.

沈顯慶(副教授)、常佳龍(碩士研究生),研究方向為檢測與智能控制;張煒瑋(碩士研究生),研究方向為嵌入式系統應用。

Design of NFC Module Based on BCM20793

Shen Xianqing,Zhang Weiwei,Chang Jialong

(College of Electric and Information Engineering,Heilongjiang Institute of Science and Technology,Harbin 150027,China)

This paper uses BCM20793 chip to design NFC module,the hardware cirucuit is designed,and the device driver is analyzed.Through the multi aspects of verification for the module,the results show that the module is stable,reliable and has high recognition rate.The module can be integrated into many systems such as the payment,ticketing,access control and security system.

NFC;BCM20793;driver

TP368.1

A

迪娜

2014-12-21)

猜你喜歡
設備設計
諧響應分析在設備減振中的應用
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于VB6.0+Access2010開發的設備管理信息系統
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
如何在設備采購中節省成本
主站蜘蛛池模板: 亚洲无码久久久久| 嫩草在线视频| 亚洲伦理一区二区| 日韩精品无码免费专网站| 成人免费黄色小视频| 黄色三级网站免费| 一区二区三区四区精品视频| 欧美不卡二区| 8090成人午夜精品| 亚洲一级毛片| 久久久久久久久18禁秘| 国产精品女在线观看| 不卡色老大久久综合网| 亚洲经典在线中文字幕| 亚洲成A人V欧美综合| 国产亚洲高清在线精品99| 国产一区二区精品福利| 国产亚洲高清在线精品99| 色婷婷在线影院| 在线观看精品国产入口| 久久这里只有精品66| 不卡视频国产| 久操中文在线| 视频国产精品丝袜第一页| 日韩欧美色综合| 国产精品乱偷免费视频| 国产成人艳妇AA视频在线| 久久久久国产一级毛片高清板| 最新日韩AV网址在线观看| 丝袜国产一区| 亚洲视频免| 中文字幕免费播放| 久久不卡精品| 国产无码制服丝袜| 日本午夜三级| 成人免费午夜视频| 国产综合在线观看视频| 色哟哟国产精品| 欧美不卡二区| 国产成人综合亚洲网址| 日韩欧美中文| 一本色道久久88| 在线欧美a| 亚洲日韩高清无码| 国产一区二区网站| 91视频免费观看网站| 91精品啪在线观看国产| 亚洲精品麻豆| 色婷婷综合激情视频免费看| 青青国产成人免费精品视频| 97青草最新免费精品视频| 久久精品aⅴ无码中文字幕| 国产在线拍偷自揄观看视频网站| 男女性色大片免费网站| 午夜福利在线观看成人| 欧美第九页| 国产h视频在线观看视频| 麻豆国产原创视频在线播放| 亚洲天堂.com| 免费一看一级毛片| 99r在线精品视频在线播放| 国产菊爆视频在线观看| 亚洲国产精品日韩av专区| 91久久国产综合精品| 国产一区二区免费播放| 欧美成人午夜影院| 男人的天堂久久精品激情| 国产精品久久精品| 色亚洲成人| 乱人伦99久久| 91精品专区国产盗摄| 亚洲高清国产拍精品26u| 国产成人精品免费av| 激情在线网| 精品国产免费观看一区| 9丨情侣偷在线精品国产| 日韩高清一区 | 久久久久久久久18禁秘 | 国产一区二区三区夜色| 亚洲视频三级| 国产原创演绎剧情有字幕的| 精品91自产拍在线|