一種可移植的機頂盒SI模塊的設(shè)計與實-基礎(chǔ)電子_第1頁
一種可移植的機頂盒SI模塊的設(shè)計與實-基礎(chǔ)電子_第2頁
一種可移植的機頂盒SI模塊的設(shè)計與實-基礎(chǔ)電子_第3頁
一種可移植的機頂盒SI模塊的設(shè)計與實-基礎(chǔ)電子_第4頁
一種可移植的機頂盒SI模塊的設(shè)計與實-基礎(chǔ)電子_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

精品文檔-下載后可編輯一種可移植的機頂盒SI模塊的設(shè)計與實-基礎(chǔ)電子摘要:分布式溫度采集系統(tǒng)大多采用單片機作為控制器,通過輪流讀取每個監(jiān)測點的溫度進行溫度監(jiān)測。當(dāng)要監(jiān)測的溫度點非常多時,系統(tǒng)顯然無法實時監(jiān)測每一個監(jiān)測點,降低了系統(tǒng)的效率和實時性。本文采用FPGA作為分布式溫度采集系統(tǒng)的控制器,并使用1-Wire器件DS18B20作為監(jiān)測點的溫度傳感器,可以實時監(jiān)測每個監(jiān)測點,提高了系統(tǒng)的實時性和穩(wěn)定性。

0引言

溫度測量在現(xiàn)代工業(yè)生產(chǎn)過程中發(fā)揮著重要的作用,無論對于大型企業(yè)還是眾多的小型工廠,往往需要監(jiān)測多個設(shè)備的幾十個溫度值[1]。在分布式溫度采集系統(tǒng)中,通常采用單片機作為系統(tǒng)的控制器,系統(tǒng)工作時依次采集每一個探測器的溫度值并存儲。如果監(jiān)測到某個探測點的溫度有異常,系統(tǒng)就會根據(jù)用戶的需要做出相應(yīng)的反映。然而,當(dāng)監(jiān)測點數(shù)量很多時,單片機輪流地采集完每一個監(jiān)測點的溫度值會花費相對較長的時間,如果這個過程中有某個測量點溫度異常將不能實時地反映到系統(tǒng)中,使得溫度采集系統(tǒng)的實時性降低。

現(xiàn)場可編程門陣列(FPGA)是美國Xilinx公司在20世紀(jì)80年代中期率先推出的一種高密度可編程邏輯器件,它既具有PLD可編程的靈活性,又有掩膜門陣列(GA)高集成度和通用性,單片F(xiàn)PGA的集成規(guī)模已達到幾百萬門,其工作頻率已超過300MHz[2]。本文以FPGA作為分布式溫度采集系統(tǒng)的控制器,與以往利用單片機作為控制器的系統(tǒng)相比,提高了系統(tǒng)整體的實時性和穩(wěn)定性。

1溫度傳感器及其通信協(xié)議

本系統(tǒng)中溫度傳感器采用的MAXIM公司的1-Wire器件DS18B20,DS18B20溫度傳感器由于其結(jié)構(gòu)簡單、安裝方便、功耗低、測溫范圍寬而被廣泛的應(yīng)用于化工、糧食、環(huán)境監(jiān)測等需要實現(xiàn)多點測溫的地方[3];1-Wire技術(shù)采用一根信號線進行雙向數(shù)據(jù)傳輸,一個控制器可以控制一個或多個從機設(shè)備,與其他標(biāo)準(zhǔn)串行數(shù)據(jù)通信方式如SPI、I2C相比,單總線具有節(jié)省系統(tǒng)I/O口線資源、結(jié)構(gòu)簡單、成本低廉、便于總線擴展和維護等諸多優(yōu)點[4]。

由于1-Wire總線只有一根信號線,所以要完成通信就要在一根信號線上實現(xiàn)數(shù)據(jù)的雙向傳輸。1-Wire通信協(xié)議對時序的要求非常嚴(yán)格,協(xié)議中一共規(guī)定了五種類型的通信時序,分別為初始化(復(fù)位)時序、寫“1”時序、寫“0”時序、讀“1”時序和讀“0”時序,如圖1所示。所有通信都由這五種典型時序組合完成,就是說要控制好這五種時序,才能實現(xiàn)對1-Wire器件的控制。

2實時分布式溫度采集系統(tǒng)設(shè)計

大多數(shù)基于DS18B20的溫度采集系統(tǒng)采用單片機作為控制器,可以監(jiān)測多個溫度點的溫度。雖然監(jiān)測點的數(shù)目可以很多,但是卻無法做到同時對每一個監(jiān)測點進行監(jiān)測。原因在于單片機在一個時間周期只能執(zhí)行一條指令,無法實現(xiàn)并行的動作了。然而采用FPGA作為控制器將大大提升溫度監(jiān)測系統(tǒng)的實時性,F(xiàn)PGA的動作是由時鐘來驅(qū)動的,因此可以在同一時鐘可完成多個動作。FPGA可以并行地處理數(shù)據(jù),這是單片機無法做到的。本文設(shè)計的溫度監(jiān)測系統(tǒng)就是利用了FPGA的這個優(yōu)勢,實現(xiàn)了對多個監(jiān)測點實時進行監(jiān)測。

2.1系統(tǒng)硬件設(shè)計

