專(zhuān)利名稱(chēng):磁卡數(shù)據(jù)的讀取方法、裝置及移動(dòng)pos機(jī)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于電子支付領(lǐng)域,尤其涉及一種磁卡數(shù)據(jù)的讀取方法、裝置及移動(dòng)POS 機(jī)。
背景技術(shù):
近年來(lái),隨著技術(shù)的成熟、3G移動(dòng)通信的快速發(fā)展,依托高端移動(dòng)互聯(lián)網(wǎng)絡(luò)和搭載智能平臺(tái)的手機(jī)終端的手機(jī)支付突破了時(shí)間和空間的限制,但在有些消費(fèi)領(lǐng)域,在固定的場(chǎng)所因?yàn)槭艿綀?chǎng)地和有線(xiàn)通訊線(xiàn)路的限制,POS的應(yīng)用受到制約,如水電煤氣等公共事業(yè)的繳費(fèi),大型商品展品展覽會(huì)購(gòu)物消費(fèi)、餐飲、娛樂(lè)場(chǎng)所等具有移動(dòng)特征的消費(fèi)、刷卡消費(fèi)很就很難實(shí)現(xiàn),近年來(lái)手機(jī)支付,手機(jī)錢(qián)包,手機(jī)一卡通等詞匯頻繁出現(xiàn),如何才能方便的實(shí)現(xiàn)移動(dòng)支付,足不出戶(hù),隨時(shí)隨地實(shí)現(xiàn)多種支付,成為討論的熱點(diǎn),無(wú)線(xiàn)通信作為一種方便高效的通信方式已經(jīng)被許多行業(yè)采用,移動(dòng)POS產(chǎn)品將傳統(tǒng)的POS機(jī)移植到智能手機(jī)/移動(dòng)智能平臺(tái)上,實(shí)現(xiàn)隨時(shí),隨地,隨身,方便銀行卡持卡人。移動(dòng)POS機(jī)節(jié)省了金融服務(wù)業(yè)投入成本。目前因?yàn)殂y行業(yè)在總體營(yíng)業(yè)網(wǎng)點(diǎn)資源不足;二是銀行從業(yè)人員資源不足;三是某些地區(qū)或店面?zhèn)鹘y(tǒng)POS機(jī)覆蓋不到;移動(dòng)POS機(jī)解決了這方面困難,為用持卡人供隨時(shí)、隨地的金融服務(wù),降低了成本。現(xiàn)有的移動(dòng)POS機(jī)通過(guò)過(guò)零點(diǎn)檢測(cè)方式來(lái)實(shí)現(xiàn)磁卡數(shù)據(jù)的讀取。在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)現(xiàn)現(xiàn)有技術(shù)的技術(shù)方案存在如下問(wèn)題現(xiàn)有技術(shù)的移動(dòng)POS機(jī)的過(guò)零點(diǎn)檢測(cè)方式實(shí)現(xiàn)方法簡(jiǎn)單,對(duì)于快速刷卡可以準(zhǔn)確讀出bit流,但是對(duì)于慢速刷卡,磁頭感應(yīng)時(shí)間過(guò)長(zhǎng)導(dǎo)致產(chǎn)生大量噪聲,噪聲值在零點(diǎn)附近變化,導(dǎo)致解碼錯(cuò)誤,解碼錯(cuò)誤率高。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提供一種磁卡數(shù)據(jù)的讀取方法,旨在解決現(xiàn)有的技術(shù)方案解碼錯(cuò)誤率高的問(wèn)題。本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種磁卡數(shù)據(jù)的讀取方法,所述方法包括獲取磁卡數(shù)據(jù)的波形;獲取波形信號(hào)中第一個(gè)最大值和第一個(gè)最小值之間的距離,根據(jù)該確定采樣間隔;以第一異號(hào)區(qū)域的右邊界為基準(zhǔn)在采樣間隔中提取波形信號(hào)的峰值;如獲取的相鄰峰值之間的距離位于間隔閾值內(nèi),則根據(jù)獲取的相鄰峰值之間的距離調(diào)整采樣間隔,并以下一異號(hào)區(qū)域的右邊界為基準(zhǔn)在調(diào)整采樣間隔中提取波形信號(hào)的峰值;如獲取的相鄰峰值之間的距離不位于間隔閾值,則以下一異號(hào)區(qū)域的右邊界為基準(zhǔn)在采樣間隔中提取波形信號(hào)的峰值;根據(jù)波形信號(hào)的峰值之間的距離獲取磁卡數(shù)據(jù);其中,所述第一異號(hào)區(qū)域?yàn)榈谝粋€(gè)最大值和第一個(gè)最小值之間的區(qū)域;
所述下一異號(hào)區(qū)域?yàn)椴蓸娱g隔中相鄰異號(hào)峰值之間的區(qū)域。本發(fā)明另一方面還提供一種磁卡數(shù)據(jù)的讀取裝置,所述裝置包括波形單元,用于獲取磁卡數(shù)據(jù)的波形;間隔單元,用于獲取波形信號(hào)中第一個(gè)最大值和第一個(gè)最小值之間的距離,根據(jù)該確定采樣間隔;采樣單元,用于以第一異號(hào)區(qū)域的右邊界為基準(zhǔn)在采樣間隔中提取波形信號(hào)的峰值;所述采樣單元,還用于如獲取的相鄰峰值之間的距離位于間隔閾值內(nèi),則根據(jù)獲取的相鄰峰值之間的距離調(diào)整采樣間隔,并以下一異號(hào)區(qū)域的右邊界為基準(zhǔn)在調(diào)整采樣間隔中提取波形信號(hào)的峰值;如獲取的相鄰峰值之間的距離不位于間隔閾值,則以下一異號(hào)區(qū)域的右邊界為基準(zhǔn)在采樣間隔中提取波形信號(hào)的峰值;數(shù)據(jù)單元,用于根據(jù)波形信號(hào)的峰值之間的距離獲取磁卡數(shù)據(jù);其中,所述第一異號(hào)區(qū)域?yàn)榈谝粋€(gè)最大值和第一個(gè)最小值之間的區(qū)域;所述下一異號(hào)區(qū)域?yàn)椴蓸娱g隔中相鄰異號(hào)峰值之間的區(qū)域。在本發(fā)明實(shí)施例中,本發(fā)明提供的技術(shù)方案對(duì)采樣距離設(shè)置成動(dòng)態(tài)調(diào)整的,所以其具有明顯降低了解碼錯(cuò)誤率的優(yōu)點(diǎn)。
圖1是本發(fā)明具體實(shí)施方式
提供的一種磁卡數(shù)據(jù)的讀取方法的流程圖;圖2是本發(fā)明實(shí)施例一提供一種磁卡數(shù)據(jù)的波形圖;圖3是本發(fā)明實(shí)施例一提供一種磁卡數(shù)據(jù)的波形圖和數(shù)字信號(hào)圖;圖4是本發(fā)明實(shí)施例一提供銀行卡的格式示意圖;圖5是本發(fā)明具體實(shí)施方式
還提供一種磁卡數(shù)據(jù)的讀取裝置的結(jié)構(gòu)圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明提供的一種磁卡數(shù)據(jù)的讀取方法,該方法如圖1所示,包括S11、獲取磁卡數(shù)據(jù)的波形;S12、獲取波形信號(hào)中第一個(gè)最大值和第一個(gè)最小值之間的距離Li,根據(jù)該Ll確定采樣間隔Al ;S13、以第一異號(hào)區(qū)域的右邊界為基準(zhǔn)在采樣間隔Al中提取波形信號(hào)的峰值;S14、如獲取的相鄰峰值之間的距離位于間隔閾值內(nèi),則根據(jù)獲取的峰值之間的距離L2調(diào)整采樣間隔A2,并以下一異號(hào)區(qū)域的右邊界為基準(zhǔn)在調(diào)整采樣間隔A2中提取波形信號(hào)的峰值;如獲取的相鄰峰值之間的距離不位于間隔閾值,則以下一異號(hào)區(qū)域的右邊界為基準(zhǔn)在采樣間隔Al中提取波形信號(hào)的峰值。S15、根據(jù)波形信號(hào)的峰值之間的距離獲取磁卡數(shù)據(jù)。需要說(shuō)明的是,上述第一異號(hào)區(qū)域具體可以為第一個(gè)最大值和第一個(gè)最小值之間區(qū)域,上述下一異號(hào)區(qū)域具體可以為在采樣間隔內(nèi)相鄰峰值之間的局域。上述第一異號(hào)區(qū)域的右邊界具體可以為第一最小值點(diǎn)(即第一最小值的峰值)需要說(shuō)明的是,以第一異號(hào)區(qū)域的右邊界為基準(zhǔn)在采樣間隔Al中提取波形信號(hào)的峰值具體可以為以第一最小值點(diǎn)為采樣間隔的起始點(diǎn),然后以該起始點(diǎn)為基準(zhǔn)在采樣間隔Al中提取波形信號(hào)的峰值。另外,需要說(shuō)明的是,實(shí)現(xiàn)S15的方法具體可以為根據(jù)波形信號(hào)的峰值之間的距離獲取磁卡數(shù)據(jù)的數(shù)字信號(hào)值,如在一個(gè)采樣間隔內(nèi)獲取到兩個(gè)相同的值,則將該2個(gè)相同的值合并成一個(gè)值。例如,當(dāng)采樣間隔內(nèi)獲取到兩個(gè)相同的值1,則需要將兩個(gè)相同的值1合并成一個(gè)1,合并后的值1才是實(shí)際輸出的bit 值,當(dāng)獲取的相同值為0時(shí),不進(jìn)行相同值的合并。本發(fā)明提供的方法對(duì)采樣距離設(shè)置成動(dòng)態(tài)調(diào)整的,所以其具有明顯降低了解碼錯(cuò)誤率的優(yōu)點(diǎn)。相比于現(xiàn)有技術(shù)中的固定采樣距離,本發(fā)明的采樣距離變成了動(dòng)態(tài)調(diào)整,現(xiàn)有的采樣距離是固定的,在用戶(hù)刷卡時(shí)間比較慢時(shí),其相鄰峰值的距離可能直接大于該固定的采樣距離,這樣采用現(xiàn)有的固定采樣距離就有可能在采樣距離無(wú)法采樣到峰值,導(dǎo)致刷卡失敗,而本發(fā)明的采樣距離是實(shí)時(shí)調(diào)整的,其根據(jù)的原理是,根據(jù)我們提取上萬(wàn)份信號(hào)波形可以得知,相鄰峰值之間的距離有可能變化很大,例如用戶(hù)刷卡開(kāi)始慢,后面快,第一相鄰峰值之間的距離很大,而后面由于刷卡速度變快了,相鄰峰值之間的距離很小,或者用戶(hù)刷卡開(kāi)始快,后面慢,這樣第一相鄰峰值之間的距離有可能很小,而后面由于刷卡速度慢了,相鄰峰值之間的距離很大,但是我們通過(guò)提取上萬(wàn)分信號(hào)的波形可知,兩個(gè)相鄰的相鄰之間的距離的差別則沒(méi)有這么大,所以以這個(gè)為基礎(chǔ)我們將采樣距離做了調(diào)整,調(diào)整后的采樣距離基本不會(huì)出現(xiàn)在采樣距離內(nèi)提取不到峰值的情況,從而降低了解碼錯(cuò)誤率,所以其具有降低解碼錯(cuò)誤率的優(yōu)點(diǎn)??蛇x的,上述S15的方法具體可以為根據(jù)波形信號(hào)的脈沖峰值,獲取相鄰峰值之間的距離,依此距離可以判斷出波形疏密,然后根據(jù)該波形的疏密以及彼此的距離將波形轉(zhuǎn)換成bit流,然后對(duì)進(jìn)行bit流校驗(yàn),校驗(yàn)后,將二進(jìn)制的bit流數(shù)據(jù)轉(zhuǎn)換成十進(jìn)制顯示;該校驗(yàn)的具體方式可以為字節(jié)校驗(yàn)為奇偶校驗(yàn),幀校驗(yàn)為CRC(循環(huán)冗余校驗(yàn)Cyclic Redundancy Check)校驗(yàn)校驗(yàn)。需要說(shuō)明的是,上述采樣間隔的具體算法可以為采樣間隔A = K*相鄰峰值距離; 以上述為例,Al =K*L1 ;A2 = K*L2;其中K可以為采樣系數(shù),K的取值具體可以為大于1, 其中取值范圍可以?xún)?yōu)先選擇1. 15,1.25;另外,需要說(shuō)明的是,上述間隔閾值可以由用戶(hù)自行設(shè)定,當(dāng)然也可以計(jì)算得出,其具體的計(jì)算方法可以為間隔閾值e ML其中L為相鄰峰值距離,M為調(diào)整系數(shù),該M的取值可以為0. 7,1. 3。需要說(shuō)明的是,上述K的最優(yōu)取值為1.2,當(dāng)K取1.2時(shí),M的較優(yōu)取值范圍為0.8, 1. 2;通過(guò)實(shí)驗(yàn)表明,當(dāng)K = i. 2,M位于0. 8,1.2]區(qū)間時(shí),磁卡的數(shù)據(jù)出錯(cuò)率最低,比其他取值明顯降低了解碼錯(cuò)誤率。為了更好的說(shuō)明本發(fā)明的技術(shù)方案,下面以實(shí)施例來(lái)說(shuō)明具體的實(shí)現(xiàn)方案。實(shí)施例一本實(shí)施例一提供一種磁卡數(shù)據(jù)的讀取方法,本實(shí)施例實(shí)現(xiàn)的技術(shù)場(chǎng)景具體可以為本實(shí)施例讀取的磁卡數(shù)據(jù)的波形如圖2所示,其中,圖2中aO表示第一最大值和第一個(gè)最小值之間的距離;al表示在采樣區(qū)域內(nèi)一個(gè)異號(hào)區(qū)域,a2表示在采樣區(qū)域內(nèi)另一個(gè)異號(hào)區(qū)域,a3表示在采樣區(qū)域內(nèi)下一個(gè)異號(hào)區(qū)域;本實(shí)施例提供的方法具體如下由于磁頭經(jīng)過(guò)磁道上兩極性變化的區(qū)域時(shí)產(chǎn)生感應(yīng)電流極值點(diǎn),所以電流信號(hào)在臨界處發(fā)生跳變,因?yàn)殡姶鸥袘?yīng),會(huì)產(chǎn)生大量無(wú)效信號(hào),先要將這些無(wú)效信號(hào)濾除,否則將會(huì)產(chǎn)生編碼錯(cuò)誤,該磁條信號(hào)的波形圖如圖2所示,其中磁條卡引導(dǎo)位為0,取第一個(gè)最大值和第一個(gè)最小值之間的長(zhǎng)度為參考長(zhǎng)度aO,在軟件處理中,生成一個(gè)采樣間隔,其中該采樣間隔為可變的采樣間隔,此時(shí)采樣間隔具體可以為1. 2a0 ;以第一最大值(即第一異號(hào)區(qū)域的邊緣)為基準(zhǔn)在1. 2a0提取信號(hào)的峰值,這里假設(shè)提取到了獲取到了 al ;則判斷al 是否在間隔閾值內(nèi),假設(shè)這里的間隔閾值可以為
,al位于該間隔閾值內(nèi),則將采樣間隔調(diào)整到1. 2al,間隔閾值調(diào)整為
;然后al的邊緣為基準(zhǔn)在1. 2al 內(nèi)提取峰值信號(hào),這里得到a2、a3,a2、a3均不位于間隔閾值內(nèi),則采樣間隔不變,之后依次判斷提取峰值。另外,根據(jù)峰值獲取bit流的方式具體可以為如果峰值相近例如,al與 a0,如aO取的值為0,則接下來(lái)的下一位al為0,其中圖2信號(hào)換成原始bit流的表現(xiàn)形式可以如圖3所示,將原始bit流中兩個(gè)1合并代表真實(shí)數(shù)據(jù)位1。如圖2所示,通過(guò)脈沖峰值之間的距離判斷波形的疏密。aO是第一個(gè)參考距離,磁條卡數(shù)據(jù)前面幾位是前導(dǎo)0,因此參考距離aO代表0。如圖2所示,首先獲得第一個(gè)最大值所在位置x0,以及第一個(gè)最小值所在位置Xl, 求取兩相鄰異號(hào)峰值之間的距離a0,令參考距離D為a0,保存xl的符號(hào)狀態(tài)S (此時(shí)為最小值,即符號(hào)狀態(tài)S為負(fù));下一個(gè)采樣間隔從xl開(kāi)始,區(qū)間[xl,a0*k],k這里取值為1.2,因?yàn)镾為負(fù),因此在此區(qū)間獲得最正向脈沖峰值,并記錄x2,S (此處為正)求取al = x2-xl, 計(jì)算T = al/D,若T近似等于1,更新參考距離D為al。因?yàn)镾為正,所以在區(qū)間[x2,al*k] 內(nèi)求取負(fù)脈沖封值,并記錄x3,S (此處為負(fù)),因?yàn)門(mén) = a2/D近似等于0. 5,因此不更新參考距離D,參考距離D仍然為al ;x4,x5,x6類(lèi)同,不更新D,當(dāng)獲取x7時(shí),T = a6/D近似等于1,更新D為a6。另外,磁條卡上的記錄是按照IS007811的標(biāo)準(zhǔn)規(guī)定,其具體格式參見(jiàn)表1。在一條磁道中,每5個(gè)bit組成一個(gè)byte的數(shù)據(jù),pl,c4,c3,c2,cl,其中pi表示就校驗(yàn)位,cl_c4 表示數(shù)據(jù)位,可表示16種字符,在這些字符當(dāng)中含有10個(gè)阿拉伯?dāng)?shù)字和6個(gè)其他字符。磁道上的數(shù)據(jù)是邏輯取反的,即磁道上取到的為1的數(shù)據(jù),實(shí)際表示邏輯0。將取反后得到的數(shù)據(jù)的低四位加上0x30可以取到相應(yīng)ASIC碼。磁道上的數(shù)據(jù)可以大體分為6個(gè)部分,磁道開(kāi)始有一些冗余數(shù)據(jù),緊接著是起始標(biāo)志位,再者是數(shù)據(jù)區(qū),后是結(jié)束標(biāo)志位。在這以后是LRC(縱向冗余校驗(yàn)位),最后又是冗余數(shù)據(jù)區(qū)。二磁道從開(kāi)始標(biāo)志位到結(jié)束標(biāo)志位一共最多可以有40個(gè)數(shù)據(jù)。表1
權(quán)利要求
1.一種磁卡數(shù)據(jù)的讀取方法,其特征在于,所述方法包括 獲取磁卡數(shù)據(jù)的波形;獲取波形信號(hào)中第一個(gè)最大值和第一個(gè)最小值之間的距離,根據(jù)該確定采樣間隔; 以第一異號(hào)區(qū)域的右邊界為基準(zhǔn)在采樣間隔中提取波形信號(hào)的峰值; 如獲取的相鄰峰值之間的距離位于間隔閾值內(nèi),則根據(jù)獲取的相鄰峰值之間的距離調(diào)整采樣間隔,并以下一異號(hào)區(qū)域的右邊界為基準(zhǔn)在調(diào)整采樣間隔中提取波形信號(hào)的峰值; 如獲取的相鄰峰值之間的距離不位于間隔閾值,則以下一異號(hào)區(qū)域的右邊界為基準(zhǔn)在采樣間隔中提取波形信號(hào)的峰值;根據(jù)波形信號(hào)的峰值之間的距離獲取磁卡數(shù)據(jù);其中,所述第一異號(hào)區(qū)域?yàn)榈谝粋€(gè)最大值和第一個(gè)最小值之間的區(qū)域;所述下一異號(hào)區(qū)域?yàn)椴蓸娱g隔中相鄰異號(hào)峰值之間的區(qū)域。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述采樣間隔的距離可變,且采樣間隔= K*L ;其中K為采樣系數(shù),L為相鄰峰值距離。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述間隔閾值具體為 間隔閾值e ML ;M為調(diào)整系數(shù),L為相鄰峰值距離。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述Ke [1.15,1.25]。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述Me
。
6.一種磁卡數(shù)據(jù)的讀取裝置,其特征在于,所述裝置包括 波形單元,用于獲取磁卡數(shù)據(jù)的波形;間隔單元,用于獲取波形信號(hào)中第一個(gè)最大值和第一個(gè)最小值之間的距離,根據(jù)該確定采樣間隔;采樣單元,用于以第一異號(hào)區(qū)域的右邊界為基準(zhǔn)在采樣間隔中提取波形信號(hào)的峰值; 所述采樣單元,還用于如獲取的相鄰峰值之間的距離位于間隔閾值內(nèi),則根據(jù)獲取的相鄰峰值之間的距離調(diào)整采樣間隔,并以下一異號(hào)區(qū)域的右邊界為基準(zhǔn)在調(diào)整采樣間隔中提取波形信號(hào)的峰值;如獲取的相鄰峰值之間的距離不位于間隔閾值,則以下一異號(hào)區(qū)域的右邊界為基準(zhǔn)在采樣間隔中提取波形信號(hào)的峰值;數(shù)據(jù)單元,用于根據(jù)波形信號(hào)的峰值之間的距離獲取磁卡數(shù)據(jù); 其中,所述第一異號(hào)區(qū)域?yàn)榈谝粋€(gè)最大值和第一個(gè)最小值之間的區(qū)域; 所述下一異號(hào)區(qū)域?yàn)椴蓸娱g隔中相鄰異號(hào)峰值之間的區(qū)域。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述采樣間隔的距離可變,且采樣間隔= K*L ;其中K為采樣系數(shù),L為相鄰峰值距離;K e [1. 15,1. 25]。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述間隔閾值具體為 間隔閾值e ML ;M為調(diào)整系數(shù),L為相鄰峰值距離;M e
。
9.一種移動(dòng)POS機(jī),其特征在于,所述移動(dòng)POS機(jī)包括如權(quán)利要求6-8任一所述的磁卡數(shù)據(jù)的讀取裝置。
全文摘要
本發(fā)明適用于電子支付領(lǐng)域,提供了一種磁卡數(shù)據(jù)的讀取方法、裝置及移動(dòng)POS機(jī),該方法包括獲取磁卡數(shù)據(jù)的波形;獲取波形信號(hào)中第一個(gè)最大值和第一個(gè)最小值之間的距離,根據(jù)該確定采樣間隔;以第一異號(hào)區(qū)域的邊界為基準(zhǔn)在采樣間隔中提取波形信號(hào)的峰值;如獲取的相鄰峰值之間的距離位于間隔閾值內(nèi),則根據(jù)獲取的相鄰峰值之間的距離調(diào)整采樣間隔,并以下一異號(hào)區(qū)域的右邊界為基準(zhǔn)在調(diào)整采樣間隔中提取波形信號(hào)的峰值;如獲取的相鄰峰值之間的距離不位于間隔閾值,則以下一異號(hào)區(qū)域的右邊界為基準(zhǔn)在采樣間隔中提取波形信號(hào)的峰值;根據(jù)波形信號(hào)的峰值獲取磁卡數(shù)據(jù)。本發(fā)明提供的方法具有降低了解碼錯(cuò)誤率的優(yōu)點(diǎn)。
文檔編號(hào)G07G1/12GK102324012SQ20111024912
公開(kāi)日2012年1月18日 申請(qǐng)日期2011年8月26日 優(yōu)先權(quán)日2011年8月26日
發(fā)明者曾程, 韓昌雷 申請(qǐng)人:深圳盒子支付信息技術(shù)有限公司