物聯(lián)傳媒 旗下網(wǎng)站
登錄 注冊(cè)

基于收發(fā)一體芯片的NFC模塊設(shè)計(jì)

作者:杜浩 趙振華
來(lái)源:微型機(jī)與應(yīng)用
日期:2014-12-11 10:46:39
摘要:本文在介紹TI公司推出的多協(xié)議完全集成13.56 MHz收發(fā)一體芯片TRF7970A的基礎(chǔ)上,設(shè)計(jì)了具有主動(dòng)模式和被動(dòng)模式的NFC模塊。
關(guān)鍵詞:NFC模塊讀寫器

  隨著無(wú)線網(wǎng)絡(luò)支持的上下行數(shù)據(jù)速率不斷提高。手機(jī)在數(shù)據(jù)業(yè)務(wù)方面的應(yīng)用不斷涌現(xiàn)。越來(lái)越多的人正在使用手機(jī)代替手表、記事本、MP3,手機(jī)已成為人們不可缺少的信息終端。

  近距離通信NFC(Near Field Communication)技術(shù)將讓這一切變?yōu)楝F(xiàn)實(shí)。2006年6月,諾基亞和中國(guó)移動(dòng)、飛利浦、易通卡公司在廈門啟動(dòng)了中國(guó)首個(gè)NFC手機(jī)支付試驗(yàn)。用戶使用內(nèi)嵌NFC模塊的諾基亞3220手機(jī),可在廈門市內(nèi)任何一個(gè)易通卡覆蓋的營(yíng)業(yè)網(wǎng)點(diǎn)(公交汽車、輪渡、電影院、快餐店)進(jìn)行手機(jī)支付。

  不僅如此,在不久的將來(lái),通過(guò)手機(jī)和NFC技術(shù)的結(jié)合,用戶通過(guò)手機(jī)就可以實(shí)現(xiàn)以下應(yīng)用:在街邊海報(bào)上和雜志上下載演唱會(huì)時(shí)間、地點(diǎn)和節(jié)目表;在公園里玩互動(dòng)的定向越野游戲;在車站實(shí)時(shí)刷新公交車的到站時(shí)間;在辦公室發(fā)送短信控制家政服務(wù)員進(jìn)出住宅的時(shí)間;在學(xué)校全面代替現(xiàn)有學(xué)生證和學(xué)生卡:在遍布市區(qū)的智能公用電話亭查詢地圖、公交線 路、餐飲購(gòu)物等信息;在加油站、超市、銀行等任何有POS機(jī)的地方支付款項(xiàng)并用手機(jī)收取電子發(fā)票。

  本文在介紹TI公司推出的多協(xié)議完全集成13.56 MHz收發(fā)一體芯片TRF7970A的基礎(chǔ)上,設(shè)計(jì)了具有主動(dòng)模式和被動(dòng)模式的NFC模塊。

  1 硬件設(shè)計(jì)

  1.1 TRF7970A簡(jiǎn)介

  TRF7970A是一款用于13.56 MHz RFID/近場(chǎng)通信系統(tǒng)的集成模擬前端和數(shù)據(jù)組幀器件。通過(guò)內(nèi)置編程選項(xiàng)可使此器件適合于范圍寬廣的應(yīng)用。它能夠執(zhí)行以下3種模式中的任一模式:RFID/NFC讀寫器、NFC對(duì)等點(diǎn)、卡仿真模式。引腳分布如圖1所示。

  此芯片具有幾個(gè)工作模式,可以通過(guò)配置兩個(gè)輸入引腳(EN和EN2)以及芯片狀態(tài)控制寄存器(0X00)內(nèi)的幾個(gè)位來(lái)進(jìn)行控制,如表1所示。

基于收發(fā)一體芯片的NFC模塊設(shè)計(jì)

基于收發(fā)一體芯片的NFC模塊設(shè)計(jì)

