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

聯(lián)系興邦電子

全國(guó)咨詢熱線:40000-63966

售后:0371-55132951/55132952

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

一種采用曼碼調(diào)制的非接觸IC卡讀寫程序編制

文章出處:http://compasssalessolutions.com 作者:邢中柱   人氣: 發(fā)表時(shí)間:2011年10月22日

[文章內(nèi)容簡(jiǎn)介]:非接觸IC卡技術(shù)有十分良好的應(yīng)用前景。本文從應(yīng)用角度介紹了e5550/U2270B器件組構(gòu)成的一種低頻非接觸IC卡系統(tǒng),并對(duì)采用曼徹斯特碼調(diào)制進(jìn)行信息交互時(shí)的讀寫操作做了詳盡分析,最后給出用C語(yǔ)言編寫的相應(yīng)源程序。

  非接觸IC卡技術(shù)已廣泛應(yīng)用于諸如電子交易,醫(yī)療保健憑證,駕車授權(quán)憑證,車輛加油管理系統(tǒng),家居、公司辦公通道,各種限權(quán)進(jìn)入場(chǎng)所的門禁,各類電、水、熱能和煤氣計(jì)量表具的預(yù)付費(fèi)系統(tǒng),乃至寵物識(shí)別等。因其使用便捷、安全,日益為有關(guān)技術(shù)領(lǐng)域的工程師所關(guān)注。

  圖1 采用e5550/U2270B的非接觸卡讀寫系統(tǒng)示意圖非接觸IC卡是一種接口電路。它通過卡上配置的發(fā)射機(jī)應(yīng)答器振蕩線圈與基站振蕩線圈的耦合取得能量,通過必要的通信軟件配合,保證卡與基站間實(shí)現(xiàn)雙向數(shù)據(jù)交換,如圖1所示。許多著名廠商,如Simens、Philips、Temic等半導(dǎo)體公司,均有各具特色、性能優(yōu)異的產(chǎn)品。 

采用e5550/U2270B的非接觸卡讀寫系統(tǒng)示意圖

圖1 采用e5550/U2270B的非接觸卡讀寫系統(tǒng)示意圖

  e5550的全稱是標(biāo)準(zhǔn)讀寫識(shí)別集成電路(Standard Read/Write Identification IC),實(shí)際即是一種低頻發(fā)射機(jī)應(yīng)答器。它與基站讀寫集成電路(Read/Write Base Station IC)U2270B相匹配,構(gòu)成非接觸IC卡系統(tǒng)的核心器件。這兩種器件統(tǒng)稱為非接觸式讀寫識(shí)別集成電路(其注冊(cè)商標(biāo)為IDIC,以下簡(jiǎn)稱IDIC或非接觸IC卡),均由德國(guó)本茨集團(tuán)麾下的Telefunken半導(dǎo)體公司開發(fā),目前已轉(zhuǎn)由Atmel公司生產(chǎn)。因其工作可靠、價(jià)格低廉,不失為特定應(yīng)用領(lǐng)域的一種優(yōu)選方案。 

一、 e5550/ U2270B器件組的基本性能

e5550發(fā)射機(jī)應(yīng)答器的基本性能如下:

    (1) 低供電電壓、低功耗CMOS結(jié)構(gòu)的IDIC。
    (2) 發(fā)射機(jī)應(yīng)答器的電源是通過非(直接)接觸的線圈耦合獲得。
    (3) 額定的射頻(RF)振蕩頻率范圍為:100~150kHz。
    (4) 發(fā)射機(jī)應(yīng)答器上帶有EEPROM,共分8個(gè)(存儲(chǔ))區(qū),每區(qū)有33個(gè)位,故總共有264個(gè)位(見表1)。 

