射頻識別(RFID)是一種利用射頻信號進行識別的技術,它的基本原理是利用應答器直接發射或反射的電磁波來進行通信。根據系統應答器向讀寫器通信方式可以分為主動式和被動式兩種。主動式射頻就識別系統由于其通信距離遠、可靠性強、通信速率高等優點適用于軍事、物流、交通、物品實時跟蹤定位等領域。過去由于主動式射頻識別系統的應答器體積和功耗較大、電池壽命有限等因素,嚴重限制了主動式RFID 系統的應用和普及;近年來射頻和數字集成電路以及高容量小體積電池技術的快速發展,使主動式射頻識別系統在很多應用領域進入實用化階段。 1 系統的硬件組成與通信協議設計 基于RFIC 的主動式射頻識別系統設計有利于實現系統的小型化,低功耗,可靠性和靈活性,本文采用Chipcon 公司的CC1100 作為無線數據傳輸模塊,進行系統設計。 1.1系統組成和原理 1.1.1 應答器與讀寫器組成 系統由應答器和讀寫器兩部分組成,如圖1 所示,應答器部分由無線傳輸單元、控制單元和供電單元組成;讀寫器部分由無線傳輸單元、控制單元和數據傳輸單元組成。 圖 1 系統組成原理圖 讀寫器中數據傳輸單元由兩塊 CC1100 組成,其中一片工作于315MHz,用于發射單頻點載波,形成激活場區,另一片工作于433MHz,用于與應答器進行半雙工通信;控制單元采用TI 的超低功耗單片機MSP430,降低了系統功耗。控制單元用于配置CC1100 寄存器,處理CC1100 接收到的數據,并向外提供RS232/485 接口。應答器中數據傳輸單元為一片CC1100,用來與讀寫器進行無線通信;控制單元用于配置CC1100 寄存器,并對CC1100 的狀態進行管理。 1.1.2 控制單元與無線傳輸單元接口 CC1100 與MSP430 采用SPI 接口連接,圖1 中已經給出了它們之間的連接方式。SPI 總線接口技術是一種高速、高效率的串行接口技術,主要用于擴展外設和進行數據交換。MSP430控制CC1100 進行數據發射和接收數據的流程如圖2 所示。 圖 2 數據發送和數據接收流程 1.2系統通信協議 應答器與讀寫器的非接觸數據交換構成一個無線數據通信系統,數據通過CC1100 在讀寫器和應答器之間無線傳輸,本文設計了以CC1100 作為射頻接口的主動式RFID 系統的通信協議,可以將基本控制,通信等功能函數編程寫入控制系統,通過調用函數功能模塊以完成通信功能。 1.2.1 物理層協議 系統的通信協議的物理層與ISO/IEC 18000-7標準兼容,載波頻率為433.92MHz;調制方式為2FSK;調制深度為+/-60KHz;數據速率為38.4Kbps;喚醒頻率為315MHz。 1.2.2 數據幀格式 讀寫器與應答器之間的通信數據以幀的方式打包,從而提高系統通信的可靠性。讀寫器與應答器之間通信幀包括前導碼、同步頭、數據長度、傳輸數據和CRC 校驗幾部分組成。其中前導碼和同步頭由CC1100 自動產生,用來進行接收和發射數據同步;數據長度為數據部分總的字節數;數據部分為要傳輸的有用信息,它可能包括讀寫器向應答器發送的命令或它們之間相互交換的數據,CRC 校驗為符合CRC-CCITT 的2 字節校驗位,同樣由CC1100 硬件電路自動產生,并緊跟數據部分。 2 系統的工作流程與軟件設計 系統軟件分為三部分:主機軟件、讀寫器控制程序和應答器程序,主機軟件向上層提供API 接口,并通過RS232 接口與下層讀寫器進行數據交換;讀寫器程序和應答器程序分別用來控制讀寫器和應答器的工作流程。這里主要介紹讀寫器部分程序流程和應答器部分程序流程。讀寫器與應答器為主從關系:通信過程由讀寫器發起,讀寫器向應答器發送命令,然后等待應答器的應答。 2.1讀寫器軟件流程 讀寫器部分軟件的工作流程如圖 3(a)所示,讀寫器一直等待主機命令,接收到主機命令后,根據主機需求將命令解析成讀寫器對應答器相應操作,例如:提取場內所有應答器ID,對場內某些應答器的存儲器進行讀寫等。命令發送后,讀寫器等待應答器的應答數據,與應答器進行無線通信。當讀寫器執行完主機命令,完成于應答器的通信后,將需要返回的數據或狀態通過讀寫器與主機之間的接口上傳主機,繼續等待新的主機命令。 2.2應答器軟件流程 圖 3(b)說明了應答器的狀態轉移圖,應答器平時處于休眠狀態,當進入讀寫器的載波喚醒場內時,被載波喚醒,進入激活狀態,如果1s 之內沒有接收到命令則重新返回休眠狀態。應答器接收到讀寫器命令后,對命令進行初步解析和操作對象判斷,如果應答器確定讀寫器此次操作對象包含自己,則隨機選擇一個時隙做出相應的應答。 圖3 讀寫器與應答器的工作流程 讀寫器向應答器發送的消息分為兩種形式:廣播消息和點對點消息。廣播命令用來收集所有場內應答器的ID,或向所有場內應答器進行同一個操作。而點對點消息是針對某一個應答器進行讀存儲器、寫存儲器等操作。讀寫器發送廣播命令后,如何分配各個應答器對信道的占用是一個十分重要的問題,第3 部分將對這個問題進行討論。 3 系統防碰撞算法設計與實現 當兩個或兩個應答器同時對讀寫器的命令做出響應時會彼此產生干擾,使讀寫器無法正確接收,這種現象為“碰撞”。為了提高系統的可靠性和效率,必須盡量避免應答器碰撞的發生。系統采用基于時隙的ALOHA 算法作為系統的防碰撞算法。 時隙 ALOHA 算法的基本步驟為:每次應答器響應循環的時間被分為N 個時隙,應答器隨機選擇時隙應答,當不同的應答器選擇同一個時隙進行應答時,則發生了碰撞,碰撞的應答器與讀寫器通信失敗,應答器在下一個通信循環中重新與讀寫器建立通信。 3.1時隙ALOHA算法分析 1)最佳時隙數 一個時隙內應答的應答器數目服從二項分布,對于給定的時隙數N 和場內應答器數n,對于選定的某一時隙,讀寫器能正確接收應答器應答的概率為 2)場內應答器數估計 在實際應用中,場內應答器數目是未知的,因此必須對場內應答器數進行估計。圖中可以看出每個時隙可能有三種狀態:空時隙、正常通信時隙和碰撞時隙。可以根據式(5)對應答器數進行估計。 3.2防碰撞算法的實現 考慮到實際應用場景以及讀寫器的復雜程度,防碰撞算法的執行過程為: 1)讀寫器發送命令,命令內容包含時隙數,初始時隙數可根據具體應用場景由上位機設置。 2)應答器接收到命令后,隨機選擇總時隙數內的一個時隙應答;讀寫器接收應答器應答信息并根據此次循環內的三種時隙個數按照公式(5)估計出場內未讀應答器個數,如果場內沒有未讀應答器則讀寫過程結束,否則進入第3 步。 3)讀寫器發送命令,選擇第2 步估計的應答器數作為下次循環的時隙數,繼續執行第2 步。 4 系統性能 4.1應答器工作時間 由于應答器靠電池供電,因此應答器的工作時間是系統重要指標。MSP430 和CC1100 在不工作時刻已處于休眠狀態,從而達到低功耗的目的。表1(a)和(b)分別說明了MSP430 和CC1100 在不同狀態下的耗電量。假設應答器有1%的時間處于場內應答,則可以計算,應答器工作時間為2 年,滿足應用要求。 4.2多應答器讀取 按照第 3 部分中的防碰撞算法,對系統進行測試。結果如表1(c)所示,可見系統能夠有效的對多個應答器進行識別。 5 結論 本文介紹了一種主動式超高頻射頻識別系統的設計和實現。本系統具有低功耗、超長的應答器的工作時間,在多應答器環境下具有很高的讀取率。由于系統在軟硬件設計上都很靈活,因此,可以針對不同的應用對系統協議進行升級。本系統已經在礦井定位考勤系統中得到驗證。 本文作者創新點:設計了一種基于RFIC 的、具有載波喚醒功能的主動式射頻識別系統;將動態時隙數的時隙ALOHA 防碰撞算法應用于此系統中;對系統的功耗和應答器的讀寫性能分別進行了理論*估和實驗測試。 |