圖1 引腳分布

  當(dāng)EN被設(shè)定為高電平時(shí)(或者在EN2的上升沿,然后被EN=1確認(rèn)),電壓穩(wěn)壓器被激活并且13.56 MHz振蕩器啟動(dòng)。當(dāng)電源和振蕩器頻率已穩(wěn)定時(shí),SYS_CLK輸出從60 kHz的輔助頻率切換至來(lái)自晶體振蕩器的13.56 MHz頻率。此時(shí),讀取器已為通信和執(zhí)行所需任務(wù)做好準(zhǔn)備。然后此MCU可對(duì)芯片狀態(tài)控制寄存器0x00進(jìn)行編程并通過(guò)編輯附加寄存器來(lái)選擇運(yùn)行模式。

  (1)待機(jī)模式(寄存器0x00的位7=1),此讀取器能夠在100s恢復(fù)到完全運(yùn)行。

  (2)模式1(RF輸出禁用,寄存器Ox00的位5=0并且位1=0的激活模式)是一個(gè)低功率模式,此模式使得讀取器能夠在25斗s內(nèi)恢復(fù)到完全運(yùn)行。

  (3)如果讀取器到讀取器的防沖突被執(zhí)行,模式2(只有RF接收器有效,寄存器ox00的位1=l的激活模式)可用于測(cè)量外部RF場(chǎng)(正如RSSI測(cè)量段落中描述的那樣)。

  (4)模式3和4(整個(gè)RF部分有效。寄存器0x00的位5=l的激活模式)是用于正常發(fā)射和接收操作的正常模式。

  1.2 NFC模塊工作原理

  圖2給出了由NFC天線、TRF7970A、微控制器(MCU)3部分組成的NFC電路。

  系統(tǒng)上電以后,MCU首先配置TRF7970A芯片,可以通過(guò)配置引腳EN和EN2以及芯片狀態(tài)控制寄存器的幾個(gè)位來(lái)選擇工作模式(具體配置參數(shù)如表l所示),MCU通過(guò)并13將配置數(shù)據(jù)傳人TRF7970A芯片。NFC模塊主要有主動(dòng)模式和被動(dòng)模式兩種模式。

基于收發(fā)一體芯片的NFC模塊設(shè)計(jì)

圖2 NFC模塊電路圖

  NFC模塊可以在主動(dòng)或被動(dòng)模式下交換數(shù)據(jù)。在被動(dòng)模式下,啟動(dòng)NFC通信的設(shè)備(也稱為NFC發(fā)起設(shè)備,主模塊),在整個(gè)通信過(guò)程中提供射頻場(chǎng)(RF-field),其中傳輸速度是可選的,將數(shù)據(jù)發(fā)送到另一臺(tái)模塊。另一臺(tái)模塊稱為NFC目標(biāo)模塊(從模塊),不必產(chǎn)生射頻場(chǎng),而使用負(fù)載調(diào)制(Load Modulation)技術(shù),即可以相同的速度將數(shù)據(jù)傳回發(fā)起設(shè)備。此通信機(jī)制與基于IS014443A、MIFARE和FeliCa的非接觸式智能卡兼容,因此,NFC發(fā)起模塊在主動(dòng)模式下,可以用相同的連接和初始化過(guò)程檢測(cè)非接觸式智能卡或NFC目標(biāo)模塊,并與之建立聯(lián)系。

  當(dāng)NFC模塊工作在主動(dòng)模式下。和RFID讀取器操作中一樣,此芯片完全由MCU控制。MCU激活此芯片并將模式選擇寫入ISO控制寄存器。MCU使用RF沖突避免命令。所以它不用承擔(dān)任何實(shí)時(shí)任務(wù)。每臺(tái)NFC模塊要向另一臺(tái)NFC模塊發(fā)送數(shù)據(jù)時(shí),都必須產(chǎn)生自己的射頻場(chǎng)。如圖3所示,發(fā)起模塊和目標(biāo)模塊都要產(chǎn)生自己的射頻場(chǎng),以便進(jìn)行通信。這是對(duì)等網(wǎng)絡(luò)通信的標(biāo)準(zhǔn)模式,可以獲得非??焖俚倪B接設(shè)置。

基于收發(fā)一體芯片的NFC模塊設(shè)計(jì)

圖3 NFC主動(dòng)通信模式

