黃藝 李成
(江西農業大學南昌商學院,江西 南昌 330044)
構建基于競賽平臺的實驗室
——以單片機模塊程序開發為例
黃藝 李成
(江西農業大學南昌商學院,江西 南昌 330044)
設計了一種應用于高校室內游泳池的溫度管理的TF卡存儲方案。方案中采用STC12LE5A60S2作為主控制器,并與8051單片機完全兼容。本方案中采用了NTFS文件系統,并將泳池溫度數據存儲在TF卡中。論述了TF卡與STC12LE5A60S2芯片SPI總線通信接口原理,介紹了配套的參數設置、軟件和硬件設計、數據的TF卡讀寫,完成了室內泳池測溫儀只能顯示實時溫度不能存儲歷史溫度數據的相關問題。
單片機;TF卡;SPI總線;NTFS文件系統
控制與測量水溫是室內泳池的重要技術環節。有效保持水溫對室內泳池性能有直接影響,溫度制度就是溫度與時間的關系表示。在控制泳池水溫的過程中,直接影響室內泳池的水溫質量的因素包括升溫速度、保溫時間及冷卻速度。解決高校室內泳池溫度管理制度的重要硬件設施就是新型測溫儀。要實現優質的高校室內泳池的水溫調節與管理,必須全程實現室內泳池溫度的監測與數據記錄,從而為高校室內泳池的溫度控制和規范管理提供嚴格的科學依據。長期以來,在高校泳池的測溫管理過程當中,均使用了小型化的測溫儀完成常規的溫度顯示工作,無法實現高校室內泳池的歷史溫度數據的查詢和分析管理,溫度監控管理均采用落后的手工操作方法,紙質記錄溫度存檔。室內泳池開放周期長,有些高檔場所實行24小時服務,與之相適應的溫度監測和管理時間延長,全天記錄泳池溫度的變化常態化。這就導致了溫度采集信息量直線上升,需要改良當前的高校室內泳池溫度管理設備,設計出經濟實用的測溫儀,符合現實的要求和市場的需要。由此,本文設計了一種基于TF卡和NTFS文件系統的新型室內泳池溫度管理方案來解決高校室內泳池的科學管理。
2.1 測溫儀設計要求
2.1.1 室內泳池溫度實時存儲,存儲數據與TF卡高度同步,溫度存儲的時間間隔保持在30分鐘,全部數據量保持在1個月左右。
2.1.2 文件系統采用NTFS的方式,記錄的溫度數據自動存儲在TF卡的根目錄下,TF卡中數據可以在PC機上隨時調用和查看。
2.1.3 測溫范圍控制在0~50℃,誤差控制為± 1℃。
2.1.4 四位七段數碼顯示水溫是室內泳池水溫數字化管理的方式,數字精確到個位數。
2.2 系統組成
根據高校泳池的實際情況,溫度儀的設計要求包括若干核心要素,采用STC12LE5A60S2作為主控制器是其中重要的關鍵點[1],它必須與8051單片機完全兼容。另一個關鍵點就是溫度儀必使用14位的模數轉換器件MAX31855,通過此轉換器來實現數據的日常采集。所有的高校泳池溫度數據都采用NTFS文件系統實現TF卡的存儲[3],并使用數碼管實時顯示泳池溫度,具體的系統組成如圖1所示。
圖1 系統組成圖
2.3 TF卡接口與測溫單片機
在圖2當中,顯示出TF卡的引腳排列和結構示意圖,其中TF卡的工作電壓保持在2.7~3.6 V的范圍之內。TF卡當采用TF模式時,TF卡完成標準的數據讀寫方式,在此模式條件下,實行TF卡的控制接口單片機。在一些特定條件下,在SPI模式TF卡進行配置功能,通過借助特定的TF卡控制單元,實施主控制器與TF卡的通信工作。通過表1完整呈現出TF卡各引腳的功能描述。具體如下所示。
表1 SPI模式下TF卡引腳定義
圖2 TF卡結構示意圖
單時鐘/機器周期 (1T)的單片機的典型特點,它有明顯的抗干擾性的特點,此外還有低功耗的優點,STC12LE5A60S2單片機指令代碼與8051單片機完全兼容,并提高速度6~12倍。此單片機擁有高速的串行通信SPI接口,控制電壓工作范圍為2.2~3.6 V,另外還集成1280字節的RAM和60K的存儲空間,完全可滿足系統的功能需求。本方案當中采用了TF卡的SPI通信方式,其中詳細的TF卡與單片機的硬件連接電路如下圖3所示。
圖3 STC單片機與TF卡的連接電路
2.4 整機電路
整個電路的控制中心就是STC單片機,DS3231具有集成的晶體和溫補晶振,實現高精度控制,其中精度值為±5ppm(±0.432秒/天),因此,DS3231實現了高精度I2C實時時鐘。單片機在完成計時的過程當中,可實現電池實時備份,保證連續計時順利進行。熱電偶至數字輸出轉換器采用MAX31855,元件可實現冷端補償修正和檢測,此元件還內置了14位模/數轉換器,可實現溫度電壓值的科學轉換,通常轉換成14位數字信號,通過熱電偶的方式實現電壓值的轉換。室內泳池測量精度控制在±6℃的范圍內。
室內泳池溫度值獲取后有兩路去向,其中一路關鍵數據值實現實時顯示,它借助單片機的P0口輸出到數碼管來完成此項功能;另一路數據去向至TF卡中,也就是通過P1口的低四位數據存儲至TF當中。在本設計當中,存在三個調整按鍵,進入對時狀態只需短按“功能”鍵,可以校對時間。若要顯示數碼管后四位,則需長按“功能”鍵,同時高校泳池的溫度也以NTFS文件形式存儲在TF卡中。正常情況下,設備通電后不做任何操作,數碼管當中只會顯示當前時、分、秒數據。
圖4 室內泳池測溫記錄儀電路
詳細的高校室內泳池測溫記錄儀電路如圖4所示,
3.1 NTFS文件系統設計
通過采集設備完成的數據搜集,搜集后的數據需要轉化為數字信息并為計算機軟件識別,為實現TF卡文件系統的配套一致,需要存儲在TF卡中的數據必須是二進制數據。考慮數據的安全性,本設計選用了NTFS作為數據存儲方式,并將數據最終以TF卡的方式完成保存。由于室內泳池開放時間長,所需要的數據存儲空間巨大,為了高效保持數據的存儲,在本方案當中,由于NTFS最大支持單個文件64 GB容量,所以選用NTFS的文件系統,它遠遠大于Fat32文件的4GB容量,因此,NTFS格式可以充分滿足室內泳池測溫記錄儀的實際要求。
NTFS是微軟公司Windows NT的操作環境,它的目標就是保持數據的安全、可靠性,通過事件跟蹤熱定位的容錯特征來實現相應的功能,它可極大地消除FAT和HPFS文件系統中的各類限制。NTFS可支持大硬盤的數據存儲。NTFS文件系統可以實現微處理器的嵌入,它占用微處理器的RAM的字節數不能超出單片機的承載數量。由于NTFS文件系統的代碼開放,使其具有較強的代碼移植功能,有利于系統的二次開發。
3.2 NTFS移植與TF卡驅動
在表2文件系統結構當中,NTFS文件系統的結構及函數功能主要從三個方面進行分解說明,也就是文件、說明、功能。其中文件項包括mytype.h、deviceio. c、config.h等九個文件。功能分類主要包括主體、移植、相關、主體、文件等其他內容,NTFS文件系統的詳細說明如表2所示:
表2 NTFS文件系統的結構及函數功能
本設計采用C語言編寫了功能模塊,其中TF卡驅動程序是用來實現TF卡驅動功能,具體的TF卡驅動程序功能函數如表3所示。
表3 TF卡驅動程序的函數及功能
Ntfs在實施數據移植的過程當中,mytype.h程序模塊保持不變,與之相適應的數據類型定義也沒有發生變化;其中config.h程序模塊實現ntfs的函數的調整,可實施數據的刪除,可完成各類文件的常規創建等功能;deviceio.c程序模塊改動見表4。具體的程序段如下所示:
#definentfs_CRE_D//創建新目錄
#definentfs_DEL_D//刪除舊目錄
#definentfs_MK_FS//格式化文件系統
#definentfs_FLU_FS//文件系統刷新處理
#definentfs_CRE_FILE/文件建立
#definentfs_WRITE DATA//數據新增寫入
#definentfs_DEL_FILE/文件/刪除
#definentfs_READA //讀取數據文件程序操作
#definentfs_READAX//讀取+重定數據文件的程序操作
#define USE_LFN//Ntfs的長文件名相關功能打開操作
#define USE_OEM_CH//判斷長名當的中文字符
//#definentfs_DUMP_DA//截斷數據文件的程序操作
//#definentfs_SEEK //定位數據文件的程序操
作
#define MAX_LFN_LEN(25)//長名長度的限定程序操作
#definentfs_OP_FI//已往文件的程序開啟
#definentfs_CLO_FI//已開文件結束退出
做好以上移植相關設置和TF卡驅動編寫,主函數程序流程圖如圖5。
圖5 主程序流程圖
表4 ntfs移植時deviceio.c程序模塊修改內容
本文完成了高校室內泳池的溫度數據采集的存儲方案的設計,方案使用了NTFS文件系統的數據存儲方式,數據存儲的載體借助于TF卡,所有數據可以遷移顯示,可方便調用和查看。高校泳池溫度數據采集和管理完全實現了數字化,全部使用TF卡自動記錄和保存,極大地提高了工作效率,此外本設計的單片機有較強的運行效率、海量數據存儲等優點,十分利于高校泳池管理的推廣和應用,具有廣闊的應用前景。
[1]林倩,嚴桂林.基于STC12C5A60S2單片機的TF卡讀寫[J].電子元器件應用,2010,(4):25-31.
[2]張弛,張成俊,吳曉光.單片機訪問TF卡精簡方法的設計與實現[J].機電工程,2011,(4):71-73.
[3]方潔,陳偉.基于DS3231的高精度時鐘接口設計[J].電子設計工程,2010,(2):42-43.
TP274.2;TN929.5
A
1671-5136(2016)01-0117-04
2016-02-28
江西農業大學南昌商學院科研扶助基金項目(課題編號:NSKYJG1405)。
黃藝(1975—),男,江西省南昌市人,江西農業大學南昌商學院計算機系講師、實驗師、軟件工程師、碩士;李成(1987—),男,江西南昌人,江西農業大學南昌商學院教務處助理實驗師。