極具成本效益的磁卡讀卡器設(shè)計(jì)
讀卡頭靈敏度:讀卡頭靈敏度取決于線圈匝數(shù)以及讀卡頭與磁條之間的間距。
本文引用地址:http://m.butianyuan.cn/article/275080.htm由于所有這些參數(shù)的影響,信號(hào)幅度可能在幾百個(gè)uV至幾十個(gè)mV之間變化。這個(gè)范圍可以用放大器進(jìn)行補(bǔ)償。但不能用固定增益放大器。當(dāng)劃卡速度很高,卡的質(zhì)量又很好時(shí),放大器輸出可以飽和到電源軌電壓。而當(dāng)信號(hào)飽和時(shí),用兩個(gè)連續(xù)峰值之間的時(shí)間差代表的信息將丟失。因此如實(shí)地放大傳感器信號(hào)、不至于使波形發(fā)生飽和或改變很重要。這就要求使用增益可配置的放大器,以便我們隨時(shí)調(diào)整增益。要做到這一點(diǎn),系統(tǒng)必須能夠檢測(cè)信號(hào)變?nèi)醯臅r(shí)刻。這可以用跟蹤傳感器信號(hào)的ADC尋找近似的信號(hào)峰值來(lái)實(shí)現(xiàn)。
圖6顯示了一個(gè)完整的系統(tǒng)。最好將放大電路做成兩級(jí),用ADC接收第一級(jí)電路的輸出。這樣就無(wú)需高分辨率ADC,8位ADC就足以滿足這種應(yīng)用需求。第一級(jí)可以是固定增益的放大器,也可以是可變?cè)鲆娣糯笃?。第二?jí)是可變?cè)鲆娣糯笃?。CPU讀取ADC結(jié)果,并通過(guò)調(diào)整增益使第二級(jí)放大器的信號(hào)輸出達(dá)到最佳。第二級(jí)放大器的輸出送到峰值檢測(cè)器/磁滯比較器電路進(jìn)行峰值檢測(cè)。來(lái)自檢測(cè)器的脈沖輸出被饋送至定時(shí)器進(jìn)行時(shí)間差測(cè)量,然后由CPU解碼出1和0.
圖6:磁卡讀卡器框圖
至此仍然存在增益更新之前是否有數(shù)據(jù)丟失的問(wèn)題。為了避免這個(gè)問(wèn)題,磁卡的兩頭會(huì)用前導(dǎo)零進(jìn)行編碼以實(shí)現(xiàn)同步(這樣可以支持雙向劃卡)。這樣做的目的是使解碼器同步于劃卡速度。舉例來(lái)說(shuō),在磁道1中,共有約62個(gè)前導(dǎo)零。磁道1具有210個(gè)比特的數(shù)據(jù)密度。因此我們可以估算出劃卡速度為5 IPS時(shí)前導(dǎo)零將持續(xù)約60ms時(shí)間,劃卡速度為50 IPS時(shí)前導(dǎo)零將持續(xù)6ms.對(duì)另外兩個(gè)磁道來(lái)說(shuō)或多或少是相同的,如圖7所示。在人為劃卡時(shí)一開始就是50 IPS的劃卡速度是不可能,因此系統(tǒng)具有比6ms長(zhǎng)得多的時(shí)間來(lái)測(cè)量峰值并調(diào)整增益。圖8顯示了增益控制過(guò)程。
圖7:磁卡中三個(gè)磁道的內(nèi)容
需要注意的是,CPU在劃卡期間可能會(huì)持續(xù)精細(xì)調(diào)整增益以適應(yīng)變化的幅度。正常情況下,順著劃卡的方向,劃卡速度會(huì)增加,從而增加信號(hào)幅度。注意,在使用以恒定速度劃卡的自動(dòng)劃卡機(jī)時(shí)這個(gè)觀點(diǎn)是不正確的。
圖8:增益改變過(guò)程
實(shí)現(xiàn)磁卡讀卡器
圖9顯示了基于賽普拉斯PSoC 1的雙磁道磁卡讀卡器實(shí)現(xiàn)方案。PSoC 1處理器具有與8位處理器內(nèi)核集成在一起的可配置模擬和數(shù)字塊,在單顆芯片上集成了所有的功能。需要注意的是,圖中所示的無(wú)源器件是在處理器的外部。
圖9:PSoC 1磁卡讀卡器
由于傳感器信號(hào)可能是負(fù)的,因此必須用直流進(jìn)行偏置。在PSoC 1中,模擬信號(hào)可以以不同于電源地的地為參考。這個(gè)地被稱為模擬地(AGND),輸入信號(hào)被鉗位到這個(gè)模擬地。信號(hào)隨后用可編程增益放大器(PGA)進(jìn)行兩級(jí)放大。PGA是用連續(xù)時(shí)間模擬模塊實(shí)現(xiàn)的。它具有一個(gè)電阻陣列,當(dāng)配置為放大器時(shí)用于改變?cè)鲆?。增益可以被配置?至48之間18個(gè)選項(xiàng)之一。CY8C28243 PSoC 1集成了一個(gè)最大采樣速率為150ksps的10位SAR ADC.
CPU讀取ADC,然后控制放大器增益。放大后的信號(hào)送到磁滯比較器產(chǎn)生邊沿接近信號(hào)峰值的數(shù)字信號(hào)。CPU隨后必須調(diào)整放大器增益,使其閾值接近峰值但不超過(guò)峰值。這有助于避免磁卡發(fā)生抖動(dòng)時(shí)出現(xiàn)定時(shí)誤差。磁滯比較器輸出則送到定時(shí)器進(jìn)行脈沖寬度測(cè)量。CPU讀取定時(shí)器輸出,并解碼為邏輯1或0的數(shù)據(jù)。當(dāng)劃卡結(jié)束時(shí),CPU打包數(shù)據(jù)比特,檢查是否有錯(cuò)誤,然后通過(guò)I2C、SPI或UART接口將數(shù)據(jù)送給主機(jī)。
評(píng)論