FPGA選用Altera公司主流Cyclone系列高性價比的EP1C6Q240C8N。測溫系統(tǒng)的原理圖如圖2所示,由FPGA、顯示部分、按鍵部分和采集部分組成。雖然單總線允許在總線上掛載多個1-Wire器件并實現(xiàn)多點控制,但這樣卻無法同時對每一個1-Wire器件實現(xiàn)控制。所以本系統(tǒng)的采集部分使每個DS18B20都單獨享有一條總線,每條總線都與FPGA的一個I/O口相連。系統(tǒng)選用的FPGA一共有240個管腳,不算電源和配置管腳,可用的I/O管腳達到了179個,除去顯示和按鍵部分所用去的I/O管腳,理論上還可以掛載上百個DS18B20。

按鍵部分的設(shè)計提供人機交互,可以設(shè)定溫度警告數(shù)值和溫度警告數(shù)值,通過按鍵可以瀏覽每一個溫度點的測量值。顯示部分負(fù)責(zé)顯示每一個測量點的標(biāo)號和對應(yīng)的溫度值。FPGA負(fù)責(zé)控制溫度的采集,并將每一個測量點的溫度與設(shè)定好的溫度和溫度進行實時比較,一旦某監(jiān)測點的溫度超標(biāo)將立刻發(fā)出警報提示。

2.2軟件編程設(shè)計

本系統(tǒng)是連續(xù)實時采集溫度的,所以需要有一個控制部分來實現(xiàn)對DS18B20發(fā)送復(fù)位、溫度轉(zhuǎn)換和溫度讀取指令的功能??刂撇糠植捎糜邢逘顟B(tài)機來實現(xiàn),狀態(tài)與狀態(tài)之間的轉(zhuǎn)換需要一定的轉(zhuǎn)移條件,這個轉(zhuǎn)移條件可以是一個定義的信號量,當(dāng)信號量的數(shù)值改變時,狀態(tài)機就通過信號量的數(shù)值來決定轉(zhuǎn)換到哪一個狀態(tài)。

根據(jù)有限狀態(tài)機與溫度采集控制器的對應(yīng)關(guān)系,可以參照控制器的操作控制步來確定有限狀態(tài)機的狀態(tài)。設(shè)發(fā)送復(fù)位指令的狀態(tài)值為“000”,發(fā)送跳過ROM指令的狀態(tài)值為“001”,發(fā)送轉(zhuǎn)換溫度指令的狀態(tài)值為“011”,發(fā)送讀取暫存指令的狀態(tài)值為“101”,讀取溫度數(shù)據(jù)的狀態(tài)值為“100”。狀態(tài)機的狀態(tài)都確定以后,便做出有限狀態(tài)機狀態(tài)轉(zhuǎn)移圖,如圖3所示。

根據(jù)以上的分析,接下來用VHDL語言編寫描述有限狀態(tài)機功能的程序。程序使用兩個進程來描述有限狀態(tài)機的功能:state_transfer進程用來描述有限狀態(tài)機中的次態(tài)邏輯和狀態(tài)寄存器,通過CASE語句,根據(jù)次態(tài)邏輯值實現(xiàn)狀態(tài)值的改變;output_logic進程用來描述有限狀態(tài)機中的輸出邏輯,通過IF語句判斷狀態(tài)值,然后轉(zhuǎn)入相應(yīng)的指令程序。

3基于FPGA與基于單片機控制DS18B20的比較與討論

3.1保證時序

單片機作為基于DS18B20的溫度監(jiān)測系統(tǒng)的控制器,用匯編語言編寫程序,很容易控制時間,因為我們知道每條語句的執(zhí)行時間,每段宏的執(zhí)行時間,每段子程序加調(diào)用語句所消耗的時間[5]。但是當(dāng)系統(tǒng)進入中斷,時序的控制就無法保證。

如果用FPGA作為基于DS18B20的溫度監(jiān)測系統(tǒng)的控制器,在保證1-Wire通信協(xié)議時序上就有足夠的把握。因為控制時序程序、顯示部分程序和人機交互程序等都在相互獨立的進程上同時運行,保證了系統(tǒng)的實時性和可靠性。

3.2查找序列號

單片機的管腳有限,所以要用單片機監(jiān)測多個溫度點時,就需要將多個DS18B20掛在一條總線上。很顯然,序列號匹配工作需要額外的時間,而且在讀取一個測溫點溫度值的過程中,其它的測溫點也都完成了測溫并等待讀取,這無疑降低了測溫的效率。

用FPGA代替單片機,以上問題就不存在了。首先FPGA具有豐富的管腳資源,可以讓每個傳感器都單獨使用一根數(shù)據(jù)線。這樣不但可以實現(xiàn)同時讀取每一個傳感器的溫度值,而且可以不用進行序列號的匹配。大大提高了整個系統(tǒng)測溫的效率,維護更加方便快捷。

3.3成本考慮

單片機技術(shù)如今已經(jīng)非常成熟,應(yīng)用領(lǐng)域也非常廣泛,價錢也非常便宜,普通的型號價格在1美元左右,端的型號也只有10美元。因此用單片機作為控制器,整體系統(tǒng)的成本相對較低。雖然FPGA如今也已經(jīng)得到了廣泛的普及,但是價格還是相對較高,因此用FPGA作為系統(tǒng)的控制器,成本就相對高一些。

4結(jié)論

使用FPGA作為DS18B20的控制器,可以保證時序上符合單總線通信協(xié)議,系統(tǒng)運行時控制部分、顯示部分、人機交互部分可以并行地運行互不干擾,提高了整體系統(tǒng)的實時性與穩(wěn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論