<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于Linux的RFID信息采集與處理系統(tǒng)

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

          作者: 時間:2012-11-13 來源:網(wǎng)絡(luò) 收藏

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

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

            1 .3 OLED 顯示模塊

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

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

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

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

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

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

            2 .1 嵌入式

             是一種公開源碼的多任務(wù)操作系統(tǒng), 具有開放度高、安全性好、穩(wěn)定性強(qiáng)、可移植性好等特點(diǎ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ù)。

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

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

            其他驅(qū)動程序( 如OLED 顯示模塊、鍵盤、紅外收發(fā)器)都作為Linux 下的標(biāo)準(zhǔn)字符設(shè)備編寫, 使用register_chrdev( )函數(shù)進(jìn)行注冊, 提供了讀、寫和控制操作。在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ū)動程序都直接編譯進(jìn)內(nèi)核。


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

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

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          linux相關(guān)文章:linux教程




          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();