0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

手機磁條卡讀卡器應(yīng)用終端的設(shè)計解決方案

電子設(shè)計 ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2020-02-07 08:03 ? 次閱讀

簡介

在現(xiàn)實生活中,磁卡是最常見的用來識別用戶的卡片,無論是國際標(biāo)準化組織還是中國國標(biāo)均對這種使用磁介質(zhì)的存儲技術(shù)制定了相關(guān)標(biāo)準。磁卡技術(shù)廣泛被商業(yè),政府,醫(yī)療等機構(gòu)所采用,但最大規(guī)模使用還是銀行發(fā)行的各種信用卡,借記卡等卡片。國際標(biāo)準化組織ISO發(fā)布了ISO 7811系列磁卡的國際標(biāo)準,從1995年發(fā)布第一版標(biāo)準后持續(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)

手機磁條卡讀卡器應(yīng)用終端的設(shè)計解決方案

1 硬件框圖

本設(shè)計包含硬件和軟件部分,其中軟件部分包括MCU側(cè)的固件以及智能手機側(cè)的應(yīng)用(安卓平臺)。如圖1,系統(tǒng)硬件由MCU,供電電路,磁頭信號調(diào)理電路,加密電路以及通訊電路構(gòu)成。

手機磁條卡讀卡器應(yīng)用終端的設(shè)計解決方案

圖1.硬件框圖

2 硬件設(shè)計

2.1 MCU

MCU采用MSP430F5310,供電范圍較寬(1.8V~3.6V),且運行功耗以及待機功耗均非常低。其運行在8MHz@3V 時功耗僅為195uA/MHz。具有多種工作模式,待機時僅1.1uA@3V(RAM保持),在此模式下可以實現(xiàn)快速啟動。另外該器件具有較大的RAM以及豐富的外設(shè),定時器資源較豐富。這些特點非常適合本應(yīng)用的特點即要求絕對的低功耗。

2.2 供電電路

供電電路的選擇比較多,如圖1中所示:可以利用智能手機的耳機接口獲得運行所需的電力,但是這種方式的限制是手機的硬件各不相同,耳機電路輸出功率從幾毫瓦到數(shù)十毫瓦不等。為了能夠讓設(shè)備工作,需要20毫瓦左右甚至更多的功率輸出,但是相當(dāng)多的手機的耳機電路無法輸出足夠的功率供本設(shè)備使用。為了兼容盡可能多的手機,較實際的做法是在設(shè)備內(nèi)置小型鋰電池或者紐扣電池,以相近的成本提供了較高的兼容性。當(dāng)設(shè)備整體功耗降低到幾毫瓦數(shù)量級時,使用一顆小型紐扣電池可以支持足夠的使用次數(shù)。本文的方案為通過耳機獲得電力和使用小型鋰電池兩種場合設(shè)計了相應(yīng)的電路,可以按照性能和成本需求選擇。

2.3 磁頭及磁卡介紹

2.3.1 磁頭

讀卡設(shè)備的核心部件就是磁頭,磁頭是將磁信號轉(zhuǎn)換為電信號的關(guān)鍵器件,只有將磁卡上的磁信號轉(zhuǎn)換成電信號,上面存儲的信息才能夠被讀取使用。磁頭主要由磁性材料以及盤繞在其上的線圈構(gòu)成,如圖2所示,當(dāng)有磁場的磁條通過磁頭時,因為磁頭磁性材料的磁阻較小,磁條磁場的磁力線會從磁頭磁性材料中通過,從而在磁頭線圈中感應(yīng)出電信號,這個信號被進一步放大以后就可以進行處理。

手機磁條卡讀卡器應(yīng)用終端的設(shè)計解決方案

圖2.磁卡讀取示意圖

2.3.2 磁卡

磁卡的讀取與以前廣泛使用的磁帶機相似,磁卡和磁帶都是使用磁場來保存變化的信號,也都是通過磁道與磁頭的相對運動以實現(xiàn)磁場到電場的轉(zhuǎn)換。如圖3,按照標(biāo)準規(guī)定,磁卡上最多可以有三個磁道,這三個磁道中一和二磁道是只讀磁道,第三個磁道是讀寫磁道。磁道中存儲的信息由標(biāo)準決定,使用哪些磁道受實際應(yīng)用需求決定。在國內(nèi)來說,銀行磁卡主要是信用卡和借記卡,除了一二磁道外,很多信用卡并未使用第三磁道,而大部分借記卡都會使用第三磁道。

