【正文】
when 1 to 12= STATE=READ_BIT。039。 entity saomiaonew is port(clk1m : in std_logic。 when others=STATE=RESET。 when others=READ_BIT_CNT=0。 else t=t+1。 write_temp=00010000。 if (t=72) then t=0。 if (t=5) then t=0。 elsif (WRITE_BYTE_FLAG=7) then finish write 0XBE STATE=GET_TMP。寫 1 狀態(tài) end if。 STATE=RESET。 STATE=RESET。 begin sdh=10010110。 sdh : out std_logic_vector(7 downto 0)。 end Process。設(shè)計(jì)的過程變的相對(duì)簡(jiǎn)單,容易修改等優(yōu)點(diǎn),相信隨著電子技術(shù)的 發(fā)展,數(shù)字 控制器 的功能會(huì)更加多樣化,滿足人們的各種需 附 錄 附錄 1 開發(fā)板源程序 時(shí)鐘分頻模塊 library IEEE。 如圖 54 是一個(gè)進(jìn)行 8 位二進(jìn)制數(shù) 的數(shù)據(jù) 比較器。 DELAY:等待狀態(tài)。在波形編輯方式下, 執(zhí)行 Edit 菜單中的 Insert Node or Bus 命令,或者在波形編輯器左邊 Name列的空白處點(diǎn)擊鼠標(biāo)右鍵,彈出的 Insert Nodeor Bus 對(duì)話框。 QuartusII 的設(shè)計(jì)流程如圖 43 所示。 QuartusII 可以在 XP、 Linux 以及 Unix 上使用,除了可以使用 TCL 腳本完成設(shè)計(jì)流程外,提供了完善的用戶圖形界面設(shè)計(jì)方式。計(jì)數(shù)器 1 對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器 1的預(yù)置值減到 0 時(shí),溫度寄存器的值將加 1,計(jì)數(shù)器 1 的預(yù)置將重新被裝入,計(jì)數(shù)器 1 重 新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器 2 計(jì)數(shù)到 0 時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。 圖 34 DS18B20 初始化時(shí)序圖 寫時(shí)序有寫 0和寫 1兩種。 DS18B20 中的溫度傳感器可完成對(duì)溫度的測(cè)量,以 12 位轉(zhuǎn)化為例:用 16 位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以 ℃ /LSB 形式表達(dá),其中 S 為符號(hào)位。一般大都使用成熟的 IP 核和中小規(guī)模集成電路所搭成的現(xiàn)成電路,整體放到一片 可編程邏輯器件的內(nèi)部去,所以硬件工作速度和芯片利用率很高,但是當(dāng) 項(xiàng)目很大的時(shí)候,該方法就顯得有些繁瑣;狀態(tài)機(jī)描述主要用來(lái)設(shè)計(jì)基于狀態(tài)機(jī)思想的時(shí)序電路。一般的設(shè)計(jì),也可略去這一步驟??删幊袒ミB資源 IR 可以將 FPGA 內(nèi)部的 CLB 和 CLB 之北華航天工業(yè)學(xué)院畢業(yè)論文 5 間、 CLB 和 IOB 之間連接起來(lái),構(gòu)成各種具有復(fù)雜功能的系統(tǒng)。這 3 個(gè)函數(shù)發(fā)生器結(jié)合起來(lái),可實(shí)現(xiàn)多達(dá) 9 變量的邏輯函數(shù)。 CPLD/PGFA 幾乎能完成任何數(shù)字器件的功能,上至高性能 CPU,下至簡(jiǎn)單的 74 電路。因?yàn)槟茏x出 , 比用精度為 1 或 的溫度計(jì)測(cè)量精度大大提高。 課題相關(guān)技術(shù)發(fā)展 當(dāng)今電子產(chǎn)品正向功能多元化 、 體積最小化 、 功耗最低化的方向發(fā)展。 現(xiàn)在的電子產(chǎn)品 在設(shè)計(jì)上 與傳統(tǒng)的電子產(chǎn)品相比較 , 顯著 的 區(qū)別在于其 大量 地 使用 了 大規(guī)??删幊踢壿嬈?件,使產(chǎn)品的性能提高,體積縮小,功耗降低 。 ( 3) 測(cè)量時(shí)間短。它如同一張白紙或是一堆積木,工程師可以通過傳統(tǒng)的原理圖輸入或硬件描述語(yǔ)言自由的設(shè)計(jì)一個(gè)數(shù)字系統(tǒng)。 CLB 中有許多不同規(guī)格的數(shù)據(jù)選擇器(四選一、二選一等),通過對(duì) CLB 內(nèi)部數(shù)據(jù)北華航天工業(yè)學(xué)院畢業(yè)論文 4 選擇器的編程,邏輯函數(shù)發(fā)生器 G、 F 和 H 的輸出可以連接到 CLB 輸出端 X 或 Y,并用來(lái) 選擇觸發(fā)器的激勵(lì)輸入信號(hào)、時(shí)鐘有效邊沿、時(shí)鐘使能信號(hào)以及輸出信號(hào)。 IR 主要由許多金屬線段構(gòu)成,這些金屬線段帶有可編程開關(guān),通過自動(dòng)布線實(shí)現(xiàn)各種電路的連接。 ( 7) 利用適配器將綜合后的網(wǎng)絡(luò)表文件針對(duì)某一具體的目標(biāo)器件進(jìn)行邏輯映射操作,包括底層器件配置、邏輯分割、邏輯優(yōu)化和布局布線。在圖形的方式下定義好各個(gè)工作狀態(tài),然后在各個(gè)狀態(tài)上輸入轉(zhuǎn)換條件以及相應(yīng)的輸入輸出,最后生成VHDL 語(yǔ)言描述,送去綜合軟件綜合到可編程邏輯器件的內(nèi)部 。即所測(cè)溫度值為 T=T*??偩€控制器通過寫 1時(shí)序?qū)戇壿?1 到 DS18B20,寫時(shí)序?qū)戇壿?0到 DS18B20。圖 36 中的斜率累加器用于補(bǔ)償和修正測(cè)溫過程中的非線性,其輸出用于修正計(jì)數(shù)器 1 的預(yù)置值。具有運(yùn)行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點(diǎn)。 圖 43 Quartus II 的設(shè) 計(jì)流程 將所設(shè)計(jì)的電路的邏輯功能按照開發(fā)系統(tǒng)要求的形式表達(dá)出來(lái)的過程稱為設(shè)計(jì)輸入。點(diǎn)擊 Insert Nodeor Bus 對(duì)話框中的 Node Finder?按鈕,彈出 Node Finder 窗口,在此窗口中添加信號(hào)節(jié)點(diǎn),之后就可以進(jìn)行仿真了。 WRITE_BIT:向 DS18B20 中寫入數(shù)據(jù)位狀態(tài)。 圖 54 數(shù)據(jù)比較模塊元器件 FLEX 10K 開發(fā)箱上的下載 本設(shè)計(jì)所使用的是 FLEX 10K 系列開發(fā)箱。 use 。 process(clk_temp) variable t2: std_logic。 xdl : out std_logic_vector(7 downto 0)。 xdl=00001000。 elsif (t=500 and t510) then dq=39。 elsif (t=750) then 等待 750us 后進(jìn)入 alarm search ROM 命令; t=0。 WRITE_BYTE_CNT=WRITE_BYTE_CNT+1。 WRITE_BYTE_FLAG=0。 WRITE_LOW_CNT=2。 WRITE_HIGH_CNT=2。down value 4 度 STATE=WRITE_BYTE。 end if。 end case。 LED=39。 ah,al:in std_logic_vec。 LED2=39。 GET_TMP_CNT=GET_TMP_CNT+1。Z39。 sensity STATE=WRITE_BYTE。 end if。 end if。 WRITE_BYTE_CNT=0。 WRITE_BYTE_FLAG=1。 end if。 t=t+1。039。 end state。 clk1m=t2。 entity div is port( clk: in std_logic。它采用了重復(fù)可構(gòu)造的 CMOS SRAM 工藝,并把連續(xù)的快速通道互連與獨(dú)特的嵌入式陣列結(jié)構(gòu)相結(jié)合,同時(shí)可結(jié)合眾多可編程器件來(lái)完成普通門陣列的宏功能。在該狀態(tài)中每讀取 1 位數(shù)據(jù),同時(shí)完成該數(shù)據(jù)位的 CRC 校驗(yàn)計(jì)算。 圖 51 溫度控制器系統(tǒng)結(jié)構(gòu)圖 DS18B20 溫度采集模塊的驅(qū)動(dòng)設(shè)計(jì) 如圖 52 為 FPGA 控制 DS18B20 進(jìn)行溫度采集的 系統(tǒng) 流程圖。 ( 2) 硬件描述語(yǔ)言輸入方式 硬件描述語(yǔ)言是用文本方式描述設(shè)計(jì),硬件描述語(yǔ)言有 ABEL、 AHDL、 VHDL、 Verilog等,其中 VHDL 和 Verilog 已成為 IEEE 標(biāo)準(zhǔn)。對(duì)第三方 EDA 工具的良好支持也使用戶可以在設(shè)計(jì)流程的各個(gè)階段使用熟悉的第三方 EDA 工具。 DS18B20 使用過程中的 注意事項(xiàng) DS1820 雖然具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線少等優(yōu)點(diǎn),但在實(shí)際 應(yīng)用中也應(yīng)注意以下幾方面的問題: ( 1) 小的硬件開銷需要相對(duì)復(fù)雜的 軟件 進(jìn)行補(bǔ)償,由于 DS18B20 與微處理器間采用 串行數(shù)據(jù)傳送,因此 ,在對(duì) DS18B20 進(jìn)行讀寫編程時(shí),必須嚴(yán)格的保證讀寫時(shí)序,否則將無(wú)法讀取測(cè)溫結(jié)果。當(dāng)總線控制器把數(shù)據(jù)線從高電平拉到低 電平時(shí),寫時(shí)序開始。高五位都是符號(hào)位,在讀取溫度時(shí)只需 MSB 中的低四位和 LSB 的整個(gè)字節(jié)。這種輸入方式最后所能達(dá)到的工作速度和芯片利用率也 主要取決于綜合軟件。根據(jù)適配后的仿真模型,可以進(jìn)行適配后 時(shí)序仿真,因?yàn)橐呀?jīng)得到器件的實(shí)際硬件特性(如時(shí)延特性),所以仿真結(jié)果能比較精確的預(yù)期未來(lái)芯片的實(shí)際性能。目前這種高層次的設(shè)計(jì)方法已被廣泛采用。 CLB 中的邏輯函數(shù)發(fā)生器 F 和 G 均為查找表結(jié)構(gòu),其工作原理類似于 ROM。使用 CPLA/FPGA 開發(fā)數(shù)字電路,可以大大縮短設(shè) 計(jì)時(shí)間,減少 PCB 面積,提高系統(tǒng)的可靠性。 ( 4) 電路簡(jiǎn)單。 EDA 技術(shù)正是為了適應(yīng)現(xiàn)代電子技術(shù)的要求,吸收眾多學(xué)科最新科技成果而形成的一門新技術(shù)。 關(guān)鍵字 : 溫度控制 ; FPGA; VHDL; 北華航天工業(yè)學(xué)院畢業(yè)論文 II Abstract Designed by this paper is a multifunctional digital temperature controller based on FPGA. This design overes the drawback of traditional digital thermometer low accuracy, and in addition to the traditional thermometer temperature function also has the certain control function, can better handle and on the measured temperature control module to join its than traditional thermometer has stronger practicability. This design adopts the topdown design EDA technology, the structure of system is divided into temperature acquisition module, display module, the input data contrast module, output control module. Under the Quartus II software circuit design and simulation using VHDL language, according to the result of simulation. The scheme can achieve a better temperature measurement function and can carry on the effective control of temperature. KeyW ords: Temperature control FPGA VHDL 北華航天工業(yè)學(xué)院畢業(yè)論文 III 目 錄 第 1 章 緒論 ............................................................... 1 課題背景及國(guó)內(nèi)外研究概況 ............................................. 1 課題相關(guān)技術(shù)發(fā)展 ..................................................... 1 課題研究的必要性 ..................................................... 1 課題研究的主要內(nèi)容 ................................................... 2 課題所設(shè)計(jì)的溫度控制器的優(yōu)點(diǎn) ......................................