基于FPGA的數(shù)字溫度測(cè)量?jī)x設(shè)計(jì)與實(shí)現(xiàn)
摘要:溫度測(cè)量?jī)x是一種常用的檢測(cè)儀器,文章中利用FPGA器件和DS18B20傳感器設(shè)計(jì)實(shí)現(xiàn)了一種數(shù)字溫度測(cè)量?jī)x,用于室溫的檢測(cè)。該測(cè)量?jī)x具有結(jié)構(gòu)簡(jiǎn)單、抗干擾能力強(qiáng)、精確性高、轉(zhuǎn)換速度快、擴(kuò)展性好等優(yōu)點(diǎn)。
關(guān)鍵詞:溫度測(cè)量;現(xiàn)場(chǎng)可編程邏輯門陣列;DS18B20;VHDL語言
0 引言
溫度作為一種最基本的環(huán)境參數(shù),與人民的生活有著密切關(guān)系。溫度的測(cè)量和控制在工業(yè)、農(nóng)業(yè)、國(guó)防、醫(yī)療等各個(gè)領(lǐng)域中應(yīng)用普遍。溫度測(cè)量?jī)x是利用物質(zhì)各種物理性質(zhì)隨溫度變化的規(guī)律,把溫度轉(zhuǎn)換為電量并顯示的一種儀器,有著廣泛的適用范圍。
本文利用FPGA器件與DS18B20溫度傳感器設(shè)計(jì)實(shí)現(xiàn)了一種數(shù)字溫度測(cè)量?jī)x,用于檢測(cè)室溫。與其它系統(tǒng)相比較,此測(cè)量?jī)x具有結(jié)構(gòu)簡(jiǎn)單、抗干擾能力強(qiáng)、精確性高、轉(zhuǎn)換速度快、擴(kuò)展性好等優(yōu)點(diǎn)。
1 軟件程序設(shè)計(jì)
根據(jù)系統(tǒng)的設(shè)計(jì)要求,將程序部分設(shè)計(jì)分為5個(gè)模塊,包括分頻模塊、DS18B20通信模塊、控制模塊、數(shù)制轉(zhuǎn)換模塊、顯示模塊,如圖1所示。利用VHDL語言在QuartusII開發(fā)平臺(tái)上完成程序設(shè)計(jì)。
1.1 分頻模塊
分頻模塊是FPGA設(shè)計(jì)項(xiàng)目中的基本模塊之一。針對(duì)50MHz的時(shí)鐘頻率進(jìn)行分頻產(chǎn)生1MHz頻率信號(hào),分頻模塊如圖2所示。
系統(tǒng)提時(shí)鐘信號(hào)進(jìn)入分頻模塊clock引腳,經(jīng)過分頻后得到信號(hào)從clk 1m輸出。分頻模塊仿真結(jié)果如圖3所示。
由圖3可知,輸入端的50MHz時(shí)鐘信號(hào)被50分頻后得到輸出端的1MHz信號(hào)。
1.2 DS18B20通信模塊
圖4中時(shí)鐘clock為輸入端口,DS18820數(shù)據(jù)總線口dq[0..0]為雙向端口,使能端enable為輸出端口,led[11..1]為測(cè)試時(shí)的指示端口,在實(shí)際操作中無需接出。
DS18B20采用一根I/O總線讀寫數(shù)據(jù),因此它對(duì)讀寫數(shù)據(jù)位有嚴(yán)格的時(shí)序要求,如圖5所示。
從分頻模塊的clk_1m輸出1MHz到通信模塊的clock作為時(shí)鐘信號(hào);根據(jù)DS18B20所遵循的初始化時(shí)序、讀時(shí)序、寫時(shí)序等通信協(xié)議將程序完成;將獲取的12位的溫度信號(hào)傳送給下一個(gè)模塊。
評(píng)論