歡迎您訪(fǎng)問(wèn)鄭州興邦電子股份有限公司官方網(wǎng)站!
阿里巴巴誠(chéng)信通企業(yè)
全國(guó)咨詢(xún)熱線(xiàn):40000-63966
興邦電子,中國(guó)水控機(jī)第一品牌

聯(lián)系興邦電子

全國(guó)咨詢(xún)熱線(xiàn):40000-63966

售后:0371-55132951/55132952

工廠:河南省 鄭州市 高新區(qū)蓮花街電子電器產(chǎn)業(yè)園

H4001非接觸式IC卡讀卡程序的研究

文章出處:http://overnightmodel.com 作者:朱 偉、薛有為、高 玉   人氣: 發(fā)表時(shí)間:2011年10月24日

[文章內(nèi)容簡(jiǎn)介]:H4001非接觸式IC卡讀卡程序的研究

【摘 要】 介紹了基于P4095芯片的一種非接觸式IC卡(H4001)的讀卡機(jī)制,并提出了一種曼徹斯特碼的解碼方法。


  IC卡(Integrated Circuit Card)經(jīng)過(guò)20多年的發(fā)展,已廣泛應(yīng)用于金融、電信、保險(xiǎn)、商業(yè)、國(guó)防、公共事業(yè)等領(lǐng)域。IC卡按外部接口設(shè)備的連接方式可分為接觸式IC卡和非接觸式IC卡(又稱(chēng)射頻卡)兩類(lèi)。接觸式IC卡,就是IC卡與外界進(jìn)行數(shù)據(jù)通訊時(shí),芯片的電極觸點(diǎn)必須與IC卡讀寫(xiě)設(shè)備直接連接;非接觸式IC卡在使用時(shí)則無(wú)須與IC卡讀寫(xiě)器設(shè)備直接連接,而是通過(guò)無(wú)線(xiàn)電波或電磁感應(yīng)的方式實(shí)現(xiàn)與IC卡讀寫(xiě)設(shè)備的數(shù)據(jù)通訊。在刷卡速度要求高,用卡環(huán)境惡劣,污染嚴(yán)重等環(huán)境下,非接觸式IC卡有著它特有的優(yōu)勢(shì)。
  我們利用EM公司(EM MICROELECTRONICMARIN SA,2074 MARIN-Switzerland)生產(chǎn)的P4095芯片,制作了IC卡讀頭,并在此基礎(chǔ)上,編寫(xiě)了EM公司H4001非接觸式IC卡的讀卡程序。
1 工作原理

  讀卡的工作原理如圖1所示。
  當(dāng)IC卡(H4001)靠近讀卡器時(shí),圖1中的兩個(gè)回路在125kHz時(shí)產(chǎn)生諧振。IC卡從中獲取能量,連續(xù)地向外發(fā)送信號(hào)。P4095接收信號(hào),送單片機(jī)分析處理該卡的信息。




2 P4095芯片介紹
  該芯片集成相同步邏輯系統(tǒng),可以得到與線(xiàn)圈諧振頻率相同的載波頻率;不需外部晶振;載波頻率為100到150kHz;支持多種IC卡傳輸協(xié)議,如H400X,P4150,P4069等;封裝形式為SO16或PSOP216。用P4095制作的射頻卡讀頭可完成下列功能:(1)載波頻率驅(qū)動(dòng)線(xiàn)圈。(2)對(duì)可寫(xiě)卡磁場(chǎng)的調(diào)幅調(diào)制。(3)對(duì)線(xiàn)圈上由卡引發(fā)的調(diào)制信號(hào)進(jìn)行幅度解調(diào)。(4)與微處理器通過(guò)簡(jiǎn)單的連線(xiàn)相互通信。
  芯片的操作由SHD和MOD控制。SHD為高時(shí)進(jìn)入睡眠模式,在芯片供電之后,SHD必須為高以對(duì)芯片進(jìn)行正確的初始化,然后SHD再接低電平,這樣芯片可以發(fā)出射頻場(chǎng),由解調(diào)模塊將線(xiàn)圈上讀到的信號(hào)由DEMOD__OUT輸出。MOD接地使芯片進(jìn)入只讀狀態(tài)。應(yīng)用圖如下圖2所示。
