《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 農(nóng)產(chǎn)品生產(chǎn)線嵌入式RFID讀寫器設(shè)計(jì)
農(nóng)產(chǎn)品生產(chǎn)線嵌入式RFID讀寫器設(shè)計(jì)
RFID世界網(wǎng)
劉君 孫桂萍
摘要: 一、研究背景及設(shè)計(jì)RFID是射頻識(shí)別技術(shù)(RadioFrequencyIdentification)的英文縮寫,射頻識(shí)別技術(shù)是一種非接觸式的自動(dòng)識(shí)別技術(shù),它使用射頻電磁波通過空間耦合(交變磁場(chǎng)或電磁場(chǎng))在閱讀器和要進(jìn)行識(shí)別、分類和跟蹤的移動(dòng)物品(物品上附著有RFID標(biāo)簽)之間實(shí)現(xiàn)無接觸信息傳遞并通過所傳遞的信息達(dá)到識(shí)別目的的技術(shù)。RFID是一種自動(dòng)識(shí)別和數(shù)據(jù)捕獲技術(shù),可以提供無人看管的自動(dòng)監(jiān)視與報(bào)告作業(yè)。RFID閱讀器的工作原理如下:閱讀器通過天線發(fā)送出一定頻率的射頻信號(hào),當(dāng)標(biāo)簽進(jìn)入磁場(chǎng)時(shí)產(chǎn)生感應(yīng)電流從而獲得能量,發(fā)送出自身編碼和相關(guān)信息被讀取器讀取并解
Abstract:
Key words :

        一、研究背景及設(shè)計(jì)

        RFID 是射頻識(shí)別技術(shù)(Radio Frequency Identification)的英文縮寫, 射頻識(shí)別技術(shù)是一種非接觸式的自動(dòng)識(shí)別技術(shù), 它使用射頻電磁波通過空間耦合(交變磁場(chǎng)或電磁場(chǎng))在閱讀器和要進(jìn)行識(shí)別、分類和跟蹤的移動(dòng)物品( 物品上附著有RFID 標(biāo)簽)之間實(shí)現(xiàn)無接觸信息傳遞并通過所傳遞的信息達(dá)到識(shí)別目的的技術(shù)。RFID 是一種自動(dòng)識(shí)別和數(shù)據(jù)捕獲技術(shù), 可以提供無人看管的自動(dòng)監(jiān)視與報(bào)告作業(yè)。

        RFID 閱讀器的工作原理如下: 閱讀器通過天線發(fā)送出一定頻率的射頻信號(hào), 當(dāng)標(biāo)簽進(jìn)入磁場(chǎng)時(shí)產(chǎn)生感應(yīng)電流從而獲得能量, 發(fā)送出自身編碼和相關(guān)信息被讀取器讀取并解碼后送回到計(jì)算機(jī)中進(jìn)行有關(guān)處理。識(shí)別工作無須人工干預(yù), 可工作于各種惡劣環(huán)境。高性能的RFID 讀寫器可以同時(shí)識(shí)別多個(gè)物體[1]。在農(nóng)業(yè)生產(chǎn)中, 目前RFID 的使用范圍也逐漸擴(kuò)大, 隨著世界上發(fā)達(dá)國(guó)家的食品檢驗(yàn)檢疫制度日益嚴(yán)格, 目前國(guó)外對(duì)動(dòng)物的管理中已經(jīng)開始廣泛使用RFID 技術(shù), 而在國(guó)內(nèi)的某些超市中, 也對(duì)顧客提供了對(duì)凈菜等高檔農(nóng)業(yè)產(chǎn)品使用RFID 標(biāo)簽查詢產(chǎn)地和日期等基本的附加功能, 可以預(yù)見, 在未來RFID 必然在產(chǎn)品回溯, 質(zhì)量監(jiān)察等方面發(fā)揮更多的作用。在本系統(tǒng)的設(shè)計(jì)思路見圖1 使用了高性能的遵循RFIDGEN2 協(xié)議的讀寫模塊和RFID 標(biāo)簽, 直接在本地完成復(fù)雜的標(biāo)簽讀取, 標(biāo)簽反碰撞計(jì)算, 信息提取和數(shù)據(jù)保存等工作, 僅將有效信息通過網(wǎng)絡(luò)傳輸給后臺(tái)服務(wù)器, 這樣就大大降低了網(wǎng)絡(luò)通信的開銷, 降低了服務(wù)器的資源占用, 從而提高了系統(tǒng)整體的運(yùn)行效率, 提高了穩(wěn)定性, 增加了業(yè)務(wù)的靈活性。

        二、系統(tǒng)的硬件設(shè)計(jì)

        基于高可靠性和低成本的考慮, 本系統(tǒng)使用了基于S344B0 的嵌入式CPU 和WJ 6000 射頻模塊為基礎(chǔ), 配合USB、Realtek 網(wǎng)卡、SDRAM 等芯片組成了核心系統(tǒng), 其中關(guān)鍵的射頻模塊與CPU 接口如圖2。

        三、系統(tǒng)的軟件系統(tǒng)設(shè)計(jì)

        系統(tǒng)的整個(gè)軟件系統(tǒng)模塊關(guān)系如圖3 所示:

        操作系統(tǒng)采用uClinux 系統(tǒng)作為操作系統(tǒng), 用來管理各類硬件和提供軟件運(yùn)行平臺(tái)。由驅(qū)動(dòng)層提供各類設(shè)備諸如以太網(wǎng), 串口, USB 存儲(chǔ)器, 狀態(tài)燈等設(shè)備的驅(qū)動(dòng)。網(wǎng)絡(luò)通信模塊負(fù)責(zé)將處理得來的標(biāo)簽信息回傳到后臺(tái)服務(wù)器, 同時(shí)也可以根據(jù)后臺(tái)服務(wù)器的命令來控制主控模塊參數(shù)從而改變工作模式。嵌入式數(shù)據(jù)庫(kù)控制模塊負(fù)責(zé)將系統(tǒng)保存系統(tǒng)的工作日志, 并將讀取到的標(biāo)簽和相關(guān)數(shù)據(jù)保存到本地?cái)?shù)據(jù)庫(kù), 以備以后的查詢。協(xié)議解析模塊負(fù)責(zé)對(duì)受到數(shù)據(jù)通信包進(jìn)行協(xié)議解析, 取出有效的標(biāo)簽數(shù)據(jù), 并進(jìn)行標(biāo)簽反碰撞操作, 處理各類干擾問題, 保證受到標(biāo)簽數(shù)據(jù)的完整性, 也是整個(gè)軟件體系的核心部分。

        RFID 讀取系統(tǒng)軟件工作流程:

         1、嵌入式數(shù)據(jù)庫(kù)操作模塊

        在本項(xiàng)目中使用了Sqlite3 作為系統(tǒng)的嵌入式數(shù)據(jù)庫(kù)。嵌入式數(shù)據(jù)庫(kù)是整個(gè)系統(tǒng)的重要組成部分, 主要負(fù)擔(dān)了采集基本數(shù)據(jù)的本地存儲(chǔ), 條碼閱讀信息的初步存儲(chǔ)和快速查詢, 工作日志的保存, 還能和網(wǎng)絡(luò)通信模塊配合實(shí)現(xiàn)網(wǎng)絡(luò)主/ 從數(shù)據(jù)庫(kù)的同步, 在主服務(wù)器崩潰的情況下, 依然可以通過整理所有嵌入式數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行大部分?jǐn)?shù)據(jù)的恢復(fù), 增加了系統(tǒng)的可靠性, 此數(shù)據(jù)庫(kù)采用了單數(shù)據(jù)文件設(shè)計(jì), 能夠支持大部分SQL 92標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)操作語句, 支持事務(wù)功能, 通過擴(kuò)展網(wǎng)絡(luò)操作接口函數(shù), 達(dá)到了和后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行通信和交換數(shù)據(jù)的目的。

        2、網(wǎng)絡(luò)通信模塊

        本系統(tǒng)的特色就是通過嵌入式Linux 操作系統(tǒng)的網(wǎng)絡(luò)底層支持, 以多種網(wǎng)絡(luò)傳輸途徑, 將數(shù)據(jù)和后臺(tái)數(shù)據(jù)服務(wù)器進(jìn)行數(shù)據(jù)傳輸。在本系統(tǒng)的網(wǎng)絡(luò)部分設(shè)計(jì)中, 在局域網(wǎng)內(nèi)利用Linux 系統(tǒng)的提供的TCP/IP 協(xié)議支持, 在編程中采用了動(dòng)態(tài)與服務(wù)器建立連接的方法, 在讀取到標(biāo)簽信息并解碼出有效信息的時(shí)候, 向服務(wù)器相應(yīng)端口發(fā)送相應(yīng)的Socket 請(qǐng)求信息, 服務(wù)器端接受到請(qǐng)求后建立連接并新建Socket 端口來和終端進(jìn)行通信; 只有在讀取數(shù)據(jù)的時(shí)候數(shù)據(jù)庫(kù)和終端間才產(chǎn)生數(shù)據(jù)傳輸和占用服務(wù)器端資源, 從而降低了網(wǎng)絡(luò)占有率和服務(wù)器端的負(fù)荷, 提高了網(wǎng)絡(luò)通信的效率。

        3、RFID 協(xié)議解析模塊

        協(xié)議解析模塊負(fù)責(zé)將發(fā)送的命令參數(shù)加入包頭等信息,并將收到的標(biāo)簽回傳的信息進(jìn)行解包, 通過對(duì)信息的解包, 能夠得到盤存或讀寫的相關(guān)信息。MPR6000 支持的RFID Gen2命令包括Read, Write, Kill , Erase, Lock。命令都由一個(gè)字符串構(gòu)成, 其結(jié)構(gòu)如下:
       

        分別由開始幀、節(jié)點(diǎn)、總長(zhǎng)度、狀態(tài)、標(biāo)簽信息、CRC 這幾部分組成。

         舉例來說, Gen2 盤點(diǎn)命令的操作碼為01h, 操作會(huì)返回在讀寫域內(nèi)全部的符合讀取條件的Gen2 標(biāo)簽, 而經(jīng)過反碰撞模塊處理后, 得到的數(shù)據(jù)幀由標(biāo)簽信息和盤存總結(jié)兩部分組成:

        即< 回復(fù)信息>= [< 標(biāo)簽回復(fù)>]< 盤存總結(jié)>
        < 標(biāo)簽回復(fù)> =
