《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 利用曼碼調(diào)制的非接觸IC卡讀寫程序編制
利用曼碼調(diào)制的非接觸IC卡讀寫程序編制
摘要: 采用曼碼調(diào)制的非接觸IC卡讀寫程序便不難編制,實現(xiàn)IDIC的完整功能,,還需要其他的一些程序模塊,如數(shù)據(jù)存儲格式、編碼的加密算法,,一次讀/寫操作中若出錯,則須重復(fù)進(jìn)行讀/寫操作,、究竟重復(fù)幾次,、讀/寫操作過程在超時后退出等,這些均可根據(jù)應(yīng)用對象的需求予以相應(yīng)的解決,。
關(guān)鍵詞: SOC 非接觸IC卡 曼碼調(diào)制
Abstract:
Key words :

 導(dǎo) 言

  IC卡又稱集成電路卡,,它是在大小和普通信用卡相同的塑料卡片上嵌置一個或多個集成電路構(gòu)成的,。集成電路芯片可以是存儲器或向處理器。帶有存儲器的IC卡又稱為記憶卡或存儲卡,,帶有微處理器的IC卡又稱為智能卡或智慧卡,。記憶卡可以存儲大量信息;智能卡則不僅具有記憶能力,,而且還具有處理信息的功能,。因其使用便捷、安全,,日益為有關(guān)技術(shù)領(lǐng)域的工程師所關(guān)注,。

  圖1 采用e5550/U2270B的非接觸卡讀寫系統(tǒng)示意圖非接觸IC卡是一種接口電路。它通過卡上配置的發(fā)射機應(yīng)答器振蕩線圈與基站振蕩線圈的耦合取得能量,,通過必要的通信軟件配合,,保證卡與基站間實現(xiàn)雙向數(shù)據(jù)交換,如圖1所示,。

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

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

 ?。澹担担担笆怯擅绹裕牛停桑煤停粒裕停牛坦旧a(chǎn)的低成本可讀/寫射頻卡芯片。目前國內(nèi)很多公司均可向用戶提供將e5550封裝成標(biāo)準(zhǔn)射頻IC卡的服務(wù),。由于e5550可以和低成本的射頻卡基站U2270B構(gòu)成完整的射頻卡應(yīng)用系統(tǒng)(關(guān)于U220B的介紹參見有關(guān)文章),且具有很高的性能價格比,,因此在公交系統(tǒng),、餐飲服務(wù)系統(tǒng)等領(lǐng)域得到了廣泛的應(yīng)用。

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

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

 ?。?) 低供電電壓、低功耗CMOS結(jié)構(gòu)的IDIC,。

 ?。?) 發(fā)射機應(yīng)答器的電源是通過非接觸的線圈耦合獲得。

 ?。?) 額定的射頻(RF)振蕩頻率范圍為:100~150kHz,。

  (4) 發(fā)射機應(yīng)答器上帶有EEPROM,,共分8個(存儲)區(qū),,每區(qū)有33個位,故總共有264個位(見表1),。

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

 ?。?) 8個(存儲)區(qū)的首位分別為該區(qū)的寫保護(hù)位"L"。為"1"時,,該區(qū)為只讀區(qū),;為"0"時,,該區(qū)為既可讀又可寫區(qū)。

 ?。?) 8個(存儲)區(qū)中的第0區(qū)為工作方式數(shù)據(jù)存儲區(qū),,通常是不發(fā)送的,而其他的7個區(qū)每個區(qū)中各有32位,,即總共有224位供用戶使用,。

  (7) 具備增強防護(hù)功能,,以免非接觸卡式EEPROM的誤編程,。

  (8)每一存儲區(qū)的寫操作時間一般不超過50ms,。

 ?。?) EEPROM操作的一些其他選項:

  · 比特率(位傳送率 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),。

  · 其他--請求應(yīng)答、終止方式和口令方式,。

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

 ?。?) 載波頻率fOSC范圍為100~150kHz。

 ?。?) fOSC為125kHz時,,典型的數(shù)據(jù)傳送率為5kb/s。

 ?。?) 適用的調(diào)制方式為曼徹斯特碼(簡稱曼碼)和雙相位碼,。

  (4) 可由5V的穩(wěn)壓電源或汽車蓄電池供電,。

 ?。?) 調(diào)諧能力。

 ?。?) 與微控制器有兼容的接口,。

 ?。?) 處于備用工作方式時,其功耗甚低,。

 ?。?) 有一向微控制器供電的輸出端。

  二,、 非接觸IC卡的讀操作

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

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

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

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

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

  根據(jù)我們得到的器件,,采用曼碼調(diào)制的數(shù)據(jù),位數(shù)據(jù)"1"對應(yīng)著電平下跳,,位數(shù)據(jù)"0"對應(yīng)著電平上跳(注意:Telefunken半導(dǎo)體公司提供的資料正好與此相反,在一串傳送的數(shù)據(jù)序列中,,兩個相鄰的位數(shù)據(jù)傳送跳變時間間隔應(yīng)為1P,。若相鄰的位數(shù)據(jù)極性相同,則在該兩次位數(shù)據(jù)傳送的電平跳變之間,,有一次非數(shù)據(jù)傳送的,、預(yù)備性的。

  電平上跳,、電平下跳和兩個相鄰的同極性位數(shù)據(jù)之間的預(yù)備性空跳是確定位數(shù)據(jù)傳送特征的判據(jù),。

  非接觸IC卡在讀操作時,另一須關(guān)注的問題是傳送的位數(shù)據(jù)序列起始標(biāo)志和結(jié)束標(biāo)志,。請參見圖3,。

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

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

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

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

  假定非接觸IC卡的存儲器內(nèi)存放的位數(shù)據(jù)序列為一非空集,,則在若干位數(shù)據(jù)的跳變后,,檢測到一電平上跳,經(jīng)過1.5P發(fā)生電平下跳,,再經(jīng)過0.5P又發(fā)生電平的上跳,,則該上跳即為起始標(biāo)志。

  起始標(biāo)志即為結(jié)束標(biāo)志,。這意味著非接觸IC卡的存儲器內(nèi)存放的數(shù)據(jù)包括起始標(biāo)志(即結(jié)束標(biāo)志)和位數(shù)據(jù)序列,。讀操作時,是首尾相接,、循環(huán)執(zhí)行的,。

  識別數(shù)據(jù)起始標(biāo)志和數(shù)據(jù)結(jié)束標(biāo)志,是通過參數(shù)stepcnt進(jìn)行的順序化判別,,故stepcnt為讀操作的判據(jù)二(首尾檢測指標(biāo)),。

  非接觸IC卡在讀操作時,第三個須要關(guān)注的問題是,,如何確定1.5P,、1P和0.5P三個特征判據(jù)?e5550和U2270B的射頻振蕩頻率范圍在100~150kHz,,當(dāng)位傳送率選擇RF/32時,,即fOSC經(jīng)過32分頻后,上述的三個參數(shù)在不同的fOSC時,,處于什么樣的范圍內(nèi)呢,?請見表3。

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

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

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

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

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

  三,、 非接觸IC卡的寫操作

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

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

  圖4 寫操作時的信號流

  圖4寫操作時的信號流非接觸IC卡插入基站后,,射頻線圈的耦合產(chǎn)生載波振蕩,利用兩次相鄰?fù)U裰g的不同時間間隔,,區(qū)分位數(shù)據(jù)"1"和位數(shù)據(jù)"0"的編碼,。停振間隙約在50~

  150域時鐘;位數(shù)據(jù)"0"的持續(xù)振蕩時間間隔為24域時鐘,;位數(shù)據(jù)"1"的持續(xù)振蕩時間間隔為56域時鐘,。當(dāng)停振間隙結(jié)束后,持續(xù)振蕩的時間間隔高于64域時鐘,,則IDIC退出寫操作方式,。

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

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

基站讀寫器上三個引腳的含義

  向e5550寫位數(shù)據(jù)時,,有四種合法的數(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"時,,在寫操作碼"10"之后,位數(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)行界定(見表7),,讀寫操作過程中,,均使用了2μs為單位的計數(shù)值作為定時單位,目的是要使用MCS-51系列的微控制器的定時器,。

  結(jié)束語

  采用曼碼調(diào)制的非接觸IC卡讀寫程序便不難編制,,實現(xiàn)IDIC的完整功能,還需要其他的一些程序模塊,,如數(shù)據(jù)存儲格式,、編碼的加密算法,一次讀/寫操作中若出錯,,則須重復(fù)進(jìn)行讀/寫操作,、究竟重復(fù)幾次、讀/寫操作過程在超時后退出等,,這些均可根據(jù)應(yīng)用對象的需求予以相應(yīng)的解決,。


 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。