亚洲狼窝一区二区在线观看-米奇精品一区二区三区在线观看-一区二区三区美女免费作爱视频-av中文字幕不卡在线播放

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

聯(lián)系興邦電子

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

售后:0371-55132951/55132952

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

RFID閱讀器的驅(qū)動(dòng)程序撰寫

文章出處:http://m.luckydriving.com 作者:T博士研發(fā)團(tuán)隊(duì)    人氣: 發(fā)表時(shí)間:2011年10月27日

[文章內(nèi)容簡(jiǎn)介]:RFID閱讀器的驅(qū)動(dòng)程序撰寫

 

   

本文將介紹如何以MCU簡(jiǎn)單的設(shè)計(jì)一個(gè)RFID的閱讀器,所示范的的程序模塊是采用HOLTEK MCU HT49R50A-1的匯編語言,希望透過程序模塊的分享以達(dá)到共同討論的目的。

RFID是英文“Radio Frequency Identification”的縮寫,中文名稱為「無線射頻身份識(shí)別」是為目前相當(dāng)受到重用的感應(yīng)式電子芯片或是近接卡、感應(yīng)卡、非接觸卡...等等,非接觸式自動(dòng)識(shí)別技術(shù)的一種。是一種內(nèi)建有無線電技術(shù)的芯片,芯片中還可紀(jì)錄一系列信息,如產(chǎn)品別、位置、日期等,最大的好處是能提高物品管理效率。

目前市面上以使用條形碼,將物品的相關(guān)信息多記錄在條形碼上,而再以掃描儀掃瞄條形碼取得信息,而RFID只需在一定范圍內(nèi)感應(yīng),并可一次讀取大量訊息。射頻識(shí)別系統(tǒng)(RFID)最早在1948年即被提出,利用無線電波傳送識(shí)別數(shù)據(jù),達(dá)到身分識(shí)別的目的。無須接觸即可自動(dòng)讀取及收集資料的一種科技,乃屬于自動(dòng)資料搜集(Automated Data Collection, ADC)技術(shù)之一種,可無線讀取卷標(biāo)信息。傳輸頻率分為低頻(LF:125~134KHz),高頻(HF:13.56MHz),超高頻 (UHF: 400~ 1000MHz),微波(Microwave; 1GHz以上),其中以超高頻之技術(shù)較先進(jìn)且其穩(wěn)定度與應(yīng)用效果較佳。

于本文將介紹如何以MCU簡(jiǎn)單的設(shè)計(jì)一個(gè)RFID的接收器,所使用的是為高頻(13.56 MHz)的頻域,于本文中的程序模塊是采用Holtek MCU HT49R50A-1的匯編語言來撰寫,希望透過程序模塊的分享以達(dá)到共同討論的目的。

RFID的特性

條形碼是一種只讀式的、需要對(duì)準(zhǔn)標(biāo)的、一次只能讀一個(gè)、且容易破損;而RFID是可擦寫的、使用時(shí)不需對(duì)準(zhǔn)標(biāo)的、同時(shí)可讀取多個(gè)、堅(jiān)固全天候使用,可不需人力介入操作。RFID具有許多條形碼所難以達(dá)成的下列特性:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

() 數(shù)據(jù)的讀寫(Read Write)機(jī)能:只要通過RFID Reader即可不需接觸,直接讀取訊息至數(shù)據(jù)庫內(nèi),且可一次處理多個(gè)標(biāo)簽,并可以將物流處理的狀態(tài)寫入標(biāo)簽,供下一階段物流處理的讀取判斷之用。

() 容易小型化和多樣化的形狀:RFID在讀取上并不受尺寸大小與形狀之限制,不需為了讀取精確度而配合紙張的固定尺寸和印刷品質(zhì)。此外,RFID TAG更可往小型化與多樣型態(tài)發(fā)展,以應(yīng)用在不同產(chǎn)品。

() 耐環(huán)境性:紙張一受到臟污就會(huì)看不到,但RFID對(duì)水、油和藥品等物質(zhì)卻有強(qiáng)力的抗污性。RFID在黑暗或臟污的環(huán)境之中,也可以讀取數(shù)據(jù)。

() 可重復(fù)使用:由于RFID為電子數(shù)據(jù),可以反復(fù)被覆寫,因此可以回收標(biāo)簽重復(fù)使用。如被動(dòng)式RFID,不需要電池就可以使用,沒有維護(hù)保養(yǎng)的需要。

