技術頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網 > 技術頻道 > 技術百科 > 基于嵌入式Linux的嵌入式Linux與處理系統(tǒng)

基于嵌入式Linux的嵌入式Linux與處理系統(tǒng)

時間:2007-12-18 10:08:00來源:caojing

導語:?本文介紹了在AT91RM9200 高性能ARM 芯片上運行嵌入式Linux, 結合TagMaster AB公司功能強大的射頻識別模塊S1510 實現(xiàn)便攜式標簽卡的信息采集和處理。系統(tǒng)使用方便、靈活。
射頻識別( RFID) 是一種非接觸式的自動識別技術,它通過射頻信號自動識別目標對象并獲取相關數(shù)據(jù), 識別過程無需人工干預, 可工作于各種惡劣環(huán)境。RFID 技術在許多領域得到應用, 如停車場管理、集裝箱運輸管理系統(tǒng)等。在大多數(shù)應用中, 只要求有固定的閱讀器,但在某些特殊系統(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 顯示屏, 結合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é)電技術, 集成了SDRAM、Flash、紅外、USB 等接口。系統(tǒng)采用USB( Universal Serial Bus )及紅外方式與上位機通信。紅外方式采用Agilent 公司的HSDL- 3602 紅外收發(fā)器實現(xiàn)。 1 .2 射頻識別模塊 射頻識別模塊采用瑞典TagMaster AB 公司的2.4GHz 產品S1510。該模塊體積小, 專為手持設備設計,可以采集1米內各種電子標簽上的數(shù)據(jù)。它通過USART串口與處理器通信, 接口簡單, 易于硬件實現(xiàn)。為了保證數(shù)據(jù)的可靠傳輸, 模塊與微處理器通信采用TagMaster AB公司開發(fā)的應答式串口通信協(xié)議ConfiTalk。ConfiTalk 協(xié)議是一種面向字符的應答式串行通信協(xié)議。它每次傳輸一定長度的數(shù)據(jù)塊( 幀) ,每個幀包含幀頭(STX)和幀尾(ETX)。為了提高數(shù)據(jù)傳輸?shù)目煽啃?每幀又加入了8 位的校驗位(CS)及地址位(ADR)。幀的結構如圖2。
MESSAGE 代表任意長度的信息。協(xié)議規(guī)定微處理器發(fā)送給S1510 的幀為命令幀, 返回的幀為應答幀。本系統(tǒng)使用的S1510是TagMaster AB 公司的最新產品, 它支持基于ConfiTalk 協(xié)議的MAIL 命令方式的數(shù)據(jù)傳輸。 MAIL 命令方式通信也就是把幀中的MESSAGE 域統(tǒng)一成四種格式, 其中命令幀有MAIL_SEND 和MAIL_RECEIVE兩種,分別表示S1510 接收用戶信息和返回卡信息(包括卡號、卡狀態(tài)和卡存儲的數(shù)據(jù)), 如圖3。
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)內存, 16 位的Flash 作為不可丟失數(shù)據(jù)存儲器。用戶可以通過8鍵的鍵盤進行各種操作, 如讀卡、寫卡等。 2 系統(tǒng)軟件設計 系統(tǒng)軟件是整個系統(tǒng)的靈魂, 其設計的好壞直接影響系統(tǒng)的穩(wěn)定性和可擴展性等性能。系統(tǒng)設計將軟件分為兩層結構, 如圖5所示。最下面一層為操作系統(tǒng)層, 主要實現(xiàn)對Linux 操作系統(tǒng)的移植和各種設備驅動程序的編寫, 包括OLED 模塊、USB? Device、紅外、鍵盤等設備驅動程序。上一層為應用程序層, 主要實現(xiàn)卡信息顯示、鍵盤掃描、電子標簽卡讀寫、文件傳輸、時鐘以及電池電量檢測等功能。
2 .1 嵌入式Linux Linux 是一種公開源碼的多任務操作系統(tǒng), 具有開放度高、安全性好、穩(wěn)定性強、可移植性好等特點, 在嵌入式操作系統(tǒng)中被大量采用。 本設計采用的Linux 內核是在ARM- Linux 的基礎上, 編寫了OLED 顯示模塊、USB設備、紅外收發(fā)器及鍵盤的設備驅動程序。在Linux 系統(tǒng)中, 設備驅動程序占有很重要的位置, 它提供了在用戶空間操作硬件設備的接口。Linux系統(tǒng)將設備分為字符設備、塊設備及網絡設備三種, 并給出針對不同設備的數(shù)據(jù)結構及注冊函數(shù)。 當用戶開發(fā)設備驅動程序時, 只需按硬件操作的方法填充設備數(shù)據(jù)結構, 并將它注冊到內核中即可。 為了方便用戶應用程序的編寫, 把USB 設備實現(xiàn)為CDC( Communication Device Class ) 類設備,其驅動程序分為兩層, 最底層操作AT91RM9200 上的USB 設備控制器, 如處理硬件中斷、讀寫寄存器及操作I/O 口來檢測設備的插拔;上層實現(xiàn)了底層與TCP/IP 協(xié)議層的連接,主要是模擬物理網卡, 并注冊到內核。這樣, 在應用程序的USB 設備就是一個標準的網絡設備,用戶不需要了解驅動程序的接口, 而直接使用Linux 提供的套接字進行網絡通信程序的開發(fā)。當用戶進行二次開發(fā)時,可以不加修改地將上位機開發(fā)好的網絡通信程序直接移植到本系統(tǒng)中, 而且可以通過上位機的Telnet 等工具對嵌入式系統(tǒng)進行一定的操作。 其他驅動程序( 如OLED 顯示模塊、鍵盤、紅外收發(fā)器)都作為Linux 下的標準字符設備編寫, 使用register_chrdev( )函數(shù)進行注冊, 提供了讀、寫和控制操作。在Linux 系統(tǒng)中, 應用程序對字符設備的操作與文件的操作相同。 Linux 中設備驅動程序可以通過模塊方式動態(tài)地加載和卸載, 也可以直接編譯到內核中。前者使用靈活, 可以減小內核,但因嵌入式系統(tǒng)要求所有設備在初始化后全部就緒, 不能在使用時加載設備的驅動模塊。所以, 本系統(tǒng)中所有的設備驅動程序都直接編譯進內核。 每個設備驅動程序在用戶空間對應一個設備文件,由文件系統(tǒng)管理。本系統(tǒng)使用ext2 作為根文件系統(tǒng)。為了開發(fā)和升級方便,首先將根文件系統(tǒng)做成RAMDISK 格式, 所謂RAMDISK 就是系統(tǒng)啟動后將壓縮的文件解壓到內存, 形成一個虛擬硬盤; 然后,將引導程序、內核映像及根文件系統(tǒng)燒寫到Flash 中。 系統(tǒng)加電后, 引導程序將內核映像從Flash 中調入內存, 然后從核入口開始執(zhí)行: 首先初始化CPU, 然后加載各個設備驅動程序,最后掛載文件系統(tǒng), 執(zhí)行應用程序。 2 .2 應用程序設計 Linux 是多任務系統(tǒng), 支持多線程及多進程。多線程的優(yōu)點是線程比進程小, 可以使應用更輕便, 線程間通信方便;缺點是所有線程使用同一個地址空間, 如果一個線程出現(xiàn)問題, 整個系統(tǒng)將受影 響; 而進程各自占有一份內存空間, 可以增強系統(tǒng)的穩(wěn)定性, 但是多進程增加了系統(tǒng)開銷, 進程間通信復雜。為此,根據(jù)實際情況,考慮到系統(tǒng)穩(wěn)定性, 本系統(tǒng)采取兩者相結合的方式分別完成數(shù)據(jù)采集處理及文件傳輸功能。 2 .2 .1 數(shù)據(jù)采集處理 數(shù)據(jù)采集處理是一個進程, 它包括主線程和輔線程。主線程完成電子標簽卡信息的讀取、寫入、實時顯示及查詢;輔線程實現(xiàn)一個時鐘以提供用戶當前時間, 并定時對電池的電量進行檢測和動態(tài)顯示, 在電量過低時發(fā)出警告。 應用程序用MAIL 命令方式完成電子標簽卡的讀寫。該進程首先初始化屏幕, 然后等待按鍵中斷, 當有鍵按下時, 根據(jù)鍵值執(zhí)行相應的工作;當指定時間內沒有鍵按下, 系統(tǒng)則進入休眠狀態(tài), 從而達到省電的目的。程序流程圖如圖6。
當成功采集到標簽卡信息后, 應用程序將卡信息(包括卡號、卡狀態(tài)、用戶數(shù)據(jù)及當前時間)通過OLED 顯示屏提供給用戶,并寫入一個文件進行記錄。由于文件傳輸進程會將該文件傳輸?shù)缴衔粰C, 所以當讀寫文件時要將文件上鎖。Linux 提供了文件鎖以防止不同進程同時訪問同一個文 件。本文使用flock ( )函數(shù)對文件上鎖和解鎖。 由于OLED 是圖形點陣式顯示屏, 而且Flash 容量有限,所以不可能直接使用漢字字庫。系統(tǒng)預先提取所有用到的漢字、數(shù)字及字母的點陣數(shù)據(jù), 然后建立自己的字庫文件,從而使應用程序可以對漢字、數(shù)字及字母進行顯示。 2 .2 .2 文件傳輸 文件傳輸是一個進程, 完成卡信息的上傳及其他數(shù)據(jù)的下載。與上位機通信采用Clinet/Server 模型。該進程實質上是一個服務器端(本系統(tǒng)) 的應用程序, 它循環(huán)等待客戶端( 上位機) 的連接請求。當請求到達時, 首先判斷請求來自哪個接口(USB 或者紅外接口),然后根據(jù)請求的類型執(zhí)行相應的上傳或下載??紤]到實際應用中可能會使用多臺手持式閱讀器, 為了方便上位機對信息的管理,規(guī)定文件名由手持式閱讀器編號和文件上傳序號組成, 程序在上傳文件時自動將其編號及上傳序號加入文件名。該進程的流程 如圖7。
3 系統(tǒng)電源管理 本系統(tǒng)使用鋰電池為系統(tǒng)供電。為了延長電池的續(xù)航能力, 將應用程序設計為三種運行狀態(tài):上電空閑狀態(tài)、程序執(zhí)行狀態(tài)及系統(tǒng)睡眠狀態(tài)。當用戶不進行任何操作時, 系統(tǒng)將進入睡眠狀態(tài)以達到省電目的。系統(tǒng)的睡眠是基于微處理器的電源管理功能實現(xiàn)的, 進入睡眠的步驟如下: (1)關閉所有外設; (2)保存當前系統(tǒng)狀態(tài); (3)使SDRAM 進入自刷新模式; (4)設置喚醒事件, 使微處理器進入睡眠狀態(tài)。 當喚醒事件發(fā)生時, 如有鍵按下, 則執(zhí)行系統(tǒng)復位。過程如下:
(1)恢復部分微處理器的寄存器; (2)喚醒外部設備, 系統(tǒng)開始運行。 本文介紹了在AT91RM9200 高性能ARM 芯片上運行嵌入式Linux, 結合TagMaster AB公司功能強大的射頻識別模塊S1510 實現(xiàn)便攜式標簽卡的信息采集和處理。系統(tǒng)使用方便、靈活。另外, 為克服LCD低溫無法工作、亮度不夠及耗電大的缺點, 采用OLED 顯示模塊使系統(tǒng)可以在惡劣環(huán)境下應用, 并增加了電池的續(xù)航能力; 為使系統(tǒng)與上位機通信方便,采用了支持熱插拔的USB 接口。

標簽:

點贊

分享到:

上一篇:支持網絡傳感器的嵌入式操作...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(m.u63ivq3.com)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯(lián)網或業(yè)內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯(lián)系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業(yè)自動化與智能制造的全媒體“互聯(lián)網+”創(chuàng)新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號