< 訪問回復(fù)>
       
= < 標(biāo)簽ID 長(zhǎng)度>< 協(xié)議控制字>< 標(biāo)簽ID>
        舉例, 當(dāng)使用天線B 并且RF 的功率為22 時(shí), 讀取所有SL 為NOT SET, S3 flag 為A 的Gen2 標(biāo)簽, 此時(shí)的起始Q 為1( 即2 個(gè)時(shí)隙) 。
        60 01 01 16 02 03 00 01
        如果當(dāng)前射頻范圍內(nèi)的標(biāo)簽有一個(gè)64 位的Gen2 標(biāo)簽1的ID 為“ 0102 0304 0506 0708”。
        而且有一個(gè)96 位Gen2 標(biāo)簽2 的ID 為“ 1211 1009 08070605 0403 0201”。

        可能讀寫模塊會(huì)收到這樣一個(gè)包, 完整內(nèi)容如下:
        04 28 00 01 02 03 04 05 06 07 08 07 08 30 00 12 11 10 09 08 07 06 05 04 03 02 01 00 02 00 16 00 01 00 00 00 02 00 09
        現(xiàn)在對(duì)這個(gè)包進(jìn)行解析, 根據(jù)協(xié)議規(guī)定< 接受包> = [<標(biāo)簽回復(fù)>] < 盤存總結(jié)>
        = [<04 28 00 01 02 03 04 05 06 07 08> <07 08 30 00 12 11 10 09 08 07 06 05 04 03 02 01>] < 00 02 00 16 00 01 00 00 00 02 00 09>

        < 標(biāo)簽1 回復(fù)> = < 標(biāo)簽1 ID 長(zhǎng)度> < 協(xié)議控制字> <標(biāo)簽1 ID>
        < 標(biāo)簽1 ID 長(zhǎng)度> = <04> = 4- word = 64 Bit 標(biāo)簽ID
        < 協(xié)議控制字> = <28 00>, 從而得出< 標(biāo)簽1 ID> =<0102 0304 0506 0708>
        < 標(biāo)簽2 回復(fù)> = < 標(biāo)簽2 ID 長(zhǎng)度> < 協(xié)議控制字> <標(biāo)簽2 ID>

        < 標(biāo)簽1 ID 長(zhǎng)度> = <06> = 6- word = 96 Bit 標(biāo)簽ID
        < 協(xié)議控制字> = <30 00>, 得出< 標(biāo)簽2 ID> = <1211 1009 0807 0605 0403 0201>

        而又有< 盤存總結(jié)>=< 標(biāo)簽數(shù)>< 時(shí)隙數(shù)>< 回復(fù)CRC 錯(cuò)誤>< 沖突次數(shù)>< 通信輪數(shù)>
        所以得到< 標(biāo)簽數(shù)> = 2, < 時(shí)隙數(shù)> = 22,
