引 言
伴隨著國家金卡工程的持續(xù)推進,在 20 多年的發(fā)展歷程中,中國金融 IC 卡事業(yè)不斷升級?;?a href="/tags/射頻識別" target="_blank">射頻識別技術的各類智能卡早已滲透到我們生活的各個方面,小到個人的電話卡、信用卡,大到市民一卡通等,在這些技術方便我們生活的同時, 消費者對于安全的渴求也越來越高。CPU 卡內部芯片相當于一個微處理器,含有定制的COS 操作系統(tǒng),可執(zhí)行嚴謹?shù)募用苓\算,安全性高,靈活性強,儲存容量較大。
1 射頻識別技術
射頻識別(Radio Frequency Identification,RFID)通過空中信道獲取數(shù)據(jù),讀寫相關目標,無需物理直接接觸、光學可視與人工干預即可完成信息的輸入和處理 [1],是一種領先的非接觸式通信方式。在不同的領域,RFIID 的構成有所不同,但一個典型的RFID 系統(tǒng)需包括電子標簽、讀寫器和 PC 機(后臺應用軟件)等三部分。RFID 系統(tǒng)基本組成如圖 1 所示。
RFID 最大的優(yōu)點是能夠實現(xiàn)非接觸式數(shù)據(jù)交互,通過電磁場傳輸信息,快速實現(xiàn)物物互聯(lián)。在整個通信過程中無需人為干預,可自動識別,彌補了傳統(tǒng)接觸式識別的不足。
2 硬件設計
硬件電路系統(tǒng)是本次設計的一個重點,需要確定整體思路。首先,根據(jù)項目和功能的需求,確定整體思路和設計框架;
其次,運用模塊化思想進行分塊設計,明確哪些模塊可以拓展、 改進 ;再次,根據(jù)硬件電路的設計思路繪制原理圖、電路圖 和 PCB 等 ;最后對硬件進行調試和測試。
該硬件系統(tǒng)包含如下 5 個模塊 :
(1)MCU 控制模塊 :該模塊主要負責各種信息的處理和 功能拓展,由芯片、電源、復位電路、振蕩電路等組成。
(2)射頻讀寫模塊 :該模塊為系統(tǒng)的核心模塊,負責實 現(xiàn)與非接觸 CPU 卡的通信,由射頻收發(fā)芯片的應用電路和天 線線圈組成。
(3)與上位機的通信模塊 :該模塊用以實現(xiàn)讀寫終端與 PC 機的通信。
(4)外部拓展模塊:包括外部拓展的 E2,F(xiàn)LASH 模塊等。
(5)人機交互模塊 :包括 LCD 顯示屏部分和鍵盤等。
硬件系統(tǒng)總體框圖如圖 2 所示。
2.1 微控制器模塊
相較于 8 位單片機,32 位的高性能 ARM 處理器擁有 更高的通信效率、更多可擴展外設、更強的控制能力,因此 STM32 系列 MCU 主控制器成為了本系統(tǒng)的首選,Coetex-M3 內核具有較高的性能、較高的代碼密度、實時性較好,方便使用, 憑借其超低功耗等優(yōu)點使得 CM3 成為理想的微處理器。
CM3 采用的是哈弗結構而非馮 · 諾依曼結構體系,所以 其數(shù)據(jù)和指令總線各自獨立,互不干擾,可實現(xiàn)并行獨立的 取指和數(shù)據(jù)訪問,極大地改善了運行速度和性能。CM3 內核 中的嵌套向量中斷控制器,即 NVIC(Nested Vector InterruptController,NVIC),可以使終端的響應速度變快。
2.2 射頻讀寫模塊
對比了成本、封裝類型、開發(fā)復雜度、代碼移植性等多種因素,本文以具有較強兼容性和穩(wěn)定性的由NXP 半導體公司研發(fā)的RC632 芯片作為射頻收發(fā)芯片的首選[2]。
2.3 與上位機的通信模塊
USB 的中文名為 通用串行總線 ,考慮到產品的可移植性、適用性等因素,設計了與上位機通信的 USB 通信電路 [3]。USB 具有以下優(yōu)點:
應用較廣泛。USB即通用串行總線,是目前我們最常用也是市場上應用最廣的一種外部通信總線。日常生活中, 從電腦 PC機到鍵盤音箱鼠標,甚至到大部分機械設備都會配備USB 接口。目前為止,我們所見到的USB 接口大多為 2.0 和 3.0版本規(guī)范,該規(guī)范是由Intel公司和微軟公司聯(lián)合提出的一種標準,目的在于規(guī)范 USB和PC等設備之間的通信。
應用便捷。其熱插拔和即插即用的特性完全滿足了人們對設備使用方便靈活的需求。
傳輸較快。USB2.0接口標準的理論傳輸速度可達
480 Mbit/s,遠超普通串口的傳輸速度(9 600 bit/s)[4]。
2.4 人機交互模塊
2.4.1 LCD顯示模塊
本文的液晶顯示屏采用KD240IT002[5]。屏幕尺寸為 2.4 英寸,控制器采用經典的 ILI9341,擁有標準的 37Pin 通用接口, 分辨率為 320240,支持 90,180,270,360四個顯示方向。為了在滿足性能要求的前提下節(jié)省I/O 口資源,我們采用 8 線并口方式。
2.4.2 鍵盤電路模塊
出于安全角度的考量,在每張卡片扣款前,必須先輸入密碼以校驗其合法性,因此鍵盤電路必不可少。同時考慮到設計的便捷性與壓縮成本,我們采用 4 4 薄膜鍵盤,它獨立于MCU 主控電路模塊,用 8 根線即可控制 16 個按鍵。
3 系統(tǒng)軟件設計
系統(tǒng)軟件設計主要包括控制模塊的軟件程序設計、射頻讀寫模塊的軟件設計、人機交互模塊的軟件設計、與上位機通信模塊以及PC 端后臺應用軟件的設計。
3.1 軟件設計概要
我們選擇 時間片輪轉調度算法 實現(xiàn)該功能。
時間片輪轉調度算法也稱為RR 調度,是一種非常簡單實用的算法。時間片是該算法的重要概念,該算法為每個進程分配了一個時間段,該時間段代表了該進程能被允許的運行時間,通常稱之為時間片。RR 調度采用一種霸道但公平的思想,即剝奪策略。在系統(tǒng)運行過程中按照先到先得的原則排隊,等待接收CPU 的指令。當?shù)谝粋€時間片運行完畢后,計時器會發(fā)出中斷請求,這時程序就會停止執(zhí)行并將其送往隊尾。然后繼續(xù)給下一個或新進的隊首發(fā)出指令執(zhí)行下一個時間片。考慮到該項目成本較低且較簡單,故不使用嵌入式操作系統(tǒng)。此外,由于每個任務量都不大,我們還可以簡化算法,將各任務依次 流水 執(zhí)行即可。
本文系統(tǒng)中CPU 為STM32F103RBT6。我們需要執(zhí)行的主要任務大致包括輪詢掃描感應區(qū)是否出現(xiàn)CPU 智能卡、處理來自上位機的指令、按鍵輸入掃描任務。所以此處輪詢是指處理器需要不斷地詢問掃描各個任務,看是否有任務滿足執(zhí)行條件,一旦確定,將在一個時間段內執(zhí)行該任務,進程結束后繼續(xù)重復掃描,執(zhí)行下一個任務。
3.2 射頻讀寫模塊軟件設計
射頻讀寫模塊是軟件系統(tǒng)中的重要組成部分,是讀卡器和 CPU 智能卡之間的信息橋梁,幫助兩者實現(xiàn)數(shù)據(jù)交換 [6]。工作流程如圖 3 所示。
4 結 語
隨著技術的不斷發(fā)展革新,人們對讀寫系統(tǒng)的安全性、便捷性、功能性要求越來越高,而智能卡也成為我們生活中不可或缺的一部分。非接觸式CPU 智能卡滿足了人們對卡的需求, 只需輕輕一揮,就能立即支付,非常方便。
隨著國家對IC 卡工程的大力支持,讀寫器終端必將發(fā)生巨大的變革并大力發(fā)展,其安全性會更高、功能更加豐富,可以滿足支付多樣性需求的讀寫器終端將如山洪般涌現(xiàn)[1]。