基于ARM的RFID中間件系統設計
1.6 電源設計
系統的核心模塊工作電源為單一的3.3 V/0.5 A直流。由于核心模塊電源消耗功率較小,因此系統采用LT10856線性穩壓芯片,使用電路板上下面銅箔作為散熱面,用9 V/0.8 A直流電源供電。
在其他的應用設計中根據不同的電源消耗需求,可以選擇線性穩壓源方案和開關穩壓源方案。對于前一種選擇,可以獲得低噪聲、廉價等益處,但同時也有效率低、發熱較大等缺點;對于開關電源方案,正好與線性電源的優缺點相反。
1.7 其他外設
系統提供了2個USB HOST接口,可支持U盤、USB攝像頭等多種USB設備,只需開發不同的設備驅動就可有效擴展。
使用UDA1380音頻編解碼器可有效支持MD、CD、MP3格式的音頻文件的播放。
2 軟件設計
Linux性能強大,開源免費,有極強的平臺可伸縮性,符合POSIX標準,且有強大的網絡功能。這些特點使其近年來在嵌入式領域發展迅速,廣泛滲透到信息家電、網絡設備和手持終端等市場,因此本系統以Linux操作系統為依托,在其上開發應用程序。中間件軟件是一個多層次多模塊的軟件系統,共分為3個層次,如圖3所示。
系統配置層:實現系統配置功能,調用下層提供的一些功能接口,不僅可以添加下層的基本處理單元,而且可以對處理單元的一些參數進行有效配置。它包括Web Server接口模塊和遠程控制信息臺模塊。
數據邏輯層:實現該軟件系統的基本功能,包括讀寫器命令處理、標簽過濾處理、對象*(*)接口、企業級服務器接*互(可能改為和PC中間件進行交互)。該層次完成系統的邏輯功能,包括設備管理模塊、數據過濾模塊、*查詢模塊(保留)、企業級別服務器接口模塊。
基礎設施層:提供系統運行所需要的基本功能,如數據庫訪問功能、內存管理功能,它們為其他模塊提供統一穩定的接口,屏蔽一些差異性。該層次包括網絡管理模塊、內存管理模塊(保留)、數據庫訪問模塊。
2.1 Linux的移植
在嵌入式開發中,把操作系統移植到開發板是進行嵌入式應用程序開發的前提和基礎。ARM Linux是針對ARM體系結構的嵌入式Linux操作系統。在編譯Linux內核之前,首先要針對具體的硬件對內核進行配置,包括系統類型的配置。本系統選擇ARM system type。在配置好通用內核選項、塊設備和文件系統之后,即可編譯修改后的內核文件,生成一個內核映像的自解壓壓縮文件。通過運行make clean dep zImage對該文件進行依賴編譯,系統將在/arch/armnommu/boot目錄下生成內核映像zImage,并將zImage下載到Flash 中的64K地址處。運行時,將U-Boot復制到SDRAM中的OxOc300000地址處并啟動zImage;zImage會自行解壓縮,將其解壓縮到 SDRAM中的OxOc080000地址處并開始運行。內核啟動后,系統會將romfs作為根文件系統。在linux-dist目錄下運行make menuconfig命令可配置Linux的文件系統。
2.2 RFID標簽數據處理
系統讀取的RFID標簽數據在中間件中主要經歷數據管理、編碼管理和過濾規則管理,之后存入本地數據庫。其中數據管理包括數據校驗、數據處理和數據存儲;編碼管理即設定編碼規范,可配置支持不同數據編碼規范;過濾規則管理能支持用戶配置數據過濾規則。系統基本流程如圖4所示。
用戶的參數配置信息通過消息隊列發送給中間件軟件,軟件分析發送過來的數據,對系統工作狀態作出一定的調整。同時,系統通過網絡處理模塊接收從網口上讀寫器發送過來的數據,把這些數據分為標簽數據和讀寫器管理數據兩類。系統每個讀寫器實例都有自己的數據處理線程,它分析自己獨特的數據格式形成統一的數據,并且調用該種讀寫器的處理方法,對解析后的數據結合該讀寫器特定的數據處理參數,對標簽數據進行過濾、轉發等工作。整個系統中有唯一一個管理命令處理線程,它輪詢每個讀寫器的管理命令處理隊列。如果有命令數據,那么調用該讀寫器特定的處理方法對這些數據進行處理。
結 語
本文提供了一種支持多通信平臺的嵌入式RFID中間件系統設計方案。支持無線接入的RFID中間件可以部署于無固定網絡基礎設施的場景,降低有線網絡部署成本。RFID中間件還可以用無線通信方式向用戶或者系統傳輸信息,提高了信息傳遞的實時性。
評論