手機(jī)磁條卡讀卡器參考設(shè)計(jì)應(yīng)用報(bào)告
蔣南
德州儀器半導(dǎo)體MCU SAE
簡(jiǎn)介
在現(xiàn)實(shí)生活中,磁卡是較常見(jiàn)的用來(lái)識(shí)別用戶的卡片,無(wú)論是國(guó)際標(biāo)準(zhǔn)化組織還是中國(guó)國(guó)標(biāo)均對(duì)這種使用磁介質(zhì)的存儲(chǔ)技術(shù)制定了相關(guān)標(biāo)準(zhǔn)。磁卡技術(shù)廣泛被商業(yè),政府,醫(yī)療等機(jī)構(gòu)所采用,但較大規(guī)模使用還是銀行發(fā)行的各種信用卡,借記卡等卡片。國(guó)際標(biāo)準(zhǔn)化組織ISO 發(fā)布了ISO 7811 系列磁卡的國(guó)際標(biāo)準(zhǔn),從1995 年發(fā)布第一版標(biāo)準(zhǔn)后持續(xù)再修訂和增加內(nèi)容,涵蓋了從機(jī)械結(jié)構(gòu)到存儲(chǔ)方式以及數(shù)據(jù)格式等一系列的內(nèi)容。
以前的銀行系統(tǒng)中,讀取卡片的工作主要交給收銀機(jī)或者 ATM 以及銷售終端來(lái)完成,這些設(shè)備都是由商家提供的,維護(hù)成本較高。這一切隨 2009 年出現(xiàn)在美國(guó)的方形支付(square)而出現(xiàn)改變,方形支付使用非常廉價(jià)的小型終端,這些終端非常小巧,售價(jià)低廉甚至免費(fèi)提供給客戶,利用客戶的智能手機(jī)進(jìn)行銀行交易。僅僅 2 年時(shí)間,這一新的商業(yè)形式得到大規(guī)模發(fā)展,并且在國(guó)內(nèi)出現(xiàn)了多家類似生產(chǎn)廠商且已經(jīng)成功推出一系列產(chǎn)品。因?yàn)檫@種商業(yè)模式中重頭還是在網(wǎng)銀平臺(tái)支持,本參考設(shè)計(jì)僅關(guān)注終端本身的設(shè)計(jì)。
硬件系統(tǒng)
1 硬件框圖
本設(shè)計(jì)包含硬件和軟件部分,其中軟件部分包括MCU 側(cè)的固件以及智能手機(jī)側(cè)的應(yīng)用(安卓平臺(tái))。如圖1,系統(tǒng)硬件由MCU,供電電路,磁頭信號(hào)調(diào)理電路,加密電路以及通訊電路構(gòu)成。
圖 1. 硬件框圖
2 硬件設(shè)計(jì)
2.1 MCU
MCU 采用MSP430F5310,供電范圍較寬(1.8V~3.6V),且運(yùn)行功耗以及待機(jī)功耗均非常低。其運(yùn)行在8MHz@3V 時(shí)功耗僅為195uA/MHz。具有多種工作模式,待機(jī)時(shí)僅1.1uA @ 3V (RAM保持),在此模式下可以實(shí)現(xiàn)快速啟動(dòng)。另外該器件具有較大的RAM 以及豐富的外設(shè),定時(shí)器資源較豐富。這些特點(diǎn)非常適合本應(yīng)用的特點(diǎn)即要求絕對(duì)的低功耗。
2.2 供電電路
供電電路的選擇比較多,如圖 1 中所示:可以利用智能手機(jī)的耳機(jī)接口獲得運(yùn)行所需的電力,但是這種方式的限制是手機(jī)的硬件各不相同,耳機(jī)電路輸出功率從幾毫瓦到數(shù)十毫瓦不等。為了能夠讓設(shè)備工作,需要20 毫瓦左右甚至更多的功率輸出,但是相當(dāng)多的手機(jī)的耳機(jī)電路無(wú)法輸出足夠的功率供本設(shè)備使用。為了兼容盡可能多的手機(jī),較實(shí)際的做法是在設(shè)備內(nèi)置小型鋰電池或者紐扣電池,以相近的成本提供了較高的兼容性。當(dāng)設(shè)備整體功耗降低到幾毫瓦數(shù)量級(jí)時(shí),使用一顆小型紐扣電池可以支持足夠的使用次數(shù)。本文的方案為通過(guò)耳機(jī)獲得電力和使用小型鋰電池兩種場(chǎng)合設(shè)計(jì)了相應(yīng)的電路,可以按照性能和成本需求選擇。
2.3 磁頭及磁卡介紹
2.3.1 磁頭
讀卡設(shè)備的核心部件就是磁頭,磁頭是將磁信號(hào)轉(zhuǎn)換為電信號(hào)的關(guān)鍵器件,只有將磁卡上的磁信號(hào)轉(zhuǎn)換成電信號(hào),上面存儲(chǔ)的信息才能夠被讀取使用。磁頭主要由磁性材料以及盤(pán)繞在其上的線圈構(gòu)成,如圖 2 所示,當(dāng)有磁場(chǎng)的磁條通過(guò)磁頭時(shí),因?yàn)榇蓬^磁性材料的磁阻較小,磁條磁場(chǎng)的磁力線會(huì)從磁頭磁性材料中通過(guò),從而在磁頭線圈中感應(yīng)出電信號(hào),這個(gè)信號(hào)被進(jìn)一步放大以后就可以進(jìn)行處理。
圖 2. 磁卡讀取示意圖
2.3.2 磁卡
磁卡的讀取與以前廣泛使用的磁帶機(jī)相似,磁卡和磁帶都是使用磁場(chǎng)來(lái)保存變化的信號(hào),也都是通過(guò)磁道與磁頭的相對(duì)運(yùn)動(dòng)以實(shí)現(xiàn)磁場(chǎng)到電場(chǎng)的轉(zhuǎn)換。 如圖3,按照標(biāo)準(zhǔn)規(guī)定,磁卡上較多可以有三個(gè)磁道,這三個(gè)磁道中一和二磁道是只讀磁道,第三個(gè)磁道是讀寫(xiě)磁道。磁道中存儲(chǔ)的信息由標(biāo)準(zhǔn)決定,使用哪些磁道受實(shí)際應(yīng)用需求決定。在國(guó)內(nèi)來(lái)說(shuō),銀行磁卡主要是信用卡和借記卡,除了一二磁道外,很多信用卡并未使用第三磁道,而大部分借記卡都會(huì)使用第三磁道。
圖 3. 磁道分布示意圖
2.3.3 磁道
在磁道上覆蓋有磁性材料,當(dāng)需要寫(xiě)入數(shù)據(jù)時(shí),將磁頭線圈通電,電流按照信號(hào)變化,由電流產(chǎn)生的磁場(chǎng)將磁道磁化即可,是讀取的反向操作。本文只涉及的讀取操作,對(duì)寫(xiě)入過(guò)程不做介紹。對(duì)于銀行卡來(lái)說(shuō),上面存儲(chǔ)的都是數(shù)字信號(hào)即“0”和“1”,數(shù)字信號(hào)是利用磁場(chǎng)的方向的變化和頻率的變化來(lái)表示的.
圖 4. 磁條磁場(chǎng)分布示意圖
如圖4,是ISO-7811 中對(duì)于磁條信號(hào)的規(guī)定。左邊是磁條表面實(shí)際磁場(chǎng)強(qiáng)度的分布情況,可以看到磁條上的磁場(chǎng)的方向始終在交替變化,即每一個(gè)數(shù)據(jù)位(bit)之間反向都是相反的。此外,為了表示“0”和“1”,標(biāo)準(zhǔn)還規(guī)定在單位時(shí)間內(nèi)磁場(chǎng)方向變化一次為“0”,而在相同時(shí)間內(nèi)磁場(chǎng)方向變化兩次則為“1”。所以,ISO-7811 規(guī)定的信號(hào)編碼實(shí)際是基于頻率變化的,如圖4 中的右側(cè)圖所示,每個(gè)位都攜帶了時(shí)鐘信息,不會(huì)產(chǎn)生累積誤差。
2.3.4 數(shù)據(jù)及編碼格式
從前面描述可知,在磁條上面可以有3 個(gè)磁道,每個(gè)磁道都由一系列“0”和“1”構(gòu)成。ISO-7811 規(guī)定下,這些“0”和“1”組成了一個(gè)個(gè)字符。不同磁條的編碼方式不同,本文只針對(duì)磁條2 和磁道3,這兩個(gè)磁條的編碼格式相同如圖5 所示。從表中可以看出,該編碼方式下只有16 個(gè)可能的字符,即僅僅能表示數(shù)字和一些特定的控制字符如開(kāi)始字符和結(jié)束字符等。該編碼用5 個(gè)bit 組成一個(gè)字符,較高位是奇校驗(yàn)位,剩下4 個(gè)位是字符本身。
圖 5. 字符編碼格式
有了字符編碼,我們就可以在知道在磁條上面到底存放了什么信息。ISO-7811 對(duì)于磁條的高層應(yīng)用格式也做了規(guī)定如圖6.一個(gè)磁道的數(shù)據(jù)以字符“SF”(即“;”)開(kāi)始,以“EF”字符(即“?”)結(jié)束。較后一個(gè)字符“LRC”是校驗(yàn)碼,也由5 個(gè)bit 組成。該校驗(yàn)碼的每一個(gè)bit 都是由前述所有字符的相應(yīng)bit 的奇校驗(yàn)得到,所以磁條上的數(shù)據(jù)是進(jìn)行了雙重奇校驗(yàn)。
圖 6. 磁條數(shù)據(jù)格式
2.4 通訊接口
當(dāng)我們完成了卡片的讀取后,需要將加密處理后的卡片信息發(fā)送到上層軟件進(jìn)一步處理,本文中的上層軟件就是智能手機(jī)系統(tǒng)如Android/iOS 中的應(yīng)用程序。 由于手機(jī)的通信接口有限,目前大都是使用耳機(jī)插孔做為接口,這是每臺(tái)智能手機(jī)一定會(huì)具備的基本硬件。由于歷史原因,帶有話筒功能的耳機(jī)插孔的信號(hào)排布并未被標(biāo)準(zhǔn)化,造成了所謂的“正向”和“反向”接口之分。如圖7,左右是兩個(gè)不同型號(hào)手機(jī)配備的耳機(jī)信號(hào)定義,主要區(qū)別是話筒和地線的互換了位置。至于哪個(gè)是“正”哪個(gè)是“反”,是沒(méi)有定義的也是無(wú)所謂的。
圖 7. 耳機(jī)接口定義:正向和反向
2.4.1 手機(jī)發(fā)送信息給終端
當(dāng)手機(jī)內(nèi)的應(yīng)用軟件運(yùn)行后,會(huì)通過(guò)耳機(jī)發(fā)送音頻信號(hào)給終端,可以通過(guò)左聲道或者右聲道,信號(hào)由終端接收并解碼。
2.4.2 終端發(fā)送信息給手機(jī)
當(dāng)終端有信息需要與手機(jī)通信時(shí),由于手機(jī)的耳機(jī)是手機(jī)的輸出設(shè)備,只能利用手機(jī)的話筒進(jìn)行。該通信過(guò)程是通過(guò)話筒發(fā)送音頻信號(hào)給手機(jī)應(yīng)用軟件,并由軟件接收解碼。
軟件系統(tǒng)
本設(shè)計(jì)軟件部分包括單片機(jī)中的固件以及運(yùn)行在智能手機(jī)操作系統(tǒng)中的應(yīng)用軟件,通過(guò)自定的通信協(xié)議進(jìn)行通信及應(yīng)答,以實(shí)現(xiàn)從刷卡到卡片信息傳遞的任務(wù)。
3 固件框圖
圖 8. 軟件架構(gòu)
4 固件設(shè)計(jì)目標(biāo)
本應(yīng)用面向微型低功耗讀卡器,對(duì)于功耗非常敏感,故必須盡可能降低主MCU 自身的功耗。降低MCU 功耗既要充分利用MSP430F 系列單片機(jī)所具備的低功耗特質(zhì),如多種工作模式,智能外設(shè)等,有關(guān)這方面的應(yīng)用數(shù)不勝數(shù),這里不在贅述;更重要的另一方面,也要從降低解碼時(shí)的主頻入手,盡量減少正常工作時(shí)的能量的損耗。
對(duì)于刷卡器而言,要求能夠穩(wěn)定的讀取卡片內(nèi)容,適應(yīng)不同的刷卡速度,同時(shí)也要能夠同時(shí)讀出兩個(gè)磁道(磁道2 和磁道3)的內(nèi)容。
5 磁頭信號(hào)的軟解碼
為了讀取磁卡中的內(nèi)容并轉(zhuǎn)換成協(xié)議規(guī)定的字符,我們需要對(duì)磁頭信號(hào)進(jìn)行調(diào)理放大,然后通過(guò)MSP430F5310 單片機(jī)的ADC 單元進(jìn)行實(shí)時(shí)轉(zhuǎn)換分析,并較終得到相應(yīng)的數(shù)據(jù)流。
首先,我們要了解磁頭信號(hào)是什么樣子的。圖-9 是一段真實(shí)的信號(hào),這個(gè)經(jīng)放大后的磁頭感應(yīng)信號(hào)擁有與磁條磁場(chǎng)類似的波形。從前面對(duì)ISO-7811 的介紹中我們知道,這些交變的信號(hào)就隱藏著我們需要的信息。
圖 9. 調(diào)理放大后的磁條信號(hào)
利用ADC,我們可以對(duì)這些波形進(jìn)行實(shí)時(shí)采樣,并計(jì)算分析這些電流脈沖之間的時(shí)間。而這些時(shí)間間隔的長(zhǎng)短就成了我們判斷“0”或者“1”的依據(jù)。一旦能夠確定這些“0”“1”組合,根據(jù)圖5 中的表格,我們可以較終知道在一張磁卡上到底隱藏了什么內(nèi)容。
6 與手機(jī)軟件通信
較終我們需要將磁卡中的內(nèi)容發(fā)送給上位機(jī),這里就是發(fā)送給手機(jī)端的軟件,通過(guò)耳機(jī)插孔。當(dāng)然在傳送這些賬戶信息之前,很可能我們需要對(duì)這些信息進(jìn)行加密處理,可以使用包括RSA,3DES 等各種方法,本設(shè)計(jì)并未實(shí)現(xiàn)此功能。
6.1.1 通信格式
通信格式由設(shè)計(jì)者定義,以下為本應(yīng)用筆記自定義的格式。
如圖-10 所示,通信過(guò)程中,使用不同的脈寬表示數(shù)位的“0”和“1”。其頻率分別是2.2KHz (“0”) 及 1.1KHz(”1”),占空比固定為100%。終端和手機(jī)應(yīng)用軟件均使用相同的格式。
圖 10. 通信的位格式
有了位格式定義,終端和應(yīng)用軟件之間的高層命令幀格式也可以制定。本參考設(shè)計(jì)使用如圖-11 中所示數(shù)據(jù)幀格式:首字節(jié)為命令,且以“1”開(kāi)始,高位在前。第二個(gè)字節(jié)為后續(xù)數(shù)據(jù)中包含的字符(4bit)長(zhǎng)度。
圖 11. 命令幀格式
在真正的產(chǎn)品設(shè)計(jì)中,由于所有的數(shù)據(jù)需要加密后才能發(fā)送給上層應(yīng)用軟件,所以實(shí)際的數(shù)據(jù)/命令幀格式一定會(huì)有所區(qū)別。此外,為了確保通信正確,也可以附加校驗(yàn)碼如CRC16 等。
7 智能手機(jī)人機(jī)界面(GUI)的實(shí)現(xiàn)
如圖12 所示,為了配合評(píng)估板我們開(kāi)發(fā)了針對(duì)智能手機(jī)平臺(tái)的應(yīng)用程序,該程序已經(jīng)在基于Android 2.3 和Android 4.0 的手機(jī)上測(cè)試及完成預(yù)期功能。
圖12 中左側(cè)是刷卡界面,當(dāng)軟件檢測(cè)到讀卡器插入后,可以開(kāi)始進(jìn)行讀卡操作。右側(cè)圖是讀卡器讀卡結(jié)束后返回的卡片兩個(gè)磁道的信息,如果讀卡失敗,也會(huì)得到相應(yīng)提示。
圖 12. Android 上的GUI
8 功耗測(cè)試
本設(shè)計(jì)的一個(gè)較重要的目標(biāo)就是功耗,在能夠保證刷卡性能的前提下,需要盡可能降低系統(tǒng)功耗。由于在待機(jī)(或休眠)模式下,MSP430 具有無(wú)可比擬的低功耗優(yōu)勢(shì),這一點(diǎn)無(wú)需在本測(cè)試中檢驗(yàn)。本測(cè)試只針對(duì)刷卡時(shí)的較大功耗,該功耗由三部分構(gòu)成即:MCU,運(yùn)放以及相應(yīng)的外圍電路如上下拉通信電路等。此外,減小運(yùn)行功耗的較直接的方法是降低主頻,但是這個(gè)做法受限于正常功能實(shí)現(xiàn)對(duì)MCU 的MIPS 需求。本設(shè)計(jì)要求MSP430 工作頻率較低為8MHz,故本測(cè)試只針對(duì)于8MHz 主頻和16MHz 主頻,實(shí)際功耗數(shù)據(jù)如下:
8.1 測(cè)試環(huán)境
工作主頻: 8MHz / 16MHz
主時(shí)鐘源:使用內(nèi)部DCO 時(shí)鐘輸出
工作電壓:3.3V DC
ADC: 10 位模式, 100ksps/200ksps
測(cè)試對(duì)象: MSP430, 運(yùn)放電路,輔助電路
8.2 測(cè)試結(jié)果
在讀卡過(guò)程中,8MHz 主頻和16MHz 主頻時(shí),消耗的電流分別為1.956mA 和3.482mA。其中運(yùn)放部分功耗約0.3mA,輔助部分約0.02mA.所以實(shí)測(cè)MCU 在8MHz 時(shí)的功耗約為200uA/MIPS,這和數(shù)據(jù)手冊(cè)中的基本一致。
如果需要更低的運(yùn)行功耗和保密特性,需要使用TI 較新的MSP430RF 鐵電系列產(chǎn)品,其運(yùn)行功耗可以低至100uA/MIPS,在此配置下,本設(shè)計(jì)相關(guān)的電路消耗電流可以達(dá)到1~2mA,且安全性能更加有保障。
參考資料
1. MSP430x5xx and MSP430x6xx Family USER’S GUIDE(SLAU208K)
2. ISO/IEC 7811-2
3. MSP430F530x, MSP430F5310 DATA SHEET(SLAS677B)
相關(guān)閱讀:
- ...·圖文詳解汽車儀表板背后的車規(guī)級(jí)安全設(shè)計(jì)要求
- ...·使用有安全保障的閃存存儲(chǔ)構(gòu)建安全的汽車系統(tǒng)
- ...·反向偏置差分線性傳感器的較新進(jìn)展和應(yīng)用
- ...·艾德克斯測(cè)評(píng)某品牌智能插座——待機(jī)功耗篇
- ...·三線電阻式溫度檢測(cè)器測(cè)量系統(tǒng)中勵(lì)磁電流失配的影響(續(xù))
- ...·三線電阻式溫度檢測(cè)器測(cè)量系統(tǒng)中勵(lì)磁電流失配的影響
- ...·RTD測(cè)量系統(tǒng)中勵(lì)磁電流失配的影響
- ...·藍(lán)牙BR/EDR 和 Bluetooth Smart的十大重要區(qū)別
- ...·IoT網(wǎng)關(guān)平臺(tái)與應(yīng)用
- ...·增強(qiáng)版ARM DesignStart:通向定制化SoC的較快、較低風(fēng)險(xiǎn)之路
- ...·實(shí)體零售轉(zhuǎn)型O2O,倉(cāng)儲(chǔ)物流的智能化水平從何提升?
- ...·幾種車用LED驅(qū)動(dòng)方案的比較
- ...·藍(lán)牙配對(duì)第二篇:密鑰生成方法
- ...·中電瑞華推出領(lǐng)先的無(wú)線數(shù)據(jù)采集解決方案
- ...·安森美半導(dǎo)體配合市場(chǎng)趨勢(shì)的無(wú)線充電方案
- ...·安森美半導(dǎo)體配合汽車照明設(shè)計(jì)趨勢(shì)的解決方案
- ...· “芯創(chuàng)杯”首屆高校未來(lái)汽車人機(jī)交互設(shè)計(jì)大賽報(bào)名正式啟動(dòng)
- ...· 探秘第二屆衛(wèi)藍(lán)山鷹“創(chuàng)新·共享”試驗(yàn)技術(shù)論壇!
- ...· “2018中國(guó)半導(dǎo)體生態(tài)鏈大會(huì)”在江蘇省盱眙舉行
- ...· 新主題新規(guī)劃,CITE 2019瞭望智慧未來(lái)
- ...· 從汽車到工廠,TI毫米波傳感器致力于創(chuàng)造更智能的世界
- ...· 意法半導(dǎo)體(ST)、Cinemo和Valens在CES 2018展上聯(lián)合演示汽車信息娛樂(lè)解決方案
- ...· 北京集成電路產(chǎn)業(yè)創(chuàng)新發(fā)展高峰論壇即將在京召開(kāi)
- ...· 三菱電機(jī)強(qiáng)勢(shì)出擊PCIM亞洲2017展
- ...· GPGPU國(guó)產(chǎn)替代:中國(guó)芯片產(chǎn)業(yè)的空白地帶
- ...· 物聯(lián)網(wǎng)產(chǎn)品設(shè)計(jì)中Wi-Fi連接的四個(gè)關(guān)鍵因素
- ...· 第三屆中國(guó)MEMS智能傳感器產(chǎn)業(yè)發(fā)展大會(huì)即將于蚌埠拉開(kāi)帷幕
- ...· IAIC專項(xiàng)賽演繹“中國(guó)芯“應(yīng)用創(chuàng)新,信息安全高峰論壇亮劍海寧
- ...· 智能控制有源鉗位反激
- ...· 解讀5G毫米波OTA 測(cè)試技術(shù)
- ...· 多個(gè)市場(chǎng)高速增長(zhǎng)推動(dòng)Molex加強(qiáng)汽車領(lǐng)域的發(fā)展
- ...· 中國(guó)綠色制造聯(lián)盟成立大會(huì)召開(kāi)在即 政產(chǎn)學(xué)研用共探綠色發(fā)展新模式
- ...· Efinix® 全力驅(qū)動(dòng)AI邊緣計(jì)算,成功推出Trion™ T20 FPGA樣品, 同時(shí)將產(chǎn)品擴(kuò)展到二十萬(wàn)邏輯單元的T200 FPGA
- ...· 英飛凌亮相進(jìn)博會(huì),引領(lǐng)智慧新生活
- ...· 三電產(chǎn)品開(kāi)發(fā)及測(cè)試研討會(huì)北汽新能源專場(chǎng)成功舉行
- ...· Manz亞智科技跨入半導(dǎo)體領(lǐng)域 為面板級(jí)扇出型封裝提供化學(xué)濕制程、涂布及激光應(yīng)用等生產(chǎn)設(shè)備解決方案
- ...· 中電瑞華BITRODE動(dòng)力電池測(cè)試系統(tǒng)順利交付北汽新能源
- ...· 中電瑞華FTF系列電池測(cè)試系統(tǒng)中標(biāo)北京新能源汽車股份有限公司
- ...· 中電瑞華大功率高壓能源反饋式負(fù)載系統(tǒng)成功交付中電熊貓
- ...· 中電瑞華國(guó)際在電動(dòng)汽車及關(guān)鍵部件測(cè)評(píng)研討會(huì)上演繹先進(jìn)測(cè)評(píng)技術(shù)
產(chǎn)品快訊更多
企業(yè)新聞更多
- ...· 數(shù)據(jù)采集終端系統(tǒng)設(shè)備
- ...· 簡(jiǎn)儀科技踏上新征程
- ...· 易靈思® 宣布 AEC-Q100 資質(zhì)認(rèn)證和汽車系列產(chǎn)品計(jì)劃
- ...· 易靈思® 宣布擴(kuò)充高性能 鈦金系列™ FPGA 產(chǎn)品 鈦金系列產(chǎn)品擴(kuò)充至包含 1M 邏輯單元的 FPGA
- ...· 易靈思® 宣布Trion® Titanium 在臺(tái)積電 (TSMC) 16納米工藝節(jié)點(diǎn)流片
- ...· TI杯2019年全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽頒獎(jiǎng)典禮在京舉行
- ...· BlackBerry QNX虛擬機(jī)獲得全球首個(gè)汽車安全完整性等級(jí)(ASIL) ‘D’認(rèn)證
- ...· 威馬汽車選擇BlackBerry助力下一代汽車