最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

基于嵌入式Linux的RFID信息采集與處理系統(tǒng)

出處:by2hit.amo 發(fā)布于:2007-06-01 20:57:30

射頻識別( RFID) 是一種非接觸式的自動識別技術(shù),它通過射頻信號自動識別目標對象并獲取相關(guān)數(shù)據(jù), 識別過程無需人工干預(yù), 可工作于各種惡劣環(huán)境。RFID 技術(shù)在許多領(lǐng)域得到應(yīng)用, 如停車場管理、集裝箱運輸管理系統(tǒng)等。在大多數(shù)應(yīng)用中, 只要求有固定的閱讀器,但在某些特殊系統(tǒng)中(如集裝箱運輸管理系統(tǒng)),不僅要求有固定的閱讀器, 而且還要求有手持式讀卡器。

  TagMaster AB 公司是世界的RFID 讀卡器制造商。它提供性能優(yōu)良的固定式閱讀器,也提供一種手持式閱讀器。手持式讀卡器由Caiso 公司的工業(yè)級PDA( Personal Digital Assistants ) 和TagMaster AB 公司的S1510組成。PDA 雖然功能強大,但有如下缺點: (1)提供的觸摸屏輸入方式過于精細, 不適合工作人員現(xiàn)場操作; (2)TFT 液晶顯示屏在強光下顯示效果差, 耗電量大,并且在低溫下( 0℃以下) 無法工作, 因 

  此不適合室外工作;(3)采用Microsoft 公司的商用系統(tǒng)WinCE, 成本高。

  本文介紹一種基于嵌入式Linux 的

 
便攜式RFID 信息采集與處理系統(tǒng)。它采用高性能的32 位ARM920T 系列微處理器、8鍵的鍵盤及OLED 顯示屏, 結(jié)合S1510 實現(xiàn)了對電子標簽卡信息的采集、處理及實時顯示, 很好地解決了上述問題。

  1 系統(tǒng)組成

  系統(tǒng)采用Atmel 公司的AT91RM9200 32 位高性能處理器、TagMaster 公司的S1510 及OLED顯示模塊等實現(xiàn)電子標簽卡信息的采集、處理、實時顯示及與上位機通信等功能。系統(tǒng)組成如圖1。

  1 .1 微處理器

  系統(tǒng)采用Atmel 公司以ARM920T 為的AT91 系列微處理器AT91RM9200。它主頻可達180MHz,具有先進的節(jié)電技術(shù), 集成了SDRAM、Flash、紅外、USB 等接口。系統(tǒng)采用USB( Universal Serial Bus )及紅外方式與上位機通信。紅外方式采用Agilent 公司的HSDL- 3602 紅外收發(fā)器實現(xiàn)。

  1 .2 射頻識別模塊

  射頻識別模塊采用瑞典TagMaster AB 公司的2.4GHz 產(chǎn)品S1510。該模塊體積小, 專為手持設(shè)備設(shè)計,可以采集1米內(nèi)各種電子標簽上的數(shù)據(jù)。它通過USART串口與處理器通信, 接口簡單, 易于硬件實現(xiàn)。為了保證數(shù)據(jù)的可靠傳輸, 模塊與微處理器通信采用TagMaster AB公司開發(fā)的應(yīng)答式串口通信協(xié)議ConfiTalk。ConfiTalk 協(xié)議是一種面向字符的應(yīng)答式串行通信協(xié)議。它每次傳輸一定長度的數(shù)據(jù)塊( 幀) ,每個幀包含幀頭(STX)和幀尾(ETX)。為了提高數(shù)據(jù)傳輸?shù)目煽啃?每幀又加入了8 位的校驗位(CS)及地址位(ADR)。幀的結(jié)構(gòu)如圖2。

系統(tǒng)組成

幀的結(jié)構(gòu)

  MESSAGE 代表任意長度的信息。協(xié)議規(guī)定微處理器發(fā)送給S1510 的幀為命令幀, 返回的幀為應(yīng)答幀。本系統(tǒng)使用的S1510是TagMaster AB 公司的產(chǎn)品, 它支持基于ConfiTalk 協(xié)議的MAIL 命令方式的數(shù)據(jù)傳輸。

  MAIL 命令方式通信也就是把幀中的MESSAGE 域統(tǒng)一成四種格式, 其中命令幀有MAIL_SEND 和MAIL_RECEIVE兩種,分別表示S1510 接收用戶信息和返回卡信息(包括卡號、卡狀態(tài)和卡存儲的數(shù)據(jù)), 如圖3。