基于收發(fā)一體芯片的NFC模塊設(shè)計(jì)

圖4 NFC被動(dòng)通信模式

  如圖4所示,當(dāng)NFC模塊工作在被動(dòng)模式下,此模塊通常處于斷電或者待機(jī)模式。如果EN2=H,此模塊將電源系統(tǒng)保持在開狀態(tài)。如果EN2=L并且EN=L,則此模塊處于完全斷電狀態(tài)。為了運(yùn)行在被動(dòng)模式或者標(biāo)簽仿真器狀態(tài)下,MCU必須向模塊檢測(cè)電平寄存器(bo-b2)中載入一個(gè)非0值,此操作將開啟RF計(jì)量系統(tǒng)(由VEXT供電,所以此系統(tǒng)在完全斷電期間仍可運(yùn)行并且其流耗只有3.5μA)。RF計(jì)量一直監(jiān)控天線輸入上的RF信號(hào)。當(dāng)天線輸入上的RF水平超過(guò)目標(biāo)方檢測(cè)電平寄存器中定義的值時(shí),NFC模塊被自動(dòng)激活(EN是內(nèi)部強(qiáng)制高電平)。

  移動(dòng)模塊主要以被動(dòng)模式操作??梢源蠓档凸模⒀娱L(zhǎng)電池壽命。在一個(gè)應(yīng)用會(huì)話過(guò)程中,NFC模塊可以在發(fā)起模塊和目標(biāo)模塊之間切換自己的角色。利用這項(xiàng)功能。電池電量較低的設(shè)備可以要求 以被動(dòng)模式充當(dāng)目標(biāo)設(shè)備,而不是發(fā)起設(shè)備。

  1.3 TRF7970A通信接口設(shè)計(jì)

  芯片TRF7970A到讀取器的通信接口可被配置為兩種方式:具有8線并行接口(DO:D7)加上DATA_CLK,或者具有3線制或者4線制串行外設(shè)接口(SPI)。SPI接口使用傳統(tǒng)的主器件輸出/從器件輸入(MOSI)、主器件輸入/從器件輸出(MISO)、IRQ和DATA_CLK線路。SPI可在使用或者不使用從器件選擇線路的情況下運(yùn)行。本文以并行接口的方式闡述。

  通信由一個(gè)啟動(dòng)條件初始化,此啟動(dòng)條件之后通常跟隨一個(gè)地址/命令字(Adr/Cmd)。Adr/Cmd為8位長(zhǎng),并且它的格式顯示如表2所示。

  表2 地址/命令字位分配

  MSB(位7)確定這個(gè)字用作命令還 是地址。表2中的最后兩列顯示了獨(dú)立位的功能,即寫入的是地址還是命令。一旦地址字被發(fā)出,就進(jìn)入數(shù)據(jù)接收等待狀態(tài)。在連續(xù)地址模式(連續(xù)模式=1),地址之后的第一組數(shù)據(jù)被寫入(或者讀取)到(自)指定的地址。對(duì)于每個(gè)附加數(shù)據(jù),地址增量為1。持續(xù)模式可用于在不改變地址的前提下寫入一個(gè)位于單一數(shù)據(jù)流中的控制寄存器的塊;在非連續(xù)地址模式下(簡(jiǎn)單尋址模式),在地址以后只等待一個(gè)數(shù)據(jù)字。

  地址模式用于寫入或者讀取配置寄存器 或者FIFO。當(dāng)把多于12 B的數(shù)據(jù)寫人FIFO時(shí),連續(xù)地址模式應(yīng)設(shè)定為1。命令模式用于輸入一個(gè)導(dǎo)致讀取器動(dòng)作的命令。

  1.3.1 無(wú)線接口數(shù)據(jù)的接收

  在接收操作啟動(dòng)時(shí)(成功偵測(cè)到SOF),IRQ狀態(tài)寄存器的B6被設(shè)定。如果接收數(shù)攢if{少于或者等于8 B,在接收操作的末尾,一個(gè)中斷請(qǐng)求會(huì)被發(fā)送到MCU。MCU接收到這個(gè)中斷請(qǐng)求,然后它會(huì)通過(guò)讀取IRQ。狀態(tài)寄存器(OxOC)來(lái)檢查以確定中斷的原因,之后MCU從FIFO讀取數(shù)據(jù)。

  如果接收到的數(shù)據(jù)包大于96 B,當(dāng)?shù)?6個(gè)字節(jié)被載人到FIFO中(滿容量的75%)時(shí),在接收操作終止前,中斷被發(fā)出。MCU應(yīng)該重新讀取IRQ狀態(tài)寄存器的內(nèi)容以確定中斷請(qǐng)求的原因。如果FIFO已經(jīng)達(dá)到滿容量的75%(由IRQ狀態(tài)寄存器的標(biāo)志B5標(biāo)出并讀取FIFO狀態(tài)寄存器),MCU通過(guò)從FIFO中讀取數(shù)據(jù)作出的響應(yīng)為新接收來(lái)的數(shù)據(jù)騰出空間。當(dāng)接收操作完成時(shí),中斷被發(fā)出并且在完成讀取操作前,MCU必須檢查還有多少字仍然在FIF0中。

  如果讀取器偵測(cè)到一個(gè)接收錯(cuò)誤,在IRQ狀態(tài)寄存器中相應(yīng)的錯(cuò)誤標(biāo)志(組幀錯(cuò)誤,CRC錯(cuò)誤)被設(shè)定,指示MCU接收沒(méi)有正確完成。

  1.3.2 到MCU的數(shù)據(jù)傳送

  在開始數(shù)據(jù)傳送前,F(xiàn)IFO應(yīng)該一直被一個(gè)復(fù)位命令(0x0F)清除。數(shù)據(jù)傳送由一個(gè)選定的命令初始化。然后,MCU命令此讀取器從寄存器0xlD開始執(zhí)行一個(gè)持續(xù)寫命令(Ox3D)。寫入到寄存器OxlD的數(shù)據(jù)為TX。長(zhǎng)度字節(jié)l(上部和中部半字節(jié)),而隨后寄存器0xlE中的字節(jié)為TX,長(zhǎng)度字節(jié)2(較低半字節(jié)和不完整字節(jié)長(zhǎng)度)。TX字節(jié)長(zhǎng)度確定讀取器何時(shí)發(fā)送幀結(jié)束(EOF)字節(jié)。在TX長(zhǎng)度字節(jié)被寫入后,F(xiàn)IFO數(shù)據(jù)被載入到寄存器0xlF中。其字節(jié)存儲(chǔ)單元位于0至127。在第一個(gè)字節(jié)被寫入到FIFO后,數(shù)據(jù)傳送自動(dòng)開始。由于地址是按順序排列的,TX長(zhǎng)度字節(jié)和FIFO的載人可由一個(gè)持續(xù)寫命令完成。

  傳送開始時(shí),IRQ狀態(tài)寄存器的標(biāo)志B7(IRQ TX)被設(shè)定,并且在傳送操作結(jié)束時(shí)發(fā)送一個(gè)中斷以通知MCU此任務(wù)已完成。

  2 軟件設(shè)計(jì)

  系統(tǒng)上電以后MCU首先配置TRF7970A芯片,先將由2個(gè)輸入引腳(EN和EN2)以及芯片狀態(tài)控制寄存器(0x00)內(nèi)的幾個(gè)位配置芯片的工作模式,MCU通過(guò)并IZl將配置數(shù)據(jù)傳入TRF7970A芯片。在RX模式,接收操作結(jié)束,通過(guò)設(shè)定引腳13(IRQ)為高電平來(lái)通知外部MCU接收結(jié)束;在TX模式,一個(gè)標(biāo)示TX已經(jīng)完成的中斷申請(qǐng)(IRQ)通知外部MCU。

  在TRF7970A芯片中有一個(gè)組幀邏輯部分,串行比特流數(shù)據(jù)在此部分被格式化成字節(jié)格式。特別信號(hào), 諸如幀開始(SOF)、幀結(jié)束(EOF)、通信開始 、通信結(jié)束,被自動(dòng)去除;奇偶校驗(yàn)位和CRC字節(jié)也被檢查并去除了。然后,這個(gè)“干凈”數(shù)據(jù)被發(fā)送到128 B的FIFO寄存器,此寄存器可由外部微控制器讀取。這意味著降低MCU的存儲(chǔ)器需求也就是降低MCU成本。同時(shí)縮短軟件開發(fā)時(shí)間。TRF7970A發(fā)射模式如圖5所示,TRF7970A接收模式如圖6所示。

