《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于μC/OS操作系統的TF卡存儲系統
基于μC/OS操作系統的TF卡存儲系統
2015年微型機與應用第6期
方 勛,蔡文郁,張 明,溫端強
(杭州電子科技大學 電子信息學院,浙江 杭州 310018)
摘要: 針對Cortex-M3內核的STM32處理器平臺,成功移植μC/OS操作系統,并引入FatFs開源軟件,構建了FAT32通用文件系統。以溫度采集與記錄系統為實例,通過對μC/OS操作系統、FAT文件系統、TF卡等相關技術的分析,實現了面向TF卡存儲媒介的大容量存儲系統,將實時溫度按時間關系存儲至TF卡。
Abstract:
Key words :

  摘  要: 針對Cortex-M3內核的STM32處理器平臺,成功移植μC/OS操作系統,并引入FatFs開源軟件,構建了FAT32通用文件系統。以溫度采集與記錄系統為實例,通過對μC/OS操作系統、FAT文件系統、TF卡等相關技術的分析,實現了面向TF卡存儲媒介的大容量存儲系統,將實時溫度按時間關系存儲至TF卡。

  關鍵詞μC/OS-II;TF卡;FatFs文件系統模塊

0 引言

  隨著嵌入式微處理器功能的不斷增強,嵌入式系統廣泛應用于音頻、視頻、故障記錄、數據記錄等大批量數據存儲的場合,傳統的由單片機構成的系統簡單的對存儲媒介按地址、按字節的讀/寫已然不能滿足人們的實際需求。基于RTOS的存儲系統在宕機、斷電等異常發生時,可以保證數據的完整性以及能夠快速地恢復正常工作。為了與現行PC平臺共享數據,嵌入式系統迫切需要采用通用文件系統來實現大批量數據的管理[1]。因此,本文以基于μC/OS操作系統的TF卡存儲系統的設計為研究對象,具有很好的實際意義。

  本文基于μC/OS操作系統平臺,設計并實現了以PT100鉑電阻為溫度傳感器、以STM32F107VCT6微處理器為核心的硬件平臺,實現環境溫度采集和實時時鐘功能,并在PC上顯示實時溫度以及將溫度數據按時間關系存儲至TF卡文件中。系統實現框圖如圖1所示。

001.jpg

1 溫度傳感器

  本文采用溫度傳感器PT100測溫。PT100是鉑熱電阻,當PT100在0℃時阻值為100 ?贅,它的阻值會隨著溫度的增加呈規律性的變化。在-50℃~+600℃范圍內,PT100具有其他任何溫度傳感器無法比擬的優勢。PT100驅動電路如圖2所示。

002.jpg

  在0≤t<65℃時,PT100鉑熱電阻阻值與輸出電壓V的關系為V=k×R+b。在第一次使用PT100時,需要校準PT100。校準過程如下:

  (1)在PT100插件處插上100 Ω電阻,獲取AD值記為Vm。

  (2)在PT100插件處插上125 Ω電阻,獲取AD值記為Vn。

  (3)根據數據(100,Vm)和(125,Vn)求取k、b系數。

  (4)軟件實現將k、b系數值存儲至EEPROM中。

  在使用PT100測試溫度時,根據轉換的AD電壓值與k、b系數獲取PT100阻值R。然后利用式(1)求取溫度值:

  T=sqrt(4×Pt_B×(R/Pt_R0)+Pt_A×Pt_A-4×Pt_B)-Pt_A)/(2×Pt_B)(1)

  其中,Pt_A=0.003 908 3,Pt_B=-0.000 000 577 5,Pt_R0=100,單位為℃。

2 μC/OS-II操作系統

  μC/OS-II是以任務為核心的實時操作系統,μC/OS-II V2.52可以管理64個任務,任務管理包括:創建任務、掛起任務、刪除任務、喚醒任務、改變任務優先級和獲取任務狀態。每個任務都有唯一的優先級,優先級號越低,任務的優先級越高,任務越重要。在任一給定的時刻,任務的狀態已知,且為以下5種狀態中的一種,各任務狀態切換如圖3所示。

003.jpg

  (1)睡眠狀態:任務駐留在程序空間中,還沒有交給μC/OS操作系統內核管理。

  (2)就緒狀態:任務一旦建立,就處于就緒狀態,準備運行。若新建的任務優先級比正運行的任務優先級高,則內核提供任務切換服務,新任務運行。

  (3)運行狀態:已經建立的、就緒狀態中優先級別最高的任務進入運行狀態。任何時刻只能有一個任務處于運行狀態。

  (4)等待狀態:正在運行的任務通過調用OSTimeDly()和OSTimeDlyHMSM()函數實現延時,等待延遲時間到;運行中的任務可能需要等待某一事件的發生,從而進入等待狀態。

  (5)中斷服務狀態:運行中的任務被中斷,從而進入中斷服務狀態[2]。

  有時,任務或中斷與任務之間需要傳遞信息,這種信息傳遞稱為任務間的通信。μC/OS-II支持3種通信方式:信號量、消息郵箱、消息隊列,它們統稱為事件。每個事件由獨立的事件控制塊ECB控制,ECB定義了事件類型,包含了當前正在等待事件發生的任務號等信息。μC/OS-II還具有時間管理與內存管理等功能。

