《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 近距離通信的SWP方案及在SIM卡中的實(shí)現(xiàn)方法
近距離通信的SWP方案及在SIM卡中的實(shí)現(xiàn)方法
韓麗英 陳紹強(qiáng)
來源:?jiǎn)纹瑱C(jī)與嵌入式系統(tǒng)應(yīng)用
摘要: 基于手機(jī)的新需求,,移動(dòng)支付應(yīng)運(yùn)而生,并逐漸成為移動(dòng)運(yùn)營(yíng)商,、手機(jī)制造商,、SIM卡制造商研究的熱點(diǎn)問題。移動(dòng)支付的解決方案比較多,,其中雙界面SIM卡方案和近距離通信(Near Field Communication,,NFC)方案比較可行,。雙界面SIM卡方案已經(jīng)有產(chǎn)品面世,,近距離通信方案正在研發(fā)階段,。
關(guān)鍵詞: RFID|NFC 近距離通信 SWP SIM卡 NFC
Abstract:
Key words :

       引言
  近幾年,手機(jī)已經(jīng)不再是簡(jiǎn)單的通信工具,,它已經(jīng)成為便攜的娛樂工具,,將來有望發(fā)展為可信賴的支付工具,在消費(fèi),、購物,、交通等領(lǐng)域通過手機(jī)方便、快捷地完成支付,?;谑謾C(jī)的新需求,,移動(dòng)支付應(yīng)運(yùn)而生,,并逐漸成為移動(dòng)運(yùn)營(yíng)商、手機(jī)制造商,、SIM卡制造商研究的熱點(diǎn)問題,。移動(dòng)支付的解決方案比較多,其中雙界面SIM卡方案和近距離通信(Near Field Communication,,NFC)方案比較可行,。雙界面SIM卡方案已經(jīng)有產(chǎn)品面世,近距離通信方案正在研發(fā)階段,。
  雙界面SIM卡方案通過在SIM卡中增加非接觸IC卡界面進(jìn)行非接觸通信,。天線連接在SIM卡尚未使用的C4和C8這兩個(gè)接口上。雙界面SIM卡在手機(jī)中增加了非接觸IC卡的功能,,但沒有實(shí)現(xiàn)閱讀器和點(diǎn)對(duì)點(diǎn)通信功能,。NFC是由NXP公司和索尼公司提出的超短距離無線通信技術(shù),它使得兩臺(tái)兼容NFC的設(shè)備之間可以直觀,、便捷,、安全地通信。NFC的主要應(yīng)用是移動(dòng)小額支付,還可以應(yīng)用于門禁,、公交等領(lǐng)域,。
  與雙界面SIM卡方案相比,NFC方案的優(yōu)勢(shì)體現(xiàn)在以下方面:
 ?、貼FC方案可以實(shí)現(xiàn)更多的應(yīng)用,;
  ②在NFC芯片與SIM卡的連接使用C6(SWP)觸點(diǎn),,并不影響SIM卡高速空中數(shù)據(jù)下載,;
  ③NFC方案是一套完善的解決方案,,可以提供可靠,、安全、便捷的通信,;
 ?、躈FC方案完全兼容現(xiàn)有的讀寫器,不需要對(duì)讀寫器進(jìn)行任何更改,。
  綜上所述,,近距離通信NFC是移動(dòng)非接觸支付業(yè)務(wù)最可行的解決方案,而SWP連接方案則是NFC技術(shù)的一部分,。

    1  近距離通信概述
  近距離通信是短距離非接觸式的一種,,工作于13.56 MHz頻帶,傳輸距離在10 cm以內(nèi),;傳輸速度目前可以達(dá)到106 kbps,、212 kbps、424kbps,,理想速率可以達(dá)到1 Mbps左右,。NFC所使用的頻率與目前流行的非接觸智能卡相同,同時(shí)兼容以ISO14443A/B為基礎(chǔ)的感應(yīng)式非接觸通信,,以及PHILIPS公司的MIFARE技術(shù)和索尼公司的FeliCa技術(shù),。
  1.1  近距離通信原理
  根據(jù)ISO18092標(biāo)準(zhǔn),近距離通信可以工作在主動(dòng)模式和被動(dòng)模式,。進(jìn)行通信之前,,可以選擇傳輸速率106 kbps、212 kbps,、424kbps中的一種,,并可以在這三者間任意切換。
  1.1.1  被動(dòng)模式通信原理
  在被動(dòng)模式下,,近距離通信的通信原理與RFID一樣,,都是依靠電磁感應(yīng)耦合原理完成通信,。NFC手機(jī)有一塊NFC芯片,內(nèi)置有天線,,用來接收和發(fā)送無線數(shù)據(jù),。
  NFC工作在被動(dòng)模式時(shí),閱讀器啟動(dòng)NFC通信,,稱為NFC發(fā)起設(shè)備(主設(shè)備),,在整個(gè)通信過程中提供射頻域。NFC發(fā)起設(shè)備選擇3種速率的一種傳輸數(shù)據(jù),,ISO18092標(biāo)準(zhǔn)規(guī)定了每種傳輸速率使用的調(diào)制,、編碼技術(shù)。NFC目標(biāo)設(shè)備(從設(shè)備)不必產(chǎn)生射頻域,,而使用負(fù)載調(diào)制(load modulation)技術(shù),,以相同的速度將數(shù)據(jù)傳回發(fā)起設(shè)備。此通信機(jī)制與基于ISO14443A/B,、Mifare和FeliCa的非接觸式智能卡兼容,,因此,在被動(dòng)模式下,,NFC發(fā)起設(shè)備可以用相同的連接和初始化過程檢測(cè)非接觸式智能卡或NFC目標(biāo)設(shè)備,,并與之建立聯(lián)系。
  就近距離通信應(yīng)用的角度而言,,其應(yīng)用模式分為3種:標(biāo)簽?zāi)J?、閱讀器模式、點(diǎn)對(duì)點(diǎn)模式,。標(biāo)簽?zāi)J?,即NFC芯片作為被動(dòng)設(shè)備使用,其作用相當(dāng)于應(yīng)答器,。為了保證數(shù)據(jù)的安全性,,在更換手機(jī)后不至于重新設(shè)置密鑰信息,需要在SIM卡中保存移動(dòng)支付的密鑰信息,。通信設(shè)備包括閱讀器、NFC芯片和SIM卡,。此時(shí),,NFC芯片提供射頻接口,負(fù)責(zé)轉(zhuǎn)發(fā)射頻數(shù)據(jù)給SIM卡,。對(duì)SIM卡而言,,不需要像雙界面SIM卡那樣增加非接觸接口,而使用SWP接口實(shí)現(xiàn)與NFC芯片的連接,。在標(biāo)簽?zāi)J较?,NFC芯片類似于橋接器,,在閱讀器和SIM卡之間轉(zhuǎn)發(fā)數(shù)據(jù)。

  NFC芯片是嵌入手機(jī)中的芯片,,由手機(jī)的電源系統(tǒng)供電,。為了保證手機(jī)沒電時(shí)移動(dòng)支付的正常進(jìn)行,標(biāo)簽?zāi)J叫枰С譄o源工作,,其工作原理基于電磁感應(yīng),。閱讀器的天線線圈產(chǎn)生高頻的強(qiáng)電磁場(chǎng),這種磁場(chǎng)穿過線圈橫截面和線圈周圍的空間,。發(fā)射磁場(chǎng)的一部分磁力線穿過距閱讀器線圈有一定距離的應(yīng)答器的天線線圈[2],。通過感應(yīng)在天線線圈上產(chǎn)生電壓,將其整流后作為電源提供給NFC芯片和SIM卡,。
  1.1.2  主動(dòng)模式通信原理
  在主動(dòng)模式下,,NFC發(fā)起設(shè)備要發(fā)送數(shù)據(jù)給目標(biāo)設(shè)備時(shí),必須產(chǎn)生自己的射頻場(chǎng),;被讀NFC設(shè)備發(fā)送響應(yīng)給發(fā)起設(shè)備時(shí),,也要產(chǎn)生自己的射頻場(chǎng)。發(fā)起設(shè)備和目標(biāo)設(shè)備都要產(chǎn)生自己的射頻場(chǎng),,這是對(duì)等網(wǎng)絡(luò)通信的標(biāo)準(zhǔn)模式,,可以獲得非常快速的連接設(shè)置[1],。
  移動(dòng)設(shè)備主要工作在被動(dòng)模式,,可以大幅降低功耗,并延長(zhǎng)電池壽命,。主動(dòng)模式主要是針對(duì)點(diǎn)對(duì)點(diǎn)模式,,用于筆記本、手機(jī),、數(shù)碼相機(jī)之間的數(shù)據(jù)交換,。
  1.2  近距離通信與RFID的關(guān)系
  NFC是一種基于RFID的無線通信技術(shù),二者都工作在13.56 MHz頻帶,。在標(biāo)簽?zāi)J较?,NFC利用RFID的通信原理,都基于無線頻率的電磁感應(yīng)耦合原理,。
  但是NFC技術(shù)是無線通信的新技術(shù),,與RFID還是有區(qū)別的:NFC技術(shù)增加了點(diǎn)對(duì)點(diǎn)通信功能,可以快速建立藍(lán)牙設(shè)備之間的P2P(點(diǎn)對(duì)點(diǎn))無線通信,,NFC設(shè)備彼此尋找對(duì)方并建立通信連接,。P2P通信的雙方設(shè)備是對(duì)等的,而RFID通信的雙方設(shè)備是主從關(guān)系,。
  2  SWP標(biāo)準(zhǔn)及連接方案
  2.1  SWP標(biāo)準(zhǔn)[3]
  SWP連接方案基于ETSI(歐洲電信標(biāo)準(zhǔn)協(xié)會(huì))的SWP標(biāo)準(zhǔn),,該標(biāo)準(zhǔn)規(guī)定了SIM卡和NFC芯片之間的通信接口,。

    SWP(單線協(xié)議)是在一根單線上實(shí)現(xiàn)全雙工通信,即S1和S2這兩個(gè)方向的信號(hào),,如圖1所示,。通信的雙方是UICC(Universal Integrated Circuit Card,通用集成芯片卡)和CLF(Contactless Frontend,非接觸前端),。S1是電壓信號(hào),,SIM卡通過電壓表檢測(cè)S1信號(hào)的高低電平,采用電平寬度調(diào)制,;S2信號(hào)是電流信號(hào),,采用負(fù)載調(diào)制方式。S2信號(hào)必須在S1信號(hào)為高電平時(shí)才有效,,S1信號(hào)為高電平時(shí)導(dǎo)通其內(nèi)部的一個(gè)三極管,,S2信號(hào)才可以傳輸。S1信號(hào)和S2信號(hào)疊加在一起,,在一條單線上實(shí)現(xiàn)全雙工通信[4],。

  S1信號(hào)的編碼如圖2所示,邏輯1在3/4周期(3/4T)內(nèi)為高電平,,邏輯0在1/4周期(1/4T)內(nèi)為高電平,。S2信號(hào)在S1信號(hào)為高時(shí)有效,在S1信號(hào)為低時(shí)才能進(jìn)行由低電平到高電平的切換,。SWP有3種傳輸速率:212 kbps,、424 kbps、848 kbps,,對(duì)數(shù)據(jù)位進(jìn)行擴(kuò)展之后,,傳輸速率可以達(dá)到1 696 kbps。
  SWP協(xié)議是關(guān)于物理層和數(shù)據(jù)鏈路層的協(xié)議,。物理層負(fù)責(zé)UICC和CLF之間物理鏈路的激活,、保持、解除工作,。SWP協(xié)議要求UICC的工作電壓為1.8~3.3 V,。
  與OSI協(xié)議類似,數(shù)據(jù)鏈路層分為MAC(媒介訪問控制)層和鏈路控制層,。在MAC層采用位填充的成幀方法,。鏈路控制層包括3種類型的幀協(xié)議:ACT協(xié)議、SHDLC協(xié)議以及CLT(非接觸通道)協(xié)議,。在SWP接口的設(shè)計(jì)中,使用了前兩種協(xié)議,。
  ACT協(xié)議是接口激活協(xié)議,,用于激活SWP接口,。在沒有射頻場(chǎng)時(shí),SWP接口處于去激活狀態(tài),。在標(biāo)簽?zāi)J较?,感?yīng)到外界存在射頻場(chǎng)后,NFC芯片被激活,,UICC收到NFC芯片的高電平信號(hào)后,,使用ACT幀建立物理鏈路的連接。
  SHDLC協(xié)議是ISO制定的高級(jí)數(shù)據(jù)鏈路控制規(guī)范的簡(jiǎn)單版本,,也是面向位的同步鏈路,。該協(xié)議主要用來傳輸交互的數(shù)據(jù)信息,其信息幀承載上層HCP(主機(jī)控制協(xié)議)的包數(shù)據(jù),。此外,,SHDLC協(xié)議還具有流控管理、錯(cuò)誤檢查,、出錯(cuò)后數(shù)據(jù)重傳等功能,。為了保證數(shù)據(jù)的正確發(fā)送與接收,兼容NFC芯片與UICC不同速率傳輸?shù)耐ㄐ拍芰?,在使用SHDLC協(xié)議通信前,,首先要建立數(shù)據(jù)鏈路,雙方協(xié)商滑動(dòng)窗口的大小,。
  2.2  SWP連接方案
  本文中,,CLF嵌入在手機(jī)內(nèi)部,UICC使用的是SIM卡,,手機(jī)通過SIM卡與NFC芯片通信,。NFC芯片與SIM卡的連接方案有多種,本文提出的是基于C6引腳的SWP(單線協(xié)議)方案,。SWP協(xié)議連接手機(jī)NFC芯片與SIM卡,,規(guī)定兩者之間的通信接口。圖3是SWP連接方案的示意圖,。
  本方案使用了SIM卡的3個(gè)引腳連接NFC芯片:C1(VCC),、C5(GND)、C6(SWP),。其中,,SWP引腳在一根單線上基于電壓和負(fù)載調(diào)制原理實(shí)現(xiàn)全雙工通信。SIM卡支持ISO7816和SWP兩個(gè)接口,,在大容量卡項(xiàng)目中還支持高速下載接口,,通過預(yù)留的C4和C8接口來實(shí)現(xiàn)。支持SWP的SIM卡必須同時(shí)支持兩個(gè)協(xié)議棧——ISO7816和SWP協(xié)議棧,,這需要SIM卡的COS(片上操作系統(tǒng))是多任務(wù)系統(tǒng),。
  SIM卡需要單獨(dú)管理這兩個(gè)協(xié)議棧,。SWP方案加入SIM卡系統(tǒng)后,不能影響ISO7816接口,。舉個(gè)例子,,SIM卡有8個(gè)引腳,RST引腳用于復(fù)位SIM卡的ISO7816接口,,SWP方案加入SIM卡后,,RST引腳的Reset信號(hào)對(duì)SWP接口沒有作用,SWP接口通過SWP引腳復(fù)位,。
  3  SWP連接方案在SIM卡中的設(shè)計(jì)
  3.1  系統(tǒng)結(jié)構(gòu)
  大容量SIM卡是一種支持大容量存儲(chǔ),、高速傳輸、具有新型應(yīng)用的智能卡,。我們研發(fā)的大容量SIM卡項(xiàng)目基于ARM Secure Core SC100內(nèi)核,,采用AHB(高性能總線)+APB(高級(jí)外設(shè)總線)總線結(jié)構(gòu)。AHB總線提供高速的數(shù)據(jù)傳輸,,它連接SIM卡內(nèi)部存儲(chǔ)器和高速外部接口(USB接口),。APB總線通過橋接器與AHB總線相連,SIM卡的低速接口(SWP接口,、ISO7816接口)掛靠在外設(shè)總線上,。
  3.2  硬件設(shè)計(jì)
  SWP硬件設(shè)計(jì)基于SWP標(biāo)準(zhǔn),即ETSI(歐洲電信標(biāo)準(zhǔn)協(xié)會(huì))制訂的的TS 102 613,。SWP控制器和SWP接口共同組成了SWP方案的硬件設(shè)備,。SWP控制器負(fù)責(zé)處理物理層和數(shù)據(jù)鏈路層邏輯。圖4為硬件實(shí)現(xiàn)數(shù)據(jù)鏈路層邏輯時(shí)SIM卡內(nèi)部SWP控制器的結(jié)構(gòu)圖,。
  3.2.1  接收數(shù)據(jù)設(shè)計(jì)
  在SIM卡和NFC芯片通信期間,,SWP控制器在激活、掛起,、去激活三種狀態(tài)間切換,。交換數(shù)據(jù)時(shí),處于激活狀態(tài),。Rx解碼器不停地檢測(cè)Si信號(hào),,并將來自NFC芯片的單位數(shù)據(jù)解析為字節(jié)輸出。Frame.