手機磁條卡讀卡器應(yīng)用終端的設(shè)計解決方案

圖3.磁道分布示意圖

2.3.3 磁道

在磁道上覆蓋有磁性材料,當(dāng)需要寫入數(shù)據(jù)時,將磁頭線圈通電,電流按照信號變化,由電流產(chǎn)生的磁場將磁道磁化即可,是讀取的反向操作。本文只涉及的讀取操作,對寫入過程不做介紹。對于銀行卡來說,上面存儲的都是數(shù)字信號即“0”和“1”,數(shù)字信號是利用磁場的方向的變化和頻率的變化來表示的。

手機磁條卡讀卡器應(yīng)用終端的設(shè)計解決方案

圖4.磁條磁場分布示意圖

如圖4,是ISO-7811中對于磁條信號的規(guī)定。左邊是磁條表面實際磁場強度的分布情況,可以看到磁條上的磁場的方向始終在交替變化,即每一個數(shù)據(jù)位(bit)之間反向都是相反的。此外,為了表示“0”和“1”,標(biāo)準還規(guī)定在單位時間內(nèi)磁場方向變化一次為“0”,而在相同時間內(nèi)磁場方向變化兩次則為“1”。所以,ISO-7811 規(guī)定的信號編碼實際是基于頻率變化的,如圖4中的右側(cè)圖所示,每個位都攜帶了時鐘信息,不會產(chǎn)生累積誤差。

2.3.4 數(shù)據(jù)及編碼格式

從前面描述可知,在磁條上面可以有3個磁道,每個磁道都由一系列“0”和“1”構(gòu)成。ISO-7811規(guī)定下,這些“0”和“1”組成了一個個字符。不同磁條的編碼方式不同,本文只針對磁條2和磁道3,這兩個磁條的編碼格式相同如圖5所示。從表中可以看出,該編碼方式下只有16個可能的字符,即僅僅能表示數(shù)字和一些特定的控制字符如開始字符和結(jié)束字符等。該編碼用5個bit組成一個字符,最高位是奇校驗位,剩下4個位是字符本身。

手機磁條卡讀卡器應(yīng)用終端的設(shè)計解決方案

圖5.字符編碼格式

有了字符編碼,我們就可以在知道在磁條上面到底存放了什么信息。ISO-7811對于磁條的高層應(yīng)用格式也做了規(guī)定如圖6.一個磁道的數(shù)據(jù)以字符“SF”(即“;”)開始,以“EF”字符(即“?”)結(jié)束。最后一個字符“LRC”是校驗碼,也由5個bit組成。該校驗碼的每一個bit都是由前述所有字符的相應(yīng)bit的奇校驗得到,所以磁條上的數(shù)據(jù)是進行了雙重奇校驗。

手機磁條卡讀卡器應(yīng)用終端的設(shè)計解決方案

圖6.磁條數(shù)據(jù)格式

2.4 通訊接口

當(dāng)我們完成了卡片的讀取后,需要將加密處理后的卡片信息發(fā)送到上層軟件進一步處理,本文中的上層軟件就是智能手機系統(tǒng)如Android/iOS中的應(yīng)用程序。由于手機的通信接口有限,目前大都是使用耳機插孔做為接口,這是每臺智能手機一定會具備的基本硬件。由于歷史原因,帶有話筒功能的耳機插孔的信號排布并未被標(biāo)準化,造成了所謂的“正向”和“反向”接口之分。如圖7,左右是兩個不同型號手機配備的耳機信號定義,主要區(qū)別是話筒和地線的互換了位置。至于哪個是“正”哪個是“反”,是沒有定義的也是無所謂的。

手機磁條卡讀卡器應(yīng)用終端的設(shè)計解決方案

圖7.耳機接口定義:正向和反向

2.4.1 手機發(fā)送信息給終端

當(dāng)手機內(nèi)的應(yīng)用軟件運行后,會通過耳機發(fā)送音頻信號給終端,可以通過左聲道或者右聲道,信號由終端接收并解碼。

