在現(xiàn)實生活中,磁卡是最常見的用來識別用戶的卡片,無論是國際標準化組織還是中國國標均對這種使用磁介質(zhì)的存儲技術(shù)制定了相關(guān)標準。磁卡技術(shù)廣泛被商業(yè),政府,醫(yī)療等機構(gòu)所采用,但最大規(guī)模使用還是銀行發(fā)行的各種信用卡,借記卡等卡片。國際標準化組織ISO發(fā)布了ISO 7811系列磁卡的國際標準,從1995年發(fā)布第一版標準后持續(xù)再修訂和增加內(nèi)容,涵蓋了從機械結(jié)構(gòu)到存儲方式以及數(shù)據(jù)格式等一系列的內(nèi)容。
以前的銀行系統(tǒng)中,讀取卡片的工作主要交給收銀機或者ATM以及銷售終端來完成,這些設(shè)備都是由商家提供的,維護成本較高。這一切隨2009年出現(xiàn)在美國的方形支付(square)而出現(xiàn)改變,方形支付使用非常廉價的小型終端,這些終端非常小巧,售價低廉甚至免費提供給客戶,利用客戶的智能手機進行銀行交易。僅僅2年時間,這一新的商業(yè)形式得到大規(guī)模發(fā)展,并且在國內(nèi)出現(xiàn)了多家類似生產(chǎn)廠商且已經(jīng)成功推出一系列產(chǎn)品。因為這種商業(yè)模式中重頭還是在網(wǎng)銀平臺支持,本參考設(shè)計僅關(guān)注終端本身的設(shè)計。
硬件系統(tǒng)1 硬件框圖
本設(shè)計包含硬件和軟件部分,其中軟件部分包括MCU側(cè)的固件以及智能手機側(cè)的應用(安卓平臺)。如圖1,系統(tǒng)硬件由MCU,供電電路,磁頭信號調(diào)理電路,加密電路以及通訊電路構(gòu)成。
圖1.硬件框圖 2 硬件設(shè)計 2.1 MCU
MCU采用MSP430F5310,供電范圍較寬(1.8V~3.6V),且運行功耗以及待機功耗均非常低。其運行在8MHz@3V 時功耗僅為195uA/MHz。具有多種工作模式,待機時僅1.1uA@3V(RAM保持),在此模式下可以實現(xiàn)快速啟動。另外該器件具有較大的RAM以及豐富的外設(shè),定時器資源較豐富。這些特點非常適合本應用的特點即要求絕對的低功耗。
2.2 供電電路供電電路的選擇比較多,如圖1中所示:可以利用智能手機的耳機接口獲得運行所需的電力,但是這種方式的限制是手機的硬件各不相同,耳機電路輸出功率從幾毫瓦到數(shù)十毫瓦不等。為了能夠讓設(shè)備工作,需要20毫瓦左右甚至更多的功率輸出,但是相當多的手機的耳機電路無法輸出足夠的功率供本設(shè)備使用。為了兼容盡可能多的手機,較實際的做法是在設(shè)備內(nèi)置小型鋰電池或者紐扣電池,以相近的成本提供了較高的兼容性。當設(shè)備整體功耗降低到幾毫瓦數(shù)量級時,使用一顆小型紐扣電池可以支持足夠的使用次數(shù)。本文的方案為通過耳機獲得電力和使用小型鋰電池兩種場合設(shè)計了相應的電路,可以按照性能和成本需求選擇。
2.3 磁頭及磁卡介紹 2.3.1 磁頭讀卡設(shè)備的核心部件就是磁頭,磁頭是將磁信號轉(zhuǎn)換為電信號的關(guān)鍵器件,只有將磁卡上的磁信號轉(zhuǎn)換成電信號,上面存儲的信息才能夠被讀取使用。磁頭主要由磁性材料以及盤繞在其上的線圈構(gòu)成,如圖2所示,當有磁場的磁條通過磁頭時,因為磁頭磁性材料的磁阻較小,磁條磁場的磁力線會從磁頭磁性材料中通過,從而在磁頭線圈中感應出電信號,這個信號被進一步放大以后就可以進行處理。
圖2.磁卡讀取示意圖 2.3.2 磁卡
磁卡的讀取與以前廣泛使用的磁帶機相似,磁卡和磁帶都是使用磁場來保存變化的信號,也都是通過磁道與磁頭的相對運動以實現(xiàn)磁場到電場的轉(zhuǎn)換。如圖3,按照標準規(guī)定,磁卡上最多可以有三個磁道,這三個磁道中一和二磁道是只讀磁道,第三個磁道是讀寫磁道。磁道中存儲的信息由標準決定,使用哪些磁道受實際應用需求決定。在國內(nèi)來說,銀行磁卡主要是信用卡和借記卡,除了一二磁道外,很多信用卡并未使用第三磁道,而大部分借記卡都會使用第三磁道。
圖3.磁道分布示意圖 2.3.3 磁道
在磁道上覆蓋有磁性材料,當需要寫入數(shù)據(jù)時,將磁頭線圈通電,電流按照信號變化,由電流產(chǎn)生的磁場將磁道磁化即可,是讀取的反向操作。本文只涉及的讀取操作,對寫入過程不做介紹。對于銀行卡來說,上面存儲的都是數(shù)字信號即“0”和“1”,數(shù)字信號是利用磁場的方向的變化和頻率的變化來表示的。
圖4.磁條磁場分布示意圖
如圖4,是ISO-7811中對于磁條信號的規(guī)定。左邊是磁條表面實際磁場強度的分布情況,可以看到磁條上的磁場的方向始終在交替變化,即每一個數(shù)據(jù)位(bit)之間反向都是相反的。此外,為了表示“0”和“1”,標準還規(guī)定在單位時間內(nèi)磁場方向變化一次為“0”,而在相同時間內(nèi)磁場方向變化兩次則為“1”。所以,ISO-7811 規(guī)定的信號編碼實際是基于頻率變化的,如圖4中的右側(cè)圖所示,每個位都攜帶了時鐘信息,不會產(chǎn)生累積誤差。