() 穿透性:RFID若被紙張、木材和塑料等非金屬或非透明的材質(zhì)包覆的話,也可以進(jìn)行穿透性通訊。不過如果是鐵質(zhì)金屬的話,就無法進(jìn)行通訊。

() 數(shù)據(jù)的記憶容量大:數(shù)據(jù)容量會(huì)隨著記憶規(guī)格的發(fā)展而擴(kuò)大,未來物品所需攜帶的資料量愈來愈大,對(duì)卷標(biāo)所能擴(kuò)充容量的需求也增加,對(duì)此RFID不會(huì)受到限制。為期


RFID所使用的頻率介紹

為避免各國(guó)無線電頻率使用標(biāo)準(zhǔn)不一,造成使用上的混亂與困擾,國(guó)際上大多遵守國(guó)際電信聯(lián)合會(huì)(ITU)的規(guī)范。目前RFID使用的頻率有6種,分別為135KHz以下、13.56MHz、433.92MHz、860M~930MHz(即UHF)、2.45GHz以及5.8GHz,其各有特色和缺陷。135KHz以下傳輸距離短約10公分左右,通訊速度慢。此頻段在絕大多數(shù)的國(guó)家屬于開放,不涉及法規(guī)開放和執(zhí)照申請(qǐng)的問題,因此使用最廣,主要使用在寵物、門禁管制和防盜追蹤。 13.56MHz薄化的效果最佳傳輸距離為1公尺以下,代表性應(yīng)用為會(huì)員卡、識(shí)別證、飛機(jī)機(jī)票和建筑物出入管理,通訊距離10公分左右的近距離非接觸式IC卡發(fā)展快速。

RFID系統(tǒng)的基本架構(gòu)

RFID的基本組成組件及其主要的功能為:
•讀取器:負(fù)責(zé)讀/寫電子卷標(biāo)上的數(shù)據(jù)。
• 電子卷標(biāo)/卡(Transponder; Tag):分為被動(dòng)與主動(dòng)兩種結(jié)構(gòu)如圖1所示,如表1所示主要負(fù)責(zé)除存被識(shí)別物的相關(guān)資料,如品號(hào),品名,規(guī)格等等,可以藉由讀取器來偵測(cè),另外于表2所示則為頻率與Tag的關(guān)系及被使用的特性。
•計(jì)算機(jī):負(fù)責(zé)系統(tǒng)平臺(tái)的操作,將RFID的讀取器與計(jì)算機(jī)系統(tǒng)整合就可以偵測(cè)到物品的移動(dòng)狀況和信息。

圖1 Tag的基本結(jié)構(gòu)

等級(jí)(Class)

內(nèi)存

電源

特性

應(yīng)用領(lǐng)域

Class 0

被動(dòng)式的感應(yīng)偶合

1位的Tag

EAS商品防竊

Class 1

只讀式

被動(dòng)式的感應(yīng)偶合

只能寫入一次

EPC識(shí)別碼

Class 2

/寫式

被動(dòng)式的感應(yīng)偶合

可編密碼

EPC識(shí)別碼

Class 3

/寫式

半被動(dòng)式內(nèi)建有電源

接收能量才讀寫

環(huán)境感應(yīng)型

Class 4

/寫式

主動(dòng)式內(nèi)建有電源

多任務(wù)Tag讀寫

智能型

Class 5

/寫式

主動(dòng)式內(nèi)建有電源

具有上述的綜合

遠(yuǎn)距無線網(wǎng)絡(luò)

1 Tag的等級(jí)分類表

 


頻率 
 

