新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應用 > 移動支付NFC-SWP方案在SIM卡中的實現(xiàn)方法(三)

移動支付NFC-SWP方案在SIM卡中的實現(xiàn)方法(三)

作者: 時間:2013-10-07 來源:網(wǎng)絡(luò) 收藏

3 SWP連接方案在中的設(shè)計

  3.1 系統(tǒng)結(jié)構(gòu)

  大容量是一種支持大容量存儲、高速傳輸、具有新型應用的智能卡。我們研發(fā)的大容量項目基于ARM Secure Core SC100內(nèi)核,采用 AHB(高性能總線)+APB(高級外設(shè)總線)總線結(jié)構(gòu)。AHB總線提供高速的數(shù)據(jù)傳輸,它連接SIM卡內(nèi)部存儲器和高速外部接口(USB接口)。APB總線通過橋接器與AHB總線相連,SIM卡的低速接口(SWP接口、ISO7816接口)掛靠在外設(shè)總線上。

  3.2 硬件設(shè)計

  SWP硬件設(shè)計基于SWP標準,即ETSI(歐洲電信標準協(xié)會)制訂的的TS 102 613。SWP控制器和SWP接口共同組成了SWP方案的硬件設(shè)備。SWP控制器負責處理物理層和數(shù)據(jù)鏈路層邏輯。圖4為硬件實現(xiàn)數(shù)據(jù)鏈路層邏輯時SIM卡內(nèi)部SWP控制器的結(jié)構(gòu)圖。

  移動支付NFC-SWP方案在SIM卡中的實現(xiàn)方法(三)

  圖4 SWP控制器結(jié)構(gòu)圖

  3.2.1 接收數(shù)據(jù)設(shè)計

  在SIM卡和NFC芯片通信期間,SWP控制器在激活、掛起、去激活三種狀態(tài)間切換。交換數(shù)據(jù)時,處于激活狀態(tài)。Rx 解碼器不停地檢測Si信號,并將來自NFC芯片的單位數(shù)據(jù)解析為字節(jié)輸出。Frame resolve分析接收到的每一字節(jié)的數(shù)據(jù),若為7E(幀頭),則繼續(xù)接收數(shù)據(jù),直到接收到7F(幀尾),表明SWPC接收到一幀完整的數(shù)據(jù)。Frame resolve進一步解析接收到的數(shù)據(jù)幀,首先根據(jù)MAC協(xié)議剝離幀頭和幀尾,然后根據(jù)接收方的生成多項式對數(shù)據(jù)幀進行校驗。如果數(shù)據(jù)正確,則識別出SHDLC數(shù)據(jù)幀的類型并作相應處理;如果數(shù)據(jù)錯誤,則發(fā)送拒收幀,要求對方重新發(fā)送。對于正確的信息幀,SWP控制器提取信息幀的信息數(shù)據(jù)(包)寫入RX FIFO,并根據(jù)接收到的數(shù)據(jù)幀的字節(jié)個數(shù)設(shè)置控制器的狀態(tài)寄存器。SWP控制器每接收一幀數(shù)據(jù)就發(fā)起一個硬件中斷。

  3.2.2 發(fā)送數(shù)據(jù)設(shè)計

  SWP控制器發(fā)送數(shù)據(jù)和接收數(shù)據(jù)是相反的過程。如果上層應用有數(shù)據(jù)要發(fā)送時,會把數(shù)據(jù)寫入TX FIFO。TX FIFO一旦檢測到FIFO有數(shù)據(jù),就啟動發(fā)送模塊把數(shù)據(jù)從TX FIFO中取出,經(jīng)Frame assemble按照SWP協(xié)議的SHDLC協(xié)議組裝信息幀,添加幀頭、幀尾、校驗碼。把生成的MAC幀數(shù)據(jù)交給Tx編碼器,完成輸出數(shù)據(jù)的物理層組裝,將數(shù)據(jù)轉(zhuǎn)換成單個位電平輸出。

  3.3 軟件驅(qū)動設(shè)計

  SWP軟件設(shè)計基于SWP標準和HCP(主機控制協(xié)議)標準。HCP標準是SWP協(xié)議之上的標準協(xié)議,定義了數(shù)據(jù)鏈路層之上的協(xié)議層——HCP路由層、HCP消息層以及應用層。底層SWP協(xié)議和上層HCP協(xié)議組成的協(xié)議棧共同完成NFC芯片與UICC通信的完整協(xié)議。

  在大容量SIM卡中采用SWP方案,要實現(xiàn)ISO7816協(xié)議棧和SWP協(xié)議棧。SIM卡的操作系統(tǒng)使用μC/OS。μC/OS是一種結(jié)構(gòu)小巧、搶占式的實時操作系統(tǒng)。其內(nèi)核提供任務(wù)調(diào)度和管理、時間管理、任務(wù)同步和通信、內(nèi)存管理和中斷服務(wù)等功能。在軟件系統(tǒng)中,SWP軟件模塊是μC/OS的任務(wù)之一。

  SWP任務(wù)依靠硬件中斷驅(qū)動,SWP任務(wù)沒有被激活前,一直處于等待中斷的狀態(tài)。通過SWP接口通信時,一旦檢測到存在射頻場,NFC芯片便被激活。NFC芯片發(fā)送Si信號給SIM卡,SIM卡檢測到Si電壓信號后,觸發(fā)si_act中斷通知軟件做好準備通信。此時,軟件設(shè)置通信參數(shù),然后等待硬件建立物理鏈路成功的中斷。如果接收到init_sync中斷,軟件開始設(shè)置SHDLC協(xié)議的滑動窗口大小M,等待建立SHDLC鏈路的中斷。這個中斷帶有NFC芯片SHDLC層的滑動窗口的參數(shù)N。若M≥N,則SWP任務(wù)修改自己的滑動窗口大小為N,然后發(fā)送確認幀,這樣便建立了SHDLC鏈路;若M<N,SWP任務(wù)發(fā)送帶有自己窗口參數(shù)的RESET幀給NFC芯片,繼續(xù)協(xié)商滑動窗口大小。


上一頁 1 2 下一頁

關(guān)鍵詞: 移動支付 NFC-SWP SIM卡

評論


相關(guān)推薦

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

關(guān)閉