= 1, < 回復(fù)CRC 錯(cuò)誤> = 0, < 沖突次數(shù)> = 2, < 通信輪數(shù)> = 9

        在提取標(biāo)簽信息后, 則可以將所獲得的標(biāo)簽信息送到嵌入式數(shù)據(jù)庫(kù)模塊進(jìn)行本地暫存, 同時(shí)通過網(wǎng)絡(luò)模塊上傳至后臺(tái)服務(wù)器做記錄, 中間的接口函數(shù)部分就不詳細(xì)給出了。

        四、總結(jié)與展望

        本文中描述的嵌入式RFID 終端讀取器, 在農(nóng)業(yè)產(chǎn)品包裝生產(chǎn)線中進(jìn)行了實(shí)用, 基本滿足了生產(chǎn)線RFID 系統(tǒng)對(duì)前端RFID 標(biāo)簽數(shù)據(jù)采集、處理、通信方面的要求, 在功能上和穩(wěn)定性方面已經(jīng)能夠替代專用RF 讀寫器, 因?yàn)椴捎昧嗣赓M(fèi)的開源Linux 操作系統(tǒng)和開源數(shù)據(jù)庫(kù)Sqlite , 大大降低了總體成本, 特別適合在成本敏感系數(shù)高的農(nóng)產(chǎn)品生產(chǎn)和監(jiān)控中使用。

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