E5550應(yīng)答器內(nèi)的存儲(chǔ)器映射

    (5) 8個(gè)(存儲(chǔ))區(qū)的首位分別為該區(qū)的寫保護(hù)位"L"。為"1"時(shí),該區(qū)為只讀區(qū);為"0"時(shí),該區(qū)為既可讀又可寫區(qū)。
    (6) 8個(gè)(存儲(chǔ))區(qū)中的第0區(qū)為工作方式數(shù)據(jù)存儲(chǔ)區(qū),通常是不發(fā)送的,而其他的7個(gè)區(qū)每個(gè)區(qū)中各有32位,即總共有224位供用戶使用。
    (7) 具備增強(qiáng)防護(hù)功能,以免非接觸卡式EEPROM的誤編程。
    (8)每一存儲(chǔ)區(qū)的寫操作時(shí)間一般不超過50ms。
    (9) EEPROM操作的一些其他選項(xiàng): 

    · 比特率(位傳送率 b/s)--RF/8,RF/16,RF/32,RF/40,RF/50,RF/64,RF/100,RF/128。
    · 調(diào)制方式--二進(jìn)制(BIN)、頻移鍵控(FSK)、相移鍵控(PSK)、曼徹斯特碼(Manchester)、雙相位碼(Biphase)。
    · 其他--請(qǐng)求應(yīng)答(AOR)、終止方式和口令方式。

U2270B基站讀寫器的基本性能如下:

    (1) 載波頻率fOSC范圍為100~150kHz。
    (2) fOSC為125kHz時(shí),典型的數(shù)據(jù)傳送率為5kb/s。
    (3) 適用的調(diào)制方式為曼徹斯特碼(簡(jiǎn)稱曼碼)和雙相位碼。
    (4) 可由5V的穩(wěn)壓電源或汽車蓄電池供電。
    (5) 調(diào)諧能力。
    (6) 與微控制器有兼容的接口。
    (7) 處于備用工作方式時(shí),其功耗甚低。
    (8) 有一向微控制器供電的輸出端。

二、 非接觸IC卡的讀操作

  現(xiàn)僅就IDIC通信中遇到的一些問題,并對(duì)通信的核心部分--讀寫操作做必要的探討。首先申明,所謂的讀寫,其意分別為:基站通過MCU進(jìn)行"讀操作";基站通過MCU進(jìn)行"寫操作"。

  e5550和U2270B匹配使用時(shí),根據(jù)兩者的基本特性,其調(diào)制方式只可能在曼碼和雙相位碼中擇一。不失一般性,選擇曼碼調(diào)制。曼碼調(diào)制時(shí)數(shù)據(jù)傳送的規(guī)則可用圖2加以說明。 

第1頁(yè)第2頁(yè)第3頁(yè)

  圖2采用曼碼調(diào)制的數(shù)據(jù)表達(dá)方式由圖2可知,位數(shù)據(jù)的傳送周期(1P)規(guī)定了每傳送1位數(shù)據(jù)的時(shí)間是固定的,它由RF/n決定。其物理實(shí)質(zhì)是微控制器通過基站與應(yīng)答器中的存儲(chǔ)器(EEPROM)進(jìn)行數(shù)據(jù)的讀寫操作。若載波頻率fOSC=125kHz,位數(shù)據(jù)傳送率選RF/32,則每傳送一位的時(shí)間(周期)為振蕩周期的32分頻,故位傳送周期為:

1P=1/(125kHz×32)=256μs 

采用曼碼調(diào)制的數(shù)據(jù)表達(dá)方式

  根據(jù)我們得到的器件,采用曼碼調(diào)制的數(shù)據(jù),位數(shù)據(jù)"1"對(duì)應(yīng)著電平下跳,位數(shù)據(jù)"0"對(duì)應(yīng)著電平上跳(注意:Telefunken半導(dǎo)體公司提供的資料(Rev.A2,13-Oct-97)正好與此相反,故最好用前自己先測(cè)試一遍,切記?。T谝淮畟魉偷臄?shù)據(jù)序列中,兩個(gè)相鄰的位數(shù)據(jù)傳送跳變時(shí)間間隔應(yīng)為1P。若相鄰的位數(shù)據(jù)極性相同,則在該兩次位數(shù)據(jù)傳送的電平跳變之間,有一次非數(shù)據(jù)傳送的、預(yù)備性的(電平)"空跳"。

  電平上跳、電平下跳和兩個(gè)相鄰的同極性位數(shù)據(jù)之間的預(yù)備性空跳是確定位數(shù)據(jù)傳送特征的判據(jù)。本判據(jù)被定義為判據(jù)一(位數(shù)據(jù)檢測(cè)指標(biāo))。

  非接觸IC卡在讀操作時(shí),另一須關(guān)注的問題是傳送的位數(shù)據(jù)序列起始標(biāo)志和結(jié)束標(biāo)志。廠商并未提供有關(guān)的資料,通過摸索,已基本掌握了其特征,為便于說明,請(qǐng)參見圖3。 