低頻(LF 125 KHz

高頻
HF; 13.56 MHz

超高頻(UHF; 860-930 MHz

微波(2.45- 5.8 MHz

性統(tǒng)型態(tài)

被動(dòng)式

14443

15693

被動(dòng)式

主動(dòng)式

被動(dòng)式

主動(dòng)式

讀取距離

<0.5m

<0.5m

<1.5m

3-10m

>10m

3-10m

>10m

內(nèi)存bytes

64-1k

8k-128k

256k-512k

64k-512k

-

16k-64k

-

傳輸功率

72dBμA/m

42dBμA/m

10mW-4W

4W(USA)0.5W

讀取方法

感應(yīng)線圈

感應(yīng)線圈

電容式電場(chǎng)效應(yīng)

電容式電場(chǎng)效應(yīng)

讀取速度

←→

環(huán)境適應(yīng)性

←→

尺寸

←→

2 Tag與頻率的關(guān)系

 

RFID的應(yīng)用領(lǐng)域


RFID之應(yīng)用相當(dāng)廣泛,最常見的應(yīng)用為:
* 門禁管制:人員出入門禁監(jiān)控、管制及上下班人事管理
* 回收資產(chǎn):棧板、貨柜、臺(tái)車、籠車等可回收容器管理
* 貨物管理:航空運(yùn)輸?shù)男欣钭R(shí)別,存貨、物流運(yùn)輸管理
* 物料處理:工廠的物料清點(diǎn)、物料控制系統(tǒng)
* 廢物處理:垃圾回收處理、廢棄物管控系統(tǒng)
* 醫(yī)療應(yīng)用:醫(yī)院的病歷系統(tǒng)、危險(xiǎn)或管制之生化物品管理
* 交通運(yùn)輸:高速公路的收費(fèi)系統(tǒng)
* 防盜應(yīng)用:超市的防盜、圖書館或書店的防盜管理
* 動(dòng)物監(jiān)控:畜牧動(dòng)物管理、寵物識(shí)別、野生動(dòng)物生態(tài)的追蹤
* 自動(dòng)控制:汽車、家電、電子業(yè)之組裝生產(chǎn)
* 聯(lián)合票證:聯(lián)合多種用途的智能型儲(chǔ)值卡、紅利積點(diǎn)卡

以下對(duì)幾個(gè)應(yīng)用作深入的介紹說明:

一般消費(fèi)品
實(shí)務(wù)應(yīng)用:從倉儲(chǔ)到商品架的有效管理長(zhǎng)久以來,消費(fèi)品制造商一直苦于如何將適切的產(chǎn)品,在適當(dāng)?shù)臅r(shí)間運(yùn)交給適當(dāng)?shù)牧闶凵獭6逵?RFID 解決方案,制造商可以有效追蹤貨品,管理庫存水準(zhǔn),并維持適當(dāng)?shù)膸齑媪恳詽M足零售商的需求。導(dǎo)入 RFID 解決方案后,工廠內(nèi)的貨品棧板無需人工檢視可直接運(yùn)出,取貨疏失的情形減少,退貨管理的效率提升,又免了實(shí)際的存貨盤點(diǎn)作業(yè),廠商可以降低人事成本。

零售業(yè)
實(shí)務(wù)應(yīng)用:協(xié)助提升獲利能力,在零售業(yè),競(jìng)爭(zhēng)慘烈、資本成本高,消費(fèi)者的反復(fù)無常也是眾所周知,想要維持獲利率,特別艱難。從增加銷售額、改善促銷活動(dòng)到降低失竊率,零售業(yè)者必須全心全力尋找創(chuàng)新的方式才能提升利潤(rùn)。

制藥業(yè)
實(shí)務(wù)應(yīng)用:在嚴(yán)格管制的環(huán)境中提高生產(chǎn)效率,制藥業(yè)者除了在發(fā)展及配銷藥品等方面。

物流業(yè)
實(shí)務(wù)應(yīng)用:發(fā)揮貨運(yùn)及配送流程的最高效率除了倉儲(chǔ),貨柜場(chǎng)也可以利用 RFID 方案來建立高效率的配送及貨運(yùn)流程。將商品從消費(fèi)性產(chǎn)品業(yè)者運(yùn)交到零售商的流程,是供應(yīng)鏈中絕不可缺少的一環(huán)。

運(yùn)輸業(yè)
實(shí)務(wù)應(yīng)用:密切監(jiān)控運(yùn)輸中的資產(chǎn),RFID 可用來追蹤載貨卡車與軌道車輛的位置,也可以收集在特定地點(diǎn)的貨運(yùn)車輛上最新存貨數(shù)字。實(shí)際出貨期間,RFID
可以根據(jù)貨車所在的最新地點(diǎn)追蹤商品,并監(jiān)督這些貨運(yùn)車輛所載送的商品明細(xì)
實(shí)務(wù)應(yīng)用:密切監(jiān)控運(yùn)輸中的資產(chǎn),RFID 可用來追蹤載貨卡車與軌道車輛的位置,也可以收集在特定地點(diǎn)的貨運(yùn)車輛上最新存貨數(shù)字。實(shí)際出貨期間,RFID 可以根據(jù)貨車所在的最新地點(diǎn)追蹤商品,并監(jiān)督這些貨運(yùn)車輛所載送的商品明細(xì)。

接收器的制作及程序

