新聞中心
移動支付芯片的軟件架構詳解
日期:2024-12-25 07:55
瀏覽次數:2084
摘要:
按軟件功能邏輯劃分,包含支付芯片的手機終端內軟件可分為五層,從底層向上依次是硬件層、內核驅動層、協議棧層、API層、應用層。
在上節中,以典型PN系列芯片為例,講解了NFC芯片與周邊器件的硬件關系。下圖所示是包含NFC芯片的終端內軟件架構,圖中描述側重在與支付芯片相關的軟件邏輯,而與支付芯片無關的諸多終端內軟件和應用不在此部分詳述。
圖:支付芯片及所在終端的內部軟件邏輯架構
...
按軟件功能邏輯劃分,包含支付芯片的手機終端內軟件可分為五層,從底層向上依次是硬件層、內核驅動層、協議棧層、API層、應用層。
在上節中,以典型PN系列芯片為例,講解了NFC芯片與周邊器件的硬件關系。下圖所示是包含NFC芯片的終端內軟件架構,圖中描述側重在與支付芯片相關的軟件邏輯,而與支付芯片無關的諸多終端內軟件和應用不在此部分詳述。
圖:支付芯片及所在終端的內部軟件邏輯架構
按軟件功能邏輯劃分,包含支付芯片的手機終端內軟件可分為五層,從底層向上依次是硬件層、內核驅動層、協議棧層、API層、應用層。
一、硬件層:
此層對應上節中的實際硬件器件,包括NFC Controller(即NFC芯片,也稱NFC控制器芯片)、eSE(即嵌入到NFC芯片的**芯片)、UICC(即SIM卡形態的**芯片)。其中NFC Controller與eSE通過芯片間專有協議連接,NFC Controller與UICC通過國際標準SWP協議連接。eSE和UICC可以同時存在,也可只存在其中一個芯片。
此層由芯片硬件提供商提供。
二、內核驅動:
此層的作用就是講底層硬件驅動起來,與上層軟件進行交互和調動。此層一般是終端操作系統的一部分,比如Android系統內的諸多硬件驅動中一部分。同時也與硬件廠家和型號緊密相關。
此層需與NFCController、UICC兩類芯片特性緊密相關,一般由終端操作系統開發人提供,對于開源的操作系統(如Android)也可由相關芯片提供商協助開發。此層一般是由C語言開發。
三、協議棧層:
此層是控制NFC芯片、SE芯片正常工作的關鍵,實現了以下方面工作:**,上層應用及API調用此層NFC芯片能力、SE芯片能力的控制邏輯;**,將傳輸信號按照標準協議逐層打包拆包的過程控制;第三,對上層應用訪問底層芯片能力的**訪問控制。
此層與NFC芯片的非接觸NFC控制協議相關,或與SE芯片智能卡**訪問控制和指令相關,一般NFC協議棧由NFC芯片供應商合作提供,SE訪問協議棧由COS(智能卡操作系統)供應商合作提供。此層一般是由C語言開發。
四、API層:
此層為上層應用提供可調用的各類API接口,是終端操作系統的一般類實現層。具體的API定義由操作系統開發聯盟制定并開發,同時一些標準組織也定義API以便實現行業通用,比如GlobalPlatform標準組織定義SE訪問API,3GPP標準組織定義SIM和USIM的API,NFC Forum標準組織定義終端應用的NFC API。
對于開源性較強的操作系統如Android,開發人更希望按照行業標準的API來實現;對于封閉性更強的操作系統如iOS或windows,蘋果公司和微軟公司更愿意根據自己操作系統特點自己定義相關API,而不是按照行業標準。
此層一般由操作系統供應商開發提供,一般是由部分Java語言(API部分)和部分C語言(API邏輯實現部分)開發合成。
五、應用層:
應用層是各類實際的支付應用或NFC應用,面向個人開發人、行業應用開發商,可基于底層提供的API開發各類符合自身需求的應用。此層是應用層面的開發語言,一般是Java、Htmls、Perl腳本等。
現實中移動支付的各類應用,比如手機***、公交卡、門禁卡等都是在應用層。應用實現的好壞、應用的廣泛,底下幾層的API的多樣、協議棧的穩定、硬件和驅動的性能是基礎。此外,還有外部應用環境、應用體驗、開發難易等有緊密關系,也是變化*快的一層。