命令幀

  應(yīng)答幀有兩種: MAIL_SEND 的應(yīng)答幀和MAIL_RECEIVE的應(yīng)答幀, 如圖4。

應(yīng)答幀

  圖4 中, 36 表示S1510 使用MAIL 方式處理命令幀和應(yīng)答幀, 而4、5 表示S1510命令幀的類型(MAIL_SEND或MAIL_RECEIVE); Status 表示該命令的執(zhí)行狀態(tài)( 成功或失敗) ; MAIL_SEND命令幀中的Data 域表示用戶要進行的操作及參數(shù), 如使Data=WRITE: 參數(shù): 數(shù)據(jù), 即表示用戶要將數(shù)據(jù)寫入電子標簽卡;MAIL_RECEIVE 的應(yīng)答幀中的Data 域為用戶所要求得到的數(shù)據(jù)。

  當使用MAIL 命令方式讀寫標簽卡時, 用戶只需要按幀的格式填充各域, 然后利用ConfiTalk 協(xié)議提供的API 函數(shù)發(fā)送到S1510即可。命令清晰明了, 大大方便了用戶的開發(fā)。

  1 .3 OLED 顯示模塊

  系統(tǒng)采用萊寶科技有限公司的OLED 顯示模塊RGS24128064YW001。有機發(fā)光顯示器OLED ( Organic Light Emitting Display) 被譽為“夢幻顯示器”。與液晶屏相比, OLED 顯示屏更輕更薄、可視角度更大, 能夠顯著節(jié)省電能, 并且在-40℃的低溫下仍可以正常工作。

RGS24128064YW00  1 具有串行和8 位并行數(shù)據(jù)接口。系統(tǒng)采用8 位并行接口與微處理器通信。

  1 .4 SDRAM 和Flash 及自定義鍵盤

  系統(tǒng)采用32 位的同步動態(tài)隨機存儲器(SDRAM)作為系統(tǒng)內(nèi)存, 16 位的Flash 作為不可丟失數(shù)據(jù)存儲器。用戶可以通過8鍵的鍵盤進行各種操作, 如讀卡、寫卡等。

  2 系統(tǒng)軟件設(shè)計

  系統(tǒng)軟件是整個系統(tǒng)的靈魂, 其設(shè)計的好壞直接影響系統(tǒng)的穩(wěn)定性和可擴展性等性能。系統(tǒng)設(shè)計將軟件分為兩層結(jié)構(gòu), 如圖5所示。下面一層為操作系統(tǒng)層, 主要實現(xiàn)對Linux操作系統(tǒng)的移植和各種設(shè)備驅(qū)動程序的編寫, 包括OLED 模塊、USB? Device、紅外、鍵盤等設(shè)備驅(qū)動程序。上一層為應(yīng)用程序?qū)? 主要實現(xiàn)卡信息顯示、鍵盤掃描、電子標簽卡讀寫、文件傳輸、時鐘以及電池電量檢測等功能。

系統(tǒng)設(shè)計

  2 .1 嵌入式Linux

  Linux 是一種公開源碼的多任務(wù)操作系統(tǒng), 具有開放度高、安全性好、穩(wěn)定性強、可移植性好等特點, 在嵌入式操作系統(tǒng)中被大量采用。

  本設(shè)計采用的Linux 內(nèi)核是在ARM-