于圖2所示為RFID接收器的結(jié)構(gòu)圖,是由Holtek MCU HT49R50A-1所控制,由于RFID的技術(shù)目前尚處于商業(yè)保密期,故于短時(shí)間內(nèi)可能無法公開時(shí)感抱歉,有關(guān)系統(tǒng)的程序模塊,主要有三大部分所成如圖3所示,分別為主程序是為負(fù)責(zé):鍵的掃描,LCD顯示,聲響,LED指示,以及RFID中的Tag數(shù)據(jù)的核對(duì)。外部中斷子程序?yàn)樨?fù)責(zé)計(jì)數(shù)的管理;最后主中斷子程序的控制主要負(fù)責(zé)計(jì)數(shù)移位,數(shù)據(jù)接收等工作。相關(guān)的處和語言的詳列及說明如圖4。

圖2 RFID 接收器的實(shí)際電路圖

 

圖3 程序流程圖

于圖2所示為本文中所舉RFID接收器范例的實(shí)際電路圖,程序使用一組Timer及一組External Interrupt來搭配接收RFID Data,其中應(yīng)特別注意的是所使用的外部Clock Sounce需要精準(zhǔn),以達(dá)到接收數(shù)據(jù)的穩(wěn)定性及正確性。于圖3所示為程序的設(shè)計(jì)流程,所設(shè)計(jì)的程序如圖4所示。 .

ODE    .SECTION        AT 00H  'CODE'

             ;------------------

             ;--- START 開始副程式  ---

                ORG     00H

                JMP     START

             ;------------------

             ;--- INT0 中斷0副程式 ---

                ORG     04H

             JMP EXTERNAL_INTERRUPT0

             ;------------------

             ;--- INT1       中斷1副程式---

                ORG     08H

             JMP EXTERNAL_INTERRUPT1

             ;------------------        

             ;--- TIMER 0 計(jì)時(shí)器0副程式      ---

             ORG 0CH

             JMP TIMER0_INT

             ;------------------

             ;--- TIMER 1 計(jì)時(shí)器1副程式  ---

             ORG 010H

             JMP TIMER1_INT

             ;------------------

             ;--- TB  ---

             ORG 014H

             RETI

             ;------------------

             ;--- RTC ---

             ORG 018H

             RETI

             ORG 020H

;================================

;=

;=          INT PROGRAM

;=

;===============================

;=

;=    TIMER 0 INTERRUPT 100uS

;=

;===============================

TIMER0_INT:

             MOV S_ACC,A              ;SAVE ACC&STATUS TO MEMORY

             MOV A,STATUS          ;push pop

             MOV S_STA,A

             ;---------------------------

             RL   M_DATA_BUFFER        ;EVERY 100uS SHIFT LEFT ONCE

             SNZ P_RFID_DATA

             JMP RFIDGETDATA0

RFIDGETDATA1:

             CLR M_DATA_BUFFER.0            ;RECEIVER DATA "1"

             JMP CHECK_RFID_LEADING_CODE

RFIDGETDATA0:

             SET M_DATA_BUFFER.0            ;RECEIVER DATA "0"

CHECK_RFID_LEADING_CODE:

             SZ   F_RFID_1ST_OK

             JMP BIT8_RECEIVER

             MOV A,098H               ;FIRST ID 98H

             XOR A,M_DATA_BUFFER           ;CHECK LEAD CODE

             SNZ Z

             JMP RESET_TIMER0

             SET F_RFID_1ST_OK

             MOV A,12

             MOV M_RFID_BYTES_COUNT,A   ;TOTAL DATA 12 BYTES

             MOV A,0F3H

             MOV MP0,A

SAVE_RF_ID_DATA:

             INC MP0

             MOV A,M_DATA_BUFFER

             MOV R0,A

             CLR M_DATA_BUFFER

             SDZ M_RFID_BYTES_COUNT

             JMP RESET_TIMER0

             CLR F_RFID_1ST_OK

             ;

             CALL     CRC_CHECK_PROCESS      ;CHECK CRC

             SNZ ACC.0                 ;ACC=FFH DATA OK

             JMP TIMER0_INT_END

             SET F_RFID_RX_OK

             JMP TIMER0_INT_END

BIT8_RECEIVER:

             SDZ M_ROTATE_COUNT

             JMP RESET_TIMER0

             MOV A,08

             MOV M_ROTATE_COUNT,A

             JMP SAVE_RF_ID_DATA

             ;

RESET_TIMER0:

             CLR TMR0C.4                   ;TIMER0 COUNTING 100uS

             MOV A,154                  ;TIMR0 100uS TIMEOUT FOR RFID

             MOV TMR0,A

             ;---------------------------

