《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 8位微控制器在RF讀卡控制中的應用
8位微控制器在RF讀卡控制中的應用
摘要: 基于射頻ID reader基站IC#BSD#通過讀取射頻感應卡中的ID碼并對其校驗#BSD#根據(jù)校驗結果正誤來決定是否實現(xiàn)對各種控制過程的觸發(fā)#BSD#本文給出了采用8位微控制器設計的RF讀卡控制的應用方案。
Abstract:
Key words :

    隨著國內(nèi)射頻讀卡控制市場的不斷發(fā)展,非接觸式射頻讀卡系統(tǒng)被應用于越來越多的領域,智能門禁系統(tǒng)、汽車智能防盜報警裝置等都成為 RF讀卡控制的重要應用領域,而摩托車引擎點火等傳統(tǒng)控制領域也開始采用RF讀卡控制系統(tǒng)。射頻讀卡控制的便捷和安全性實現(xiàn)了科技對傳統(tǒng)控制領域的發(fā)展的促進,同時工業(yè)控制中的各種電磁干擾也對射頻讀卡微控制器提出了更加嚴格的抗干擾要求性能。為了迎合控制領域的這種需求,很多半導體廠商發(fā)展了眾多新技術極大改善了單片機的多項性能指標,擴大了8位單片機的應用范圍。 本文介紹了采用 8bit單片機的RF讀卡控制系統(tǒng)的方案原理及實現(xiàn)。

    微控制器

    本方案中以 8位單片機 作為控制系統(tǒng)中的控制芯片,這里以微控制器 IC P89LPC932 為例,這是一款 8 位 FLASH 微控制器,采用六倍速 80C51 內(nèi)核。 P89LPC932 提供內(nèi)部 PWM 功能, I/O 口可承受 5V ,所有 PIN 腳均有 20mA 的 LED 驅動能力。 P89LPC932A1 片內(nèi)有 512 字節(jié) E 2 PROM ,字節(jié)可擦除,本方案中被用來存放器件序列碼或系統(tǒng)設置參數(shù)。


    發(fā)射機應答基站芯片

    發(fā)射機應答基站芯片用于驅動發(fā)射應答系統(tǒng)的天線,將數(shù)據(jù)調制到天線信號上發(fā)送出去,檢測并解調發(fā)射 感應器芯片 的響應。


    感應器芯片是非接觸式 R/W 辨識集成電路,連接到芯片上的單一天線線圈,被視為集成電路的電力驅動補給和雙向信息的溝通接口。天線和芯片一起構成應答式卡片。在芯片內(nèi)部有存儲區(qū),可以存儲相應的卡片信息(如 ID 號等)。

    控制原理

    RF 基站模塊上電后會通過 440uH 的線圈發(fā)射 134.2kHz 電磁波,當 RF 感應卡 進入這個電磁場中時,會自動將電磁能轉化為電能并自行充電。當 RF 卡充電完畢后, P89LPC932 將控制基站模塊解碼、讀取存于射頻卡中的 ID 碼,并將它與存于微控制器內(nèi)部的 EEPROM 中的 ID 碼比較,如果兩者相同則微控制器會發(fā)出 PWM 信號控制點火過程,啟動引擎,如果不一致,則發(fā)出相應的報警信號 ( 如指示燈閃動 ) 。

 

 

RFID<a class=讀卡器" border="0" hspace="0" src="http://files.chinaaet.com/images/20100811/fdc1e931-11c9-4f81-b6d1-9c3aa9915bdb.jpg" style="WIDTH: 500px; HEIGHT: 182px" width="500" />

 

