于新穎
(山西大學(xué)商務(wù)學(xué)院 信息學(xué)院,山西 太原 030031)
如今,伴隨著科技和經(jīng)濟的雙重快速發(fā)展,大家對生活質(zhì)量及生產(chǎn)安全的關(guān)注和要求也變得越來越高。溫度報警電路可實現(xiàn)對溫度的測量并對后續(xù)溫度的控制方向給予引導(dǎo)[1],所以不論是在常見的電子電路的設(shè)計中[2],還是在成熟的智能家居的產(chǎn)品中,溫度報警電路都得到了廣泛的關(guān)注和應(yīng)用[3]。
溫度報警電路的實現(xiàn)方式和仿真測試手段多種多樣。但究其本質(zhì),主要是通過不同精度的溫度傳感器[4]采集當(dāng)前環(huán)境下的溫度數(shù)值,然后通過自帶的或者外接的AD轉(zhuǎn)換電路,將溫度的模擬信號形式轉(zhuǎn)換成數(shù)字信號形式,并將此二進制數(shù)值輸入到數(shù)值比較器中,與之前設(shè)定好的溫度閾值進行比較。當(dāng)測得的溫度小于設(shè)定的閾值時,溫度報警電路不加以報警,繼續(xù)檢測;當(dāng)測得的溫度與設(shè)定的閾值相等時,溫度報警電路即可判斷當(dāng)前溫度已到達峰值臨界狀態(tài),可驅(qū)動蜂鳴器進行報警,提示后續(xù)對溫度加以控制。
據(jù)其原理可知,溫度報警電路設(shè)計過程中,主要核心部件為數(shù)值比較器的設(shè)計,將數(shù)值比較器的輸出接到蜂鳴器或者LED燈上,即可完成溫度報警電路的設(shè)計。數(shù)值比較器的設(shè)計方案較多,為了充分體現(xiàn)QuartusII軟件的設(shè)計優(yōu)勢,本文采用數(shù)據(jù)選擇器和譯碼器級聯(lián)的方式完成溫度報警電路的設(shè)計。利用QuartusII軟件,分別在圖形輸入界面設(shè)計譯碼電路和文本輸入界面設(shè)計數(shù)據(jù)選擇器,并將二者最終在圖形界面實現(xiàn)整體電路的連接,從而實現(xiàn)混合模式的開發(fā)。
QuartusII軟件的設(shè)計流程,整體上包括設(shè)計輸入->綜合->仿真->適配->下載->硬件調(diào)試等六大步驟。
1) 設(shè)計輸入
即將設(shè)計理念輸入到計算機中。QuartusII軟件支持兩種設(shè)計輸入方式:圖形輸入和文本輸入。
◆圖形輸入:將要設(shè)計和仿真的電子系統(tǒng)以原理圖的形式呈現(xiàn)出來。這種開發(fā)方式和常見的繪圖軟件如protel 及AD等比較相似。開發(fā)手段簡單、開發(fā)界面明了,但是因為其主要依托庫里自帶的元器件,所以開發(fā)過程中一旦遇到某些元器件是庫里沒有的,便再難繼續(xù)下去。
◆文本輸入:將要設(shè)計和仿真的電子系統(tǒng)以文本代碼的形式呈現(xiàn)出來。其代碼編寫語言為硬件描述語言,常見的有VHDL、Verilog HDL、System Verilog和System C,其中Verilog HDL入門簡單,應(yīng)用較廣。這種開發(fā)方式主要是通過硬件描述語言完成電路的編程設(shè)計。開發(fā)過程中一旦掌握了硬件描述語言的相關(guān)語法知識,便基本不受具體電路的限制,通用性較強;但是由于需要編程,所以對初入門人員來說具有一定的難度。
◆混合輸入:混合輸入方式是上面兩種設(shè)計輸入方式的結(jié)合。其主要原則是庫里自帶的元器件就直接選用圖形輸入方式來設(shè)計這部分電路;庫里沒有的元器件就采用文本輸入方式來設(shè)計,并將其生成自定義的元器件。最后在圖形開發(fā)界面實現(xiàn)電路的級聯(lián)。這種開發(fā)方式有效結(jié)合了上述兩種的優(yōu)點、避免了其弊端,所以可高效的實現(xiàn)電子系統(tǒng)的設(shè)計。
2) 綜合
綜合是QuartusII設(shè)計流程中的核心環(huán)節(jié),它可以將常見的文本輸入方式中的自然語言一步步轉(zhuǎn)化,經(jīng)過自然語言綜合、行為綜合、邏輯綜合、版圖或結(jié)構(gòu)綜合,最后轉(zhuǎn)化成底層的、便于具體實現(xiàn)的模塊組合的裝配。
3) 仿真
仿真環(huán)節(jié)是電路設(shè)計過程中至關(guān)重要的一步。QuartusII軟件包括功能仿真和時序仿真,可以分別從邏輯功能及器件延時等方面幫助我們了解所設(shè)計的電路是否能實現(xiàn)預(yù)期功能。
適配、下載及硬件調(diào)試主要是考慮到若將所設(shè)計的電子系統(tǒng)下載到硬件中,軟硬銜接及測試部分。
本文采用譯碼電路和數(shù)據(jù)選擇器電路級聯(lián)的方式完成溫度報警電路的設(shè)計。溫度傳感器[5]采集進來的二進制數(shù)值給到譯碼電路中,譯碼結(jié)果再送到數(shù)值比較器中,若當(dāng)前溫度數(shù)值與設(shè)定閾值相等,則數(shù)據(jù)選擇器輸出高電平,可驅(qū)動蜂鳴器發(fā)聲或者LED發(fā)光從而實現(xiàn)報警,表示當(dāng)前測得溫度已到達設(shè)定的溫度閾值。
1) 圖形輸入方式設(shè)計譯碼電路
本文采用74LS154這種4-16線譯碼器完成譯碼電路。因為QuartusII元件庫自帶這種元器件,所以直接在圖形開發(fā)界面調(diào)用74LS154即可。
圖1 圖形方式設(shè)計譯碼電路
2) 文本輸入方式設(shè)計數(shù)據(jù)選擇器電路
QuartusII元件庫中沒有16選1的數(shù)據(jù)選擇器,所以可自行通過Verilog語言編程,實現(xiàn)數(shù)據(jù)選擇器的設(shè)計,其程序代碼如圖2所示。
圖2 數(shù)據(jù)選擇器的Verilog程序
通過File-->Create ∠ Update--> Create Symbol Files For Current File將以上16選1數(shù)據(jù)選擇器程序生成可調(diào)用的元件符號,用于后續(xù)電路的級聯(lián)。其生成的16選1數(shù)據(jù)選擇器符號如圖3所示。
圖3 生成的數(shù)據(jù)選擇器元件符號
3) 混合方式設(shè)計溫度報警電路
通過譯碼電路和數(shù)據(jù)選擇電路構(gòu)成的溫度報警電路如圖4所示。將輸出Q端接到蜂鳴器或LED燈上,即可實現(xiàn)溫度閾值的聲光報警。
為了對以上設(shè)計電路的功能加以驗證,本文通過QuartusII軟件進行了功能仿真,其結(jié)果如圖5所示。
圖4 溫度報警電路
圖5 溫度報警電路的仿真結(jié)果
通過混合設(shè)計方式,最終在QuartusII中完成了溫度報警電路的設(shè)計和仿真。仿真結(jié)果表明,假設(shè)設(shè)定的溫度閾值為1110,那么當(dāng)DCBA端口采集進來的數(shù)值沒有達到閾值時,輸出Q一直為低電平,不會產(chǎn)生聲光報警;而當(dāng)采集的溫度值達到1110的閾值時,輸出Q為高電平,可進行聲光報警提示。仿真結(jié)果與電路預(yù)期功能相符。
本文通過混合輸入方式,既在設(shè)計過程中通過直接調(diào)用元器件體現(xiàn)了圖形輸入方式的簡便性,又通過編寫程序解決了庫中不存在的元器件的調(diào)用問題,所以設(shè)計輸入方式比較合理。靈活運用多種開發(fā)方式,這對后續(xù)更為復(fù)雜的電路也提供了一種設(shè)計思路;另外,溫度報警電路可下載到FPGA硬件中,從而廣泛應(yīng)用于各個智能電子產(chǎn)品的設(shè)計中,所以具有一定的實用價值。