2.4.2 終端發(fā)送信息給手機

當(dāng)終端有信息需要與手機通信時,由于手機的耳機是手機的輸出設(shè)備,只能利用手機的話筒進行。該通信過程是通過話筒發(fā)送音頻信號給手機應(yīng)用軟件,并由軟件接收解碼。

軟件系統(tǒng)

本設(shè)計軟件部分包括單片機中的固件以及運行在智能手機操作系統(tǒng)中的應(yīng)用軟件,通過自定的通信協(xié)議進行通信及應(yīng)答,以實現(xiàn)從刷卡到卡片信息傳遞的任務(wù)。

3 固件框圖

手機磁條卡讀卡器應(yīng)用終端的設(shè)計解決方案

圖8.軟件架構(gòu)

4 固件設(shè)計目標(biāo)

本應(yīng)用面向微型低功耗讀卡器,對于功耗非常敏感,故必須盡可能降低主MCU自身的功耗。降低MCU功耗既要充分利用MSP430F系列單片機所具備的低功耗特質(zhì),如多種工作模式,智能外設(shè)等,有關(guān)這方面的應(yīng)用數(shù)不勝數(shù),這里不在贅述;更重要的另一方面,也要從降低解碼時的主頻入手,盡量減少正常工作時的能量的損耗。

對于刷卡器而言,要求能夠穩(wěn)定的讀取卡片內(nèi)容,適應(yīng)不同的刷卡速度,同時也要能夠同時讀出兩個磁道(磁道2和磁道3)的內(nèi)容。

5 磁頭信號的軟解碼

為了讀取磁卡中的內(nèi)容并轉(zhuǎn)換成協(xié)議規(guī)定的字符,我們需要對磁頭信號進行調(diào)理放大,然后通過MSP430F5310 單片機的ADC單元進行實時轉(zhuǎn)換分析,并最終得到相應(yīng)的數(shù)據(jù)流。

首先,我們要了解磁頭信號是什么樣子的。圖-9是一段真實的信號,這個經(jīng)放大后的磁頭感應(yīng)信號擁有與磁條磁場類似的波形。從前面對ISO-7811的介紹中我們知道,這些交變的信號就隱藏著我們需要的信息。

手機磁條卡讀卡器應(yīng)用終端的設(shè)計解決方案

圖 9. 調(diào)理放大后的磁條信號

利用ADC,我們可以對這些波形進行實時采樣,并計算分析這些電流脈沖之間的時間。而這些時間間隔的長短就成了我們判斷“0”或者“1”的依據(jù)。一旦能夠確定這些“0”“1”組合,根據(jù)圖5中的表格,我們可以最終知道在一張磁卡上到底隱藏了什么內(nèi)容。

6 與手機軟件通信

最終我們需要將磁卡中的內(nèi)容發(fā)送給上位機,這里就是發(fā)送給手機端的軟件,通過耳機插孔。當(dāng)然在傳送這些賬戶信息之前,很可能我們需要對這些信息進行加密處理,可以使用包括RSA,3DES等各種方法,本設(shè)計并未實現(xiàn)此功能。

6.1.1 通信格式

通信格式由設(shè)計者定義,以下為本應(yīng)用筆記自定義的格式。

如圖-10所示,通信過程中,使用不同的脈寬表示數(shù)位的“0”和“1”。其頻率分別是2.2KHz(“0”)及 1.1KHz(”1”),占空比固定為100%。終端和手機應(yīng)用軟件均使用相同的格式。

手機磁條卡讀卡器應(yīng)用終端的設(shè)計解決方案

圖10.通信的位格式

有了位格式定義,終端和應(yīng)用軟件之間的高層命令幀格式也可以制定。本參考設(shè)計使用如圖-11中所示數(shù)據(jù)幀格式:首字節(jié)為命令,且以“1”開始,高位在前。第二個字節(jié)為后續(xù)數(shù)據(jù)中包含的字符(4bit)長度。

手機磁條卡讀卡器應(yīng)用終端的設(shè)計解決方案

圖11.命令幀格式