Linux 的基礎(chǔ)上, 編寫了OLED 顯示模塊、USB設(shè)備、紅外收發(fā)器及鍵盤的設(shè)備驅(qū)動程序。在Linux 系統(tǒng)中, 設(shè)備驅(qū)動程序占有很重要的位置, 它提供了在用戶空間操作硬件設(shè)備的接口。Linux系統(tǒng)將設(shè)備分為字符設(shè)備、塊設(shè)備及網(wǎng)絡(luò)設(shè)備三種, 并給出針對不同設(shè)備的數(shù)據(jù)結(jié)構(gòu)及注冊函數(shù)。

  當用戶開發(fā)設(shè)備驅(qū)動程序時, 只需按硬件操作的方法填充設(shè)備數(shù)據(jù)結(jié)構(gòu), 并將它注冊到內(nèi)核中即可。

  為了方便用戶應(yīng)用程序的編寫, 把USB 設(shè)備實現(xiàn)為CDC( Communication Device Class ) 類設(shè)備,其驅(qū)動程序分為兩層, 層操作AT91RM9200 上的USB 設(shè)備控制器, 如處理硬件中斷、讀寫寄存器及操作I/O 口來檢測設(shè)備的插拔;上層實現(xiàn)了底層與TCP/IP 協(xié)議層的連接,主要是模擬物理網(wǎng)卡, 并注冊到內(nèi)核。這樣, 在應(yīng)用程序的USB 設(shè)備就是一個標準的網(wǎng)絡(luò)設(shè)備,用戶不需要了解驅(qū)動程序的接口, 而直接使用Linux 提供的套接字進行網(wǎng)絡(luò)通信程序的開發(fā)。當用戶進行二次開發(fā)時,可以不加修改地將上位機開發(fā)好的網(wǎng)絡(luò)通信程序直接移植到本系統(tǒng)中, 而且可以通過上位機的Telnet 等工具對嵌入式系統(tǒng)進行一定的操作。

  其他驅(qū)動程序( 如OLED 顯示模塊、鍵盤、紅外收發(fā)器)都作為Linux 下的標準字符設(shè)備編寫, 使用register_chrdev( )函數(shù)進行注冊, 提供了讀、寫和控制操作。在Linux 系統(tǒng)中, 應(yīng)用程序?qū)ψ址O(shè)備的操作與文件的操作相同。

  Linux 中設(shè)備驅(qū)動程序可以通過模塊方式動態(tài)地加載和卸載, 也可以直接編譯到內(nèi)核中。前者使用靈活, 可以減小內(nèi)核,但因嵌入式系統(tǒng)要求所有設(shè)備在初始化后全部就緒, 不能在使用時加載設(shè)備的驅(qū)動模塊。所以, 本系統(tǒng)中所有的設(shè)備驅(qū)動程序都直接編譯進內(nèi)核。

  每個設(shè)備驅(qū)動程序在用戶空間對應(yīng)一個設(shè)備文件,由文件系統(tǒng)管理。本系統(tǒng)使用ext2 作為根文件系統(tǒng)。為了開發(fā)和升級方便,首先將根文件系統(tǒng)做成RAMDISK 格式, 所謂RAMDISK 就是系統(tǒng)啟動后將壓縮的文件解壓到內(nèi)存, 形成一個虛擬硬盤; 然后,將引導程序、內(nèi)核映像及根文件系統(tǒng)燒寫到Flash 中。

  系統(tǒng)加電后, 引導程序?qū)?nèi)核映像從Flash 中調(diào)入內(nèi)存, 然后從核入口開始執(zhí)行: 首先初始化CPU, 然后加載各個設(shè)備驅(qū)動程序,掛載文件系統(tǒng), 執(zhí)行應(yīng)用程序。

  2 .2 應(yīng)用程序設(shè)計

  Linux 是多任務(wù)系統(tǒng), 支持多線程及多進程。多線程的優(yōu)點是線程比進程小, 可以使應(yīng)用更輕便, 線程間通信方便;缺點是所有線程使用同一個地址空間, 如果一個線程出現(xiàn)問題, 整個系統(tǒng)將受影 