resolve分析接收到的每一字節(jié)的數(shù)據(jù),,若為7E(幀頭),,則繼續(xù)接收數(shù)據(jù),直到接收到7F(幀尾),,表明SWPC接收到一幀完整的數(shù)據(jù),。Frame.resolve進(jìn)一步解析接收到的數(shù)據(jù)幀,首先根據(jù)MAC協(xié)議剝離幀頭和幀尾,然后根據(jù)接收方的生成多項(xiàng)式對(duì)數(shù)據(jù)幀進(jìn)行校驗(yàn),。如果數(shù)據(jù)正確,,則識(shí)別出SHDLC數(shù)據(jù)幀的類型并作相應(yīng)處理,;如果數(shù)據(jù)錯(cuò)誤,,則發(fā)送拒收幀,要求對(duì)方重新發(fā)送,。對(duì)于正確的信息幀,,SWP控制器提取信息幀的信息數(shù)據(jù)(包)寫入RX FIFO,并根據(jù)接收到的數(shù)據(jù)幀的字節(jié)個(gè)數(shù)設(shè)置控制器的狀態(tài)寄存器,。SWP控制器每接收一幀數(shù)據(jù)就發(fā)起一個(gè)硬件中斷,。
  3.2.2  發(fā)送數(shù)據(jù)設(shè)計(jì)
  SWP控制器發(fā)送數(shù)據(jù)和接收數(shù)據(jù)是相反的過程。如果上層應(yīng)用有數(shù)據(jù)要發(fā)送時(shí),,會(huì)把數(shù)據(jù)寫入TX FIFO,。TX FIFO一旦檢測(cè)到FIFO有數(shù)據(jù),就啟動(dòng)發(fā)送模塊把數(shù)據(jù)從TX FIFO中取出,,經(jīng)Frame.assemble按照SWP協(xié)議的SHDLC協(xié)議組裝信息幀,,添加幀頭、幀尾,、校驗(yàn)碼,。把生成的MAC幀數(shù)據(jù)交給Tx編碼器,完成輸出數(shù)據(jù)的物理層組裝,,將數(shù)據(jù)轉(zhuǎn)換成單個(gè)位電平輸出,。
  3.3  軟件驅(qū)動(dòng)設(shè)計(jì)
  SWP軟件設(shè)計(jì)基于SWP標(biāo)準(zhǔn)和HCP(主機(jī)控制協(xié)議)標(biāo)準(zhǔn)。HCP標(biāo)準(zhǔn)是SWP協(xié)議之上的標(biāo)準(zhǔn)協(xié)議,,定義了數(shù)據(jù)鏈路層之上的協(xié)議層——HCP路由層,、HCP消息層以及應(yīng)用層[5]。底層SWP協(xié)議和上層HCP協(xié)議組成的協(xié)議棧共同完成NFC芯片與UICC通信的完整協(xié)議,。
  在大容量SIM卡中采用SWP方案,,要實(shí)現(xiàn)ISO7816協(xié)議棧和SWP協(xié)議棧。SIM卡的操作系統(tǒng)使用μC/OS,。μC/OS是一種結(jié)構(gòu)小巧,、搶占式的實(shí)時(shí)操作系統(tǒng)。其內(nèi)核提供任務(wù)調(diào)度和管理,、時(shí)間管理,、任務(wù)同步和通信、內(nèi)存管理和中斷服務(wù)等功能,。在軟件系統(tǒng)中,,SWP軟件模塊是μC/OS的任務(wù)之一。
 SWP任務(wù)依靠硬件中斷驅(qū)動(dòng),SWP任務(wù)沒有被激活前,,一直處于等待中斷的狀態(tài),。通過SWP接口通信時(shí),一旦檢測(cè)到存在射頻場(chǎng),,NFC芯片便被激活,。NFC芯片發(fā)送Si信號(hào)給SIM卡,SIM卡檢測(cè)到Si電壓信號(hào)后,,觸發(fā)si_act中斷通知軟件做好準(zhǔn)備通信,。此時(shí),軟件設(shè)置通信參數(shù),,然后等待硬件建立物理鏈路成功的中斷,。如果接收到init_sync中斷,軟件開始設(shè)置SHDLC協(xié)議的滑動(dòng)窗口大小M,,等待建立SHDLC鏈路的中斷,。這個(gè)中斷帶有NFC芯片SHDLC層的滑動(dòng)窗口的參數(shù)N。若M≥N,,則SWP任務(wù)修改自己的滑動(dòng)窗口大小為N,,然后發(fā)送確認(rèn)幀,這樣便建立了SHDLC鏈路,;若M<N,,SWP任務(wù)發(fā)送帶有自己窗口參數(shù)的RESET幀給NFC芯片,繼續(xù)協(xié)商滑動(dòng)窗口大小,。
  SHDLC鏈路建立成功后,,SWP任務(wù)等待信息幀中斷。接收到信息幀中斷,,根據(jù)硬件寫入的狀態(tài)寄存器的接收字節(jié)數(shù)從RX FIFO中讀取數(shù)據(jù),,然后由軟件解析收到的數(shù)據(jù)包;通過HCP的路由層把數(shù)據(jù)包遞交給應(yīng)用層,,應(yīng)用層根據(jù)消息的類型進(jìn)行相應(yīng)的處理,。
  結(jié)語
  本文提出一種SWP連接方案,并在大容量SIM卡中加以實(shí)現(xiàn),。SWP接口的硬件和軟件設(shè)計(jì)方法,,對(duì)于近距離通信技術(shù)應(yīng)用于其他移動(dòng)支付具有一定借鑒意義;同時(shí),,在SIM卡中實(shí)現(xiàn)SWP接口,,也促進(jìn)了SIM卡技術(shù)的發(fā)展。
此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。