基于FPGA的慣導(dǎo)系統(tǒng)溫控電路接口設(shè)計(jì)
4 FPGA 與外圍電路之間的通信接口
FPGA 與外圍電路之間的通信接口主要包括與溫度傳感器,DSP,232 接口芯片和DAC的通信接口四個(gè)部分。
(1) 與溫度傳感器的通信接口
本方案的溫度傳感器采用DS18B20,它通過硬件非常簡(jiǎn)單的1-wire 總線通信,由于硬件簡(jiǎn)單所以通信協(xié)議比較復(fù)雜。要實(shí)現(xiàn)與它的通信接口將占用大量FPGA 片內(nèi)資源,而且本方案要進(jìn)行七路溫度采集,因此優(yōu)化程序設(shè)計(jì),減少冗余,節(jié)省資源顯得尤為重要。
(2) 與DSP 的通信接口
DSP 與FPGA 的組合已經(jīng)成為當(dāng)今數(shù)字電路中非常流行的模式。FPGA 非常適合與DSP配合。本方案中,DSP 與FPGA 的通信接口主要由數(shù)據(jù)總線,地址總線和一些控制信號(hào)組成。FPGA 和DSP 之間由8 位數(shù)據(jù)總線連接,數(shù)據(jù)以字節(jié)形式并行傳輸。DSP 通過地址總線對(duì)FPGA的片內(nèi)資源尋址??刂菩盘?hào)主要包括復(fù)位信號(hào),中斷信號(hào)和讀寫信號(hào)。
(3) 與232 接口芯片的通信接口
FPGA 與232 接口芯片的通信是通過收發(fā)兩條數(shù)據(jù)線實(shí)現(xiàn)的。本方案中,只存在溫控系統(tǒng)到上位機(jī)的單向數(shù)據(jù)傳輸,故僅需一條發(fā)送數(shù)據(jù)線就可以完成與232 接口芯片的通信。
(4) 與DAC 的通信接口
本方案選用TI 公司的TLV5620I 芯片作為DAC。它是8 位4 路電壓數(shù)模轉(zhuǎn)換器。對(duì)于它的數(shù)字控制基于由4 條信號(hào)線組成的串行總線。包括CLK,DATA,LOAD 和LDAC 四種信號(hào)。
5 FPGA 的邏輯設(shè)計(jì)
在溫控電路的總體方案,硬件結(jié)構(gòu),工作流程和接口協(xié)議都確定后,就可以進(jìn)行FPGA的邏輯設(shè)計(jì)了。FPGA 的邏輯設(shè)計(jì)是整個(gè)溫控電路接口設(shè)計(jì)的重中之重。它基于verilog 硬件描述語言。良好的FPGA 邏輯設(shè)計(jì)應(yīng)該是時(shí)序清晰,運(yùn)行穩(wěn)定,結(jié)果明確和節(jié)省資源的。它能夠保證整個(gè)系統(tǒng)的可靠,穩(wěn)定和高效。FPGA 的邏輯模塊圖如圖3 所示。FPGA 內(nèi)部邏輯大致分為RESET 模塊,DS18B20 接口模塊,總線控制模塊,DSP 接口模塊,雙口RAM 模塊,232 接口模塊和DAC 接口模塊等幾部分。
圖3 FPGA 的邏輯模塊圖
(1)RESET 模塊
該模塊生成全局復(fù)位信號(hào)。是所有模塊中優(yōu)先級(jí)最高的。系統(tǒng)上電后,該模塊將復(fù)位信號(hào)拉低并持續(xù)1 秒而后拉高,對(duì)DSP 和FPGA 內(nèi)部其他模塊進(jìn)行復(fù)位。
(2)DS18B20 接口模塊
該模塊用于實(shí)現(xiàn)與DS18B20 通信,讀取并存儲(chǔ)溫度值。它包含2 個(gè)子模塊。
一、溫度采集模塊
該模塊實(shí)現(xiàn)與DS18B20 的通信協(xié)議。首先通過一個(gè)初始化序列對(duì)DS18B20 進(jìn)行初始化,包括一個(gè)由主機(jī)發(fā)出的復(fù)位脈沖和其后由從機(jī)發(fā)出的存在脈沖。探測(cè)到存在脈沖之后,代表初始化完成,模塊將發(fā)送ROM 操作命令。本方案中,執(zhí)行SKIP ROM 跳過ROM 匹配。之后將發(fā)送存儲(chǔ)器操作命令。溫度轉(zhuǎn)化和讀取溫度就在這部分完成。其中每一次讀寫操作都需要嚴(yán)格按照DS18B20 的讀寫時(shí)隙進(jìn)行。該模塊復(fù)雜程度高和占用資源多,是整個(gè)FPGA 中的重要模塊。本方案一共有七路溫度采集模塊,它們的并行結(jié)構(gòu)使得系統(tǒng)可以方便地實(shí)現(xiàn)對(duì)七路溫度的實(shí)時(shí)監(jiān)控。
二、溫度存儲(chǔ)模塊
該模塊的主要構(gòu)成部分是一個(gè)14*8 位存儲(chǔ)器,用于存儲(chǔ)七路溫度數(shù)值,每一路數(shù)值需要2 個(gè)8 位寄存器存放。存儲(chǔ)完畢后,等待DSP 讀取。
(3)DSP 接口模塊
該模塊主要用于與DSP 進(jìn)行通信。它包含3 個(gè)子模塊。
評(píng)論