響; 而進程各自占有一份內(nèi)存空間, 可以增強系統(tǒng)的穩(wěn)定性, 但是多進程增加了系統(tǒng)開銷, 進程間通信復(fù)雜。為此,根據(jù)實際情況,考慮到系統(tǒng)穩(wěn)定性, 本系統(tǒng)采取兩者相結(jié)合的方式分別完成數(shù)據(jù)采集處理及文件傳輸功能。

  2 .2 .1 數(shù)據(jù)采集處理

  數(shù)據(jù)采集處理是一個進程, 它包括主線程和輔線程。主線程完成電子標簽卡信息的讀取、寫入、實時顯示及查詢;輔線程實現(xiàn)一個時鐘以提供用戶當前時間, 并定時對電池的電量進行檢測和動態(tài)顯示, 在電量過低時發(fā)出警告。

  應(yīng)用程序用MAIL 命令方式完成電子標簽卡的讀寫。該進程首先初始化屏幕, 然后等待按鍵中斷, 當有鍵按下時, 根據(jù)鍵值執(zhí)行相應(yīng)的工作;

  當指定時間內(nèi)沒有鍵按下, 系統(tǒng)則進入休眠狀態(tài), 從而達到省電的目的。程序流程圖如圖6。
RGS24128064YW00  1 具有串行和8 位并行數(shù)據(jù)接口。系統(tǒng)采用8 位并行接口與微處理器通信。

  1 .4 SDRAM 和Flash 及自定義鍵盤

  系統(tǒng)采用32 位的同步動態(tài)隨機存儲器(SDRAM)作為系統(tǒng)內(nèi)存, 16 位的Flash 作為不可丟失數(shù)據(jù)存儲器。用戶可以通過8鍵的鍵盤進行各種操作, 如讀卡、寫卡等。

  2 系統(tǒng)軟件設(shè)計

  系統(tǒng)軟件是整個系統(tǒng)的靈魂, 其設(shè)計的好壞直接影響系統(tǒng)的穩(wěn)定性和可擴展性等性能。系統(tǒng)設(shè)計將軟件分為兩層結(jié)構(gòu), 如圖5所示。下面一層為操作系統(tǒng)層, 主要實現(xiàn)對Linux 操作系統(tǒng)的移植和各種設(shè)備驅(qū)動程序的編寫, 包括OLED 模塊、USB? Device、紅外、鍵盤等設(shè)備驅(qū)動程序。上一層為應(yīng)用程序?qū)? 主要實現(xiàn)卡信息顯示、鍵盤掃描、電子標簽卡讀寫、文件傳輸、時鐘以及電池電量檢測等功能。

系統(tǒng)設(shè)計

  2 .1 嵌入式Linux

  Linux 是一種公開源碼的多任務(wù)操作系統(tǒng), 具有開放度高、安全性好、穩(wěn)定性強、可移植性好等特點, 在嵌入式操作系統(tǒng)中被大量采用。

  本設(shè)計采用的Linux 內(nèi)核是在ARM-

 