圖 1

    方案介紹

    硬件設計部分

    在系統(tǒng)方案中,硬件部分包括以下部分:信號接收部分(包括接收天線,基站芯片),核心控制部分(控制芯片),狀態(tài)指示部分(指示燈)。其中信號接收部分通過天線線圈和 ID 卡進行信號交互,解調、編解碼及為卡充電,控制芯片則負責系統(tǒng)的各項功能的實現(xiàn),指示燈進行各種狀態(tài)的指示(如異常狀態(tài)指示等)。以下從具體設計細節(jié)介紹。

 

    1.IO驅動

    由于本方案中所采用的基站芯片為 5V(VDD)供電,其邏輯輸入 (控制信號管腳TXCT, 數(shù)據(jù)信號管腳SCIO)的最小輸入高電平為: V HIGH =0.7*V DD =0.7*5V=3.5V , 高于 P89LPC932的邏輯高電平3.3V。在這個方案中,從圖3中可以看出,TXCT腳通過一個NPN管將邏輯高電平抬高,當P89LPC932的P0.0腳高電平時,三極管導通,TXCT腳為低電平。反之,P0.0輸出低電平時三極管截止,TXCT腳為高電平(>3.5V),通過這種設計使微控制器輸出的高電平信號能夠被基站芯片識別。

    P89LPC932的I/O口均為5V耐壓,可直接接收5V高電平邏輯信號,因此SCIO直接與P89LPC932的P0.1相接。

    2.警報閃爍

    P89LPC900系列微控制器所有IO口均有LED驅動能力(驅動電流為20mA), 在本方案中,如圖2,P1.0與一個LED燈直接相接,通過控制P1.0的電平變化來實現(xiàn)LED燈閃爍,從而發(fā)出警報,警報閃爍頻率和次數(shù)根據(jù)具體設計而定。

    3.PWM操作

& nbsp;   P89LPC932中有一個CCU單元可簡單方便的提供PWM輸出控制、輸入捕獲及輸出比較功能。與基本的定時器操作方式的主要不同之處在于比較模塊的運行差異,在PWM模式中此模塊用于PWM波形的生成。

    在方案中控制過程通過 P89LPC932輸出PWM進行控制。

    軟件設計部分

    1.主流程(見圖3)

 

 

主流程圖

3

 

    如圖 3所示,系統(tǒng)上電后,對系統(tǒng)初步初始化,讀取RF卡中的ID碼,讀取后進行CRC校驗,如果正確后,則根據(jù)卡的種類及卡的ID碼進行相應控制及卡的管理,不正確則報警。當系統(tǒng)控制完畢后,進入休閑模式,直到下一次控制。

    2.初始化設置

    在 P89LPC932中除了(V dd ,V ss ,Reset/P1.5)三個腳外,每個IO腳可被設置成四種I/O模式中的一

 

種,四種模式為:準雙向模式(51單片機標準模式),開漏模式,推挽模式,只輸入模式(高阻)。本方案中,如圖2,P0.0與SCIO相連,P0.1與TXCT相連,初始化設置為:

    1) P0.0為只輸入模式(注:在本方案中,所用RF卡為只讀卡,因此設置P0.0為只輸入模式,可根據(jù)具體情況調整),P0.1為準雙向模式 。

    2) WDSE設置為0,這樣用戶可以設置WDCLK來設置選擇看門狗時鐘源。

    3 . RF ID 碼讀取

 

 

讀卡通訊時序圖

 

圖 4

 

    圖 4 為讀卡通訊時序圖, 微控制器通過 TXCT 和 SCIO 管腳與基站芯片交互并對其控制,通過基站對感應卡操作,不同的基站芯片時序圖及通訊協(xié)議有所差異,因根據(jù)實際的方案加以改動。當系統(tǒng)上電后,微控制器通過抬高 TXCT 電平并持續(xù)時間 t ini 來使基站芯片初始化并進入空閑模式,隨后拉低 TXCT 電平并持續(xù)時間 t ch 來通過基站發(fā)出電磁場( RF field )對感應卡充電,然后抬高 TXCT 電平等候感應卡發(fā)送數(shù)據(jù),約過時間 t R 后,感應卡將會響應并發(fā)來數(shù)據(jù)。

 

微處理器與基站間的通訊以對射頻感應卡的充電過程為開端

 

圖 5

 

    如圖 5所示,微處理器與基站間的通訊以對射頻感應卡的充電過程為開端。當射頻卡充電結束,將會發(fā)送起始位給射頻基站模塊并在其后發(fā)送卡中存儲的ID碼,因此微控制器將會在射頻卡充電完畢后一直等待起始位的接收,當讀取ID碼后返回主程序。

 