曼碼調(diào)制的數(shù)據(jù)串起始/結(jié)束標(biāo)志的時(shí)序特

圖3 曼碼調(diào)制的數(shù)據(jù)串起始/結(jié)束標(biāo)志的時(shí)序特

  圖3曼碼調(diào)制的數(shù)據(jù)串起始/結(jié)束標(biāo)志的時(shí)序特征圖3中,stepcnt為讀操作步序,其確切含義見表2。 

一種采用曼碼調(diào)制的非接觸IC卡讀寫程序編制

  假定非接觸IC卡的存儲(chǔ)器內(nèi)存放的位數(shù)據(jù)序列為一非空集,則在若干位數(shù)據(jù)的跳變后,檢測(cè)到一電平上跳,經(jīng)過1.5P發(fā)生電平下跳,再經(jīng)過0.5P又發(fā)生電平的上跳,則該上跳即為起始標(biāo)志。起始標(biāo)志即為結(jié)束標(biāo)志。這意味著非接觸IC卡的存儲(chǔ)器內(nèi)存放的數(shù)據(jù)包括起始標(biāo)志(即結(jié)束標(biāo)志)和位數(shù)據(jù)序列。讀操作時(shí),是首尾相接、循環(huán)執(zhí)行的。

  識(shí)別數(shù)據(jù)起始標(biāo)志和數(shù)據(jù)結(jié)束標(biāo)志,是通過參數(shù)stepcnt進(jìn)行的順序化判別,故stepcnt為讀操作的判據(jù)二(首尾檢測(cè)指標(biāo))。
 
  非接觸IC卡在讀操作時(shí),第三個(gè)須要關(guān)注的問題是,如何確定1.5P、1P和0.5P三個(gè)特征判據(jù)?e5550和U2270B的射頻振蕩頻率范圍在100~150kHz,當(dāng)位傳送率選擇RF/32時(shí),即fOSC經(jīng)過32分頻后,上述的三個(gè)參數(shù)在不同的fOSC時(shí),處于什么樣的范圍內(nèi)呢?請(qǐng)見表3。 

一種采用曼碼調(diào)制的非接觸IC卡讀寫程序編制

  由上可知,只要1.5P、1P和0.5P的間期是不重疊的。根據(jù)采用100~150kHz和110~140kHz兩組數(shù)據(jù)的對(duì)比可見,使用后者更合適。另一個(gè)辦法是:通過試驗(yàn),找到合適的間期指數(shù),即可依此作為電平躍變的判別閾。這樣,在確保識(shí)別能力的前提下,又從工藝上降低了對(duì)于振蕩回路的頻率精度要求。

  根據(jù)上述振蕩頻率的變化范圍110~140kHz,將編碼變化的不同間隔轉(zhuǎn)化成相應(yīng)的間期指數(shù),具體如表4所列。 

一種采用曼碼調(diào)制的非接觸IC卡讀寫程序編制

  1.5P、1P和0.5P是識(shí)別數(shù)據(jù)起始標(biāo)志、位數(shù)據(jù)序列和數(shù)據(jù)結(jié)束標(biāo)志的間期特征值。通過試驗(yàn),它可用間期指數(shù)prdcnt反映,故為讀操作的判據(jù)三(間期檢測(cè)指標(biāo))。 

第1頁(yè)第2頁(yè)第3頁(yè)

  借助于上述的位數(shù)據(jù)檢測(cè)指標(biāo)、首尾檢測(cè)指標(biāo)和間期檢測(cè)指標(biāo),非接觸IC卡讀操作程序的撰寫便易如反掌。

三、 非接觸IC卡的寫操作

  基站產(chǎn)生固定間隙的射頻振蕩,并通過控制兩個(gè)間隙之間的振蕩時(shí)間對(duì)位數(shù)據(jù)"1"和位數(shù)據(jù)"0"進(jìn)行編碼,持續(xù)地發(fā)送位數(shù)據(jù)流,完成寫操作。寫操作射頻振蕩波形示意如圖4所示。 

寫操作射頻振蕩波形示意圖

