隨著無線網絡支持的上下行數據速率不斷提高。手機在數據業務方面的應用不斷涌現。越來越多的人正在使用手機代替手表、記事本、MP3,手機已成為人們不可缺少的信息終端。
近距離通信NFC(Near Field Communication)技術將讓這一切變為現實。2006年6月,諾基亞和中國移動、飛利浦、易通卡公司在廈門啟動了中國首個NFC手機支付試驗。用戶使用內嵌NFC模塊的諾基亞3220手機,可在廈門市內任何一個易通卡覆蓋的營業網點(公交汽車、輪渡、電影院、快餐店)進行手機支付。
不僅如此,在不久的將來,通過手機和NFC技術的結合,用戶通過手機就可以實現以下應用:在街邊海報上和雜志上下載演唱會時間、地點和節目表;在公園里玩互動的定向越野游戲;在車站實時刷新公交車的到站時間;在辦公室發送短信控制家政服務員進出住宅的時間;在學校全面代替現有學生證和學生卡:在遍布市區的智能公用電話亭查詢地圖、公交線 路、餐飲購物等信息;在加油站、超市、銀行等任何有POS機的地方支付款項并用手機收取電子發票。
本文在介紹TI公司最新推出的多協議完全集成13.56 MHz收發一體芯片TRF7970A的基礎上,設計了具有主動模式和被動模式的NFC模塊。
1 硬件設計
1.1 TRF7970A簡介
TRF7970A是一款用于13.56 MHz RFID/近場通信系統的集成模擬前端和數據組幀器件。通過內置編程選項可使此器件適合于范圍寬廣的應用。它能夠執行以下3種模式中的任一模式:RFID/NFC讀取器、NFC對等點、卡仿真模式。引腳分布如圖1所示。
此芯片具有幾個工作模式,可以通過配置兩個輸入引腳(EN和EN2)以及芯片狀態控制寄存器(0X00)內的幾個位來進行控制,如表1所示。
圖1 引腳分布
當EN被設定為高電平時(或者在EN2的上升沿,然后被EN=1確認),電壓穩壓器被激活并且13.56 MHz振蕩器啟動。當電源和振蕩器頻率已穩定時,SYS_CLK輸出從60 kHz的輔助頻率切換至來自晶體振蕩器的13.56 MHz頻率。此時,讀取器已為通信和執行所需任務做好準備。然后此MCU可對芯片狀態控制寄存器0x00進行編程并通過編輯附加寄存器來選擇運行模式。
(1)待機模式(寄存器0x00的位7=1),此讀取器能夠在100s恢復到完全運行。
(2)模式1(RF輸出禁用,寄存器Ox00的位5=0并且位1=0的激活模式)是一個低功率模式,此模式使得讀取器能夠在25斗s內恢復到完全運行。
(3)如果讀取器到讀取器的防沖突被執行,模式2(只有RF接收器有效,寄存器ox00的位1=l的激活模式)可用于測量外部RF場(正如RSSI測量段落中描述的那樣)。
(4)模式3和4(整個RF部分有效。寄存器0x00的位5=l的激活模式)是用于正常發射和接收操作的正常模式。
1.2 NFC模塊工作原理
圖2給出了由NFC天線、TRF7970A、微控制器(MCU)3部分組成的NFC電路。
系統上電以后,MCU首先配置TRF7970A芯片,可以通過配置引腳EN和EN2以及芯片狀態控制寄存器的幾個位來選擇工作模式(具體配置參數如表l所示),MCU通過并13將配置數據傳人TRF7970A芯片。NFC模塊主要有主動模式和被動模式兩種模式。
圖2 NFC模塊電路圖
NFC模塊可以在主動或被動模式下交換數據。在被動模式下,啟動NFC通信的設備(也稱為NFC發起設備,主模塊),在整個通信過程中提供射頻場(RF-field),其中傳輸速度是可選的,將數據發送到另一臺模塊。另一臺模塊稱為NFC目標模塊(從模塊),不必產生射頻場,而使用負載調制(Load Modulation)技術,即可以相同的速度將數據傳回發起設備。此通信機制與基于IS014443A、MIFARE和FeliCa的非接觸式智能卡兼容,因此,NFC發起模塊在主動模式下,可以用相同的連接和初始化過程檢測非接觸式智能卡或NFC目標模塊,并與之建立聯系。
當NFC模塊工作在主動模式下。和RFID讀取器操作中一樣,此芯片完全由MCU控制。MCU激活此芯片并將模式選擇寫入ISO控制寄存器。MCU使用RF沖突避免命令。所以它不用承擔任何實時任務。每臺NFC模塊要向另一臺NFC模塊發送數據時,都必須產生自己的射頻場。如圖3所示,發起模塊和目標模塊都要產生自己的射頻場,以便進行通信。這是對等網絡通信的標準模式,可以獲得非常快速的連接設置。
圖3 NFC主動通信模式
圖4 NFC被動通信模式
如圖4所示,當NFC模塊工作在被動模式下,此模塊通常處于斷電或者待機模式。如果EN2=H,此模塊將電源系統保持在開狀態。如果EN2=L并且EN=L,則此模塊處于完全斷電狀態。為了運行在被動模式或者標簽仿真器狀態下,MCU必須向模塊檢測電平寄存器(bo-b2)中載入一個非0值,此操作將開啟RF計量系統(由VEXT供電,所以此系統在完全斷電期間仍可運行并且其流耗只有3.5μA)。RF計量一直監控天線輸入上的RF信號。當天線輸入上的RF水平超過目標方檢測電平寄存器中定義的值時,NFC模塊被自動激活(EN是內部強制高電平)。
移動模塊主要以被動模式操作。可以大幅降低功耗,并延長電池壽命。在一個應用會話過程中,NFC模塊可以在發起模塊和目標模塊之間切換自己的角色。利用這項功能。電池電量較低的設備可以要求 以被動模式充當目標設備,而不是發起設備。
1.3 TRF7970A通信接口設計
芯片TRF7970A到讀取器的通信接口可被配置為兩種方式:具有8線并行接口(DO:D7)加上DATA_CLK,或者具有3線制或者4線制串行外設接口(SPI)。SPI接口使用傳統的主器件輸出/從器件輸入(MOSI)、主器件輸入/從器件輸出(MISO)、IRQ和DATA_CLK線路。SPI可在使用或者不使用從器件選擇線路的情況下運行。本文以并行接口的方式闡述。
通信由一個啟動條件初始化,此啟動條件之后通常跟隨一個地址/命令字(Adr/Cmd)。Adr/Cmd為8位長,并且它的格式顯示如表2所示。
表2 地址/命令字位分配
MSB(位7)確定這個字用作命令還 是地址。表2中的最后兩列顯示了獨立位的功能,即寫入的是地址還是命令。一旦地址字被發出,就進入數據接收等待狀態。在連續地址模式(連續模式=1),地址之后的第一組數據被寫入(或者讀取)到(自)指定的地址。對于每個附加數據,地址增量為1。持續模式可用于在不改變地址的前提下寫入一個位于單一數據流中的控制寄存器的塊;在非連續地址模式下(簡單尋址模式),在地址以后只等待一個數據字。
地址模式用于寫入或者讀取配置寄存器 或者FIFO。當把多于12 B的數據寫人FIFO時,連續地址模式應設定為1。命令模式用于輸入一個導致讀取器動作的命令。
1.3.1 無線接口數據的接收
在接收操作啟動時(成功偵測到SOF),IRQ狀態寄存器的B6被設定。如果接收數攢if{少于或者等于8 B,在接收操作的末尾,一個中斷請求會被發送到MCU。MCU接收到這個中斷請求,然后它會通過讀取IRQ。狀態寄存器(OxOC)來檢查以確定中斷的原因,之后MCU從FIFO讀取數據。
如果接收到的數據包大于96 B,當第96個字節被載人到FIFO中(滿容量的75%)時,在接收操作終止前,中斷被發出。MCU應該重新讀取IRQ狀態寄存器的內容以確定中斷請求的原因。如果FIFO已經達到滿容量的75%(由IRQ狀態寄存器的標志B5標出并讀取FIFO狀態寄存器),MCU通過從FIFO中讀取數據作出的響應為新接收來的數據騰出空間。當接收操作完成時,中斷被發出并且在完成讀取操作前,MCU必須檢查還有多少字仍然在FIF0中。
如果讀取器偵測到一個接收錯誤,在IRQ狀態寄存器中相應的錯誤標志(組幀錯誤,CRC錯誤)被設定,指示MCU接收沒有正確完成。
1.3.2 到MCU的數據傳送
在開始數據傳送前,FIFO應該一直被一個復位命令(0x0F)清除。數據傳送由一個選定的命令初始化。然后,MCU命令此讀取器從寄存器0xlD開始執行一個持續寫命令(Ox3D)。寫入到寄存器OxlD的數據為TX。長度字節l(上部和中部半字節),而隨后寄存器0xlE中的字節為TX,長度字節2(較低半字節和不完整字節長度)。TX字節長度確定讀取器何時發送幀結束(EOF)字節。在TX長度字節被寫入后,FIFO數據被載入到寄存器0xlF中。其字節存儲單元位于0至127。在第一個字節被寫入到FIFO后,數據傳送自動開始。由于地址是按順序排列的,TX長度字節和FIFO的載人可由一個持續寫命令完成。
傳送開始時,IRQ狀態寄存器的標志B7(IRQ TX)被設定,并且在傳送操作結束時發送一個中斷以通知MCU此任務已完成。
2 軟件設計
系統上電以后MCU首先配置TRF7970A芯片,先將由2個輸入引腳(EN和EN2)以及芯片狀態控制寄存器(0x00)內的幾個位配置芯片的工作模式,MCU通過并IZl將配置數據傳入TRF7970A芯片。在RX模式,接收操作結束,通過設定引腳13(IRQ)為高電平來通知外部MCU接收結束;在TX模式,一個標示TX已經完成的中斷申請(IRQ)通知外部MCU。
在TRF7970A芯片中有一個組幀邏輯部分,串行比特流數據在此部分被格式化成字節格式。特別信號, 諸如幀開始(SOF)、幀結束(EOF)、通信開始 、通信結束,被自動去除;奇偶校驗位和CRC字節也被檢查并去除了。然后,這個“干凈”數據被發送到128 B的FIFO寄存器,此寄存器可由外部微控制器讀取。這意味著降低MCU的存儲器需求也就是降低MCU成本。同時縮短軟件開發時間。TRF7970A發射模式如圖5所示,TRF7970A接收模式如圖6所示。
圖5 TRF7970A發射模式 圖6 TRF7970A接收模式
2.1發射模式
(1)通過引腳EN和EN2以及芯片狀態控制器(0x00)內的幾個位選擇功率模式使模塊工作在主動模式;
(2)在將即將發送的數據載入FIFO后,發送一個發射命令:
(3)TRF7970A芯片自動添加特別信號:通信開始、通信結束、SOF、EOF、奇偶校驗位和CRC字節。形成數據包;
(4)在檢測中斷信號(IRQ)之前,一直發送數據包;
(5)在發射操作的末尾,一個標示TX已經完成的中斷請求(IRQ)通知外部MCU。
2.2 接收模式
(1)通過引腳EN和EN2以及芯片狀態控制器(0x00)內的幾個位選擇功率模式使模塊工作在被動模式,即待機狀態;
(2)開啟RF計量系統,監控天線上輸入的RF信號,檢測有效電平,TRF7970A芯片被自動激活;
(3)TRF7970A芯片為接收到的信號自動去除特別信號:通信開始、通信結束、SOF、EOF、奇偶校驗位和CRC字節,形成“干凈”數據;
(4)當FIFO中接收到數據,一個中斷被發送至MCU以表示有數據要從FIFO中讀取,接收操作開始;
(5)在接收數據期間,檢測到任何數據格式、奇偶校驗或者CRC中的錯誤,可以通過一個中斷請求通知外部MCU放棄該數據;
(6)接收操作的末尾通過設定引腳13(IRQ)為高電平來傳送至外部系統MCU。
上面的兩種模式只是簡單地敘述了NFC模塊在主動模式下發送數據和在被動模式下接收數據。在發送和接收數據后,可根據存儲MCU的數據再完成相應的工作。
在并口模式下讀寫數據到寄存器的參考程序如下:
本文介紹了TRF7970A芯片接口,其具有資源豐富、擴展性強、集成度高、簡化電路設計等特點。用此芯片設計的NFC模塊具有功耗低及可休眠、高可靠性、體積小、重量輕和穩定性高等優點。實驗證明,該NFC模塊可應用于移動支付、公共交通票務、門禁、電子海報等不同的領域。
-
芯片
+關注
關注
453文章
50405瀏覽量
421812 -
手機
+關注
關注
35文章
6851瀏覽量
157412 -
無線網絡
+關注
關注
6文章
1426瀏覽量
65883
發布評論請先 登錄
相關推薦
評論