日韩精品无码免费一区二区三区|青青久久久国产线免观|亚洲精品久久久久久久|国精品无码一区二区三区免费视频|亚洲熟妇无码中文高清免费|99久久久国产精品免费不卡|精品贵妇一区二区三区

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

聯(lián)系興邦電子

全國咨詢熱線:40000-63966

售后:0371-55132951/55132952

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

采用曼碼調制的非接觸式IC卡譯碼軟件設計

文章出處:http://www.fang1.net 作者:陳偉 李彥華   人氣: 發(fā)表時間:2011年09月22日

[文章內(nèi)容簡介]:本文通過對采用曼碼調制的ID卡進行解碼為例,目的是介紹一種對曼碼進行譯碼的方法,能過實際應用,本程序數(shù)據(jù)首讀出率高,誤碼率極低,對讀者具有一定的參考意義。

    目前,隨著技術的發(fā)展和應用的需求,IC卡(又稱智能卡)在人們的日常生活中已經(jīng)得到了廣泛應用。通常,IC卡可以分為接觸式IC卡和非接觸式IC卡兩類。接觸式IC卡是卡與讀卡器直接物理接觸進行數(shù)據(jù)交換,部分金屬電路是裸露在外面的,如手機卡、公共IC電話號等。非接觸式IC卡又叫射頻卡,射頻與讀卡器之間通過射頻信號進行數(shù)據(jù)交換,不需物理接觸,電路是封裝在內(nèi)部的,如公交車的收費卡等。非接觸式IC卡與接觸式IC卡相比,只有可靠性高,使用方便,不怕雨水、靜電以及沒有接觸劃傷等優(yōu)點,因此,得到了更廣泛的應用。這種非接觸式IC卡采用的技術稱為RFID技術。
  
    射頻卡與讀卡器之間的射頻信號調制方式常見的有FSK(調頻)、PSK(調相)、BIPH(雙相)、Manchester(曼徹斯特)。其中,曼徹斯特調制方式一般用在低頻,低成本的產(chǎn)品中,雖然在國外采用曼碼調制的IC 卡已不常用,但由于其價格低廉的優(yōu)勢,目前在我國采用此種調制方式的低端IC卡還具有廣泛的應用。在實際應用中,使用者有時會遇到對曼徹斯特編碼進行譯碼的問題,鑒于此,本文介紹了一種譯碼方法,以供讀者作為參考。 

1 無線射頻識別(RFID)技術概述 

    1.1 RFID系統(tǒng)的基本工作原理 

    無線射頻識別(RFID,radio frequency identification)技術是一種非接觸式的自動識別技術,基本原理是利用空間電磁感應或者電磁傳播來進行通信,以達到自動識別目標對象并獲取相關數(shù)據(jù)的目的。 

    RFID系統(tǒng)由射頻卡和射頻卡讀寫器兩部分組成,如圖1所示,射頻卡與讀寫器之間通過耦合元件實現(xiàn)射頻信號的空間(無接觸)耦合,在耦合通道內(nèi),根據(jù)時序關系,實現(xiàn)能量傳遞和數(shù)據(jù)交換。 

ID系統(tǒng)組成

    1.2 射頻卡讀寫器 

    在實際應用硬件電路中,讀寫器一般由天線、基站芯片、MCU組成。其中,基站芯片主要實現(xiàn)高頻接口模塊的功能,用于完成數(shù)據(jù)的調制、發(fā)射和射頻的接收以及數(shù)據(jù)的解調任務。 

    下面簡單介紹一種射頻卡基站芯片U2270B,U2270B是一個能對IC卡進行讀寫操作的射頻卡基站芯片,主要特點有: 

    振蕩器能產(chǎn)生100kHz~150kHz的載波頻率,并可通過外接電阻進行精確調整,其典型應用頻率為125kHz;  
    適用于曼徹斯特編碼和雙相位編碼; 
    帶有微處理器接口,可與單片機直接連接; 
    125kHz時的典型讀寫距離為15mm。 

    在實際應用中,當射頻卡進入到由讀寫器天線產(chǎn)生的射頻場內(nèi)時,由于電磁感應的作用而得到觸發(fā),從射頻卡發(fā)出的負載調制信號會在基站天線上產(chǎn)生微弱的調幅,這樣,基站芯片即可回收射頻卡調制數(shù)據(jù)流。應當說明,當返回的射頻卡調制數(shù)據(jù)流采用的是曼徹斯特編碼形式時,U2270B通過內(nèi)部的一系列處理,將與MCU接口兼容的標準曼徹斯特編碼信號輸出給MCU,U2270B不能完成曼徹斯特編碼的解調, 解調工作必須由MCU軟件來完成,這也是本文的意義所在。 

    1.3 射頻卡 

    射頻卡有很多種分類方法,其中按芯片可分為三類:只讀卡,讀寫卡和CPU卡。 

    下面介紹一種只讀卡(又稱為ID卡)EM4100,它靠讀寫器感應供電并讀出存儲在芯片EEPROM中的唯一卡號,卡號在封裝前一次寫入,封卡后不能更改。 

    EM4100ID卡的主要特點: 

    載波頻率RF為125kHz; 
    感應距離為2~15cm; 
    數(shù)據(jù)存儲容量共64位,包括制造商、發(fā)行版本號和用戶代碼; 
    數(shù)據(jù)的傳送速率有RF/64bit/s、RF/32bit/s和RF/16bit/s三種。 

    卡內(nèi)數(shù)據(jù)格式:總共64位,其中包括9個起始位,40個數(shù)據(jù)位(前8位為版本或制造商信息,后32位為用戶信息),10個行校驗位,4個列校驗位,1個結束停止位。 

    在讀寫器工作狀態(tài)下,當ID卡進入讀寫器產(chǎn)生的射頻場內(nèi)時,依次將卡內(nèi)64位數(shù)據(jù)循環(huán)輸出,直到ID卡離開讀寫器失電為止。 

