久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA的數字溫度測量儀設計

基于FPGA的數字溫度測量儀設計

作者: 時間:2017-06-05 來源:網絡 收藏

0 引言

溫度作為一種最基本的環境參數,與人民的生活有著密切關系。溫度的測量和控制在工業、農業、國防、醫療等各個領域中應用普遍。溫度測量儀是利用物質各種物理性質隨溫度變化的規律,把溫度轉換為電量并顯示的一種儀器,有著廣泛的適用范圍。

本文利用器件與DS18B20設計實現了一種數字溫度測量儀,用于檢測室溫。與其它系統相比較,此測量儀具有結構簡單、抗干擾能力強、精確性高、轉換速度快、擴展性好等優點。

本文引用地址:http://cqxgywz.com/article/201706/348911.htm

1 軟件程序設計

根據系統的設計要求,將程序部分設計分為5個模塊,包括分頻模塊、DS18B20通信模塊、控制模塊、數制轉換模塊、顯示模塊,如圖1所示。利用語言在QuartusII開發平臺上完成程序設計。



1.1 分頻模塊

分頻模塊是設計項目中的基本模塊之一。針對50MHz的時鐘頻率進行分頻產生1MHz頻率信號,分頻模塊如圖2所示。

系統提時鐘信號進入分頻模塊clock引腳,經過分頻后得到信號從clk 1m輸出。分頻模塊仿真結果如圖3所示。
由圖3可知,輸入端的50MHz時鐘信號被50分頻后得到輸出端的1MHz信號。

1.2 DS18B20通信模塊

圖4中時鐘clock為輸入端口,DS18820數據總線口dq[0..0]為雙向端口,使能端enable為輸出端口,led[11..1]為測試時的指示端口,在實際操作中無需接出。

DS18B20采用一根I/O總線讀寫數據,因此它對讀寫數據位有嚴格的時序要求,如圖5所示。

從分頻模塊的clk_1m輸出1MHz到通信模塊的clock作為時鐘信號;根據DS18B20所遵循的初始化時序、讀時序、寫時序等通信協議將程序完成;將獲取的12位的溫度信號傳送給下一個模塊。

1.3 控制模塊

通過控制模塊,將從DS18B20讀取的二進制溫度信息傳給數制轉換模塊,如圖6所示。

程序中設定了三個狀態(清除clear、使能enable、顯示display),當ena為‘1’時,狀態從顯示轉到清除;ena為‘0’時,狀態一直為顯示,把輸入數據win[11..1]從輸出端口wout[11..1]輸出到下一模塊,之間的轉換關系如圖7所示。

控制模塊仿真結果如圖8所示。

圖8中,clock輸入為1 MHz信號,經過500分頻后,得到頻率為1kHz的信號clk lk,此時累加器cnt0為‘0’。當cnt0為‘1’時,系統狀態由原來的清除狀態轉變為使能狀態,此時enb為‘1’,cnt0進行累加;當cnt0=‘1’時,系統狀態從使能狀態轉變到顯示狀態,系統就把win[11..1]輸入的數據通過wout[11..1]輸出到下一模塊。

1.4 數制轉換模塊

利用數制轉換模塊將輸入的11位二進制的溫度數據轉換為3位十進制表示,如圖9所示。

圖9中,clear為清零輸入端口,enable為使能輸入端口,indata[11..1]為數據輸入端口,b1『3..0]、b2[3..0]、b3[3..0]為三個輸出端口。如果clear輸入信號為‘1’時,程序將清除暫存寄存器中數據;反之則不清除。enable輸入信號出現上升沿時,程序開始進行數制轉換,并通過b1[3..0]、b2[3..0]、b3[3..0]端口將得到的十進制數輸出到相應的顯示模塊中。數制轉換模塊仿真見圖10。

由圖10知,輸入數據為“010011 10000”,clear端為低電平,當enable信號有上升沿時,數據開始轉換。轉換后數據為b1=0、b2=9、b3=3,符合設計值。

1.5 顯示模塊

從數制轉換模塊輸出的十進制數接入到顯示模塊中,將其譯碼為七段值,輸出到共陰數碼管上顯示,模塊如圖11所示。

由圖12可知,當輸入為0時,輸出為“1111110”;當輸入為1時,輸出為“0000110”;當輸入為2時,輸出為“1101101”;當輸入為3時,輸出為“1111001”等,在七段數碼管上正好顯示相同數字,表明所編寫的程序正確。


1.6 總體電路框圖

整體電路圖如圖13所示。

輸入50MHz信號接入分頻模塊的clock端口,經過分頻后的信號輸入到DS18B20通信和數制轉換模塊的clock端,作為模塊的時鐘信號。DS 18B20將測得的溫度數據傳給控制模塊的win[11..1],通過數制轉換模塊將數據轉換為3位十進制表示,最后利用顯示模塊譯碼后由共陰數碼管顯示。

2 硬件電路設計

設計采用器件和DS18B20實現溫度測量儀,FPGA電路板主要由FPGA器件、時鐘電路、下載電路、電源電路、顯示電路、指示燈和按鍵等構成。核心芯片采用ALTERA公司生產的CycloneII系列EP2C5T144C8芯片。在設計部分時,由于DS18B20進行精確轉換時需要I/O引腳保持大電流供電,這樣對FPGA芯片引腳造成很大壓力,所以要使DS18B20的VDD引腳接外部電源。電路框圖如圖14所示。


3 下載調試


選擇下載FPGA芯片為EP2C5T144C8,在菜單中選擇Pins項設定引腳,在彈出的窗口中設置好各個輸入輸出端與硬件相對應的引腳,并編譯通過。

將FPGA的下載數據線一端連接FPGA電路板,一端接計算機USB口,在命令欄里Programmer項,在彈出的窗口中選擇Hardware Setup,確認計算機已與DE2板連接好后,點擊Start開始下載運行。

連接好DS18B20電路,即可測量室內溫度,實物電路圖如圖15所示。由實測知,當前室溫為24.2℃。

4 結束語

本文利用FPGA與DS18B20設計并實現了一種用于檢測室溫的簡易的數字溫度測量儀。在QuartusII開發平臺上,利用語言完成軟件程序設計,并完成硬件電路板設計,最后下載驗證。實現的測量儀具有結構簡單、測量精確性高、使用方便、擴展性能好的優點。



關鍵詞: 溫度傳感器 VHDL FPGA

評論


相關推薦

技術專區

關閉