TIMER0_INT_END:

             MOV A,S_STA              ;RELOAD ACC&STATUS

             MOV STATUS,A           ;Pop acc Status Regiter

             MOV A,S_ACC

             RETI

      ;===============================

      ;=

      ;=    EXTERNAL_INTERRUPT 0

      ;=

      ;===============================

EXTERNAL_INTERRUPT0:

             SNZ       F_RFID_RX_OK

             SET       TMR0C.4             ;Enable TIMER0 START COUNTING 100uS

             RETI

;=============================================================

;=

;=          MAIN PROGRAM

;=

;=============================================================

START:

       ;--- POWER ON RESET ---

             MOV       A,11111111B ;I/O port initial

             MOV       PA,A

             MOV       A,11111111B

             MOV       PB,A

             MOV       A,11111111B

             MOV       PC,A

             ;--- TIMER 0 ---

             MOV       A,159            ;Initial TIMR0 100uS TIMEOUT FOR RFID Receiver

             MOV       TMR0,A

             MOV       A,10100000B

             MOV       TMR0C,A

 

             ;--- TIMER 1 ---

             MOV       A,56            ;TIMR1 FOR MAIN LOOP

             MOV       TMR1,A

             MOV       A,10110000B

             MOV       TMR1C,A

    ;--- INT 0,1 ---

             MOV       A,00001001B

             MOV       INTC0,A       ;Enable Mcu interrupt founction

             MOV       A,00000101B

             MOV       INTC1,A

;--------------------------------------------------

      ;---- CLEAR WORK RAM ----

             CALL     CLEAR_RAM        ;CLEAR MCU RAM

     ;==========================

             ;=  MAIN

             ;==========================

MAIN:

      ;------- MAIN LOOP 20MS ---------

             SNZ       F_20MSTIMEOUT

             JMP       MAIN

             CLR       F_20MSTIMEOUT ;MAIN LOOP 20MS FOR CYCLE

      ;*********************************

      ;----- Make some function --------

      ;ex:

      ;       CALL    KEY_SCAN

      ;      CALL     SHOW_LCD

      ;      CALL     BEEP_SOUND

      ;      CALL     SHOW_LED

             JMP MAIN

;===============================================

圖4系統(tǒng)程序語言

 

結(jié)語

    整體看來,RFID無線射頻身份識(shí)別系統(tǒng)在未來的發(fā)展在很多的產(chǎn)業(yè)都是相當(dāng)被看好的,雖然目前該技術(shù)有一些潛在問題,但科技的發(fā)達(dá)日新月異,相信要克服RFID的種種隱憂,所需要的也只是時(shí)間上的問題而已。舉例說隱私權(quán)問題,現(xiàn)正研發(fā)自毀型卷標(biāo)或消磁型卷標(biāo)來解決這問題;配合奈米技術(shù)所研發(fā)適用于特殊物品的超小型標(biāo)簽;還有WhereNet新版物流管理軟件可支持物流業(yè)者使用RFID系統(tǒng)。因此我們可以預(yù)見RFID將會(huì)促使相當(dāng)多產(chǎn)業(yè)產(chǎn)生一場(chǎng)大的變革。然而RFID對(duì)印刷產(chǎn)業(yè)有多大的影響呢?是否會(huì)為印刷產(chǎn)業(yè)帶來重大的商機(jī)嗎?從上述文章的內(nèi)容,相信在可預(yù)見的未來,不論是各式產(chǎn)品包裝盒、食物外包裝或是圖書雜志里,只要是目前有條形碼標(biāo)簽的印刷品上,將來就會(huì)有RFID的身影,甚至沒有條形碼標(biāo)簽的也可能會(huì)有RFID。所以不論是印制包裝外盒的業(yè)者(厚紙)或是印制書籍雜志的業(yè)者(薄紙)都應(yīng)會(huì)產(chǎn)生影響,尤其是對(duì)目前專門印制條形碼卷標(biāo)或是條形碼報(bào)表的業(yè)者所產(chǎn)生的影響更大。目前使用的RFID的天線部份,都是使用銅片制作,黏貼在一般自黏標(biāo)簽上,再轉(zhuǎn)貼到所需的位置上。希望將來RFID的天線部份以印刷方式印上,就如同目前印制條形碼一般。

本文關(guān)鍵詞:RFID閱讀器的驅(qū)動(dòng)程序撰寫
回到頂部