3 TF卡與FatFs文件系統

  當嵌入式產品需要擴展系統容量用來存儲數據時,目前常用的有U盤、Flash芯片、TF卡等,其中最適合單片機系統的莫過于TF卡了,它不僅支持最大容量32 GB,還支持SPI接口,且能在TF卡上實現文件系統[3]。

  FatFs Module是一種完全免費開源的FAT文件系統模塊,專門為小型嵌入式系統設計。FatFs的編寫遵循ANSIC,并且完全與磁盤I/O層分開,經簡單的修改便可移植到多種嵌入式處理器上[4]。FatFs系統框圖如圖4所示。

004.jpg

  FatFs具有清晰的層次結構,應用層提供規范的API接口函數,用戶可直接調用這些函數實現讀文件(f_read)、寫文件(f_write)、打開文件(f_open)和一些文件夾操作等,所以即使不理解FatFs Module的內部結構以及復雜的FatFs協議,用戶也可以通過這些API完成對文件的所有操作。

  FatFs Module層為中間層,為FatFs核心內容,主要實現了FAT協議。在移植過程中,不需要修改此部分內容。

  底層是應用層與磁盤介質的接口,在移植過程中需要修改此部分,包括存儲媒介讀寫接口I/O驅動以及文件操作的時間RTC等。最少只需要編寫3個底層驅動函數:

  (1)文件系統初始化函數

  DSTATUS disk_initialize(BYTE drv)

  (2)文件系統讀驅動

  DRESULT disk_read(BYTE drv,BYTE*buff,DWORD sector,BYTE count)

  (3)文件系統寫驅動

  DRESULT disk_write(BYTE drv,const BYTE*buff,DWORD sector,BYTE count)

  用戶根據具體的硬件平臺填充相關函數,即可完成移植。

4 調試與結果

  將SD卡中2014-10-28日15:0:0~15:10:0的數據繪制成折線圖,如圖5所示。

005.jpg

5 結論

  本文基于μC/OS-II操作系統平臺設計并實現了以PT100鉑電阻為溫度傳感器、以STM32F107VCT6微處理器為核心的硬件平臺,實現了環境溫度采集和實時時鐘功能,并在PC上顯示實時溫度以及將溫度數據按時間關系存儲至TF卡文件中[5]。

  由于該系統缺少與用戶交互界面,因此系統缺乏一定的靈活性。今后的工作就是實現PC與MCU的雙向通信,選擇在STM32平臺上移植GUI,提供給用戶更多的選擇。當然,通過交互界面,用戶可以一目了然地了解某一時段的環境溫度變化情況等。完善系統功能和提高采集數據精度仍是今后的主要工作。

參考文獻

  [1] 李世奇,董浩斌,李榮生.基于FatFs文件系統的SD卡存儲器設計[J].測控技術,2011,30(12):79-81.

  [2] 于鵬飛.嵌入式存儲設備上文件系統的設計與實現[D].大連:大連交通大學,2007.

  [3] LABROSSE J J.嵌入式實時操作系統?滋C/OS-II[M].邵貝貝,譯.北京:北京航空航天大學出版社,2003.

  [4] 張云,惠曉威,肖迎杰.基于ARM的嵌入式文件系統研究與設計[J].計算機系統應用,2010,19(3):299-231.

  [5] 楊建光.基于μC/OS-II的溫度控制系統的研制[D].天津:中國民航大學,2007.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产免费叼嘿网站免费 | 麻豆精品在线 | 一集黄色片 | 国产精品免费看久久久麻豆 | 日韩 欧美 亚洲 国产 | 国亚洲欧美日韩精品 | 国产精品久久久久9999高清 | 99九九精品免费视频观看 | 色综合天天综合高清网国产 | 黄色录像免费观看 | 万部在线视频免费观看 | 日本一道本在线视频 | 亚洲欧洲精品国产区 | 天天操人人| 中文字幕丰满孑伦 | 免费看大片视频 | 国产啊v在线观看 | 亚洲成av人片在线观看无码 | 日韩精品中文字幕一区三区 | 欧美亚洲中日韩中文字幕在线 | 国产成人精品一区二区视频 | 午夜毛片免费看 | 婷婷久久久五月综合色 | 一级午夜 | 中文字幕精品亚洲无线码二区 | 日韩国产欧美成人一区二区影院 | 国产50页| 又大又粗又爽的三级小视频 | 欧美日韩精品福利在线观看 | 久久只有精品视频 | 在线欧美成人 | 亚洲人欧洲日韩 | 一a一片一级一片啪啪 | 日韩精品中文字幕视频一区 | 国产午夜在线观看 | 国产丰满眼镜女在线观看 | 天天摸日日摸 | 亚洲一区二区综合 | 欧美亚洲综合视频 | 曰批全过程免费观看视频 | 久久99免费视频 |