介紹
本應(yīng)用筆記概述了ADI公司具有近場通信(NFC)的安全微控制器。雖然讀者應(yīng)該對NFC和非接觸式支付技術(shù)有一些了解,但為了澄清術(shù)語和概念,它包含了最少的背景知識。我們的安全NFC微控制器旨在支持支付系統(tǒng),特別是歐洲卡,萬事達卡,維薩卡(EMV)非接觸式,并用作讀卡器或接近耦合設(shè)備(PCD)。它們不支持卡仿真,蜂窩手機通常將其用作支付方式,例如Apple Pay和Samsung Pay,或點對點通信,例如兩部蜂窩電話之間的數(shù)據(jù)交換。??????
本應(yīng)用筆記是ADI公司安全NFC微控制器開發(fā)過程中可能出現(xiàn)的問題的主要參考點。
MAX32560
ADI公司的第一代NFC讀卡器最初設(shè)計用于支持EMV 2.6a版本。它還在大多數(shù)設(shè)計中支持EMV 3.0。完整的器件詳情請參見MAX32560產(chǎn)品頁面。它支持A型和B型(ISO 14443 A和B),PBM Classic(MIFARE Classic)和JIS X 6319-4(Felica)的EMV非接觸式協(xié)議。?
MAX32570
ADI公司的下一代NFC讀卡器大幅提高了現(xiàn)場功率,可滿足EMV 3.0的苛刻設(shè)計和要求。完整的器件詳情可在MAX32570產(chǎn)品頁面上找到。它支持A型和B型(ISO 14443 A和B,鄰近),PBM Classic(MIFARE Classic),JIS X 6319-4(Felica)和ISO 15693(附近)的EMV非接觸式協(xié)議。
NFC 概述
NFC 通常是指各種各樣的產(chǎn)品、設(shè)備、規(guī)格和軟件。許多不同的公司開發(fā)了具有各種通信方式的獨特產(chǎn)品,這些產(chǎn)品變得高度分散。將不同產(chǎn)品標(biāo)準(zhǔn)化為有凝聚力的分組的幾項努力已經(jīng)取得了一些成功,包括ISO規(guī)范,EMV非接觸式和NFC論壇。然而,許多專有設(shè)備、通信、軟件應(yīng)用程序仍然在這些分組之外。NFC 應(yīng)用通常按設(shè)備類型、物理層類型、標(biāo)準(zhǔn)和管理機構(gòu)進行組織。
NFC 基礎(chǔ)知識
從根本上說,NFC是一種成熟的無線通信方法,可提供安全性和便利性。
安全
大多數(shù)無線通信(FM收音機,蜂窩,藍牙,Wi-Fi)依賴于遠場天線效應(yīng)。遠場從距天線λ/2p的距離開始,其中λ是從天線發(fā)射的信號的波長。在這個區(qū)域,信號能量從天線輻射出去。遠場距離的其他天線彼此的影響可以忽略不計。這對于AM/FM收音機來說是有益的,以便在交通高峰時段接收足夠的信號來收聽收音機。但是,它給支付系統(tǒng)帶來了安全風(fēng)險。任何有天線的人都可以竊聽對話,并且很難控制錢包中的哪張卡用于付款。?
近場靠近天線,定義為小于λ/2p。能量主要存儲在天線的主場中,而不是輻射。對于NFC系統(tǒng),這個距離約為3.5m,但對于低功耗系統(tǒng)和小型天線,典型的NFC工作距離限制在4cm或更小。在這個區(qū)域,接收信號的天線會影響發(fā)射信號。這種獨特的近場效應(yīng)行為允許NFC。結(jié)果是支付卡或設(shè)備必須靠近終端進行處理,這使得通信極不可能被攔截,因為持卡人可以看到任何足夠近的監(jiān)聽天線。這也意味著您口袋里的支付卡不會被無意中檢測到和收費。
方便
除了通信距離外,近場天線效應(yīng)還允許從讀卡器向卡傳輸電力。這意味著NFC卡不需要電池或其他像收音機或手機那樣的自供電方式。這使得卡的功能與信用卡幾十年來的工作方式大致相同。想象一下,在購物前必須為信用卡充電或更換電池。這種收集能力使卡片或標(biāo)簽設(shè)計簡單,生產(chǎn)成本低廉,便于在廣泛的應(yīng)用中使用,包括將數(shù)千個標(biāo)簽部署到書籍、盒子等中的庫存管理系統(tǒng)。這是對電磁理論和近場和遠場天線行為的簡化解釋。
設(shè)備類型
設(shè)備類型根據(jù)功能將產(chǎn)品及其關(guān)聯(lián)技術(shù)組織成組。
PCD(接近耦合設(shè)備):讀卡器和終端產(chǎn)生用于為 PICC 供電并提供通信介質(zhì)的近場。ADI公司的NFC微控制器實現(xiàn)了這種類型。
PICC(感應(yīng)IC卡):支付和身份證,標(biāo)簽,智能郵票等。是進入近場時供電的設(shè)備。
卡仿真:支持此功能的設(shè)備類似于PICC的設(shè)備,但可以提供自己的電源。手機將其用于支付方案,例如Apple Pay。
點對點:通常用于在能夠生成自己字段的兩個設(shè)備(例如兩個蜂窩電話)之間交換數(shù)據(jù)。
物理/射頻層類型和標(biāo)準(zhǔn)
對 NFC 設(shè)備進行排序的另一種常見方法是按它們支持的物理層類型、調(diào)制方案和使用的位編碼。ADI公司僅支持使用13.56MHz載波頻率的類型。還有其他載波頻率用于各種應(yīng)用,但它們超出了本文檔的范圍。這些類型通常由其標(biāo)準(zhǔn)引用,但有一些別名。此外,各種類型之間存在重疊。
NFC設(shè)備通過調(diào)制PCD和PICC之間的場幅進行通信,這稱為幅度移位鍵控(ASK)。PCD通過改變其產(chǎn)生的磁場的輸出功率來實現(xiàn)這一點。外周中心增加或減少其在場上的負載,稱為負載調(diào)制。PCD 使用 100% ASK 或 10% ASK 進行傳輸,具體取決于類型。10%ASK有點用詞不當(dāng),因為實際幅度要求因類型和與場產(chǎn)生天線的距離而異。就本文件而言,所有低于100%的ASK將被稱為10%。PICC的負載調(diào)制幅度比發(fā)射器的調(diào)制小得多。即使將示波器連接到PCD天線接收引腳,也很難看到。回想一下,負載調(diào)制通信只能在近場進行。
以下列表提供了有關(guān)各種物理設(shè)備類型的基本詳細信息。每種類型都由命名標(biāo)準(zhǔn)定義,可以查閱以獲取完整的詳細信息。圖1顯示了各種類型,并提供了每種類型的產(chǎn)品示例。它還說明了NFC產(chǎn)品和技術(shù)的復(fù)雜性和碎片化。
ISO/IEC 14443 A
由于要求在距PCD天線4cm或更短的距離內(nèi)工作,因此這種類型被稱為接近。它還將其與 ISO/IEC 15693 區(qū)分開來。這種類型也稱為A型或NFC-A型。PCD至PICC使用100%ASK調(diào)制和改進的米勒位編碼。PICC到PCD使用具有開斷鍵(OOK)和曼徹斯特位編碼的子載波。
ISO/IEC 14443 B
類型 A 和 B,也稱為 NFC-B,在相同的 14443 規(guī)范中一起定義。B 型 PCD 至 PICC 使用 10% ASK 調(diào)制和不歸零 (NRZ) 位編碼,如串行 UART。PICC至PCD使用具有二進制相移鍵控(BPSK)和NRZ-L位編碼的副載波。
費利卡
這種類型在日本開發(fā)和流行,也稱為F型,C型,NFC-F型和JIS X 6219-4。與A型和B型不同,F(xiàn)型對兩個通信方向使用相同的曼徹斯特位編碼。PCD 到 PICC 使用 10% ASK,而 PICC 到 PCD 使用負載調(diào)制,沒有子載波。
ISO/IEC 15693
這種類型被稱為附近,因為它被設(shè)計為比 A 型和 B 型(也稱為 NFC-V)更遠離讀卡器天線。該技術(shù)主要用于射頻識別(RFID)和庫存跟蹤。V型包括許多不同的模式,允許閱讀器根據(jù)應(yīng)用定制通信方法。鄰近耦合器件 (VCD) 到鄰近 IC 卡 (VICC) 使用 100% 或 10% ASK。100% 為嘈雜環(huán)境提供更高的信號幅度,而 10% 允許遠處的設(shè)備保持恒定的功率傳輸量。位編碼使用 1 個中的 256 個或 1 個中的 4 個。激活通信時,VCD 將 VICC 配置為使用單載波或雙副載波調(diào)制,每種副載波調(diào)制都有獨特的位編碼和低或高數(shù)據(jù)速率。
ISO/IEC 18092
此類型也稱為點對點,基于 ECMA-340。它使用A型和F型的某些部分,具體取決于通信速度。它允許設(shè)備成為發(fā)起方或目標(biāo)以及主動或被動通信。
高分辨率圖像 ?
圖1.NFC 類型和標(biāo)簽概述。
通信速度
每種類型都支持多種通信速度。速度由每個位中的載波周期數(shù)定義,其中 fc 為 1.13MHz。用于PICC到PCD通信的A型和B型的副載波(fs)為fc / 56或16kHz。在默認的 848Kbps 速率下,每個位時間為 106 個子載波周期 fs/8 或 fc/8。允許的速度范圍為 128、106、212 和 424Kbps;每個更高的速度使用更少的子載波每比特時間。因此,較高的速度不如較低的速度堅固。更復(fù)雜的是,在高于848Kbps的速率下,A型PICC到PCD通信通常使用BPSK與B型PICC類似,但具有不同的成幀。在實踐中,106Kbps 通常是使用的最高速度。請注意,ADI公司的NFC微器件目前僅支持A型和B型的默認速率424Kbps。
F型默認速率為212Kpbs,支持424Kpbs。 ADI公司的NFC微器件目前僅支持212Kpbs的默認速率。
V 型速度稍微復(fù)雜一些,因為 VCD 到 VICC 的速度是 1/4,速度為 26.48Kbps,1/256 的速度為 1.65Kbps。VICC到VCD使用~fc / 2048或6.6Kbps的低速和~fc / 512或26Kbps的高速。如果使用雙副載波,這些 VICC 到 VCD 速率會略有變化。
ISO 18092 名義上定義了 106、212 和 424Kbps 的速率。它還列出了更高的速度,但沒有指定這些速度的調(diào)制或位編碼。
電動輪車
歐洲卡,萬事達卡,維薩卡(EMV)是支付卡的主要管理機構(gòu)。它提供了接觸卡(智能卡)和非接觸式(NFC支付卡)等的規(guī)格。EMV 非接觸式 1 級規(guī)范包括 A 型和 B 型,1 級處理卡識別、激活以及從應(yīng)用協(xié)議數(shù)據(jù)單元 (APDU) 到 RF 調(diào)制的通信。重要的是要知道,雖然這些是從ISO 14443類型中采用的,但它們并不相同。EMV 不允許一次在現(xiàn)場使用多張卡。如果檢測到?jīng)_突(通常來自字段中的多張卡),則交易將終止。ISO 14443 詳細說明了允許在現(xiàn)場多張卡時識別和通信單個卡的程序。EMV 指定通信將僅采用 106Kbps 的默認速率。
EMV還要求PCD和PICC設(shè)備進行嚴(yán)格的認證測試,以符合EMV非接觸式標(biāo)準(zhǔn)。為了通過EMV 1級認證,必須成功完成模擬、數(shù)字和互操作性測試。請注意,各種卡供應(yīng)商(如Visa和萬事達卡)也有針對2級的詳細認證測試,以驗證支付供應(yīng)商特定的應(yīng)用程序和程序。ADI公司提供的DTE(器件測試環(huán)境)示例軟件設(shè)計用于1級測試。
米法爾
MIFARE是恩智浦開發(fā)的產(chǎn)品,是最常見的NFC卡類型,已售出超過10億臺卡設(shè)備。MIFARE卡有許多不同類型和尺寸,包括MIFARE Classic(最常見的),Plus,Ultralight,Ultralight C,1K,2K,4K和DESFire。其中一些類型完全符合ISO 14443 A型,而有些僅部分符合。經(jīng)典卡,如 1K 和 4K,使用加密方案對事務(wù)的奇偶校驗和數(shù)據(jù)位進行加密。這阻止了使用標(biāo)準(zhǔn)的A類通信程序。但是,DESFire 卡完全符合 ISO 14443 A 型標(biāo)準(zhǔn)。????
NFC論壇
NFC論壇是由恩智浦、索尼和諾基亞創(chuàng)立的非營利性行業(yè)協(xié)會。他們試圖組織分散的NFC技術(shù)領(lǐng)域,并通過根據(jù)其支持的行為和物理/ RF類型將卡分組為不同的標(biāo)簽編號來執(zhí)行質(zhì)量標(biāo)準(zhǔn)。??
其他類型和標(biāo)準(zhǔn)
還有許多其他卡片技術(shù),包括Calypso,GTML(例如,Type B素數(shù)或Innovatron),Topaz,Jewel,iClass,超出了本文檔的范圍。ADI公司的NFC微器件不提供示例代碼或支持這些技術(shù)或上述未提及的其他技術(shù)。其中一些可以使用RF驅(qū)動程序提供的最低接口級別來實現(xiàn),但支持留給讀者進行練習(xí),不能保證。???
驅(qū)動程序、軟件和堆棧
ADI公司的NFC安全微控制器主要面向支付應(yīng)用,并不試圖支持所有類型的NFC設(shè)備和技術(shù)。圖2顯示了早期的NFC類型和標(biāo)簽圖表,其中疊加了ADI公司提供的軟件的使用位置。此圖表旨在作為概述,而不是軟件和功能的明確表示。
高分辨率圖像 ?
圖2.NFC 庫支持概述。
物理層和射頻層由模擬前端(AFE)、數(shù)字基帶(DBB)和射頻驅(qū)動器(libnfc_pcd_rf_driver,青色)提供。在此之上,是各種協(xié)議、激活和數(shù)據(jù)傳輸協(xié)議。libnfc_pcd_emv_l14443_stack(綠色)支持 EMV 和 ISO 1 設(shè)備。MIFARE Classic 設(shè)備激活和加密通信由 libnfc_pcd_pbm(紫色)提供。請注意,RF 驅(qū)動程序不支持 Topaz、Jewel、GTML、FeliCa、ISO 18092 和 ISO 15693。目前,ISO 15693僅適用于MAX32570的beta級評估,不適用于MAX32560。
射頻驅(qū)動器
對ADI設(shè)備上的非接觸式無線電的訪問由硬件抽象層(HAL)提供,該層在我們的文檔中稱為RF驅(qū)動程序。RF 驅(qū)動程序為復(fù)雜的底層無線電硬件提供了簡單的 API,而不會損失功能或可配置性。RF 驅(qū)動程序處理協(xié)議成幀、AFE 調(diào)諧和低級時序要求。它與軟件無關(guān),并在其上方堆疊,如果需要,允許使用隨附的EMV 1級(L1)堆棧或第三方L3堆棧。MAX1和MAX32560具有不同的RF驅(qū)動器,因為它們具有不同的功能并支持一些不同的類型。但是,它們提供的 API 實際上是相同的。
完整的 API 文檔、資源使用情況、集成指南和版本歷史記錄包含在基于Doxygen的編譯HTML(CHM)文件中,該文件隨非接觸式支持包(CSP)的每個版本一起分發(fā)。RF 驅(qū)動程序主要以二進制庫形式(閉源)發(fā)布。某些功能在源可用文件 mml_nfc_pcd_port.c 中實現(xiàn)。移植文件允許自定義RF驅(qū)動器并將其集成到特定應(yīng)用程序中。
收發(fā)
激活該字段后,所有通信都以PCD傳輸開始,并等待PICC回復(fù)。每個收發(fā)操作都由提供給RF驅(qū)動器的以下參數(shù)決定:
協(xié)議:上面定義并由微支持的物理/射頻類型之一。
幀類型:大多數(shù)類型使用由 8 位字符和 CRC 組成的標(biāo)準(zhǔn)成幀。A型在激活過程中使用特殊的短幀。
數(shù)據(jù):傳輸數(shù)據(jù)和長度,用于存儲接收數(shù)據(jù)和長度的指針。
計時:三個計時參數(shù)用于強制和驗證協(xié)議要求。
框架
每種類型都有自己的成幀要求,包括幀開始 (SOF)、幀結(jié)束 (EOF)、奇偶校驗、開始停止位、CRC、位順序、前導(dǎo)碼、預(yù)告片、字符間延遲等。RF驅(qū)動器的收發(fā)功能滿足了所有這些成幀要求。在傳輸之前,數(shù)據(jù)根據(jù)需要封裝,以滿足每個協(xié)議/類型的成幀要求。在接收期間,將驗證成幀,然后從接收的數(shù)據(jù)中剝離。在此級別添加到通信的大部分幀旨在防止和檢測通信問題,因為任何無線連接本質(zhì)上都是不可靠的連接。如果任何成幀不正確,RF 驅(qū)動程序?qū)⒃谑瞻l(fā)功能返回的狀態(tài)中將其報告為錯誤。為了提供最大的調(diào)試和可見性,每個成幀要求和潛在錯誤源都有唯一的錯誤代碼,其中包含 70 多個錯誤代碼。
RF驅(qū)動器還提供稱為收發(fā)位的原始接口。此接口使用與上述收發(fā)功能相同的所有參數(shù),但幀類型除外。此模式繞過了大部分協(xié)議/類型成幀。它主要用于類型 A,允許按位防沖突過程和加密的 PBM (MIFARE) 通信。目前,在位模式下僅支持類型 A 協(xié)議,因為沒有其他類型需要這種低級通信形式才能正常運行。
定時
RF 驅(qū)動程序使用三個時序參數(shù)來強制和驗證協(xié)議要求。這些參數(shù)被賦予描述性名稱,以幫助解釋其用途。為方便起見,它們以 1/fc 單位(又名 fc)為單位。協(xié)議/類型規(guī)范中的大多數(shù)時序參數(shù)都使用此作為基本時間單位。只要空閑且可能,RF 驅(qū)動程序?qū)⒄{(diào)用移植功能mml_nfc_pcd_task_sleep以允許進行其他關(guān)鍵系統(tǒng)和應(yīng)用程序操作,例如更新 LCD 等。收發(fā)功能的三個時序參數(shù)詳述如下。圖 3 進一步說明了每個參數(shù)及其使用方式。
delay_till_send:提供一種精確控制兩個連續(xù)PCD操作之間的時序的機制。這可用于強制兩個傳輸之間的間距(FDTpcdmin)或允許所需的時間量(5.1ms)使PICC在磁場首次通電時預(yù)熱。此時間適用于PCD傳輸開始之前。它是從先前的有效操作中測量的:成功接收的有效PICC響應(yīng)的結(jié)束或最后一次PCD發(fā)送的結(jié)束。啟用RF場也會啟動定時器,從而精確控制現(xiàn)場卡的上電時間。圖3、圖4和圖5顯示了這些不同的時序情況。
超時:PCD傳輸結(jié)束與收到有效的PICC響應(yīng)之間的最大允許時間限制。如果過期,RF 驅(qū)動程序?qū)⒎祷責(zé)o數(shù)據(jù)和超時錯誤代碼。每個協(xié)議都有特定的成幀步驟和要求,規(guī)定在超時發(fā)生之前必須接收的內(nèi)容才能被視為有效。例如,如果接收在接近超時時開始,但在超時發(fā)生之前收到 SOF,則響應(yīng)在沒有任何其他通信錯誤的情況下將被視為有效。
early_limit:協(xié)議規(guī)范對 PICC 在收到 PCD 報文后響應(yīng)的速度有特定要求。這是由 early_limit 參數(shù)強制執(zhí)行的。如果接待在此時間之前開始,即使所有其他檢查都通過,也將被視為無效。請注意,在EMD模式下,如果完整的消息到達這個聾啞時間,則可以接收并忽略它。
圖3.具有有效PICC響應(yīng)的收發(fā)時序圖。
圖4.無效或缺失外周中心靜脈導(dǎo)管響應(yīng)的收發(fā)時序。
圖5.射頻激活后的收發(fā)定時。
錯誤處理
必須驗證和檢查每個潛在的PICC響應(yīng),以檢查各種錯誤條件。檢測到的錯誤將報告給呼叫軟件,由呼叫軟件確定必須如何處理這些錯誤。返回的錯誤類型大致分組如下:
成功
超時。除了上面詳述的標(biāo)準(zhǔn)超時之外,還可能發(fā)生一些其他與超時相關(guān)的錯誤代碼。有關(guān)更多詳細信息,請參閱 RF 驅(qū)動程序 API 文檔。
傳輸錯誤。由于類型/協(xié)議之間的差異,這是最大的錯誤代碼組。響應(yīng)可能在幾個不同的層出現(xiàn)錯誤,包括無效成幀、位編碼符號、奇偶校驗、開始、停止、前導(dǎo)碼等。即使這些低級檢查通過,也可能發(fā)生不完整的數(shù)據(jù),或者數(shù)據(jù)包的CRC可能無效。驗證這些潛在陷阱后,數(shù)據(jù)包仍可能違反所需的計時條件。
碰撞。每種類型/協(xié)議都有自己的方法來檢測碰撞,當(dāng)現(xiàn)場有多個卡時會發(fā)生沖突。請注意,這些特定于類型的沖突檢測僅在字段中找到兩個或多個相同類型的卡片時進行檢測。1 級技術(shù)輪詢過程旨在檢測與不同類型的設(shè)備(如 A 型和 B 型)的碰撞。
電磁干擾(EMD)是一種特殊情況,具有自己的錯誤處理要求。此特定類型的錯誤僅適用于 EMV 通信。EMD 處理使用幀類型FT_STANDARD_CRC_EMD為給定收發(fā)功能啟用,如 API 文檔中所述。有關(guān)導(dǎo)致響應(yīng)被視為 EMD 的特定條件的詳細信息,請參閱 EMV L1 規(guī)范。如果響應(yīng)足夠短并且存在某種類型的錯誤,則必須將其視為 EMD。在EMD模式下,RF驅(qū)動器需要丟棄此數(shù)據(jù)包,并立即為任何后續(xù)響應(yīng)做好準(zhǔn)備。所需的周轉(zhuǎn)時間(tRECOVERY,1280fc)和收發(fā)功能的API要求RF驅(qū)動程序直接處理這些情況,這發(fā)生在RF驅(qū)動程序的中斷服務(wù)例程(ISR)中。圖 6 顯示了 EMD 的一個案例。請注意,所有 EMD 數(shù)據(jù)包都會被丟棄,并且在超時之前可能沒有有效的響應(yīng)。
圖6.電動可移動工具響應(yīng)。
可移植性
為了支持不同的產(chǎn)品和用例要求,RF 驅(qū)動程序的某些部分駐留在文件 mml_nfc_pcd_port.c 中。此文件作為源發(fā)布,而大多數(shù) RF 驅(qū)動程序僅是二進制文件。這些功能允許系統(tǒng)集成商決定如何為其系統(tǒng)最好地實現(xiàn)每個功能。使用實時操作系統(tǒng) (RTOS) 的應(yīng)用程序具有用于關(guān)鍵部分進入和退出的專用例程,以及可在睡眠調(diào)用期間使用的任務(wù)生成功能。有關(guān)更多詳細信息,請參閱有關(guān)移植的 API 文檔。查看 DTE(單線程)和 FreeRTOS 演示中提供的移植文件的示例實現(xiàn)。
模擬配置
RF驅(qū)動器的最后一個主要功能是允許在每個收發(fā)器功能的基礎(chǔ)上配置模擬前端(AFE)。為了最大限度地提高可配置性,收發(fā)功能調(diào)用公共移植功能mml_nfc_pcd_field_level_detection_callback。它必須確定用于當(dāng)前正在處理的收發(fā)器的模擬參數(shù)。RF驅(qū)動器為功能提供協(xié)議類型,因為每種類型可能需要不同的模擬配置,具體取決于特定設(shè)計的獨特挑戰(zhàn)。
字段級檢測在 API 中通常縮寫為 FD。FD電平表示PCD和PICC天線線圈之間的磁耦合強度。FD可以被認為是表示線圈之間的距離,但這只是耦合中的一個因素。線圈之間的方向、偏移和有源負載(功率收集)也會影響負載。
通常,該功能mml_nfc_pcd_field_level_detection_callback利用一個矩陣,其中包含指定FD級別的特定設(shè)計的設(shè)置。它調(diào)用RF驅(qū)動器功能mml_nfc_pcd_detect_loading以確定此電平,然后為當(dāng)前收發(fā)功能選擇模擬配置。注意,由于特性集不同,MAX32560和MAX32570的模擬配置參數(shù)結(jié)構(gòu)存在差異。
這種模擬配置的動態(tài)控制是一個強大的工具,允許自定義與卡的所有通信。圖 7 顯示了一個調(diào)用樹圖,解釋了此功能的工作原理。有關(guān)更多詳細信息,請參閱 CSP 和 SDK 安裝隨附的文檔、NFC PCD AFE 調(diào)諧指南、PCD 天線匹配設(shè)計指南、EMV DTE 用戶手冊和 EMV 3.0 應(yīng)用筆記。
圖7.動態(tài)模擬配置回調(diào)。
PBM MIFARE 兼容經(jīng)典庫
PBM 庫旨在與 MIFARE 經(jīng)典卡(通常稱為 1K 或 4K 卡)兼容。這些卡廣泛用于交通、訪問控制、活動票務(wù)等。MIFARE卡有許多不同類型的,包括DESFire,Ultra-Light,UL C,Plus和Plus EV1等。已知其中許多類型使用兼容的低級傳輸,并且不需要使用 PBM 庫。PBM 庫僅以二進制形式發(fā)布。請注意,Maxim目前不提供示例代碼,演示與經(jīng)典卡以外的任何MIFARE卡的激活和通信。非經(jīng)典的MIFARE卡類型更符合標(biāo)準(zhǔn)。因此,應(yīng)用可以使用標(biāo)準(zhǔn)RF驅(qū)動器收發(fā)功能命令和EMV L1堆棧的某些部分與它們通信。
MIFARE經(jīng)典卡利用專有密碼來保護PCD和PICC之間交換的數(shù)據(jù)。此密碼被公開承認為已泄露,不應(yīng)依賴它來確保數(shù)據(jù)安全。密碼方法導(dǎo)致通信不符合ISO 14443,盡管它們遵守A型卡的大多數(shù)規(guī)定。主要區(qū)別在于成幀和應(yīng)用程序級數(shù)據(jù)交換。加密通信加密數(shù)據(jù)字節(jié)和關(guān)聯(lián)的奇偶校驗位,這是 ISO 14443 第 3 冊成幀所要求的。這意味著奇偶校驗位不再是低級活動通信期間的實際奇偶校驗位,整個數(shù)據(jù)包必須在通信前加密,接收后解密;因此,使用術(shù)語奇偶校驗旁路模式 (PBM)。這與其他協(xié)議完全不同,其他協(xié)議對每一層都有明確的責(zé)任劃分,例如網(wǎng)絡(luò)OSI模型。清除位 6 的 Select 命令的經(jīng)典卡類型響應(yīng)表示它們不支持 ISO 14443-4,即使用 APDU 的半雙工塊傳輸協(xié)議。相反,這些卡使用專有的命令響應(yīng)協(xié)議。
激活
盡管MIFARE經(jīng)典卡不完全符合ISO 14443-3,但它們?nèi)匀皇褂闷渲性斒龅拇蟛糠旨せ詈统跏蓟^程。用于 EMV 卡的相同輪詢例程用于查找和激活這些卡;但是,輪詢例程返回錯誤代碼TYPE_A_NON_ISO14443_4_READY。為了確定正確的通信程序,MIFARE應(yīng)用筆記描述了確定現(xiàn)場找到的MIFARE卡的確切類型所需的程序。請參閱卡制造商的數(shù)據(jù)表和用戶指南,了解完整的激活和通信詳細信息。
命令
MIFARE 經(jīng)典數(shù)據(jù)和文件結(jié)構(gòu)詳細信息超出了本文檔的范圍。請參閱卡制造商提供的用戶指南和數(shù)據(jù)表,了解這些卡的完整結(jié)構(gòu)和功能詳細信息。
ADI公司提供對MIFARE經(jīng)典卡的原始命令訪問。這些命令提供對所有卡數(shù)據(jù)和功能的訪問,并在設(shè)備測試環(huán)境 (DTE) 示例應(yīng)用程序 P. 傳輸經(jīng)典 (PBM) 菜單項中演示。ADI公司的DTE用戶手冊附錄A提供了有關(guān)這些命令的詳細信息,并包括訪問卡上數(shù)據(jù)的兩個示例使用流程。
收到有效的選擇確認 (SAK) 后,必須對所需的訪問塊進行身份驗證。這需要塊密鑰的應(yīng)用程序知識,該密鑰寫入扇區(qū)拖車中。如果應(yīng)用程序不知道此密鑰,PBM 庫將無法完成目標(biāo)數(shù)據(jù)塊的身份驗證,并且無法訪問它。請注意,空卡或未格式化的卡通常也使用空塊密鑰制造(即,所有 64 位密鑰:0xFFFFFFFFFFFF)。DTE 示例默認對所有 PBM 通信使用此密鑰。這可以通過菜單選項更改,也可以通過示例修改覆蓋。
電動車 L1 堆棧
ADI公司的安全微控制器主要針對支付應(yīng)用。EMV 1 級 (L1) 規(guī)范是非接觸式支付行業(yè)中使用最廣泛的規(guī)范。對EMV L1的支持是每個設(shè)備可用的NFC DTE示例代碼的主要功能。結(jié)合器件評估套件,它是一個完整的解決方案,能夠完成所需的EMV L1認證測試,包括模擬、數(shù)字和互操作性。
ADI公司的EMV L1堆棧與DTE示例代碼的其余部分一起作為源發(fā)布,允許針對任何獨特的應(yīng)用要求進行定制,例如時序不兼容的卡、響應(yīng)等。
L1 堆棧由兩部分組成,輪詢代碼和 EMV L1 規(guī)范中定義的半雙工傳輸協(xié)議,基于 ISO 14443-4。輪詢例程通常由應(yīng)用程序代碼訪問,以在現(xiàn)場查找潛在的卡,而 L1 堆棧通常綁定到 EMV 應(yīng)用的 2 級堆棧中。
投票
術(shù)語輪詢是用于識別和激活NFC字段中的卡的算法過程。ISO 14443 和 EMV 規(guī)定的所需輪詢過程類似。它旨在按順序查找字段中多種類型的卡片;但是,存在一些重要的差異。對于ISO 14443,期望使用復(fù)雜的防沖突程序在現(xiàn)場查找和識別所有可能的卡片,該程序旨在允許所有卡片以其唯一的識別號進行響應(yīng)。然后,可以對這些卡進行索引,并通過應(yīng)用程序代碼單獨選擇這些卡,以找到所需的卡。在EMV中,在字段中發(fā)現(xiàn)的多張卡被視為碰撞,不允許。EMV L1 為處理在多技術(shù)輪詢和激活的防沖突階段發(fā)現(xiàn)的沖突提供了特定要求,這是輪詢和激活過程中止的典型特征。
DTE 的輪詢例程在文件 EMV_polling_and_loopback.c 中提供。請務(wù)必注意,此文件包含兩個單獨的卡輪詢例程:singleemvl1exchange 在環(huán)回模式下用于 L1 認證測試,emv_poll_for_card 用于最終應(yīng)用程序。主要區(qū)別在于,應(yīng)用程序模式在未找到卡片時重置字段。找到卡后,將返回并成功激活。測試模式會自動進入環(huán)回模式,如EMV DTE規(guī)范中所述。發(fā)送鄰近支付系統(tǒng)環(huán)境 (CAPDU PPSE),并將 RAPDU 作為下一個 CAPDU 重新發(fā)送,除非有特殊的退出案例代碼或發(fā)生錯誤。PPSE 命令通常是發(fā)送到激活的 EMV 卡的第一個命令,響應(yīng)標(biāo)識卡供應(yīng)商。
請注意,雖然 EMV L1 規(guī)范允許 PCD 輪詢其他技術(shù),例如 FeliCa 等,但 DTE 僅輪詢 EMV 類型 A 和 B。DTE 的功能是實現(xiàn) EMV 要求。它不支持 ISO 14443 樣式的多卡檢測和處理。盡管 RF 驅(qū)動程序提供了執(zhí)行 ISO 14443-3 多卡防沖突程序所需的所有機制,但目前在 1 級堆棧或 DTE 示例中不支持此功能。
亞太都大學(xué)運輸
應(yīng)用協(xié)議數(shù)據(jù)單元 (APDU) 在接觸式 EMV 規(guī)范中有詳細說明。它們是應(yīng)用程序和 2 級堆棧之間的邊界,以及較低的 1 級功能。APDU 可以是命令 APDU (CAPDU) 或響應(yīng) APDU (RAPDU)。大多數(shù)卡用戶指南和數(shù)據(jù)手冊都詳細介紹了支持的 CAPDU,以及預(yù)期 RAPDU 的結(jié)構(gòu)。這些的格式和解碼是 2 級軟件的功能。
在激活階段,PICC 響應(yīng)包含各種通信參數(shù)的應(yīng)答選擇 (ATS),L1 堆棧必須符合這些參數(shù)。這些參數(shù)包括等待PICC響應(yīng)的時間,PICC可以接收和傳輸?shù)膲K數(shù)據(jù)包大小等。堆棧調(diào)整收發(fā)功能數(shù)據(jù)包以適應(yīng)這些卡請求(如果它們在指定范圍內(nèi));否則,它將啟動異常處理過程。L1 規(guī)范允許卡請求額外的操作時間,并提供確認 (ACK) 和否定確認 (NAK) 程序以方便重試。當(dāng)然,L1 堆棧中的大多數(shù)操作在聲明錯誤之前最多可以重試三次。此功能增強了無線連接和低級 EMD 處理例程的魯棒性。
2 級及以上
PCD和PICC之間有許多順序交換的CAPDU和RAPDU,這是完成任何交易(例如購買)所必需的。這些 APDU 的確切順序和格式,以及命令和響應(yīng)中的數(shù)據(jù)格式,是 2 級堆棧提供的功能的一部分。不同的信用卡公司對他們的支付應(yīng)用程序有自己的規(guī)格。這些特定的應(yīng)用程序通常稱為內(nèi)核。EMV 詳細介紹了七種不同的 L2 內(nèi)核。每個都對應(yīng)不同的支付公司,例如維薩卡、萬事達卡、美國運通卡等。
與 EMV 1 級不同,EMV 2 級內(nèi)核不太符合行業(yè)標(biāo)準(zhǔn)。大多數(shù)主要的信貸公司,包括Visa(payWave)和萬事達卡(PayPass),都有自己的2級內(nèi)核規(guī)范和自己的認證流程,分別是EMV。??
級別 2 以上的事物定義不太明確,稱為應(yīng)用程序級別。應(yīng)用程序級別負責(zé)所有系統(tǒng)任務(wù),包括屏幕更新、引腳輸入、主機通信(USB、藍牙、Wi-Fi)、支付方式識別(NFC、聯(lián)系人、MSR 等)、與支付服務(wù)器的加密安全通信以及其他遠程資產(chǎn)。
阿馬迪斯
ADI公司不支持超過1級的NFC應(yīng)用。我們與 Amadis 合作,Amadis是 2 級支付軟件的行業(yè)領(lǐng)導(dǎo)者。
例子
ADI公司為每個安全NFC微控制器提供了兩個示例。DTE 示例按照 EMV DTE 規(guī)范的要求和詳細說明實現(xiàn)設(shè)備測試環(huán)境。這是最好的例子,它向非接觸式無線電公開了大多數(shù)功能。這是任何受支持的微型的NFC相關(guān)開發(fā)的起點。每個評估板都附帶一個演示示例,SDK中也提供該示例。這包括用于執(zhí)行主要評估板功能的軟件,如LCD、觸摸屏、安全引腳板、MSR、智能卡/接觸式EMV和NFC。演示示例與 DTE 示例有很大不同,因為它使用 FreeRTOS 而不是單線程。提供了 mml_nfc_pcd_port.c 的不同實現(xiàn),與 FreeRTOS API 接口。
演示示例設(shè)置為讀取輸入該字段的任何支付卡。找到的任何卡都會被激活。如果它們支持 ISO 14443-4,則執(zhí)行 PPSE CAPDU。所有符合 EMV 標(biāo)準(zhǔn)的支付卡都響應(yīng)此命令。響應(yīng)包含應(yīng)用程序標(biāo)識符代碼 (AID),通常包含一個帶有支付公司名稱(即 Visa、萬事達卡等)的 ASCII 字節(jié)數(shù)組。如果沒有文本名稱,演示將在已知提供程序的表中搜索收到的 AID 代碼。在任一成功讀取的情況下,AID和提供商名稱都會顯示在液晶屏上,并發(fā)出成功蜂鳴音。請注意,任何未安裝有效付款小程序/應(yīng)用程序的卡在發(fā)送 PPSE 時都會返回錯誤代碼。如果是這樣,液晶屏顯示卡無法處理 PPSE,這意味著它已成功激活,但缺少 EMV 支付小程序。該演示還試圖識別在現(xiàn)場發(fā)現(xiàn)的任何MIFARE卡。請注意,這僅用于演示目的,不適用于每個 NFC 卡或設(shè)備。目前,它僅嘗試發(fā)現(xiàn) A 型和 B 型卡。
硬件注意事項
盡管EMV 1級堆棧和RF驅(qū)動器試圖通過硬件抽象消除低級復(fù)雜性,但每個系統(tǒng)和應(yīng)用都必須考慮硬件配置。由于近場天線效應(yīng)的性質(zhì),系統(tǒng)機械和設(shè)計需要仔細的天線放置、匹配和模擬前端(AFE)調(diào)諧。
天線尺寸和位置
在銷售點 (POS) 終端設(shè)計過程的早期考慮天線尺寸至關(guān)重要。天線尺寸和位置高度依賴于給定解決方案的物理形狀和機械設(shè)計。許多設(shè)計選擇發(fā)生在印刷電路板 (PCB) 設(shè)計或應(yīng)用軟件開發(fā)開始之前。天線太小或位于設(shè)計有問題的區(qū)域可能會導(dǎo)致無法實現(xiàn)所需的NFC性能范圍。
通常,較小的天線更難成功通過 1 級認證和性能標(biāo)準(zhǔn)。建議使用MAX32560的設(shè)計應(yīng)使用5cm x 5cm或更大的天線,而MAX32570天線應(yīng)使用4cm×4cm或更大。針對給定設(shè)計,非接觸式天線的最佳設(shè)計極其復(fù)雜,超出了本文檔的范圍。
此外,應(yīng)注意優(yōu)化非接觸式天線的放置。由于近場效應(yīng),天線范圍內(nèi)(~4cm半徑)內(nèi)的任何黑色金屬或?qū)щ娊饘俣紩档涂捎糜跒镻ICC供電的輻射功率。組合小天線,同時將寄生機械裝置放置在天線附近會導(dǎo)致性能不佳。鐵氧體材料可用于減輕磁場附近各種寄生金屬的負載效應(yīng)。
有關(guān)詳細信息,請參閱 PCD 天線匹配設(shè)計指南和 NFC PCD AFE 調(diào)諧指南。請注意,天線設(shè)計是一個高級專業(yè)主題,通常需要多年的教育、經(jīng)驗、電磁設(shè)計和仿真工具的使用。一些NFC天線可以購買現(xiàn)成的,可用于原型設(shè)計目的。也有第三方公司專門從事定制天線設(shè)計。
耦合效應(yīng)
盡管PCD和PICC必須靠近NFC通信才能成功,但極近的距離會損害信號完整性,嚴(yán)重到足以違反EMV 1級要求并降低通信可靠性。兩個天線之間的耦合效應(yīng)隨著PCD天線尺寸的減小以及PCD和PICC天線尺寸的接近而增加。
物理系統(tǒng)設(shè)計強制兩個天線之間保持一定距離,因為PCD天線通常位于顯示器后面或塑料外殼內(nèi)。建議兩個線圈之間有大約 5mm 的間隔或間隙。這個距離是一個很好的折衷方案,可以在近距離內(nèi)實現(xiàn)合理的信號完整性,而不會犧牲遠距離的讀取范圍和功率輸出。但是,每種設(shè)計的最佳分離都是獨一無二的。
電力輸送
從PCD輸送到PICC的功率可能是需要考慮的最關(guān)鍵參數(shù)。與其他規(guī)格所需的體積相比,EMV 1級所需的工作體積相當(dāng)大。EMV 2.6 和 3.0 之間的更改使其要求更高。雖然規(guī)范增加了所需的功率,但緊湊型和便攜式POS設(shè)備的設(shè)計趨勢會損害可用功率(即,較小的天線和寄生金屬材料靠近天線)。
為了解決這個問題,MAX32570設(shè)計用于為PCD天線提供更大的功率。有關(guān)實現(xiàn)電源要求的進一步指導(dǎo),請參閱每個器件的非接觸式PCD應(yīng)用筆記 – EMV 3.0 1級模擬應(yīng)用筆記。
匹配網(wǎng)絡(luò)
匹配網(wǎng)絡(luò)將微控制器的13.56MHz場發(fā)生器(發(fā)射器,Tx)引腳的輸出連接到NFC天線。它由兩部分組成:電磁兼容性(EMC)濾波器和阻抗匹配部分。由于每個系統(tǒng)都有獨特的環(huán)境寄生效應(yīng)、天線設(shè)計和布局,因此匹配網(wǎng)絡(luò)也必須針對應(yīng)用進行定制。PCD天線匹配設(shè)計指南中提供了有關(guān)調(diào)諧的詳細指導(dǎo)。需要注意的是,環(huán)境和外殼寄生效應(yīng)會影響天線的匹配條件。建議使用盡可能完整的設(shè)計原型執(zhí)行匹配過程,以避免在以后系統(tǒng)調(diào)整發(fā)生變化時大量重復(fù)工作。
ADI公司建議網(wǎng)絡(luò)的EMV濾波器部分盡可能靠近安全微控制器,以最大程度地減少信號損失、失真和輻射電噪聲。建議匹配部分靠近天線,如有必要,這些部分之間的走線允許更長。總體而言,從微型到天線的走線長度應(yīng)盡可能短,以最大限度地提高功率傳輸。
AFE 調(diào)諧
選擇并放置NFC天線,并調(diào)諧匹配網(wǎng)絡(luò)以獲得最佳性能后,可以開始模擬前端(AFE)調(diào)諧的最后階段。AFE 調(diào)整過程通常需要在系統(tǒng)集成的硬件方面花費最多的開發(fā)時間。AFE 調(diào)整是迭代的。雖然初始值可以提供合理的性能,但通過EMV L1模擬測試套件需要進行修改,這可能導(dǎo)致多次迭代調(diào)諧以確保穩(wěn)健的性能。有關(guān)詳細信息和指導(dǎo),請參閱非接觸式 PCD AFE 調(diào)諧指南和非接觸式 PCD 應(yīng)用筆記 – EMV 3.0 1 級模擬。請注意,更具挑戰(zhàn)性的系統(tǒng)(即,更小的天線和封閉寄生效應(yīng)增加的負載效應(yīng))需要更長、更困難的AFE調(diào)諧。
完成 AFE 調(diào)諧會創(chuàng)建一個mml_nfc_pcd_analog_params_matrix_t陣列,應(yīng)用軟件使用該陣列來支持給定的系統(tǒng)天線。DTE 隨附的 NFC 天線的模擬設(shè)置矩陣,并在啟動時應(yīng)用此矩陣。為了支持不同的天線,DTE 示例和最終應(yīng)用程序必須使用精心調(diào)整的 AFE 設(shè)置版本覆蓋此矩陣,這些設(shè)置旨在支持特定的天線和系統(tǒng)。DTE 提供菜單命令,用于在調(diào)諧時調(diào)整模擬設(shè)置,這些命令在《非接觸式 PCD AFE 調(diào)諧指南》和《EMV DTE 用戶手冊》中有詳細說明。在 DTE 中完成 AFE 設(shè)置后,使用菜單命令 P. 將當(dāng)前矩陣打印為 C 結(jié)構(gòu)將當(dāng)前配置的矩陣復(fù)制并粘貼到 DTE 或應(yīng)用程序源代碼中。
mml_nfc_pcd_port.c 文件中的mml_nfc_pcd_field_level_detection_callback函數(shù)使用此矩陣為當(dāng)前協(xié)議類型動態(tài)選擇正確的模擬設(shè)置。有效距離為與PICC的每次通信提供詳細的參數(shù)控制。
SDK、庫和示例安裝
要使用ADI公司帶NFC的安全微控制器,必須使用最新的NFC插件或庫安裝和更新所需的軟件開發(fā)套件(SDK)。非接觸式支持包 (CSP) 軟件和文檔可與為相應(yīng)設(shè)備發(fā)布的 SDK 配合使用。SDK可通過ADI公司網(wǎng)站“設(shè)備”頁面的“設(shè)計資源”選項卡獲得。對于MAX32560,CSP是一個存檔,結(jié)合了Eclipse插件與文檔文件(編譯的html,.chm)和插件安裝指南。MAX32570使用不同的SDK。NFC產(chǎn)品庫可通過ADI公司的micros軟件開發(fā)套件維護工具安裝,但需要安裝NFC存儲庫URL。由于NFC支持包需要保密協(xié)議(NDA),請聯(lián)系A(chǔ)DI公司以獲取安裝說明和存儲庫URL。?
云解決方案提供商包含的文檔
CSP 中包含的文檔內(nèi)置于單個文件中,以便于查看。它結(jié)合了幾個降價文檔、白皮書和 Doxygen 庫 API 詳細信息。
電動車輛 DTE 用戶手冊
本手冊隨附 DTE,并說明了如何使用示例:電路板檢查、連接、電源、菜單選項和故障排除。
PCD 天線匹配設(shè)計指南
本指南逐步介紹設(shè)計決策和問題,以獲得非接觸式接口的最佳模擬性能。對于每個非接觸式設(shè)計,正確完成此操作至關(guān)重要。
匹配設(shè)計計算
此電子表格應(yīng)與PCD天線匹配設(shè)計指南結(jié)合使用。它提供了易于使用的方程來求解天線匹配分量值。
NFC PCD AFE 調(diào)諧指南
本指南介紹了非接觸式設(shè)計所需的最終模擬調(diào)諧。應(yīng)在最佳天線匹配后使用。
評估板EMV L1測試報告
這些模擬和數(shù)字報告是使用內(nèi)部Micropross EMV 1級測試儀生成的。
實施一致性聲明 (ICS)
EMVCo 要求提交認證的每個獨特設(shè)計/產(chǎn)品都需要此表格。它提供了安全微控制器中 1 級堆棧和硬件行為的具體細節(jié)。僅供參考。
射頻驅(qū)動程序文檔
RF 驅(qū)動程序的降價頁面包含指向 API 文檔的鏈接。它提供了有關(guān)資源使用情況的重要指導(dǎo),包括計時器利用率、IRQ 和可移植性配置詳細信息。可移植性是指在與客戶應(yīng)用程序系統(tǒng)集成期間實施和修改的方法。
ADI公司EMV L1堆棧文檔
EMV L1 堆棧降價頁面包括堆棧功能的一些高級描述和指向 API 文檔等的鏈接。
PBM 庫文檔
PBM 庫標(biāo)記頁面包括庫功能的一些高級描述和指向 API 文檔的鏈接等。
設(shè)備用戶指南
用戶指南詳細介紹了除NFC/非接觸式外設(shè)之外的安全微控制器的所有部件。
應(yīng)用說明
MAX32570非接觸式PCD應(yīng)用筆記 – EMV 3.0 1級模擬
MAX32560非接觸式PCD應(yīng)用筆記 – EMV 3.0 1級模擬
這些應(yīng)用筆記是補充性的,旨在幫助解決EMV 1級模擬認證期間遇到的特定問題,可從器件登錄頁面獲取。
故障 排除
ADI公司努力提供必要的信息和工具,以促進非接觸式解決方案的設(shè)計和開發(fā)。與任何足夠復(fù)雜的系統(tǒng)一樣,根據(jù)RF設(shè)計的相對難度,可能會遇到問題。
模擬性能問題
由于使用帶NFC的安全微控制器的每個設(shè)計都存在獨特的模擬挑戰(zhàn),因此可能會出現(xiàn)許多問題和情況。新設(shè)計不能自動保證最佳性能。一種設(shè)計中使用的天線和濾波連接可能無法在另一種設(shè)計中使用。使用以下文檔中詳述的設(shè)計過程至關(guān)重要。注意MAX32560和MAX32570的每種文檔都有不同的版本,因為這些器件具有一些不同的特性。但是,大多數(shù)信息是相同的。
PCD 天線匹配設(shè)計指南
NFC PCD AFE 調(diào)諧指南
EMV 3.0 1 級模擬應(yīng)用說明
除了本文檔及其中的常見問題解答部分之外,在遇到性能問題時,請始終參考上述文檔和過程以獲取指導(dǎo)。重要的是盡快發(fā)現(xiàn)問題,同時仍然可以采取糾正措施(設(shè)計修改)。在設(shè)計經(jīng)過認證調(diào)試測試之前,通常不會發(fā)現(xiàn)模擬性能問題。這些問題包括但不限于:
現(xiàn)場運行量上的電力輸送不足。
無法從操作體積內(nèi)的最大距離接收微弱的外周中心靜脈導(dǎo)管傳輸。
在非常近的距離上過度加載條件,導(dǎo)致違反信號完整性測試。
違反操作音量周圍不同位置的調(diào)制深度。
如果通過仔細實施和考慮上述文檔中的程序無法解決特定問題,請?zhí)峤粏栴}報告并向ADI公司請求支持。包括以下信息:
問題的詳細描述,例如失敗的原因、頻率、如何復(fù)制問題、特定測試用例等。
測試儀或示波器捕獲的模擬波形和日志顯示問題
行為是否與評估板有顯著差異
記錄 EMV 1 級堆棧事務(wù)
EMV堆棧包括一個強大的日志記錄機制,由logging.c和logging.h實現(xiàn)。它支持從 0(無日志記錄或調(diào)試)到 6(顯示所有日志記錄、錯誤、警告以及信息和調(diào)試消息,包括 Rx 緩沖區(qū)的內(nèi)容)的完整調(diào)試)的七個級別。默認級別為 1 日志記錄,并生成 EMVCo 要求 DTE 在測試過程中顯示的信息。在 DTE 示例中,可以通過修改代碼或通過 DTE 設(shè)置菜單中的“L.更改日志記錄級別”選項輕松更改級別。
日志記錄雖然在認證測試期間是必需的,但可以在應(yīng)用程序模式下使用級別 0 禁用,以提高 EMV 堆棧的吞吐量性能。請注意,與 DTE 的所有菜單一樣,日志記錄消息是串行顯示的。對于某些 2 級測試,必須在要求的時間段內(nèi)完成完整的事務(wù)序列。通常需要減少日志記錄以滿足此時間限制。回想一下,每個115200bps的UART位長度為8.68μs,每個字符10位,顯示此數(shù)據(jù)所需的時間會迅速增加。例如,前兩個句子是 ~300 個字符,傳輸大約需要 26 毫秒。如果日志記錄級別太高,串行傳輸所需的時間增加會導(dǎo)致某些EMV L1測試由于未滿足時序要求而失敗。
在測試過程中遇到問題時,日志記錄是使用的第一步。查看事件順序和故障原因可提供快速定位問題的見解。
射頻驅(qū)動器跟蹤模式
在某些極端的故障排除情況下,可能需要查看 RF 驅(qū)動程序中的調(diào)試信息。此步驟是通常只有ADI工程師用于內(nèi)部開發(fā)的最后手段。如果需要在ADI公司之外獲得支持,則提供RF驅(qū)動器的單獨版本。由于必須滿足時序要求,因此很難調(diào)試RF驅(qū)動器操作。堆棧和更高層中使用的串行日志記錄會導(dǎo)致射頻驅(qū)動程序出現(xiàn)大量問題,丟棄數(shù)據(jù)包,錯過事件等。為了跟蹤和調(diào)試 RF 驅(qū)動程序中的操作,特殊生成將數(shù)據(jù)跟蹤寫入 RAM,并在從mml_nfc_pcd_transceive返回之前處理此數(shù)據(jù)部分。即使這種快速調(diào)試操作也會更改RF驅(qū)動程序中的一些時序檢查,這些檢查必須修改,需要特殊構(gòu)建。在編譯的 RF 驅(qū)動程序庫中提供此功能的可選啟用是不切實際的。
常見問題
為什么射頻驅(qū)動器是閉源的?
MAX32560和MAX32570上的非接觸式外設(shè)很復(fù)雜,有數(shù)百個寄存器。許多配置寄存器和位可能會以意想不到的方式影響操作。RF驅(qū)動器對時序敏感,必須在短時間內(nèi)完成某些任務(wù)。修改可能導(dǎo)致無法滿足這些要求。兩代器件之間的外設(shè)也有很大不同。已確定提供源將導(dǎo)致客戶混淆和支持工作量的增加,而沒有明顯的好處。
什么是PBM?
奇偶校驗旁路模式(PBM)是MIFARE Classic兼容庫的內(nèi)部名稱。該術(shù)語基于發(fā)送和接收類型 A 數(shù)據(jù)而忽略低級成幀的功能,特別是關(guān)于每個 8 位字符之后奇偶校驗位的要求。
為什么PBM(MIFARE兼容)庫是閉源的?
雖然該庫與MIFARE卡兼容,并且激活和通信加密的詳細信息屬于公共領(lǐng)域,但MIFARE是注冊商標(biāo)。ADI公司無法發(fā)布實現(xiàn)細節(jié)。
非接觸式磁帶庫的內(nèi)存占用量是多少?
非接觸式庫的內(nèi)存使用量隨非接觸式支持包 (CSP) 的每個版本而變化。因此,每個版本的 Doxygen 文檔都包含有關(guān)非接觸式庫內(nèi)存使用情況的部分。顯示了射頻驅(qū)動器、PBM 庫和 EMV L1 堆棧中使用的各種文件的無臂大小輸出。
如何創(chuàng)建非接觸式庫校驗和?
EMV 1 級認證需要圖書館校驗和作為 DTE 和認證文書工作的一部分。不包括有關(guān)如何生成此校驗和的詳細信息。在 DTE 示例中,RF 驅(qū)動程序、PBM 庫和 EMV L1 堆棧的文件使用 cat 命令合并到二進制 blob 中,然后為此 blob 生成 sha1sum。生成的哈希包含在 DTE 示例代碼和用戶指南中。請注意,此哈希/校驗和將隨著示例的每次構(gòu)建而更改,作為時間戳等。包含在二進制文件中。有關(guān)詳細信息,請參閱每個版本隨附的 Doxygen 文檔中的非接觸式磁帶庫內(nèi)存使用情況部分。
EMV L1 數(shù)字測試時序故障
許多L1數(shù)字測試與時序有關(guān),因為PCD和PICC之間協(xié)商了不同的時序。其中一些時間可能長達幾秒鐘。盡管在這些時間有一些允許的余量,但要求仍然很嚴(yán)格。PCD(MAX32560或MAX32570)需要精確的時基來滿足這些要求。該時基由外部32560.27MHz晶體在MAX12上提供,MAX32570由外部27.12MHz晶體、32.768KHz和內(nèi)部150MHz環(huán)形振蕩器提供。外部晶體的精度需要使用電容器進行適當(dāng)?shù)难a償。有關(guān)適當(dāng)電容的詳細信息,請參考MAX32560和MAX32570數(shù)據(jù)資料、晶體數(shù)據(jù)資料和評估板原理圖。由于環(huán)境溫度、不正確的負載和正常的晶體差異,系統(tǒng)時鐘的精度可能會相差100ppm或更多。這通常不是問題,因為大多數(shù)事件計時都非常小,以至于 100ppm 只相當(dāng)于最小的納秒數(shù)。但是,一些協(xié)商的延遲和等待時間可能是數(shù)百萬個計數(shù)。為了幫助彌補這一點,EMV L1堆棧具有一個功能pad_for_crystal_margin,可為長時間參數(shù)增加少量額外時間。
注意,在MAX32570上,150MHz內(nèi)部環(huán)形振蕩器(IRO)不如外部晶體精確。建議在設(shè)備啟動時啟用其校準(zhǔn)例程。此例程使用外部 RTC 晶體定期調(diào)整 IRO,從而提供必要的精度。較新版本的MAX32570RF驅(qū)動器使用外部27.12MHz定時器進行低電平時序。校準(zhǔn)仍然有利于系統(tǒng)性能。
其他時序故障可能是由其他應(yīng)用程序代碼使用為 RF 驅(qū)動程序和堆棧保留的系統(tǒng)計時器引起的。請參閱每個版本隨附的 Doxygen 文檔中 RF 驅(qū)動程序集成指南中的定時器部分。
RF驅(qū)動器和EMV L1堆棧取決于mml_nfc_pcd_port.c中功能的正確實現(xiàn)。特別是,函數(shù) mml_nfc_pcd_task_sleep 應(yīng)在請求的毫秒數(shù)后返回。過早或過晚返回可能會導(dǎo)致計時故障。RF驅(qū)動器功能mml_nfc_pcd_block_for_us用于RF驅(qū)動器和堆棧中的許多定時操作。它是使用文檔中詳述的系統(tǒng)計時器之一實現(xiàn)的。如果在測試過程中檢測到時序問題,則直接從測試代碼調(diào)用這些時序例程,同時切換外部引腳或LED不同時間,以通過示波器驗證正確的時序,可能會很有用。
支持哪些 MIFARE 類型?
DTE 示例和 PBM 庫支持的主要 MIFARE 類型是 MIFARE Classic。有關(guān)更多詳細信息,請參閱上面的 PBM MIFARE 兼容經(jīng)典庫部分。
低功耗、低頻操作
NFC PCD本質(zhì)上是一種高功率設(shè)備,它需要從其天線廣播大量功率,以激勵EMV和其他規(guī)范所需的空間量。器件用于為磁場供電的實際功率取決于許多變量,包括天線的匹配質(zhì)量、現(xiàn)場寄生效應(yīng)、模擬設(shè)置、環(huán)境溫度和電源電壓。在電池供電的設(shè)備中,電源使用更為關(guān)鍵,但在通常具有交流電源的永久安裝的銷售點(POS)終端中,功耗問題較少。降低系統(tǒng)頻率會降低功耗,但會阻止非接觸式外設(shè)正常工作;因此,在NFC操作過程中應(yīng)避免使用。
降低NFC安全微控制器功耗的最佳方法是限制磁場開啟的時間。DTE 示例輪詢模式是根據(jù) EMV DTE 規(guī)范的要求設(shè)計的。它在整個輪詢激活期間保持現(xiàn)場打開狀態(tài),以允許測試硬件輕松與被測PCD同步;但是,這不是應(yīng)用程序應(yīng)運行的方式。事實上,長時間打開現(xiàn)場可能會產(chǎn)生負面影響,如器件自熱和耗散部分所述。相反,在 EMV 應(yīng)用程序中,要打開的字段的最短輪詢時間略高于 10 毫秒(毫秒)。這為現(xiàn)場卡提供 5.1ms 的上電、輪詢 A 類卡、5.1ms 直到輪詢 B 類卡和超時。假設(shè)未發(fā)現(xiàn)卡,則應(yīng)用程序可以自由關(guān)閉字段電源,并在微控制器上進入睡眠或空閑模式數(shù)百毫秒,然后喚醒以再次開始輪詢過程。輪詢之間的時間越長,消耗的電量就越少,盡管過多的停機時間會導(dǎo)致接受付款的明顯滯后。不久將發(fā)布詳細介紹低功耗NFC/非接觸式操作的應(yīng)用筆記。
器件自發(fā)熱和自散熱
由于產(chǎn)生NFC場所需的大電流,只要場處于活動狀態(tài),安全微控制器就會發(fā)生內(nèi)部發(fā)熱。該熱量通過封裝上的各種引腳散發(fā)到PCB中;但是,過多的熱量會降低NFC場的輸出功率。在設(shè)備的正常運行期間,當(dāng)磁場未連續(xù)通電時,預(yù)計不會損失性能。此外,如果天線匹配不當(dāng),過多的功率可能會反射回發(fā)射器。必須注意避免此類電路損壞安全微控制器。如前面的常見問題解答所述,根據(jù)DTE測試規(guī)范的要求,現(xiàn)場的連續(xù)操作并不反映實際操作。如果 DTE 輪詢和環(huán)回模式使用時間過長,則過熱會略微降低性能,如果可用余量不足,可能會導(dǎo)致測試失敗。應(yīng)指示認證測試操作員定期禁用該字段,允許冷卻并避免這種情況。
卡取出檢測
卡移除是EMV 1級堆棧通過功能iso_14443_3a_remove和iso_14443_3b_remove提供的一項功能。根據(jù) EMV L1 規(guī)范的要求,此命令將連續(xù)查找卡,直到三個順序喚醒命令 (WUP) 超時。在成功的卡通信和付款序列之后,但在繼續(xù)返回到正常輪詢模式之前使用此命令。刪除命令在標(biāo)準(zhǔn) EMV 環(huán)回測試模式和互操作性環(huán)回例程中使用,這是 DTE 的要求。
中止操作
一些 2 級內(nèi)核認證具有 PICC/卡在沒有完成交易的情況下進行協(xié)商的測試。在這種情況下和其他情況下,請使用set_abort_check_callback。每次調(diào)用 RF 驅(qū)動程序的收發(fā)函數(shù)后,都會檢查此回調(diào),以確定如果用戶請求或應(yīng)用程序超時,是否應(yīng)中止當(dāng)前操作(通常是 APDU 傳輸)。如果操作中止,它將返回狀態(tài)ISO14443_3_ERR_ABORTED。請注意,由于時序限制和實現(xiàn)細節(jié),不支持中止對RF驅(qū)動器收發(fā)器功能的調(diào)用。它將在接收后或超時到期時返回。
發(fā)布版本和更改歷史記錄
發(fā)布新的軟件版本時,版本號會增加。對于每個版本,庫和 DTE 示例的版本歷史記錄中詳細介紹了主要更改。最好在 Doxygen 文檔中查看此歷史記錄。實際信息記錄在以下頭文件中:RF 驅(qū)動程序頭文件:mml_nfc_pcd_rf_driver.h、EMV 堆棧和 DTE 示例頭文件 iso14443_3_common.h 以及 PBM 庫頭文件 pbm_command.h。
模擬設(shè)置矩陣大小
在最新版本的CSP中,默認模擬設(shè)置矩陣大小從3增加到10。這是支持EMV 3.0所需更改的直接結(jié)果,因為支持具有三個不同加載濾波器的三個不同PICC的要求增加了復(fù)雜性。這就要求對非平凡的天線和系統(tǒng)設(shè)計具有更高的可配置性。大多數(shù)設(shè)計不需要使用矩陣的所有 10 列。任何不需要的列都應(yīng)使用最后一個唯一列的內(nèi)容填充,以避免任何意外的模擬行為。可以使用 mml_nfc_pcd_port.h 中的定義FD_THRESH_NUM_STEPS并更新所有mml_nfc_pcd_analog_params_matrix_t結(jié)構(gòu)根據(jù)需要修改矩陣大小(即列數(shù))。
EMV 1 級測試報告
CSP 的每個版本都包括在 Micropross 非接觸式測試站上內(nèi)部生成的 EMV 1 級模擬和數(shù)字測試報告。它們被編譯到每個版本隨附的Doxygen生成的文檔文件NFC_PCD_CSP.chm中。
測試設(shè)備差異
ADI公司使用Micropross非接觸式測試站上的EMV 1級模擬和數(shù)字測試套件,在我們的安全微控制器上驗證每個CSP版本的EMV合規(guī)性。許多不同的供應(yīng)商提供PCD測試工具,包括Keolabs,Comprion,CI Labs,是德科技等。雖然這些供應(yīng)商中的每一個都符合EMVCo并通過EMVCo認證,但它們之間存在細微差異,例如模擬負載條件,測試速度略有不同,以及一些測試在一個系統(tǒng)上通過但在其他系統(tǒng)上失敗。不同的認證實驗室使用不同的供應(yīng)商進行測試設(shè)備;有些公司擁有自己內(nèi)部開發(fā)的測試解決方案。由于這些差異,請根據(jù)內(nèi)部使用的設(shè)備考慮使用哪個實驗室。選擇后,繼續(xù)使用該實驗室以最大程度地減少認證問題。??
堆棧不允許的非 EMV 卡和響應(yīng)
雖然ADI公司提供的EMV L1堆棧的主要目標(biāo)是支持EMV支付卡,但它可用于與符合ISO 14443第1至4冊的其他卡進行通信。但是,并非所有功能都由某些非EMV卡支持或要求的堆棧提供。例如,EMV不允許現(xiàn)場同時使用多個卡,并且僅期望以106Kbps的最慢速率運行。此外,某些卡返回的激活參數(shù)可以被堆棧拒絕。例如,SCOSTA印度交通卡具有ATTRIB響應(yīng),包括高信息歸檔(INF)數(shù)據(jù)。這在 EMV 中是不允許的,并且會導(dǎo)致 ATTRIB 命令出錯。
也可以支持其他違反要求(例如,不遵守時序要求)的卡,但這樣做需要修改堆棧。
如何滿足EMV 3.0現(xiàn)場電源要求
EMV 3.0 需要比以前版本更多的場功率。對于某些設(shè)計來說,滿足這些要求可能很困難,例如MAX32560,它的設(shè)計是為了滿足EMV 2.5的要求。有關(guān)更多詳細信息,請參閱“供電”部分。有關(guān)實現(xiàn)電源要求的廣泛指導(dǎo),請參閱每個器件的非接觸式PCD應(yīng)用筆記 – EMV 3.0 1級模擬應(yīng)用筆記。
推薦天線參數(shù)
在尺寸、形狀、位置等方面存在獨特的關(guān)注點。選擇天線時。電感一般應(yīng)在 1 和 1.5μH @ 13.56MHz 之間。如果天線太小,電源可能會在較遠的距離上失效。如果太大,近距離信號的完整性可能會受到影響。如果使用PCB天線,阻抗和電阻可以保持相對較低,通常為1μH和1Ω。過大的電阻會降低品質(zhì)因數(shù) (Q) 方面的調(diào)諧靈活性。
如何選擇EMC濾波電感器
EMC濾波器的目的是將輻射信號降低到EMC兼容閾值以下。請考慮以下要求:
產(chǎn)品設(shè)計、整體尺寸和外形限制可以根據(jù)封裝尺寸決定選擇哪些電感器。
ADI公司建議截止頻率為20MHz,可通過270nH電感和240pF電容實現(xiàn)。其他組合可用于實現(xiàn)相同的截止頻率,例如470nH和130pF。較大值的電感器成本可能更高,尤其是在使用繞線功率電感器時。
電感器是EMC濾波器中最大和最關(guān)鍵的元件。由于電感器在電路中串聯(lián),因此足夠的電流處理能力非常重要。我們建議電感器可承受1A或更高的電流。13.56MHz的較高Q值對于實現(xiàn)現(xiàn)場最大功率傳輸至關(guān)重要。較低的Q值會增加發(fā)射電路中的有效電阻并降低可用功率。發(fā)射器的輸出電壓為3.3V,這意味著電路的電流會極大地影響場功率。
電感的容差應(yīng)盡可能小,以減少器件之間的差異。對于匹配網(wǎng)絡(luò)中推薦使用1%電容和2%電感的大多數(shù)元件來說,情況都是如此。使用公差較寬松的組件會導(dǎo)致最終產(chǎn)品的性能差異過大。
匹配網(wǎng)絡(luò)PCB走線寬度建議
在13.56MHz的工作頻率下,PCB走線寬度和長度一般不是匹配的關(guān)鍵因素。首要考慮因素是電流處理與PCB走線寬度和厚度的關(guān)系。典型的 1oz 銅厚 PCB 設(shè)計具有 10mil (0.25mm) 走線寬度,可承受 1A 電流。在ADI公司的65mm×65mm評估天線板中,天線走線寬度為0.4mm。由于每個設(shè)計都不同, 理想的PCB設(shè)計可能因設(shè)計約束和限制而異.請與PCB供應(yīng)商驗證是否能夠處理足夠的電源。
總匹配阻抗高于建議值 (6Ω—10Ω)
計算工具并不完全準(zhǔn)確,SMD組件確實有一些變化。對于略微關(guān)閉(~2Ω或更低)的情況,調(diào)諧de-Q電阻以使其匹配。在更極端的情況下,驗證計算工具中的值并測量實際電路中使用的元件值。雖然匹配計算工具不是完全準(zhǔn)確的,但它仍然應(yīng)該很接近;但是,過高的阻抗可能表明存在問題,例如電路中的元件不正確。
非接觸式天線的最佳或推薦 Q 值是多少?
理想情況下,天線Q值應(yīng)大于60,這相對容易實現(xiàn)。給定1μH電感,電阻應(yīng)小于1.42Ω,典型的PCB設(shè)計和供應(yīng)商可以輕松實現(xiàn)。雖然這不是一個嚴(yán)格的要求,但它通過de-Q電阻和Rmatch選擇提供了足夠的調(diào)諧靈活性。
0厘米處的問題
雖然在遠距離工作音量距離下,足夠的功率傳輸是首要關(guān)注點,但在0cm信號完整性下進行超近距離測試是最難實現(xiàn)的測試和性能指標(biāo)。具體來說,EMV L1模擬測試套件參數(shù)t3和t4可能存在問題(例如,t3太快),以及信號完整性的過沖。隨著加載效應(yīng)的增加,這些問題會加劇,特別是使用HLZ進行EMVCo測試PICC2時。PICC1可以表現(xiàn)出類似的表現(xiàn),但PICC2是最差的。最直接的解決方案是在5cm處增加0mm或更小的偏移,以減少無硬件的耦合。這通常發(fā)生在正常的物理產(chǎn)品設(shè)計中,因為線圈在一定程度上是封閉的。否則,可能需要重新設(shè)計PCD天線(較小的L),匹配和EMC濾波器(即較低的截止頻率)。由于端子的形狀,0cm處的偏移適用于EMVCo參考PICCS無法到達的所有測試位置。如果偏移量低于5mm,鑒定實驗室可以在型式認可測試期間測量并將其應(yīng)用于所有適用的測試位置。在型式認可報告中包括此信息。如果偏移量為5mm或更大,則必須在型式批準(zhǔn)會議之前將其傳達給EMVCo。有關(guān)詳細信息,請參閱模擬測試臺和測試用例要求 v6.2a 測試用例的第 2.3.0 節(jié)。
是否支持費利卡?
是和不是。FeliCa卡,也稱為C型,NFC-F型和JIS X 6219-4,不是EMV的一部分。因此,ADI公司提供的EMV 1級堆棧不支持FeliCa卡。但是,RF驅(qū)動器在收發(fā)器功能級別為它們提供低層支持。DTE 示例使用命令 ATQC 提供激活示例并解釋響應(yīng)。它還提供了FeliCa讀寫器RF性能測試所需的環(huán)路測試程序,如果大致相當(dāng)于EMV 1級模擬測試。ADI公司不提供對輪詢、激活、選擇、安全握手和更高級別的數(shù)據(jù)傳輸?shù)娜嬷С郑仨殞崿F(xiàn)。或者,支持這些更高級別功能的FeliCa堆棧軟件可以與其他供應(yīng)商分開采購,并與RF驅(qū)動器接口。
ADI公司提供哪些軟件來支持EMV、MIFARE、FeliCa和鄰近卡?
ADI公司提供的示例軟件演示了MAX32570對EMV、MIFARE、FeliCa和Nearinity的支持。由于這些設(shè)備的主要目標(biāo)是付款,因此我們?yōu)?EMV 卡和作為 DTE 和演示示例的一部分發(fā)布的 EMV L1 堆棧代碼提供的設(shè)備提供了更多支持。通過每個安全微型的RF驅(qū)動程序為MIFARE,F(xiàn)eliCa和Vicinity卡以及非EMV ISO 14443卡提供低級支持。對于 MIFARE 經(jīng)典卡,PBM 庫提供基本的命令和身份驗證處理。有關(guān)支持所有這些卡類型的更多詳細信息,請參閱相應(yīng)部分。
非接觸式接口需要哪些外部電路?
非接觸式通信需要合適的天線和帶有EMC濾波器的調(diào)諧匹配網(wǎng)絡(luò)。確切的外部組件取決于應(yīng)用和系統(tǒng)設(shè)計。有關(guān)更多詳細信息和實現(xiàn)示例,請參閱PCD天線匹配設(shè)計指南、評估板原理圖和gerber文件。
ADI公司的安全微控制器是否兼容EMVCo非接觸式3.0版?
是的,MAX32560和MAX32570均符合EMV 3.0要求。可根據(jù)要求提供來自第三方實驗室的經(jīng)過驗證的測試報告。
ADI公司是否提供EMV 2級解決方案?
ADI公司的EMV和支付應(yīng)用支持截止到1級。但是,我們與 Amadis(2 級軟件和支付應(yīng)用軟件的行業(yè)領(lǐng)導(dǎo)者)合作。
2 級測試問題
一些 2 級認證套件包括特殊測試卡和移動設(shè)備,具有所需的成功讀取嘗試百分比。這些卡和設(shè)備不可用于內(nèi)部測試,也沒有公開記錄。支付提供商負責(zé) 2 級測試用品、測試卡和設(shè)備,這些設(shè)備會定期更新并保密。對于這些測試,ADI公司無法提供直接幫助。即使通過具有不同負載條件的三個必需測試PICC的1級測試和EMV L1互操作性測試,設(shè)計也不能保證涵蓋所有情況。一些測試設(shè)備和卡可能難以使用,但通常可以通過仔細調(diào)整模擬矩陣參數(shù)來支持。這些測試設(shè)備可能因認證實驗室而異。選擇一個實驗室并使用調(diào)試會話來優(yōu)化所需的設(shè)置,然后再在同一實驗室提交認證。
碰撞檢測
每個物理類型規(guī)范都提供自己的沖突檢測機制。一些 2 級認證(即 PBOC)要求通過 POS 終端演示碰撞檢測。請注意,碰撞檢測對某些類型比其他類型效果更好。由于PCD用例的性質(zhì),通常為POS或票務(wù),因此僅考慮來自現(xiàn)場多個PICC的碰撞檢測。在主讀取器范圍內(nèi)查找其他活動字段超出了測試和大多數(shù)規(guī)范考慮因素。這通常是通過物理安全和相對較小的通信領(lǐng)域規(guī)模來實施的。對于 ISO 18092 規(guī)范來說并非如此,該規(guī)范允許多個啟動器(即讀取器、現(xiàn)場發(fā)生設(shè)備)。有幾種方法可以在現(xiàn)場對多個 PICC 進行碰撞檢測。
可以根據(jù)協(xié)議類型位編碼方法檢測沖突。A型PICC到PCD只允許位時間調(diào)制的前半部分(序列D),后半部分(序列E)或不調(diào)制(序列F)。如果整個位時間都存在調(diào)制,則將其視為沖突。請注意,這僅在與 A 型卡通信的激活階段才有可能。規(guī)范要求現(xiàn)場所有卡同時開始卡響應(yīng),這意味著所有卡響應(yīng)在每個位時間內(nèi)堆疊在一起。
同時傳輸多個PICC降級信號可能會導(dǎo)致成幀或CRC錯誤。例如,如果要求B型同時響應(yīng)(按照時隙1,N = 0內(nèi)的EMV L1程序的要求),則決斗的子載波可能會降級和組合,從而導(dǎo)致接收數(shù)據(jù)中出現(xiàn)開始和停止位錯誤或間隙。這不是一種可靠的方法,因為具有強信號(即高振幅場調(diào)制)的PICC在場外圍的信號可能是弱卡的10倍,尤其是在靠近PCD天線時。來自一張卡的高幅度信號可以掩蓋較弱的響應(yīng)。
可以按照每種類型規(guī)范中詳述的防沖突輪詢過程來檢測沖突。對于類型 A,字段中的所有卡同時開始傳輸其唯一標(biāo)識符 (UID),直到檢測到逐位沖突。對于類型 B 和 F,提供了多個響應(yīng)時隙,供卡隨機選擇響應(yīng)。這些程序的多輪識別獨特的卡,可以專門針對這些卡并在搜索更多卡時將其靜音。經(jīng)過足夠的回合后,并且沒有發(fā)現(xiàn)更多的卡牌,可以繼續(xù)激活找到的卡牌。同樣,EMV不允許這樣做,要求現(xiàn)場的所有卡在一個時隙內(nèi)響應(yīng)。檢測到的任何沖突都需要重置字段并再次輪詢。
最后,輪詢循環(huán)用于確定現(xiàn)場何時存在多個不同物理類型的設(shè)備。如果在現(xiàn)場找到多個任何類型的設(shè)備,EMV L1 不允許激活。提供并用于 EMV 模式的輪詢循環(huán)示例不會輪詢除 EMV A 和 B 類型之外的其他技術(shù)。這可以根據(jù)應(yīng)用程序需要進行擴展。
雖然EMV要求現(xiàn)場的B型卡在第一個時隙(N = 1)內(nèi)響應(yīng),但它預(yù)計異步響應(yīng)將導(dǎo)致傳輸錯誤。有關(guān)詳細信息,請參閱 EMV L1 規(guī)范。雖然這可能會發(fā)生,但不能保證。EMV 不需要在 1 級進行直接碰撞檢測測試;但是,某些 2 級測試確實需要它。根據(jù)測試條件,可能會或可能不會檢測到碰撞。如果需要進行此類測試,建議將此告知測試操作員。如果仍然需要,請使用兩個類型完全相同的卡,具有相似或相同的負載調(diào)制幅度。這更有可能導(dǎo)致傳輸錯誤,因為一張卡將無法屏蔽另一張卡的信號。作為最后的手段,可以充分調(diào)整模擬設(shè)置矩陣,以檢測兩個PICC振幅組合導(dǎo)致波形失真的碰撞區(qū)域。
對 B 型使用概率時隙碰撞檢測方法更可靠。由于這需要 N > 1,因此 EMV 至少不允許級別 1)。它可以允許用于其他認證,例如 2 級等。
非NFC外設(shè)上的中斷使用和數(shù)據(jù)丟失
當(dāng)MAX32560上的RF驅(qū)動器主動發(fā)送和接收時,它進入關(guān)鍵部分。盡管活動時間(即占空比)與總輪詢時間相比較低,但在活動通信期間,例如 APDU 傳輸和購買序列,中斷服務(wù)會延遲很長時間。如果其他系統(tǒng)外設(shè)依靠ISR來處理FIFO數(shù)據(jù)或在嚴(yán)格的時序要求下響應(yīng)命令,則可能導(dǎo)致數(shù)據(jù)丟失、通信丟失、ACK/NAK過多等。一些可能遭受此行為影響的外圍設(shè)備包括串行 UART、SPI、I2C、USB、智能卡和 MSR。建議將 DMA 與應(yīng)用程序關(guān)鍵型外設(shè)一起使用,以避免潛在的數(shù)據(jù)丟失。與中斷相比,系統(tǒng)可能更好地利用輪詢方法運行,但這取決于各個系統(tǒng)和應(yīng)用程序要求。目前,MAX32570上的RF驅(qū)動器只在短時間內(nèi)進入關(guān)鍵部分;但是,這種情況將來可能會改變。查看每個新 CSP 發(fā)布版本的更改歷史記錄,了解此類潛在更改。
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7649瀏覽量
152106 -
讀卡器
+關(guān)注
關(guān)注
2文章
419瀏覽量
39464 -
nfc
+關(guān)注
關(guān)注
59文章
1631瀏覽量
180966
發(fā)布評論請先 登錄
相關(guān)推薦
恩智浦NFC控制器解決方案

場供電的 NFC 和微控制器參考設(shè)計
安全微控制器的固件庫
高速安全微控制器DS5250電子資料
如何使用STM32微控制器的安全限速?
STM32微控制器的安全基礎(chǔ)知識
安全微控制器用戶指南

AN5447 基于Arm? TrustZone? STM32 微控制器的安全啟動和安全固件更新解決方案概述

AN5447 基于Arm? TrustZone? STM32 微控制器的安全啟動和安全固件更新解決方案概述

安全微控制器NFC概述

Arm TrustZone STM32微控制器的安全啟動和安全固件更新解決方案概述

基于Arm上的安全啟動和安全固件更新概述TrustZone STM32L5系列微控制器

評論