• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      恒溫箱溫度檢測儀的設(shè)計

      2016-07-23 08:27:22楊瑞俊
      山西電子技術(shù) 2016年2期

      楊瑞俊

      (山西職業(yè)技術(shù)學(xué)院電子工程系,山西 太原 030006)

      ?

      恒溫箱溫度檢測儀的設(shè)計

      楊瑞俊

      (山西職業(yè)技術(shù)學(xué)院電子工程系,山西 太原 030006)

      摘要:為了滿足電子設(shè)備恒溫箱對溫度實(shí)時監(jiān)測的要求,設(shè)計了一個功能豐富的溫度檢測儀。選取了MSP430F449作為CPU。對微型的溫度傳感器TMP102以及Flash存儲器SST25VF032B做了詳細(xì)的分析,并根據(jù)實(shí)際需求對芯片的功能進(jìn)行了適當(dāng)?shù)娜∩?。將采集回的溫度?shù)據(jù)進(jìn)行分析處理,提出了創(chuàng)新的溫度值存儲機(jī)制,形成合理的文件系統(tǒng),可以快速檢索歷史數(shù)據(jù),實(shí)現(xiàn)了多樣化的數(shù)據(jù)查找方式。

      關(guān)鍵詞:溫度檢測儀;TMP102;Flash存儲器

      現(xiàn)代電子設(shè)備越來越趨向于精密化與復(fù)雜化,對工作環(huán)境提出了苛刻的要求,溫度的過高或過低都會導(dǎo)致其中元器件的性能降低、壽命縮短。因此恒溫箱的應(yīng)用越來越廣泛。恒溫箱控制系統(tǒng)中溫度檢測儀的性能直接影響后端控制的準(zhǔn)確性。此項(xiàng)目所設(shè)計的溫度檢測儀具有體積小、數(shù)據(jù)存儲容量大、功耗低等特點(diǎn)。論文主要專注于解決溫度采集以及數(shù)據(jù)存儲與查詢問題。通過選用MSP430芯片作為主控制器,進(jìn)行合理的軟硬件設(shè)計,滿足了市場對功能的需求,具有良好的前景。

      1系統(tǒng)設(shè)計

      本設(shè)計的微處理器采用TI公司的MSP430F449。MSP系列單片機(jī)是目前市場化最成功的專用于低功耗設(shè)計的處理器,在有關(guān)節(jié)能環(huán)保、智能家居以及手持設(shè)備等領(lǐng)域應(yīng)用廣泛。MSP430F449是一款性能卓越的16位單片機(jī),具有超低的靜態(tài)電流,靈活多變的時鐘配置方式,多達(dá)5種的低功耗模式,最快可達(dá)6 us的喚醒時間以及豐富的外設(shè)等眾多優(yōu)異性能[1]。該型號單片機(jī)完全能夠滿足本設(shè)計對性能的要求,且具有較高的性價比。

      溫度傳感器選用的是一款低功耗數(shù)字溫度傳感器,同樣來自TI公司的TMP102。在溫度為-25 ℃~+85 ℃的范圍之內(nèi)時,精度為0.5 ℃,由于環(huán)境溫度是個緩變量,并且溫度在0.5 ℃之內(nèi)變化時電子設(shè)備質(zhì)量不會發(fā)生變化,因此精度也滿足要求。輸出的溫度值是數(shù)字信號,簡化了與CPU之間的電路,同時其封裝為SOT563,包含引腳在內(nèi)的厚度僅為0.6 mm,縮小了產(chǎn)品的體積。

      在溫度采集過程中會產(chǎn)生大量的數(shù)據(jù),需要有專門的外部存儲器進(jìn)行保存。SST25VF032B是微芯公司推出的Flash存儲器,具有4 MByte存儲容量、SPI串行通信接口、靈活的擦除策略以及快速的擦除與訪問能力。

      此外,還有程序仿真下載接口、按鍵輸入部分、射頻通信部分、電源部分。系統(tǒng)框圖如圖1。

      圖1 系統(tǒng)設(shè)計框圖

      2溫度采集設(shè)計

      2.1溫度值的采集

      TMP102采用的是Two-Wire通信方式。內(nèi)部含有五個寄存器,分別為Pointer寄存器、溫度寄存器、配置寄存器、TLOW寄存器和THIGH寄存器。通過對Pointer寄存器的設(shè)置來決定下一步CPU訪問其他四個寄存器的哪一個。該傳感器具有兩種溫度數(shù)據(jù)格式,13 bit與12 bit,兩種格式的分辨率一樣,只是13 bit的高溫范圍為150 ℃,高于12 bit的128 ℃。當(dāng)環(huán)境溫度到達(dá)100 ℃的高溫時,早已超過了設(shè)備正常運(yùn)行的范圍,所以12 bit的數(shù)據(jù)格式已能滿足需求。TMP102具有四種不同的轉(zhuǎn)換速率,由控制寄存器中的CR1、CR0兩位來決定,本設(shè)計將其設(shè)置成最快的8 Hz,利于提高采樣速度。完備的警告功能是該芯片的一個特色,可以通過修改TLOW寄存器和THIGH寄存器的值,設(shè)置正常溫度范圍的上下限,當(dāng)超出這一范圍時,外圍管腳ALERT電平會發(fā)生變化。此外,TMP102作為Two-Wire通信中的從設(shè)備,根據(jù)A0管腳的接法不同,具有四種從設(shè)備地址[2]。本設(shè)計中將A0管腳與V+管腳連接,因此從設(shè)備地址為二進(jìn)制數(shù)1001001。

      在讀取溫度值的過程中,首先需要發(fā)送0x93,前七位表示從設(shè)備地址,最后一位設(shè)置接下來的操作是讀還是寫,‘1’表示為讀。當(dāng)成功接收到TMP102的握手信號后,CPU需要準(zhǔn)備接收兩個字節(jié)的溫度值。

      如果需要修改某個寄存器的值,主機(jī)首先需要發(fā)送0x92,最后一位‘0’表示要寫。隨后的一個字節(jié)發(fā)送的是Pointer寄存器的值,最后兩位P1、P0的值決定了要修改的寄存器。緊接著就需要發(fā)送要修改的值。因此讀取溫度之前如果有修改寄存器的操作,需要首先將P1、P0的值改為默認(rèn)的00,表示之后操作的是溫度寄存器。

      2.2溫度值的數(shù)據(jù)處理

      TMP102分辨率可達(dá)0.062 5 ℃。當(dāng)溫度值數(shù)據(jù)格式為12 bit時,采集的范圍為-55 ℃~128 ℃。溫度寄存器分為兩個字節(jié),12位的數(shù)據(jù)分別存放于高字節(jié)與低字節(jié)的前4位。Two-wire協(xié)議接收的時候是單個字節(jié)接收的,所以首先需要通過高字節(jié)左移8位與低字節(jié)相加的方法,將兩個字節(jié)的數(shù)據(jù)存入一個16位的變量中。此時溫度值占據(jù)的是變量的高12位,將其右移4位便于數(shù)據(jù)處理。通過實(shí)測發(fā)現(xiàn),環(huán)境實(shí)際溫度與傳感器檢測的數(shù)據(jù)有一個極其微小的差距,所以需要在最后的數(shù)據(jù)上添加上這個微小的偏差。

      TMP102溫度值采用的是補(bǔ)碼形式,為了滿足顯示的需要,此處將補(bǔ)碼轉(zhuǎn)化成BCD碼,并須有正負(fù)的信息。需要五個字節(jié)來存放最后的數(shù)據(jù),一個字節(jié)存放正負(fù)信息,0表示正數(shù),1表示負(fù)數(shù),兩個存放整數(shù)部分的BCD碼,一個存放小數(shù)部分的BCD碼。程序處理過程中,通過12位中的最高位來判斷正負(fù),負(fù)數(shù)需要將補(bǔ)碼轉(zhuǎn)為原碼。無論正負(fù),將原碼乘以分辨率0.062 5 ℃,結(jié)果轉(zhuǎn)化為BCD碼。程序流程如圖2。

      圖2 溫度數(shù)據(jù)處理流程圖

      3溫度值的存取設(shè)計

      3.1SST25VF032B的訪問

      SST25VF032B的通信方式為SPI,具有多達(dá)17種命令,功能豐富。

      SST25VF032B的讀命令有兩個,Read與High-Speed-Read。Read的讀取速度為25 MHz,而High-Speed-Read可達(dá)80 MHz,遠(yuǎn)遠(yuǎn)超過一般單片機(jī)的訪問速度。還有一個特點(diǎn),讀命令是可以連續(xù)讀的,地址為自動增加,一直到片選信號CE#變?yōu)楦唠娖浇刂?,大大增?qiáng)了訪問的速度。當(dāng)讀取完整個Flash最后一個地址的字節(jié)后,F(xiàn)lash會自動返回輸出第一個地址的數(shù)據(jù)。進(jìn)行讀操作時,首先主機(jī)向設(shè)備發(fā)送0x0B,隨后發(fā)送三個字節(jié)的起始地址,以及緊跟一個無效的字節(jié)。之后便可以依序接收數(shù)據(jù)。

      SST25VF032B具有靈活的寫保護(hù)功能。管腳WP#與狀態(tài)寄存器里面的BPL、BP3、BP2、BP1與BP0五個位共同實(shí)現(xiàn)寫保護(hù)功能。當(dāng)WP#輸入為高,處于寫保護(hù)狀態(tài),同時禁止任何對BPL、BP3、BP2、BP1與BP0的修改。當(dāng)WP#輸入為低,可以修改BPL位。BPL位決定了主機(jī)是否可以修改BP3、BP2、BP1、BP0,BPL位為1時候,禁止修改。BP3、BP2、BP1、BP0四位決定了寫保護(hù)的范圍。當(dāng)為十進(jìn)制0時,整個Flash沒有寫保護(hù),此時可以對其進(jìn)行擦除與寫操作。為十進(jìn)制數(shù)1時,只保護(hù)Flash的1/64,即地址3F0000H~3FFFFFH。為十進(jìn)制2~7時候,分別保護(hù)Flash的1/32、1/16……直到全部[3]。當(dāng)進(jìn)行寫與擦除操作之前,需要斷開WP#硬件保護(hù)及取消狀態(tài)寄存器的軟件保護(hù)。

      擦除是SST25VF032B的一個特色。具有四種擦除機(jī)制。可以分別以整塊、4 KByte扇區(qū)、32 KByte塊、64 KByte塊為單位進(jìn)行擦除。經(jīng)過對本設(shè)計要求的分析,主要采取4 KByte扇區(qū)擦除的方式。這樣整個Flash就被分成了4M/4K=1 024個扇區(qū),每個扇區(qū)中有4 096個字節(jié)。整個Flash共有4M個字節(jié),地址需要占用24位,字節(jié)地址的高12位表示扇區(qū)地址。在擦除過程中,狀態(tài)寄存器的BUSY位為1,當(dāng)成為0時表示擦除操作完成。

      進(jìn)行擦除操作之前,需置WP#管腳為低,同時發(fā)送讀取狀態(tài)寄存器命令RDSR,確認(rèn)BUSY為0以及WEL(寫使能位)為1。當(dāng)不滿足要求時,發(fā)送EWSR(使能狀態(tài)寄存器修改)命令,允許修改狀態(tài)寄存器。通過WRSR命令寫入0x00,BPL、BP3、BP2、BP1、BP0為0,解開軟硬件的寫保護(hù)。接著需要發(fā)送WREN(寫使能)命令,設(shè)備會將WEL位置1。最后讀取狀態(tài)寄存器的值,看值是否為0x02,如果不是,重復(fù)上述操作,直到修改成功。此時可以發(fā)送扇區(qū)擦除命令0x20,其后跟著三個字節(jié)的地址,設(shè)備只取前12位為扇區(qū)地址。之后不斷檢測BUSY位,當(dāng)變?yōu)?時,整個擦除過程結(jié)束。

      寫命令有Byte-Program與AAI兩種,第一種每次可以寫入一個字節(jié),AAI為地址自動增加寫命令。AAI每次可寫入兩個字節(jié),當(dāng)Flash存入這兩個數(shù)之后,主機(jī)可以連續(xù)發(fā)送下兩個字節(jié),而不需重新輸入地址,加快了速度。但這兩個字節(jié)存放的地址是對齊的,即第一個字節(jié)存放的地址最后一位為0,第二個字節(jié)存放的地址最后一位為1。與擦除命令之前的準(zhǔn)備工作一樣,寫操作也需要完成對狀態(tài)寄存器同樣的設(shè)置。

      3.2創(chuàng)新的溫度值的存取機(jī)制

      為了滿足多樣化的設(shè)置需求,本檢測儀可以通過上位機(jī)來設(shè)置采集啟動時間、采集間隔。要求存儲多種數(shù)據(jù),同時為了以后歷史數(shù)據(jù)查詢的方便,需要設(shè)計合理的數(shù)據(jù)存儲策略。

      每次上位機(jī)傳下來新的采集時間間隔,檢測儀需要按照新的配置重新啟動一次新的任務(wù)。此時,數(shù)據(jù)存儲從新的一個扇區(qū)開始。首先需用Sector-Erase命令將這一扇區(qū)擦除。每個任務(wù)的開頭需要存放的信息有任務(wù)起始時間(年、月、日、時、分、秒)、溫度采集間隔(時、分、秒),分別占用16個字節(jié)、6個字節(jié)、3個字節(jié)。每個溫度值需占用2個字節(jié)。溫度值為從溫度傳感器TMP102讀取回來,右移四位,并加上偏差值的數(shù)據(jù)。溫度值采用AAI命令寫入,其他數(shù)據(jù)采用Byte-Program命令。

      我們搜索某次任務(wù)的溫度值時,只需要檢測每個扇區(qū)開頭的任務(wù)起始時間就可以檢索到相應(yīng)的歷史數(shù)據(jù)。但一次任務(wù)所占空間可能會超出一個扇區(qū)。占據(jù)多個扇區(qū)的任務(wù)只有它所占據(jù)的第一個扇區(qū)的開頭是任務(wù)起始時間,而其他扇區(qū)是溫度值。這就給檢索造成了障礙。我們定義在每次任務(wù)的開頭首先存入0xAA,表示一次任務(wù)的開頭。在整個任務(wù)的結(jié)尾存入0x55,表示一次任務(wù)的結(jié)束。通過這樣的設(shè)置,可以支持上位機(jī)多種的搜索需求??梢圆檎夷炒稳蝿?wù)的溫度數(shù)據(jù),也可以查找某次任務(wù)某一時刻的溫度數(shù)據(jù),還可以查找異常值等等。數(shù)據(jù)存儲的流程圖如圖3所示,查找某次任務(wù)的溫度數(shù)據(jù)程序流程圖如圖4所示。

      圖3 溫度值存儲流程圖

      圖4 數(shù)據(jù)搜索流程圖

      4測試結(jié)果

      以一次時間較短的、間隔較長的任務(wù)為例來對本系統(tǒng)進(jìn)

      行測試。假設(shè)啟動時間設(shè)置為2015年1月1日15點(diǎn)整,每隔3秒采集一次數(shù)據(jù),采集1分鐘,即一共采集20個數(shù)據(jù)。在這一分鐘之內(nèi),采用改變溫度傳感器周圍的環(huán)境溫度的辦法來檢測溫度檢測儀是否能正常工作。先迅速加熱,之后降溫。采集的溫度值首先存入到Flash中,再從Flash中讀取出來。圖5所示為IAR開發(fā)工具的一個截圖,所示為內(nèi)部RAM的數(shù)據(jù),黑色部分為采集回的數(shù)據(jù),共51個字節(jié)。

      圖5 采集回的某次任務(wù)的所有數(shù)據(jù)

      將溫度值提取出來,乘以分辨率0.062 5 ℃,保留小數(shù)點(diǎn)后1位,四舍五入,整理成波形如圖6所示??梢悦黠@的看出溫度變化趨勢,首先是18.3 ℃的室溫,之后先升后降,由于時間較短,最后溫度沒有降到室溫。

      圖6 溫度變化曲線

      5結(jié)論與展望

      本設(shè)計中采用MSP430F449作為系統(tǒng)的CPU,利于以后的低功耗設(shè)計。對溫度傳感器TMP102以及Flash SST25VF032B做了詳細(xì)的研究,根據(jù)本項(xiàng)目實(shí)際要求,充分利用了這兩者的功能。對溫度傳感器采集回來的數(shù)據(jù)進(jìn)行了科學(xué)有效的處理,并設(shè)計了合理的存儲機(jī)制,充分利用了FLASH的存儲空間,滿足了上位機(jī)對數(shù)據(jù)搜索快速、多樣靈活的要求。

      參考文獻(xiàn)

      [1]沈建華,楊艷琴.MSP430系列16位超低功耗單片機(jī)原理與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2008:26-30.

      [2]Low Power Digital Temperature Sensor With SMBus?/Two-Wire Serial Interface in SOT563[EB/OL].Texas Instruments,2007.

      [3]32 Mbit SPI Serial Flash SST25VF032B Data Sheet[EB/OL].Silicon Storage Technology,Inc,2011.

      收稿日期:2015-11-27

      作者簡介:楊瑞俊(1984- ),男,山西晉中人,助講,碩士研究生,研究方向:信號與信息處理。

      文章編號:1674- 4578(2016)02- 0005- 03

      中圖分類號:TP273.5

      文獻(xiàn)標(biāo)識碼:A

      Design of the Temperature Detector for Thermostat

      Yang Ruijun

      (ElectronicEngineeringDepartment,ShanxiPolytechnicCollege,TaiyuanShanxi030006,China)

      Abstract:In order to meet the requirements for real-time detection of temperature in the thermostat, a feature-rich temperature detector is designed based on MSP430F449 MCU. This paper analyzes in detail the micro TMP102 temperature sensor as well as Flash memory SST25VF032B and the chip functions are chosen according to the actual demand. The temperature data captured is analyzes and processed. This design presents an innovative temperature storage mechanism, forms a reasonable file system. With it, the historical data can be retrieved quickly and realize the diversified data-searching method.

      Key words:temperature detector; TMP102; Flash memory

      华宁县| 同江市| 聂拉木县| 长岭县| 宜昌市| 陇南市| 额敏县| 临清市| 正镶白旗| 诸城市| 崇明县| 武强县| 迁西县| 安溪县| 洛南县| 乌鲁木齐市| 阿克陶县| 琼结县| 保定市| 三河市| 高要市| 凤庆县| 剑阁县| 久治县| 友谊县| 当阳市| 襄城县| 聂拉木县| 乌鲁木齐县| 如皋市| 舟曲县| 涿鹿县| 德化县| 莎车县| 新营市| 鹰潭市| 大田县| 商河县| 台湾省| 兴山县| 岳阳市|