在真正的產(chǎn)品設(shè)計中,由于所有的數(shù)據(jù)需要加密后才能發(fā)送給上層應(yīng)用軟件,所以實際的數(shù)據(jù)/命令幀格式一定會有所區(qū)別。此外,為了確保通信正確,也可以附加校驗碼如CRC16等。

7 智能手機人機界面(GUI)的實現(xiàn)

如圖12所示,為了配合評估板我們開發(fā)了針對智能手機平臺的應(yīng)用程序,該程序已經(jīng)在基于Android 2.3和Android 4.0的手機上測試及完成預(yù)期功能。

圖12中左側(cè)是刷卡界面,當(dāng)軟件檢測到讀卡器插入后,可以開始進行讀卡操作。右側(cè)圖是讀卡器讀卡結(jié)束后返回的卡片兩個磁道的信息,如果讀卡失敗,也會得到相應(yīng)提示。

圖12.Android 上的GUI

8 功耗測試

本設(shè)計的一個最重要的目標(biāo)就是功耗,在能夠保證刷卡性能的前提下,需要盡可能降低系統(tǒng)功耗。由于在待機(或休眠)模式下,MSP430具有無可比擬的低功耗優(yōu)勢,這一點無需在本測試中檢驗。本測試只針對刷卡時的最大功耗,該功耗由三部分構(gòu)成即:MCU,運放以及相應(yīng)的外圍電路如上下拉通信電路等。此外,減小運行功耗的最直接的方法是降低主頻,但是這個做法受限于正常功能實現(xiàn)對MCU 的MIPS需求。本設(shè)計要求MSP430工作頻率最低為8MHz,故本測試只針對于8MHz主頻和16MHz主頻,實際功耗數(shù)據(jù)如下:

8.1測試環(huán)境

工作主頻:8MHz/16MHz

主時鐘源:使用內(nèi)部DCO時鐘輸出

工作電壓:3.3VDC

ADC:10位模式,100ksps/200ksps

測試對象:MSP430, 運放電路,輔助電路

8.2 測試結(jié)果

在讀卡過程中,8MHz主頻和16MHz主頻時,消耗的電流分別為1.956mA和3.482mA。其中運放部分功耗約0.3mA,輔助部分約0.02mA.所以實測MCU在8MHz時的功耗約為200uA/MIPS,這和數(shù)據(jù)手冊中的基本一致。

如果需要更低的運行功耗和保密特性,需要使用TI最新的MSP430RF鐵電系列產(chǎn)品,其運行功耗可以低至100uA/MIPS,在此配置下,本設(shè)計相關(guān)的電路消耗電流可以達到1~2mA,且安全性能更加有保障。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16669

    瀏覽量

    347840
  • 手機
    +關(guān)注

    關(guān)注

    34

    文章

    6792

    瀏覽量

    156701
  • 讀卡器
    +關(guān)注

    關(guān)注

    2

    文章

    407

    瀏覽量

    39210
