濕度監(jiān)測系統(tǒng)設計方案
出處:rfid2005 發(fā)布于:2012-06-04 10:10:36
摘要:本文提出了一種基于單片機,SD卡和濕度傳感器的濕度監(jiān)測系統(tǒng)設計方案,并將其應用于森林濕度監(jiān)測系統(tǒng)實例中,該方案不僅簡便易行,成本低廉,而且具有實際應用價值。同時,該系統(tǒng)性能穩(wěn)定,操作方便,具有較高的性價比,適于在實際中應用?,F(xiàn)就基于SPCE061A單片機,SD卡和濕度傳感器的濕度監(jiān)測系統(tǒng)設計方案介紹如下。
一、系統(tǒng)方案介紹
系統(tǒng)總體框圖如圖1所示。其中,單片機采用凌陽公司的SPCE061A.該單片機內(nèi)部結(jié)構框圖如圖2所示,相關說明見表1。

圖1 系統(tǒng)總體框圖

圖2 SPCE061A結(jié)構
表1 結(jié)構圖說明

1.系統(tǒng)方案設計
應用SPCE061A讀寫SD卡,首先要尋找它們之間的通信方案。SD模式是SD卡的標準讀寫方式,選用此模式需要選擇帶SD卡控制接口的MCU或者額外的SD卡控制單元;SPI模式通過SPI總線完成SD卡與主控制器的通信。SPCE061A沒有集成SD卡控制器,為了減少額外的SD卡控制單元硬件成本,本方案采用SPI模式進行二者之間的通訊。另外,SPCE061A沒有集成化的SPI接口模塊,因此要用軟件進行SPI接口時序的模擬。
SD卡的邏輯電平相當于3.3V的TTL電平標準,而SPCE061A通過跳線的設置完全可以提供該工作電壓,因此不需要增加額外的電平匹配電路。
2.濕度傳感器選擇
鑒于森林中溫度和濕度的變化較大,系統(tǒng)中的濕敏電阻選用耐高溫高壓且特性穩(wěn)定的MgCr2O4-TiO2陶瓷濕度傳感器。
二、系統(tǒng)硬件連接
1.SPCE061A單片機和SD卡的連接
凌陽公司提供專門的SD卡配套模組,因此單片機和SD卡的連接較為方便。
(1) SD卡接口規(guī)范。
SD卡工作在2.7~3.6V電壓下,其普通SD卡的結(jié)構示意圖如圖3所示,表2列出了各引腳在SPI模式下的定義和功能描述。主機與SD卡之間通過指令來實現(xiàn)交互。

圖3 SD卡結(jié)構示意圖
表2 SPI模式下SD卡引腳定義

?。?) 接口電路設計示意圖(見圖4)。

圖4 SD卡與單片機連接示意圖。
2.SPCE061A與濕度傳感器的連接
?。?)濕敏傳感器。
大多數(shù)濕度傳感器A-A端為測量電極,B-B端為加熱清洗電極,如圖5所示。加熱清洗電極通電后, 內(nèi)部電加熱絲產(chǎn)生熱量可排除傳感器感濕層中的水分子。

圖5 濕敏傳感器
?。?)單片機與傳感器連接示意圖(見圖6)。

圖6 單片機和傳感器的連接
三、軟件設計
1. FAT文件系統(tǒng)
FAT16文件系統(tǒng)的存儲結(jié)構如圖7所示。

圖7 FAT文件系統(tǒng)結(jié)構
主引導記錄區(qū)(MBR,Main Boot Record)位于物理磁盤第零扇區(qū)。MBR中有硬盤分區(qū)記錄表DPT(Disk Partition Table),DPT記錄了各邏輯分區(qū)的相對偏移。SD卡不支持多分區(qū),在一個SD卡中只有一個分區(qū),因此在SD卡上的DPT只有一個分區(qū)表項被占用。系統(tǒng)引導記錄區(qū)(DBR,DOS Boot Record)位于磁盤邏輯分區(qū)的第零扇區(qū),是操作系統(tǒng)可以訪問的個扇區(qū)。它其中包含一個稱為BPB(Bios Parameter Block)的本分區(qū)參數(shù)記錄表。BPB記錄著本分區(qū)的根目錄大小、FAT個數(shù)、磁盤介質(zhì)描述、分配單元大小等重要參數(shù)。
DBR之后是FAT(File Allocation Table)文件分配記錄表,記錄文件在磁盤上的存儲位置。在Windows系統(tǒng)中,文件存儲的單位是簇而不是字節(jié),一個文件并不是連續(xù)地存放于磁盤的某一區(qū)域,而往往是分成若干段,像鏈子一樣存放。FAT表記錄了每個文件的起始簇號、后繼簇號和終止簇號。FAT表中的每個表項對應數(shù)據(jù)存儲區(qū)中的一個簇,由于FAT表對文件管理的重要性,F(xiàn)AT表有一個備份。
DIR是根目錄區(qū),緊接著第二個FAT表(FAT2)之后,記錄著根目錄下每個文件的起始簇號、大小等屬性。操作系統(tǒng)根據(jù)DIR中文件的起始簇號和大小,結(jié)合FAT表來定位文件。
FAT16 文件系統(tǒng)中一個文件的存儲示意圖如圖8所示。