2 曼徹斯特譯碼軟件設計 

    假如對EM4100 ID卡進行解碼,載波頻率RF采用為125kHz,數(shù)據(jù)傳送速率采用RF/64,那么傳送一位數(shù)據(jù)所需要的時鐘周期T=512μs。首先,由于曼徹斯特編碼包含了同步時鐘信號,第一步必須提取出同步時鐘信號,并在提取出同步時鐘信號的同時,將會得到第一個數(shù)據(jù)。之后,就可進行數(shù)據(jù)的采集。在數(shù)據(jù)采集時,先采集到起始位9個1,再采集后面的數(shù)據(jù)。然后進行奇偶校驗和對數(shù)據(jù)的一些處理。程序的流程圖如圖2所示。  

采用曼碼調制的非接觸式IC卡譯碼軟件設計

    結合圖3來說明一下提取同步時鐘信號和取得第一個數(shù)據(jù)的方法。 

    曼徹斯特編碼是在位周期中間產(chǎn)生跳變,所以可以通過檢測曼碼的上升沿或者下降沿來提取出同步時鐘信號,具體方法為:在程序檢測出第一個上升沿(或下降沿)之間,如果檢測出t=T’(T’為傳送一位數(shù)據(jù)所需要的時間,理想情況下為位時鐘周期T)時間的低電平(或高電平),那么此上升沿(或下降沿)必發(fā)生在位時鐘周期的中間,在取得同步時鐘信號的同時,將得第一個數(shù)據(jù)位1(或0),將當前收到的數(shù)據(jù)位存放入微控制器的存儲器中,并同時將此值賦給一個狀態(tài)位con_receive=1(或0),此狀態(tài)位在檢測下一個數(shù)據(jù)時會用到。以圖3為例(本例是通過上升沿來提取同步時鐘信號),在b上升沿之前,檢測出有t=T’時間的低電平,那么b上升沿必產(chǎn)生在位時鐘周期中間,并同時取得第一個數(shù)據(jù)1,將數(shù)據(jù)1存入寄存器,并賦給狀態(tài)位con_receive=1,用于下一個數(shù)據(jù)的檢測。 

    2.1 數(shù)據(jù)采集 

    在提取出同步時鐘信號后,就可以通過檢測出兩個上升沿(或下降沿)的時間間隔來提取數(shù)據(jù)了。兩個上升沿(或下降沿)的時間間隔總共有t=T’,t=1.5T’,t=2T’三種情況。 

    如果檢測到兩個上升沿之間的間隔t=T’時,則收到一個與前一個邏輯值相同的數(shù)據(jù),例如圖3,在b上升沿之后t=T’時間的的c處檢測到上升沿,得到與前一個邏輯值con_receive相同的數(shù)據(jù)1。將此數(shù)據(jù)存放入存儲器中,并同時將當前邏輯值1賦給狀態(tài)位con_receive;如果檢測到兩個上升沿之間的時間間隔t=1.5T’時,兩種情況:當前一個數(shù)據(jù)值con_receive為1時,得到兩個數(shù)據(jù)00,并將邏輯值0賦給con_receive;當前一個數(shù)據(jù)為0時,得到一個數(shù)據(jù)1,并將邏輯值1賦給con_receive。如圖3,在c上升沿之后t=1.5T’時間的d處檢測到上升沿,由于在c上升沿得到的邏輯值為1,則得到數(shù)據(jù)00,con_receive的值也相應變?yōu)?;又經(jīng)過T’時間后到達e上升沿,得到與前一個邏輯值相同的數(shù)據(jù)0;又經(jīng)過t=1.5T’時間到達f上升沿,由于前一個數(shù)據(jù)的邏輯值為0,則得到數(shù)據(jù)1,con_receive也相應變?yōu)?;如果檢測到兩個上升沿之間的時間間隔t=2T’時,得到兩個數(shù)據(jù)01,并將邏輯值1賦給con_receive。如圖3,在f上升沿之后的t=2T’時間的g處檢測到上升沿,得到兩個數(shù)據(jù)01; 