流程為圖5中讀取卡中ID碼步驟的詳細過程

 

圖 6

 

    如前所述 ,在硬件初始化完成后,TXCT腳會進行設置以滿足時序要求。充電完成后,腳P0.1電平拉高。射頻卡會響應, 并根據(jù)發(fā)送包括數(shù)據(jù)信息的信號。圖6流程為圖5中讀取卡中ID碼步驟的詳細過程。如圖6所示,協(xié)議規(guī)定起始位為高電平,為獲得穩(wěn)定的信號,P89LPC932延時20us后判斷起始位是否為高電平,如果不是則程序跳到相應的錯誤處理程序進行處理后返回主程序。當P89LPC932接收到正確的起始位后,將延時64us以跳過起始位(每一個信號位持續(xù)64us)并讀取其后SCIO傳來的數(shù)據(jù)位?;灸K從射頻信號中解碼出來的數(shù)據(jù)是反邏輯的,P89LPC932每讀完一位數(shù)據(jù),應將其反轉后右移入累加器中存儲,并且延時64us以讀取下一個數(shù)據(jù)位。當8位數(shù)據(jù)均讀入,P89LPC932將延時64us判斷結束位并等待結束位結束。當結束位結束后,微控制器將延時20us(等待下一個字節(jié)的穩(wěn)定信號)并存儲整個字節(jié)并讀取下一個字節(jié),當所有的14個字節(jié)讀取完畢,返回主程序。不同的基站模塊時序圖及通訊協(xié)議有所差異,可以根據(jù)實際的方案對以上設計參數(shù)加以相應的修改。

    4.CRC校驗

    成功讀取 ID碼后,P89LPC932需要將ID碼與隨之而來的CRC碼進行校驗。在本方案中,CRC碼是根據(jù)CRC-CCITT方式得到的。此算法的校驗辦法由多種,在此僅舉位校驗算法為例 4 。

    在 CRC校驗過程中,定義一個16位的聯(lián)合體(union)regs,聯(lián)合中每一位均可進行位操作。根據(jù)圖7中的結構,在程序中定義一個函數(shù)對聯(lián)合體各位及輸入的A位進行移位及異或操作,將函數(shù)的輸入?yún)?shù)設為ID碼,當運行程序結束后,結構 體中的各位就應該是與ID碼相對應的CRC校驗碼。如果生成的校驗碼與讀取的CRC校驗碼相同,則校驗通過,否則校驗有誤。

crcregs regs;

void crcInputBit(bit in)

{

bit a="regs".bits.bit0^in;

regs.bits.bit0=regs.bits.bit1;

regs.bits.bit1=regs.bits.bit2;

regs.bits.bit2=regs.bits.bit3;

regs.bits.bit3=regs.bits.bit4^a;
regs.bits.bit4=regs.bits.bit5;

……

regs.bits.bit8=regs.bits.bit9;

regs.bits.bit9=regs.bits.bit10;

regs.bits.bit10=regs.bits.bit11^a;

regs.bits.bit11=regs.bits.bit12;

……

regs.bits.bit14=regs.bits.bit15;

regs.bits.bit15=a;

 

 

} 結構體

圖 7

 

 值得注意的是:在聯(lián)合的初始化中,不同的初始值根據(jù) CRC校驗碼的計算相關,不同的初始值得出不同的校驗碼結果。

    結語

    本文利用 8位微控制器芯片控制發(fā)射機應答基站芯片的方案為例,介紹了RF CDI的射頻讀卡控制系統(tǒng)的讀卡控制部份的設計。該方案充分利用了微控制器的PWM輸出功能,片上EEPROM存儲ID碼,從而大大減少系統(tǒng)中元件的數(shù)目和電路板面積,有利于系統(tǒng)EMI性能并降低系統(tǒng)的成本。這些設計特點使該方案在控制領域具有極其明顯的優(yōu)勢。

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