圖4 寫操作時(shí)的信號(hào)流

  注:域時(shí)鐘(TEMIC公司提供的資料用fC表示)為一時(shí)間間隔,若頻率為125kHz,fC=1/125kHz=8μs。

  圖4寫操作時(shí)的信號(hào)流非接觸IC卡插入基站后,射頻線圈的耦合產(chǎn)生載波振蕩,利用兩次相鄰?fù)U裰g的不同時(shí)間間隔,區(qū)分位數(shù)據(jù)"1"和位數(shù)據(jù)"0"的編碼。停振間隙約在50~150域時(shí)鐘;位數(shù)據(jù)"0"的持續(xù)振蕩時(shí)間間隔為24域時(shí)鐘;位數(shù)據(jù)"1"的持續(xù)振蕩時(shí)間間隔為56域時(shí)鐘。當(dāng)停振間隙結(jié)束后,持續(xù)振蕩的時(shí)間間隔高于64域時(shí)鐘,則IDIC退出寫操作方式。

  考慮到寫操作啟動(dòng)(start)時(shí),有一頻率穩(wěn)定過程,寫操作停止(stop)時(shí),有一EEPROM的寫入過程約16ms,于是將start和stop兩個(gè)階段均以20ms計(jì)。圖4中標(biāo)注的trnssqnc為發(fā)送順序編號(hào),啟動(dòng)階段為0,位數(shù)據(jù)流發(fā)送階段為1,發(fā)送結(jié)束階段為2。

  基站讀寫器上有三個(gè)引腳:bsout、bscfe和bsin,它們的含義見表5。 

基站讀寫器上三個(gè)引腳的含義

  向e5550寫位數(shù)據(jù)時(shí),有四種合法的數(shù)據(jù)流,具體如圖5所示。其中,OP為操作類型碼,包含兩位,"10"表示即將進(jìn)行的是寫操作,"11"為終止IDIC操作碼。多IDIC操作情況下,用這一特性可逐一控制應(yīng)答器,使待控應(yīng)答器逐一產(chǎn)生穩(wěn)定的射頻振蕩。當(dāng)方式數(shù)據(jù)區(qū)的第28位(usePWD)為"1"時(shí),在寫操作碼"10"之后,即須將32位的口令(password)寫入EEPROM的第7區(qū)。位數(shù)據(jù)流有33位,是按區(qū)寫入的。其中的第一位為鎖定位L,L="1"表示該區(qū)為只讀區(qū),L="0"表示該區(qū)為讀寫區(qū),其余的32位為位數(shù)據(jù)。ADR為該位數(shù)據(jù)流的存放數(shù)據(jù)區(qū),取值范圍為0~7。 

一種采用曼碼調(diào)制的非接觸IC卡讀寫程序編制

  根據(jù)上述的載波振蕩特性,利用carriercnst參數(shù)進(jìn)行界定(見表6),讀操作即不難實(shí)現(xiàn)。讀寫操作過程中,均使用了2μs為單位的計(jì)數(shù)值作為定時(shí)單位,目的是要使用MCS-51系列的微控制器的定時(shí)器。 

結(jié)束語(yǔ)

   通過以上說明,再認(rèn)真地研讀有關(guān)的技術(shù)資料,采用曼碼調(diào)制的非接觸IC卡讀寫程序便不難編制。當(dāng)然,實(shí)現(xiàn)IDIC的完整功能,還需要其他的一些程序模塊,如數(shù)據(jù)存儲(chǔ)格式、編碼的加密算法,一次讀/寫操作中若出錯(cuò),則須重復(fù)進(jìn)行讀/寫操作、究竟重復(fù)幾次、讀/寫操作過程在超時(shí)后退出等,這些均可根據(jù)應(yīng)用對(duì)象的需求予以相應(yīng)的解決。有關(guān)采用曼碼調(diào)制的非接觸IC卡讀寫程序請(qǐng)見程序清單。

第1頁(yè)第2頁(yè)第3頁(yè)

本文關(guān)鍵詞:曼碼調(diào)制,非接觸ic卡,e5550,u2,碼調(diào)制,非接觸ic卡,e5550,u22,調(diào)制,非接觸ic卡,e5550,u227,制,非接觸ic卡,e5550,u2270,,非接觸ic卡,e5550,u2270b,非接觸ic卡,e5550,u2270b,,接觸ic卡,e5550,u2270b,i,觸ic卡,e5550,u2270b,ic,ic卡,e5550,u2270b,ic卡,c卡,e5550,u2270b,ic卡讀,卡,e5550,u2270b,ic卡讀寫,,e5550,u2270b,ic卡讀寫程,e
回到頂部