Linux 的基礎(chǔ)上, 編寫了OLED 顯示模塊、USB設(shè)備、紅外收發(fā)器及鍵盤的設(shè)備驅(qū)動程序。在Linux 系統(tǒng)中, 設(shè)備驅(qū)動程序占有很重要的位置, 它提供了在用戶空間操作硬件設(shè)備的接口。Linux系統(tǒng)將設(shè)備分為字符設(shè)備、塊設(shè)備及網(wǎng)絡(luò)設(shè)備三種, 并給出針對不同設(shè)備的數(shù)據(jù)結(jié)構(gòu)及注冊函數(shù)。

  當用戶開發(fā)設(shè)備驅(qū)動程序時, 只需按硬件操作的方法填充設(shè)備數(shù)據(jù)結(jié)構(gòu), 并將它注冊到內(nèi)核中即可。

  為了方便用戶應(yīng)用程序的編寫, 把USB 設(shè)備實現(xiàn)為CDC( Communication Device Class ) 類設(shè)備,其驅(qū)動程序分為兩層, 層操作AT91RM9200 上的USB 設(shè)備控制器, 如處理硬件中斷、讀寫寄存器及操作I/O 口來檢測設(shè)備的插拔;上層實現(xiàn)了底層與TCP/IP 協(xié)議層的連接,主要是模擬物理網(wǎng)卡, 并注冊到內(nèi)核。這樣, 在應(yīng)用程序的USB 設(shè)備就是一個標準的網(wǎng)絡(luò)設(shè)備,用戶不需要了解驅(qū)動程序的接口, 而直接使用Linux 提供的套接字進行網(wǎng)絡(luò)通信程序的開發(fā)。當用戶進行二次開發(fā)時,可以不加修改地將上位機開發(fā)好的網(wǎng)絡(luò)通信程序直接移植到本系統(tǒng)中, 而且可以通過上位機的Telnet 等工具對嵌入式系統(tǒng)進行一定的操作。

  其他驅(qū)動程序( 如OLED 顯示模塊、鍵盤、紅外收發(fā)器)都作為Linux 下的標準字符設(shè)備編寫, 使用register_chrdev( )函數(shù)進行注冊, 提供了讀、寫和控制操作。在Linux 系統(tǒng)中, 應(yīng)用程序?qū)ψ址O(shè)備的操作與文件的操作相同。

  Linux 中設(shè)備驅(qū)動程序可以通過模塊方式動態(tài)地加載和卸載, 也可以直接編譯到內(nèi)核中。前者使用靈活, 可以減小內(nèi)核,但因嵌入式系統(tǒng)要求所有設(shè)備在初始化后全部就緒, 不能在使用時加載設(shè)備的驅(qū)動模塊。所以, 本系統(tǒng)中所有的設(shè)備驅(qū)動程序都直接編譯進內(nèi)核。

  每個設(shè)備驅(qū)動程序在用戶空間對應(yīng)一個設(shè)備文件,由文件系統(tǒng)管理。本系統(tǒng)使用ext2 作為根文件系統(tǒng)。為了開發(fā)和升級方便,首先將根文件系統(tǒng)做成RAMDISK 格式, 所謂RAMDISK 就是系統(tǒng)啟動后將壓縮的文件解壓到內(nèi)存, 形成一個虛擬硬盤; 然后,將引導程序、內(nèi)核映像及根文件系統(tǒng)燒寫到Flash 中。

  系統(tǒng)加電后, 引導程序?qū)?nèi)核映像從Flash 中調(diào)入內(nèi)存, 然后從核入口開始執(zhí)行: 首先初始化CPU, 然后加載各個設(shè)備驅(qū)動程序,掛載文件系統(tǒng), 執(zhí)行應(yīng)用程序。

  2 .2 應(yīng)用程序設(shè)計

  Linux 是多任務(wù)系統(tǒng), 支持多線程及多進程。多線程的優(yōu)點是線程比進程小, 可以使應(yīng)用更輕便, 線程間通信方便;缺點是所有線程使用同一個地址空間, 如果一個線程出現(xiàn)問題, 整個系統(tǒng)將受影 
響; 而進程各自占有一份內(nèi)存空間, 可以增強系統(tǒng)的穩(wěn)定性, 但是多進程增加了系統(tǒng)開銷, 進程間通信復(fù)雜。為此,根據(jù)實際情況,考慮到系統(tǒng)穩(wěn)定性, 本系統(tǒng)采取兩者相結(jié)合的方式分別完成數(shù)據(jù)采集處理及文件傳輸功能。

  2 .2 .1 數(shù)據(jù)采集處理

  數(shù)據(jù)采集處理是一個進程, 它包括主線程和輔線程。主線程完成電子標簽卡信息的讀取、寫入、實時顯示及查詢;輔線程實現(xiàn)一個時鐘以提供用戶當前時間, 并定時對電池的電量進行檢測和動態(tài)顯示, 在電量過低時發(fā)出警告。

  應(yīng)用程序用MAIL 命令方式完成電子標簽卡的讀寫。該進程首先初始化屏幕, 然后等待按鍵中斷, 當有鍵按下時, 根據(jù)鍵值執(zhí)行相應(yīng)的工作;

  當指定時間內(nèi)沒有鍵按下, 系統(tǒng)則進入休眠狀態(tài), 從而達到省電的目的。程序流程圖如圖6。

程序流程圖


  

參考文獻:

[1]. ARM920T  datasheet http://www.udpf.com.cn/datasheet/ARM920T+_139814.html.
[2]. AT91RM9200 datasheet http://www.udpf.com.cn/datasheet/AT91RM9200_143939.html.
[3]. Device datasheet http://www.udpf.com.cn/datasheet/Device_1397784.html.


關(guān)鍵詞:基于嵌入式Linux的RFID信息采集與處理系統(tǒng)AT91RM9200ATMEL3602ARM920T

版權(quán)與免責聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

如何使用Atmel ATtiny85與Arduino _
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!