收藏 人收藏

    評論

    相關(guān)推薦

    無線手持磁條卡信息終端設(shè)計

    磁條卡是一種使用磁性物質(zhì)制成的標(biāo)識。由于磁條卡具有攜帶方便,價格低廉,便于普及等優(yōu)點,已經(jīng)廣泛應(yīng)用于銀行、會員、醫(yī)療就診
    發(fā)表于 03-21 11:46 ?1774次閱讀
    無線手持<b class='flag-5'>磁條卡</b>信息<b class='flag-5'>終端</b>設(shè)計

    各類POS機、讀卡器等電子支付產(chǎn)品訂制開發(fā)生產(chǎn)以及提供全套方案。

    ,同時也提供POS機軟硬件訂制開發(fā),以及全套技術(shù)解決方案。  1、提供POS機、讀卡器等產(chǎn)品按需設(shè)計生產(chǎn),提供OEM,ODM。  2、提供完整解決方案,包括多種開發(fā)
    發(fā)表于 06-01 21:04

    手持POS機、讀卡器等電子支付產(chǎn)品訂制開發(fā)生產(chǎn)以及提供全套方案。

    ,以及全套技術(shù)解決方案。  1、提供POS機、讀卡器等產(chǎn)品按需設(shè)計生產(chǎn),提供OEM,ODM。  2、提供完整解決方案,包括多種開發(fā)平臺的底層驅(qū)動開發(fā)以及POS終端
    發(fā)表于 06-01 21:06

    磁條卡信號的放大

    請教下各位模擬高手,磁條卡信號的放大電路。小弟初接觸這塊,沒有相關(guān)經(jīng)驗,希望有相關(guān)經(jīng)驗的朋友們多多指教。不甚感激。
    發(fā)表于 09-06 15:43

    極具成本效益的磁卡讀卡器設(shè)計

    使用的磁條卡?! ∽x取磁條卡除了需要解碼數(shù)據(jù)的數(shù)字邏輯外還要求很重要的模擬電路。在磁卡上記錄數(shù)據(jù)是數(shù)字化的過程,通過沿著磁條長度磁化粒子完成。而成功讀取磁卡具有相當(dāng)大的挑戰(zhàn)性,因為在實際應(yīng)用中傳感
    發(fā)表于 11-12 16:05

    請問磁條卡的安全性與保密性怎么樣?

    磁條卡的安全性與保密性怎么樣?
    發(fā)表于 08-17 06:45

    分享一款不錯的手機磁條卡讀卡器參考設(shè)計應(yīng)用報告

    分享一款不錯的手機磁條卡讀卡器參考設(shè)計應(yīng)用報告
    發(fā)表于 05-18 06:10

    sd讀卡器原理圖

    sd讀卡器原理圖
    發(fā)表于 02-02 22:05 ?1967次下載
    sd<b class='flag-5'>卡</b><b class='flag-5'>讀卡器</b>原理圖

    基于ARM的射頻IC讀卡器設(shè)計

    本文根據(jù)TCP/IP 網(wǎng)絡(luò)中讀卡器的訪問需求,提出基于ARM 的射頻IC 讀卡器的設(shè)計方案,并給出了詳細的設(shè)計過程
    發(fā)表于 09-12 16:58 ?63次下載

    芯片磁條卡有什么區(qū)別_芯片磁條卡哪個好

    本文開始介紹了芯片卡特點和芯片的標(biāo)準,其次介紹了磁條卡概念、優(yōu)缺點以及磁條卡的分類,最后介紹了芯片磁條卡的區(qū)別及分析了芯片
    的頭像 發(fā)表于 04-08 09:32 ?14.4w次閱讀

    磁卡讀卡器方案介紹

    磁條卡讀卡器方案現(xiàn)場演示
    的頭像 發(fā)表于 08-16 01:02 ?4320次閱讀

    磁條卡和芯片有什么區(qū)別

    保護好數(shù)據(jù)加密保護,并且在使用保護上采取個人密碼、與讀寫雙向認證。芯片復(fù)制的難度極高,具備很強的抗攻擊能力。金融IC的穩(wěn)定性也比磁條卡
    的頭像 發(fā)表于 02-14 14:39 ?3.6w次閱讀

    DS5250與磁條讀卡器接口

    本應(yīng)用筆記解釋了如何在DS5250安全微控制上輕松實現(xiàn)磁條卡讀取和解碼。本文還演示了如何開發(fā)將磁條卡讀取功能與安全微控制的更高級別安全性和加密功能相結(jié)合的應(yīng)用。本例使用DS5250
    的頭像 發(fā)表于 01-11 09:49 ?1028次閱讀
    DS5250與<b class='flag-5'>磁條</b><b class='flag-5'>讀卡器</b>接口

    手機磁條卡讀卡器的實現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《手機磁條卡讀卡器的實現(xiàn).pdf》資料免費下載
    發(fā)表于 11-08 15:54 ?0次下載
    <b class='flag-5'>手機</b><b class='flag-5'>磁條卡</b><b class='flag-5'>讀卡器</b>的實現(xiàn)

    TI智能手機銀行讀卡器方案數(shù)據(jù)手冊

    電子發(fā)燒友網(wǎng)站提供《TI智能手機銀行讀卡器方案數(shù)據(jù)手冊.rar》資料免費下載
    發(fā)表于 11-10 09:35 ?0次下載
    TI智能<b class='flag-5'>手機</b>銀行<b class='flag-5'>卡</b><b class='flag-5'>讀卡器</b><b class='flag-5'>方案</b>數(shù)據(jù)手冊