單總線溫度傳感器的EDA控制方法
出處:電子愛好者博客 發(fā)布于:2013-05-10 11:10:38
摘 要:基于FPGA在Quartus II軟件中使用VHDL語言,對單總線溫度傳感器進行讀寫控制及溫度顯示功能,與傳統(tǒng)方法相比具有硬件電路簡單、可實現(xiàn)多路控制的優(yōu)點。
1 硬件接口電路
DS18B20是單總線數(shù)字溫度傳感器,測量溫度范圍從-55℃到125℃,測量為±0.5℃,通過單總線可直接輸出所測溫度的二進制數(shù)據(jù),數(shù)字量的輸出位數(shù)可通過編程控制,在9位至12位(含符號位)之間選擇。該器件有三個端口,分別是電源端、地端、單總線數(shù)據(jù)端,在使用時將FPGA的I/O口和DS18B20的單總線連接,通過單總線實現(xiàn)FPGA與DS18B20之間的數(shù)據(jù)收發(fā),接口電路如圖1所示。

2 軟件控制程序
控制DS18B20進行溫度測量和讀取主要包括三個步驟:器件初始化、發(fā)送寫寄存器命令和發(fā)送讀寄存器命令,該功能代碼寫在控制模塊中,軟件流程如圖2所示。其中初始化是通過FPGA向總線發(fā)送低電平復(fù)位信號,持續(xù)時間為480-600us,然后FPGA釋放總線,單總線經(jīng)過上拉電阻會被拉至高電平,當DS18B20檢測到上升沿之后,等待15-60us后將發(fā)出60-256us的低電平存在脈沖作為響應(yīng),如果FPGA檢測到響應(yīng)脈沖則初始化成功。

初始化成功后,F(xiàn)PGA通過向總線發(fā)送命令來控制傳感器的溫度采集,程序中用到的主要命令如下:0XCC為跳過ROM檢測命令;0X44為啟動溫度轉(zhuǎn)換命令;0XBE為從DS18B20讀取溫度測量數(shù)值。
在頂層代碼中除了控制模塊外,還包括包括分頻模塊和顯示模塊。
其中,分頻模塊將實驗板上50M Hz時鐘轉(zhuǎn)換為1MHz輸出到控制模塊,用于控制FPGA對單總線的讀、寫時序。
顯示模塊用于將讀取到的溫度數(shù)據(jù)轉(zhuǎn)換為十進制數(shù)據(jù),并通過數(shù)碼管進行動態(tài)顯示。由于溫度寄存器默認采用12位二進制數(shù)據(jù)來存儲,位為符號位,溫度分辨率為0.0625℃,如圖3所示。當溫度為正數(shù)時符號位為0;當溫度為負數(shù)時符號位為1,且數(shù)據(jù)位采用補碼的形式。因此,將溫度轉(zhuǎn)換成十進制數(shù)據(jù)時,首先判斷符號位,當符號位為1時,先由二進制數(shù)據(jù)求出原碼,再轉(zhuǎn)換為十進制,乘以溫度分辨率0.0625得到實測溫度;當符號位為0時,直接將二進制轉(zhuǎn)換為十進制,再乘以溫度分辨率。

3 系統(tǒng)頂層文件

將編譯好的sof程序到實驗板中運行,能夠?qū)崿F(xiàn)環(huán)境溫度的測量和顯示,實際效果如圖5所示?;谝陨戏椒ǖ臏囟瓤刂葡到y(tǒng)硬件電路簡單,實時性強,能夠進行多路溫度監(jiān)控,應(yīng)用范圍廣泛。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- EDA技術(shù)工具鏈與全流程設(shè)計運維指南2026/1/5 10:28:51
- PLC程序現(xiàn)場疑難問題排查與深度優(yōu)化指南2025/12/24 14:36:36
- PLC程序現(xiàn)場調(diào)試與優(yōu)化實操指南2025/12/24 14:29:57
- 工業(yè)PLC模擬量信號采集:調(diào)理技術(shù)與抗干擾工程方案2025/12/15 14:39:08
- PLC設(shè)備如何選型2025/9/5 17:15:14









