<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于FM 1702SL的射頻讀寫器

          基于FM 1702SL的射頻讀寫器

          作者: 時間:2010-02-24 來源:網(wǎng)絡(luò) 收藏

          設(shè)計天線時還要注意天線的品質(zhì)因數(shù)。國際標準ISOl4443規(guī)定無論TYPEA或TYPEB非接觸式IC卡,和卡之間的數(shù)據(jù)傳輸速度為106kbit/s,載波的頻率f0=13.56MHz,因此,每一位的數(shù)據(jù)維持的時間tO=106/104k=9.44μs,TypeA類卡智能卡卡的信號編碼是修正米勒編碼,傳送每一位數(shù)具有t=3μs的載波中斷,因此,該信號的帶寬近似為B=lT=1/3μs=333.333kHz,故天線的品質(zhì)因數(shù)Q= fO/B=13.56 MHz33.333kHz=35,天線的傳輸帶寬與品質(zhì)因數(shù)成反比關(guān)系。因此,過高的品質(zhì)因數(shù)會導(dǎo)致帶寬縮小,從而減弱的調(diào)制邊帶,會導(dǎo)致讀寫器無法與卡通信。

          讀寫器對卡的操作流程

          l702SL內(nèi)部有8個寄存器頁,每頁有8個寄存器,每個寄存器有8位數(shù)據(jù)。這些寄存器是統(tǒng)一編址的,從Ox00~0x3F,MCU通過SPI接口與 l702SL通信對這些寄存器進行設(shè)置。例如,MCU需要讓l702SL執(zhí)行某個命令(Transceive)時,把此命令的代碼(1E)寫入 Command寄存器就可以了。

          必須注意的是,MCU對卡片的操作不是簡單的一條指令所能完成的,其中必須有對FMl702SL硬件內(nèi)部寄存器的設(shè)置。操作步驟如圖5所示。


          (1)復(fù)位初始化FMr702SL:初始化FMl702SL的SPI接口,初始化FMl702SL定時器,設(shè)置定時器控制寄存器,打開Txl、TX2。

          (2)Request(請求):當(dāng)一張Mifare卡片處在卡片讀寫器的天線的工作范圍之內(nèi)時,程序員控制讀寫器向卡片發(fā)出R:EQUEsT all(或REQUEsT std)命令??ㄆ腁TR將啟動,將卡片BLOCkO中的卡片類型(TagType)號共2個字節(jié)傳送給讀寫器,建立卡片與讀寫器的第一步通信聯(lián)絡(luò)。如果不進行復(fù)位請求操作,讀寫器對卡片的其它操作將不會進行。

          (3)Antieollision LOOp(防沖突機制):如果有多張Mifare卡片處在卡片讀寫器的天線的工作范圍之內(nèi)時,讀寫器將首先與每一張卡片進行通信,取得每一張卡片的系列號。由于每一張Mifare卡片都具有其唯一的序列號,決不會相同,因此讀寫器根據(jù)卡片的序列號來保證一次只對一張卡操作。該操作讀寫器得到卡的返回值為卡的序列號。

          (4)Select Tag(選擇卡片):完成了上述二個步驟之后,讀寫器必須對卡片進行選擇操作。執(zhí)行操作后,返回卡上的SIZE字節(jié)。

          (5)Authentication(三次相互驗證):經(jīng)過上述三個步驟,在確認已經(jīng)選擇了一張卡片時,讀寫器在對卡進行讀寫操作之前,一必須對卡片上已經(jīng)設(shè)置的密碼進行認證。如果匹配,才允許進一步的讀寫操作。

          (6)讀寫操作:對卡的最后操作是讀、寫、增值、減值、存儲和傳送等操作。


          上一頁 1 2 下一頁

          關(guān)鍵詞: 讀寫器 射頻 1702SL FM 基于

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();