3 H4001原理
  H4001是在異頻無(wú)線(xiàn)傳送中應(yīng)用的CMOS集成電路。電路由放在磁場(chǎng)中的線(xiàn)圈驅(qū)動(dòng),并從中得到時(shí)鐘脈沖。開(kāi)關(guān)調(diào)制電流可以送回包含在激光可編程邏輯器件中的64位信息。
  串行輸出的數(shù)據(jù)包括9位起始位,40位信息位,14位校驗(yàn)位,1位停止位。
  而這64位信息是通過(guò)曼徹斯特碼調(diào)制的。邏輯“1”是在一個(gè)位周期內(nèi)產(chǎn)生一個(gè)下降沿,邏輯“0”是在一個(gè)位周期內(nèi)產(chǎn)生一個(gè)上升沿。64位曼徹斯特碼如圖3所示。一旦發(fā)送,就將連續(xù)地發(fā)。圖4所示的就是邏輯電平與曼徹斯特碼之間的關(guān)系。從圖中可以看出64位信號(hào)連續(xù)循環(huán)輸出的情況。

4 曼徹斯特碼解碼方法
  根據(jù)曼徹斯特碼的特點(diǎn),得知曼徹斯特碼中高電平持續(xù)的時(shí)間有兩種情況:半個(gè)位周期和一個(gè)位周期。高電平持續(xù)一個(gè)位周期的情況是因?yàn)槠渲星懊姘雮€(gè)位周期高電平屬于前一位邏輯“0”所有,后半個(gè)位周期高電平是屬于后一位邏輯“1”所有。根據(jù)這個(gè)特點(diǎn),我們分析圖5示的波形,首先找一個(gè)下跳,然后找一個(gè)上跳,目的是確認(rèn)是否接收到信號(hào)(曼徹斯特碼)。而后進(jìn)入一個(gè)延時(shí)階段t(延時(shí)t大于半個(gè)位周期,小于一個(gè)位周期)。接著讀入信號(hào),它必須是“1”。那么這個(gè)“1”就肯定是數(shù)據(jù)序列中某一位(如果不是“1”,就從頭再來(lái))。接下來(lái)就是找該位“1”的下跳,找到之后又延時(shí)t,繼續(xù)讀入下一位數(shù)據(jù)。重復(fù)找跳變和延時(shí)的操作,就可以正確地讀出曼徹斯特碼序列。由于H4001在電磁場(chǎng)中是連續(xù)循環(huán)地輸出它的信息的,為了確保完全讀入卡上64位的信息,我們每張卡都讀128位。

  根據(jù)H4001的特性,我們知道它的數(shù)據(jù)序列是以9個(gè)連續(xù)的“1”開(kāi)始的,然后就是數(shù)據(jù)和校驗(yàn)位。因此,只要在上面128位信息中找到9個(gè)連續(xù)的“1”,并且分析其后的數(shù)據(jù)位和行列校驗(yàn)位就可以確定這一張卡的信息。
5 研究結(jié)果
  在試驗(yàn)的過(guò)程中,根據(jù)以上原理編制的程序每次都能正確讀取卡上的信息。
經(jīng)測(cè)量,程序讀卡距離為9.5cm~11.5cm。讀卡
時(shí)間為0.086s。(測(cè)量方法:把卡放在線(xiàn)圈上,開(kāi)啟程序,正確讀到信號(hào)就停止。)
6 程序流程圖
  程序流程圖見(jiàn)圖6。程序略。

參考文獻(xiàn)


1 孫涵芳,徐愛(ài)卿.MCS-51、96系列單片機(jī)原理及應(yīng)用.北京:北京航空航天大學(xué)出版社,1988

本文關(guān)鍵詞:H4001非接觸式IC卡讀卡程序的研究
回到頂部