基于收發(fā)一體芯片的NFC模塊設(shè)計(jì)

 圖5 TRF7970A發(fā)射模式         圖6 TRF7970A接收模式

  2.1發(fā)射模式

  (1)通過(guò)引腳EN和EN2以及芯片狀態(tài)控制器(0x00)內(nèi)的幾個(gè)位選擇功率模式使模塊工作在主動(dòng)模式;

  (2)在將即將發(fā)送的數(shù)據(jù)載入FIFO后,發(fā)送一個(gè)發(fā)射命令:

  (3)TRF7970A芯片自動(dòng)添加特別信號(hào):通信開始、通信結(jié)束、SOF、EOF、奇偶校驗(yàn)位和CRC字節(jié)。形成數(shù)據(jù)包;

  (4)在檢測(cè)中斷信號(hào)(IRQ)之前,一直發(fā)送數(shù)據(jù)包;

  (5)在發(fā)射操作的末尾,一個(gè)標(biāo)示TX已經(jīng)完成的中斷請(qǐng)求(IRQ)通知外部MCU。

  2.2 接收模式

  (1)通過(guò)引腳EN和EN2以及芯片狀態(tài)控制器(0x00)內(nèi)的幾個(gè)位選擇功率模式使模塊工作在被動(dòng)模式,即待機(jī)狀態(tài);

  (2)開啟RF計(jì)量系統(tǒng),監(jiān)控天線上輸入的RF信號(hào),檢測(cè)有效電平,TRF7970A芯片被自動(dòng)激活;

  (3)TRF7970A芯片為接收到的信號(hào)自動(dòng)去除特別信號(hào):通信開始、通信結(jié)束、SOF、EOF、奇偶校驗(yàn)位和CRC字節(jié),形成“干凈”數(shù)據(jù);

  (4)當(dāng)FIFO中接收到數(shù)據(jù),一個(gè)中斷被發(fā)送至MCU以表示有數(shù)據(jù)要從FIFO中讀取,接收操作開始;

  (5)在接收數(shù)據(jù)期間,檢測(cè)到任何數(shù)據(jù)格式、奇偶校驗(yàn)或者CRC中的錯(cuò)誤,可以通過(guò)一個(gè)中斷請(qǐng)求通知外部MCU放棄該數(shù)據(jù);

  (6)接收操作的末尾通過(guò)設(shè)定引腳13(IRQ)為高電平來(lái)傳送至外部系統(tǒng)MCU。

  上面的兩種模式只是簡(jiǎn)單地?cái)⑹隽薔FC模塊在主動(dòng)模式下發(fā)送數(shù)據(jù)和在被動(dòng)模式下接收數(shù)據(jù)。在發(fā)送和接收數(shù)據(jù)后,可根據(jù)存儲(chǔ)MCU的數(shù)據(jù)再完成相應(yīng)的工作。

  在并口模式下讀寫數(shù)據(jù)到寄存器的參考程序如下:

基于收發(fā)一體芯片的NFC模塊設(shè)計(jì)

基于收發(fā)一體芯片的NFC模塊設(shè)計(jì)

  本文介紹了TRF7970A芯片接口,其具有資源豐富、擴(kuò)展性強(qiáng)、集成度高、簡(jiǎn)化電路設(shè)計(jì)等特點(diǎn)。用此芯片設(shè)計(jì)的NFC模塊具有功耗低及可休眠、高可靠性、體積小、重量輕和穩(wěn)定性高等優(yōu)點(diǎn)。實(shí)驗(yàn)證明,該NFC模塊可應(yīng)用于移動(dòng)支付、公共交通票務(wù)、門禁、電子海報(bào)等不同的領(lǐng)域。