圖8 文件存儲示意圖
2.SD卡指令規(guī)范
單片機通過相應指令與SD卡進行交互,SD卡有特定的指令格式。所有的SD卡指令都是6字節(jié)長,有效位(MSB)傳輸優(yōu)先。SD卡特定指令格式如圖9所示。

圖9 SD卡指令格式
SD卡指令的兩位"01"是SD卡指令的開始標志,一位"1"是結(jié)束標志。6位的指令是SD卡的指令序號,例如CMD17的6位指令即17的二進制表示"010001".指令參數(shù)占4個字節(jié),具體內(nèi)容參照SD卡規(guī)范。7位CRC校檢的生成多項式為G(x) = x^7 + x^3 + 1.事實上SD卡在進入SPI模式后,SD卡不再通過CRC碼來確認指令的傳輸正確與否,指令中的7為CRC校檢只在SD模式下起作用。因此僅是SD卡上電后的條切換SPI模式指令CMD0需要校檢碼,而此校檢碼是固定的0x95,其他指令的CRC均置"1"即可。
SD卡響應有四種格式,不同指令對應不同響應,具體內(nèi)容可參看SD卡規(guī)范。
3.SD卡讀寫驅(qū)動
?。?)SPI時序模擬。
用軟件來模擬SPI總線的具體方法是:將SCK的初始狀態(tài)置"0",允許接收后(即CS置"0")將SCK置"1",這樣單片機由DI線輸出一位數(shù)據(jù)到SD卡;接著再將SCK置"0",單片機由DO線從SD卡讀到一位數(shù)據(jù)。至此,模擬1位數(shù)據(jù)輸入輸出便完成。此后再將SCK置"1",依次循環(huán)8次,完成SPI總線1個字節(jié)數(shù)據(jù)的輸入輸出。
以下是本系統(tǒng)軟件模擬SPI時序的部分C語言代碼:

?。?)SD卡的初始化。
SD卡的初始化流程圖,如圖10所示。SD卡上電延時74個時鐘周期后,單片機向SD卡發(fā)送復位命令CMD0使SD卡進入SPI模式,之后循環(huán)發(fā)送激活SD卡指令CMD1直到接收到SD卡響應的第0位為"0".

圖10 SD卡初始化流程
(3)SD卡數(shù)據(jù)塊的讀寫。
完成SD卡的初始化后,就可以對SD卡進行讀寫操作。讀寫操作都是通過指令來完成的:單塊寫命令CMD24,多塊寫命令CMD25;單塊讀命令CMD17,多塊讀命令CMD18.單塊讀寫時,數(shù)據(jù)塊的長度為512字節(jié),多塊讀寫時SD卡收到一個停止命令CMD12后停止讀寫。圖11和圖12分別是SD卡單塊讀、寫的SPI時序圖,圖13和圖14分別是單塊讀、寫SD卡的軟件流程圖。

圖11 單塊讀時序圖

圖12 單塊寫時序圖

圖13 讀SD卡流程圖

圖14 FAT16文件讀寫流程圖
4. FAT16 文件讀寫
按照FAT16 文件系統(tǒng)的文件組織規(guī)范,編寫讀文件函數(shù)和寫文件函數(shù)。FAT16 文件讀寫的軟件流程圖如圖15 所示。

圖15 FAT16 文件讀寫流程圖
5.濕度傳感器的軟件設計
濕度傳感器的測量電極端與SPCE061A 的I/O 口相連,以傳輸數(shù)據(jù),其部分初始化程序如下:

版權與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關法律責任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權等法律責任。
如涉及作品內(nèi)容、版權等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關權利。
- 頻譜儀精準 TOI 測量的設置優(yōu)化2025/9/5 16:39:30
- SiPM 測試板偏置電壓源的選擇與考量2025/9/2 15:54:57
- EMC的測試方法有幾種常見2025/8/28 17:25:45
- FCBAG封裝集成電路在失效分析中常用的檢測設備與技術2025/8/27 17:03:25
- 高端精密裝備精度測量的核心理論與實用方法2025/8/27 16:31:27









