當前位置:首頁 > 電源 > 數(shù)字電源
[導讀]本文介紹一種基于嵌入式 Linux 的便攜式 RFID 信息采集與處理系統(tǒng)。它采用高性能的32 位ARM920T 系列微處理器、8 鍵的鍵盤及 OLED 顯示屏, 結合S1510 實現(xiàn)了對電子標簽卡信息的采集、處理及實時顯示, 很好地解決了上述問題。

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

  射頻識別( 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。

系統(tǒng)組成

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 產(chǎn)品S1510。該模塊體積小, 專為手持設備設計,可以采集1 米內(nèi)各種電子標簽上的數(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 公司的最新產(chǎn)品, 它支持基于ConfiTalk 協(xié)議的MAIL 命令方式的數(shù)據(jù)傳輸。

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

MAIL 命令方式通信

  應答幀有兩種: MAIL_SEND 的應答幀和MAIL_RECEIVE的應答幀, 如圖4。

應答幀有兩種: MAIL_SEND 的應答幀和MAIL_RECEIVE的應答幀,

  圖4 中, 36 表示S1510 使用MAIL 方式處理命令幀和應答幀, 而4、5 表示S1510 命令幀的類型(MAIL_SEND或MAIL_RECEIVE); Status 表示該命令的執(zhí)行狀態(tài)( 成功或失敗) ; MAIL_SEND 命令幀中的Data 域表示用戶要進行的操作及參數(shù), 如使Data=WRITE: 參數(shù): 數(shù)據(jù), 即表示用戶要將數(shù)據(jù)寫入電子標簽卡; MAIL_RECEIVE 的應答幀中的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℃的低溫下仍可以正常工作。

  RGS24128064YW001 具有串行和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)軟件設計

  系統(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 內(nèi)核是在ARM- Linux 的基礎上, 編寫了OLED 顯示模塊、USB 設備、紅外收發(fā)器及鍵盤的設備驅動程序。在Linux 系統(tǒng)中, 設備驅動程序占有很重要的位置, 它提供了在用戶空間操作硬件設備的接口。Linux 系統(tǒng)將設備分為字符設備、塊設備及網(wǎng)絡設備三種, 并給出針對不同設備的數(shù)據(jù)結構及注冊函數(shù)。

系統(tǒng)軟件的構成

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

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

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

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

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

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

2 .2 應用程序設計

  Linux 是多任務系統(tǒng), 支持多線程及多進程。多線程的優(yōu)點是線程比進程小, 可以使應用更輕便, 線程間通信方便; 缺點是所有線程使用同一個地址空間, 如果一個線程出現(xiàn)問題, 整個系統(tǒng)將受影響; 而進程各自占有一份內(nèi)存空間, 可以增強系統(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í)行相應的工作; 當指定時間內(nèi)沒有鍵按下, 系統(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 模型。該進程實質(zhì)上是一個服務器端( 本系統(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)復位。過程如下:

當喚醒事件發(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 接口。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