原帖請參照:http://www.nfcchina.org/forum.php?mod=viewthread&tid=68&extra=page%3D1
1.nfc?怎么選擇操作模式的?——怎么在?PCD VCD NFC?模式中做出選擇?
我知道??iso 15693中有說明但是不太懂啊。
如果周圍檢測到?RF場存在,就能直接認定并選擇?NFC?模式?
如果沒檢測到RF場存在,又怎么在那3種模式中選擇?
首先我覺得應(yīng)該澄清一個概念,就是你所提到的NFC模式。我猜你所說的應(yīng)該是ISO18092中所定義的通信方式吧?在NFC中定義了三種不同的模式:
-? ?? ?? ?讀卡器模式:運行著NFC Forum所定義的Type1/2/3/4 Platform,也就是所說的PCD/VCD,對應(yīng)著ISO14443的協(xié)議,目前,NFC Forum中也加入了對VCD的支持。讀卡器下也可以是ISO18092中定義的Initiator;
-? ?? ?? ?卡模擬模式:運行著NFC Forum所定義的Type4A/4B的TAG,也就是我們所說的PICC;卡模擬也可以使ISO18092的Target
-? ?? ?? ?點對點模式:定義在ISO18092中的Initiator和Target;
關(guān)于模式的選擇,完全是由上層的應(yīng)用程序來決定。比如說你的NFC手機運行一個讀公交卡的應(yīng)用程序,那么這時候NFC模塊或NFC芯片就工作在讀卡器模式;如果運行一個Google wallet的應(yīng)用程序,那么NFC芯片就被設(shè)置成卡模擬的模式;如果運行一個文件傳輸?shù)膽?yīng)用程序,如File expert,那么你的NFC芯片就會被設(shè)置成為點對點通信的模式。所以說,NFC的模式選擇,完全取決于上層的應(yīng)用程序,這里我就簡單的從NFC協(xié)議的角度來分析如何進行模式的設(shè)置。
1.? ?? ?初始化
當手機中的NFC模塊(芯片)被開啟時,會初始化一些參數(shù),這個時候NFC芯片處于一個IDLE的狀態(tài),該狀態(tài)下,NFC芯片不會產(chǎn)生射頻場,此時它處于偵聽模式下。但是需要注意的是,此時的NFC芯片并不會工作在上述三種模式中的任何一種。
2.? ?? ?模式的配置
當相應(yīng)的應(yīng)用程序啟動后,NFC芯片會得到相應(yīng)的模式配置,這里描述幾個比較重要的參數(shù):
(1)? ?? ?技術(shù):該詞是NFC規(guī)范中的專有名詞,NFC-A/B/F,對應(yīng)著ISO14443 A/B及Felica
(2)? ?? ?通信模式:主動通信和被動通信
(3)? ?? ?工作模式:Poll,Listen
這三個參數(shù)的組合對應(yīng)著不同的模式,如(NFC-A,POLL,被動通信)表示,此時NFC工作在一個讀卡器模式下;如(NFC-A,Listen,被動通信)表示NFC工作在卡模擬的模式;如(NFC-F,Poll,主動通信),表示NFC工作在點對點的模式下。當然了,可以給NFC芯片配置多個這樣的參數(shù)組。除了這三個參數(shù)外,還有其它的參數(shù),比如RF協(xié)議(ISO-DEP/NFC-DEP等),傳輸速率,所能支持的最大負載長度等,這里就不詳細說明了。
3.? ?? ?發(fā)現(xiàn)
當NFC芯片的模式配置好后,如果NFC芯片被配置為POLL下,那么NFC芯片將會打開射頻場,并根據(jù)配置模式進行發(fā)現(xiàn)過程,來發(fā)現(xiàn)周圍的NFC設(shè)備。在NFC規(guī)范中,發(fā)現(xiàn)的順序為NFC-A->NFC-B->NFC-F->私有技術(shù)。當周圍有多個目標設(shè)備或一個目標設(shè)備卻支持多種RF協(xié)議的話,那么NFC芯片將會向上層應(yīng)用通告目標設(shè)備,讓上層應(yīng)用來決定如何選擇。如果NFC芯片被配置為LISTEN下,那么NFC芯片就會等待對方設(shè)備發(fā)來的POLL命令,如SENS_REQ/SENSF_REQ等。
4.? ?? ?激活
當目標設(shè)備被選中后,將會進行設(shè)備/協(xié)議的激活,如使用NFC-DEP的傳輸協(xié)議,那么就需要ATR_REQ/RES的流程;
5.? ?? ?鏈路激活
這一步是針對點對點通信的,如果使用LLCP的話,還需要對LLCP鏈路進行激活。
當?shù)讓渔溌方⒑煤?,那么NFC設(shè)備間就可以進行通信了。
這里再說明一下,第一步初始化,也有可能不同芯片有不同的實現(xiàn)方式,初始化就會進入某一個模式;第二步配置和第三步發(fā)現(xiàn),實際上在NFC的規(guī)范中,被合成了一步。通過一個發(fā)現(xiàn)命令,其中包括了模式的參數(shù),就完成了發(fā)現(xiàn)過程。