狄輝 王彬 郝永放 王飛
摘 要:上世紀,射頻技術的出現和快速發展,使卡的信息傳輸告別了傳統的接觸式方式,產生了非接觸式IC卡。為此,文中設計了一款以STM32為CPU,可實現非接觸式IC卡準確讀寫的系統。但需要說明的是,文中的研究僅針對Type A類型IC卡的讀寫終端。
關鍵詞:射頻識別;CPU智能卡;讀寫終端;ARM;人機交互
中圖分類號:TP393 文獻標識碼:A 文章編號:2095-1302(2018)04-0-02
0 引 言
伴隨著國家金卡工程的持續推進,在20多年的發展歷程中,中國金融IC卡事業不斷升級。基于射頻識別技術的各類智能卡早已滲透到我們生活的各個方面,小到個人的電話卡、信用卡,大到市民一卡通等,在這些技術方便我們生活的同時,消費者對于安全的渴求也越來越高。CPU卡內部芯片相當于一個微處理器,含有定制的COS操作系統,可執行嚴謹的加密運算,安全性高,靈活性強,儲存容量較大。
1 射頻識別技術
射頻識別(Radio Frequency Identification,RFID)通過空中信道獲取數據,讀寫相關目標,無需物理直接接觸、光學可視與人工干預即可完成信息的輸入和處理[1],是一種領先的非接觸式通信方式。在不同的領域,RFIID的構成有所不同,但一個典型的RFID系統需包括電子標簽、讀寫器和PC機(后臺應用軟件)等三部分。RFID系統基本組成如圖1所示。
RFID最大的優點是能夠實現非接觸式數據交互,通過電磁場傳輸信息,快速實現物物互聯。在整個通信過程中無需人為干預,可自動識別,彌補了傳統接觸式識別的不足。
2 硬件設計
硬件電路系統是本次設計的一個重點,需要確定整體思路。首先,根據項目和功能的需求,確定整體思路和設計框架;其次,運用模塊化思想進行分塊設計,明確哪些模塊可以拓展、改進;再次,根據硬件電路的設計思路繪制原理圖、電路圖和PCB等;最后對硬件進行調試和測試。
該硬件系統包含如下5個模塊:
(1)MCU控制模塊:該模塊主要負責各種信息的處理和功能拓展,由芯片、電源、復位電路、振蕩電路等組成。
(2)射頻讀寫模塊:該模塊為系統的核心模塊,負責實現與非接觸CPU卡的通信,由射頻收發芯片的應用電路和天線線圈組成。
(3)與上位機的通信模塊:該模塊用以實現讀寫終端與PC機的通信。
(4)外部拓展模塊:包括外部拓展的E2,FLASH模塊等。
(5)人機交互模塊:包括LCD顯示屏部分和鍵盤等。
硬件系統總體框圖如圖2所示。
2.1 微控制器模塊
相較于8位單片機,32位的高性能ARM處理器擁有更高的通信效率、更多可擴展外設、更強的控制能力,因此STM32系列MCU主控制器成為了本系統的首選,Coetex-M3內核具有較高的性能、較高的代碼密度、實時性較好,方便使用,憑借其超低功耗等優點使得CM3成為理想的微處理器。
CM3采用的是哈弗結構而非馮·諾依曼結構體系,所以其數據和指令總線各自獨立,互不干擾,可實現并行獨立的取指和數據訪問,極大地改善了運行速度和性能。CM3內核中的嵌套向量中斷控制器,即NVIC(Nested Vector Interrupt Controller,NVIC),可以使終端的響應速度變快。
2.2 射頻讀寫模塊
對比了成本、封裝類型、開發復雜度、代碼移植性等多種因素,本文以具有較強兼容性和穩定性的由NXP半導體公司研發的RC632芯片作為射頻收發芯片的首選[2]。
2.3 與上位機的通信模塊
USB的中文名為“通用串行總線”,考慮到產品的可移植性、適用性等因素,設計了與上位機通信的USB通信電路[3]。USB具有以下優點:
(1)應用較廣泛。USB即通用串行總線,是目前我們最常用也是市場上應用最廣的一種外部通信總線。日常生活中,從電腦PC機到鍵盤音箱鼠標,甚至到大部分機械設備都會配備USB接口。目前為止,我們所見到的USB接口大多為2.0和3.0版本規范,該規范是由Intel公司和微軟公司聯合提出的一種標準,目的在于規范USB和PC等設備之間的通信。
(2)應用便捷。其熱插拔和即插即用的特性完全滿足了人們對設備使用方便靈活的需求。
(3)傳輸較快。USB2.0接口標準的理論傳輸速度可達480 Mbit/s,遠超普通串口的傳輸速度(9 600 bit/s) [4]。
2.4 人機交互模塊
2.4.1 LCD顯示模塊
本文的液晶顯示屏采用KD240IT002[5]。屏幕尺寸為2.4英寸,控制器采用經典的ILI9341,擁有標準的37Pin通用接口,分辨率為320×240,支持90°,180°,270°,360°四個顯示方向。為了在滿足性能要求的前提下節省I/O 口資源,我們采用8線并口方式。
2.4.2 鍵盤電路模塊
出于安全角度的考量,在每張卡片扣款前,必須先輸入密碼以校驗其合法性,因此鍵盤電路必不可少。同時考慮到設計的便捷性與壓縮成本,我們采用4×4薄膜鍵盤,它獨立于MCU主控電路模塊,用8根線即可控制16個按鍵。
3 系統軟件設計
系統軟件設計主要包括控制模塊的軟件程序設計、射頻讀寫模塊的軟件設計、人機交互模塊的軟件設計、與上位機通信模塊以及PC端后臺應用軟件的設計。
3.1 軟件設計概要
我們選擇“時間片輪轉調度算法”實現該功能。
時間片輪轉調度算法也稱為RR調度,是一種非常簡單實用的算法。時間片是該算法的重要概念,該算法為每個進程分配了一個時間段,該時間段代表了該進程能被允許的運行時間,通常稱之為時間片。RR調度采用一種霸道但公平的思想,即剝奪策略。在系統運行過程中按照先到先得的原則排隊,等待接收CPU的指令。當第一個時間片運行完畢后,計時器會發出中斷請求,這時程序就會停止執行并將其送往隊尾。然后繼續給下一個或新進的隊首發出指令執行下一個時間片。考慮到該項目成本較低且較簡單,故不使用嵌入式操作系統。此外,由于每個任務量都不大,我們還可以簡化算法,將各任務依次“流水”執行即可。
本文系統中CPU為STM32F103RBT6。我們需要執行的主要任務大致包括輪詢掃描感應區是否出現CPU智能卡、處理來自上位機的指令、按鍵輸入掃描任務。所以此處輪詢是指處理器需要不斷地詢問掃描各個任務,看是否有任務滿足執行條件,一旦確定,將在一個時間段內執行該任務,進程結束后繼續重復掃描,執行下一個任務。
3.2 射頻讀寫模塊軟件設計
射頻讀寫模塊是軟件系統中的重要組成部分,是讀卡器和CPU智能卡之間的信息橋梁,幫助兩者實現數據交換[6]。工作流程如圖3所示。
4 結 語
隨著技術的不斷發展革新,人們對讀寫系統的安全性、便捷性、功能性要求越來越高,而智能卡也成為我們生活中不可或缺的一部分。非接觸式CPU智能卡滿足了人們對卡的需求,只需輕輕一揮,就能立即支付,非常方便。
隨著國家對IC卡工程的大力支持,讀寫器終端必將發生巨大的變革并大力發展,其安全性會更高、功能更加豐富,可以滿足支付多樣性需求的讀寫器終端將如山洪般涌現[1]。
參考文獻
[1]周曄,余曉松.RFID系統及其安全性問題研究[J].電腦知識與技術,2012(11): 7468-7471.
[2]宋巖.ARM Cortex-M3權威指南[M].北京:北京航空航天大學出版社,2009.
[3]朱炳瑞,裴煥斗,劉春力.基于RFID的單片機系統設計[J].電子世界,2013(1): 129-130.
[4]鐘志彬.基于單片機的USB設備的研究與設計[D].合肥:安徽農業大學,2010.
[5]韓斌.高速USB控制器的應用[J].成都信息工程學院學報,2004,19(4): 481-485.
[6]姜標,李昌群.液晶材料的發展[C].國際精細化工原料及中間體市場研討會暨全國精細化工原料及中間體行業協作組年會,2003: 1-9.
[7]溫麗.基于MSP430單片機的射頻IC卡讀寫系統研究設計與實現[D].武漢:武漢科技大學,2010.
[8]曾敬.時間片輪詢模式在構建單片機實時系統中的應用[J].智能計算機與應用,2010(2): 15-16.
[9]徐麗華.射頻識別卡讀寫模塊的設計與應用[D].蘇州:蘇州大學,2005.
[10]莫衛平.金融IC卡整合公共服務領域應用思考[J].金融科技時代,2013(12): 56-57.