采用曼碼調制的非接觸式IC卡譯碼軟件設計

    如果檢測到兩個上升沿之間的時間間隔t不等于T’、1.5T’、2T’中的任何一個,則采集數(shù)據(jù)出錯。 

    在采集數(shù)據(jù)過程中,由于一些干擾或者其他因素,采集數(shù)據(jù)錯誤是無法避免的,出錯處理部分可由讀者自己決定作如何處理。比如:可以選擇為重新開始提取同步時鐘信號,重新譯碼,如果在連續(xù)的重新譯碼一定的次數(shù)之后,還沒有得到64位數(shù)據(jù)則報警等。 

    2.2 數(shù)據(jù)校驗及數(shù)據(jù)處理 

    為了便于對讀出的數(shù)據(jù)進行奇偶機校驗,將起始位9個1之后的55個數(shù)據(jù)按每5位作為一個字節(jié)進行存放,在數(shù)據(jù)全部讀出后,根據(jù)ID卡的數(shù)據(jù)結構,對數(shù)據(jù)進行奇偶校驗。奇偶校驗正確之后,可以對這些原始數(shù)據(jù)做進一步的處理以作實驗應用。 

    2.3 其他一些說明 

    在理想狀態(tài)下,傳送一位數(shù)據(jù)的時間T’應該等于位時鐘周期T,由于射頻場信號的強弱和外界的影響,T’不是一個穩(wěn)定的值,因此在實際應用中,T’是一個取值范圍。例如:例如:當位時鐘周期T=512μs,理想狀態(tài)下,T’=T=512μs,但實際中T’選取一個范圍,比如可以取400μs<T’<580μs,640μs<1.5T’<820μs,870μs<2T’<1100μs(這些取值范圍并不是固定的,也沒有太嚴格的要求。在實際應用中,最好對所使用的ID卡進行測量一下,然后參考測量的結果來選取。 

    有些ID卡曼徹斯特編碼是位數(shù)據(jù)1對應著電平下位,位數(shù)據(jù)0對應著電平上跳,當對這種卡進行解碼時,只要把程序中檢測上升沿變?yōu)闄z測下降沿、檢測下降沿變?yōu)闄z測上升沿即可。 

    檢測上升沿(或下降沿)可以采用中斷法或者掃描法。當采用掃描法時,由于在現(xiàn)實工作中,數(shù)據(jù)信號會受到調制、解調、噪聲各種效應的影響,其上升沿和下降沿存在抖動,可以采用鍵盤消除抖動的辦法消除抖動的影響。 

    如果奇偶校驗連續(xù)NG一定次數(shù)之后,還沒有得到正確的64位數(shù)據(jù),則可以采用報警或者其它辦法處理。 

本文關鍵詞:非接觸式IC卡,曼徹斯特編碼,曼碼調制,,接觸式IC卡,曼徹斯特編碼,曼碼調制,I,觸式IC卡,曼徹斯特編碼,曼碼調制,IC,式IC卡,曼徹斯特編碼,曼碼調制,IC卡,IC卡,曼徹斯特編碼,曼碼調制,IC卡,,C卡,曼徹斯特編碼,曼碼調制,IC卡,R,卡,曼徹斯特編碼,曼碼調制,IC卡,RF,,曼徹斯特編碼,曼碼調制,IC卡,RFI,曼徹斯特編碼,曼碼調制,IC卡,RFID
回到頂部
福建省| 金溪县| 天柱县| 镇康县| 勃利县| 高安市| 阿勒泰市| 长丰县| 定西市| 安义县| 绥中县| 南阳市| 民县| 息烽县| 海南省| 慈溪市| 彭水| 个旧市| 临江市| 三明市| 阳曲县| 林芝县| 辽宁省| 长子县| 霍林郭勒市| 宁德市| 浑源县| 遂昌县| 阿勒泰市| 昂仁县| 尉氏县| 阆中市| 寿阳县| 浦北县| 绥德县| 沙洋县| 密云县| 湖南省| 广德县| 翁牛特旗| 遂平县|