智能溫室環(huán)境測控系統(tǒng)專用CPU設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:智能溫室是近年逐步發(fā)展起來的一種資源節(jié)約型高效農(nóng)業(yè)發(fā)展技術(shù),目前國內(nèi)大多以單片機(jī)、通用計(jì)算機(jī)作為溫室系統(tǒng)處理器,由于基于單因子和成本問題,其智能化和效率有待提高。在此通過對目前智能溫室控制器的分析研究,提出并設(shè)計(jì)了一款16位的的單總線專用CPU,且專門針對于智能溫室測控系統(tǒng)設(shè)計(jì)了一個(gè)浮點(diǎn)運(yùn)算器和n個(gè)Comparray比較器,并使用VHDL語言在QuartusⅡ6.0中進(jìn)行設(shè)計(jì)與仿真。所以,該CPU不但具有通用CPU的基本特性,而且更具有在農(nóng)業(yè)溫室控制系統(tǒng)領(lǐng)域的特殊性。
關(guān)鍵詞:測控系統(tǒng);專用CPU;Comparvay比較器;VHDL語言
溫室環(huán)境測控系統(tǒng)的工作原理就是根據(jù)溫室內(nèi)外裝設(shè)的各種傳感設(shè)備采集或監(jiān)測信息,然后傳遞給處理設(shè)備進(jìn)行分析與處理后,控制其執(zhí)行機(jī)構(gòu)對溫室的環(huán)境進(jìn)行自動(dòng)調(diào)節(jié)與控制,以達(dá)到為作物的生長發(fā)育創(chuàng)造最佳環(huán)境條件的目的。
1 目前智能溫室環(huán)境測控系統(tǒng)控制器分析
由于處理器核心技術(shù)的不斷進(jìn)步,溫室控制系統(tǒng)處理器的處理能力也在飛速發(fā)展,種類也在不斷增多。資料顯示,目前的溫室控制系統(tǒng)結(jié)構(gòu)中,在核心處理器的選擇上,主要采用以下幾種:
(1)工業(yè)控制機(jī)
在這種溫室控制系統(tǒng)中其核心處理器是以工業(yè)控制機(jī)為中心的。其余2個(gè)模塊:一個(gè)主要由用于環(huán)境因子采集的各類傳感器組成;另一個(gè)模塊主要由各種執(zhí)行機(jī)構(gòu)組成。控制系統(tǒng)的主要特點(diǎn)是多輸入和多輸出閉環(huán)控制,所以硬件的開發(fā)量比較小,軟件組態(tài)方面也比較方便,市場很容就能夠買到所需要的硬件及軟件。工業(yè)控制機(jī)的一個(gè)顯著的特點(diǎn)是具有標(biāo)準(zhǔn)通信接口,因此很容易實(shí)現(xiàn)溫室的群控和網(wǎng)絡(luò)化。其缺點(diǎn)是:一方面是成本較高,因?yàn)楣I(yè)控制機(jī)及相應(yīng)的組態(tài)軟件都需要購買;另一方面是集中控制,如果核心的工控機(jī)發(fā)生了故障,那么將導(dǎo)致整個(gè)系統(tǒng)運(yùn)行遭到破壞。而且在這種以工控機(jī)做為控制器的結(jié)構(gòu)中,在進(jìn)行系統(tǒng)的布線時(shí)由于多入多出結(jié)構(gòu)的特點(diǎn),線路鋪設(shè)相當(dāng)復(fù)雜,如果出現(xiàn)了問題在維護(hù)起來也十分不方便。
(2)單片機(jī)
在這種控制系統(tǒng)中其性能的好壞主要由所選用的單片機(jī)所決定。其主要特點(diǎn)是單片能夠?qū)θ汁h(huán)境進(jìn)行控制和管理,對使用者的素質(zhì)要求不是很高,操作起來也十分容易,而且投資成本較低。但是在系統(tǒng)搭建時(shí)其線路的鋪設(shè)十分復(fù)雜,出現(xiàn)故障的幾率也是相當(dāng)?shù)母?,因此系統(tǒng)的可靠性必然受到影響;一般還是通過模擬量或開關(guān)量進(jìn)行信號(hào)的輸入、輸出,自動(dòng)化程度比較低。
(3)可編程邏輯控制器
可編程邏輯控制器是一種通用的自動(dòng)控制裝置。這種裝置的主要特點(diǎn)就是將傳統(tǒng)的繼電器技術(shù)和先進(jìn)的計(jì)算機(jī)技術(shù)、通信技術(shù)等融為一體。運(yùn)算能力方面能夠進(jìn)行復(fù)雜的邏輯運(yùn)算和算術(shù)運(yùn)算。其控制能力方面相對較強(qiáng),對于溫室環(huán)境系統(tǒng)來說,它能夠滿足長期連續(xù)的工作和高效率的控制需求;在系統(tǒng)穩(wěn)定性方面,系統(tǒng)性能穩(wěn)定,因此可靠性比較高;在操作方面,比較靈活,而且操作方法比較簡單。缺點(diǎn)是不能獨(dú)立進(jìn)行控制需要和上位機(jī)進(jìn)行聯(lián)合,因此在資金投入方面很大,普通的農(nóng)業(yè)用戶在經(jīng)濟(jì)能力上無法承受。
(4)嵌入式控制器
嵌入式控制器是由通用CPU演化而來的,隨著嵌入式系統(tǒng)的快速發(fā)展,應(yīng)用領(lǐng)域也不斷擴(kuò)展。再加上其“專用”的特點(diǎn),在溫室控制系統(tǒng)中的應(yīng)用在日趨增多。
2 專用CPU的設(shè)計(jì)
雖然微處理器的技術(shù)在飛速的發(fā)展,處理能力也在不斷的增強(qiáng),從4、8、16、32至64位,但通過調(diào)查發(fā)現(xiàn),16位的微處理器經(jīng)歷了這么多年的發(fā)展之后,生命力依然十分旺盛,在市場上具有相當(dāng)高的占有率。與從16位機(jī)迅速的向32位、64位過渡的通用的計(jì)算機(jī)相比,16位微控制器從誕生至今,雖歷經(jīng)了從單片微型計(jì)算機(jī)到微控制器、微控制器到SoC的變遷,但在嵌入式領(lǐng)域16位機(jī)依然是中低端應(yīng)用的一種主要機(jī)型,而且在未來相當(dāng)長的一段時(shí)間內(nèi),這個(gè)勢頭仍然會(huì)持續(xù)下去。因?yàn)檫@是由嵌入式系統(tǒng)和通用計(jì)算機(jī)系統(tǒng)的完全不同的應(yīng)用特性決定的,所以其技術(shù)發(fā)展道路走向是完全不同的。根據(jù)智能溫室測控系統(tǒng)的特點(diǎn),在最大限度地滿足數(shù)據(jù)的采集、控制、可靠性和低功耗等品質(zhì)的要求下,16位機(jī)具有很強(qiáng)的速度潛力,因此本所設(shè)計(jì)的專用CPU為16為CPU。作為智能溫室環(huán)境測控系統(tǒng)的專用CPU,一方面它和通用的CPU相比具有很多的共同特性,另一方面具有它在農(nóng)業(yè)溫室控制系統(tǒng)領(lǐng)域的特殊性。
2.1 專用CPU的組成結(jié)構(gòu)
圖1是一個(gè)16位的采用了RISC思想的單總線CISC CPU處理器結(jié)構(gòu)。
此CPU單獨(dú)設(shè)置了一個(gè)8段的流水FLOAT(浮點(diǎn)型運(yùn)算器)、一個(gè)ALU(定點(diǎn)運(yùn)算器)、一個(gè)PcCount(程序計(jì)算器)、一個(gè)InstrReg(指令寄存器)一個(gè)Shift(移位運(yùn)算器)、一個(gè)ComP(單比較器)、一個(gè)Compn(比較器組、n為可擴(kuò)充)、一個(gè)Controller(控制單元)、一個(gè)AddrReg(地址寄存器)和八個(gè).Reg0…Reg7(16位寄存器組),它們共用一組16位的三態(tài)數(shù)據(jù)總線。其工作流程和通用CPU相同,不同的專用寄存器保存指定的內(nèi)容,指令的執(zhí)行分順序和轉(zhuǎn)移兩種方式。
該結(jié)構(gòu)中有專門針對于智能溫室測控系統(tǒng)而設(shè)計(jì)的一個(gè)浮點(diǎn)運(yùn)算器和n個(gè)Comparray比較器。一方面由于本智能溫室環(huán)境測控系統(tǒng)的一個(gè)很重要的功能就是硬件實(shí)現(xiàn)智能控制方法,同時(shí)運(yùn)算模塊主要對由采集模塊所采集的環(huán)境因子進(jìn)行比較分析和處理,而所采集數(shù)據(jù)通常是浮點(diǎn)數(shù),所以本文在CPU的運(yùn)算單元中增加了單獨(dú)的浮點(diǎn)運(yùn)算器;另一方面因?yàn)樵谥悄軠厥覝y控系統(tǒng)中要隨時(shí)對溫度、濕度、CO2濃度等數(shù)據(jù)與作物生長的最佳值比較,如果數(shù)值超越了警戒線,就要采取措施。為了提高處理速度,方便比較,該結(jié)構(gòu)中放置了比較器組,會(huì)把最常用的值在不同的比較器中固化,不但節(jié)省了取操作數(shù)的環(huán)節(jié),而且也節(jié)省了時(shí)間。
2.2 比較寄存器組的設(shè)計(jì)
Comparray比較寄存器組是專門針對于智能溫室測控系統(tǒng)設(shè)計(jì)的。在智能溫室測控系統(tǒng)中要隨時(shí)對溫度、濕度、CO2濃度等參數(shù)與作物最佳生長值比較,如果數(shù)值超越了設(shè)定值,就要采取措施。該結(jié)構(gòu)中放置了多個(gè)比較器,主要是為了方便比較,因此會(huì)把經(jīng)過時(shí)間測試或?qū)<姨峁┑淖畛S玫淖魑锷L不同階段的標(biāo)準(zhǔn)值在不同的比較器中進(jìn)行固化,這樣減少了取操作數(shù)的環(huán)節(jié),自然就節(jié)約了時(shí)間。比較寄存器組的結(jié)構(gòu)如圖2所示。
在這個(gè)比較器組中只列了3個(gè)比較器,分別比較CO2濃度、濕度、溫度,在智能溫室控制系統(tǒng)中還有,光照強(qiáng)度、PH值、EC值、室外氣象值、光合作用等,這里只是用這3個(gè)值作為示例。Comparray就相當(dāng)與一個(gè)選擇器,來分別選擇比較寄存器組中的寄存器,這里設(shè)置了3個(gè)比較寄存器,當(dāng)然也可根據(jù)需要進(jìn)行增減。
3 浮點(diǎn)運(yùn)算器的設(shè)計(jì)與仿真
本專用CPU設(shè)置浮點(diǎn)運(yùn)算器的目的是要將智能控制算法在CPU內(nèi)集成。而此浮點(diǎn)單元在進(jìn)行復(fù)雜的算術(shù)邏輯運(yùn)算時(shí),主要設(shè)置了狀態(tài)機(jī),通過狀態(tài)機(jī)對浮點(diǎn)運(yùn)算單元的各個(gè)子模塊進(jìn)行調(diào)用,從而實(shí)現(xiàn)運(yùn)算。本浮點(diǎn)運(yùn)算單元的子模塊主要有:加減法運(yùn)算器、乘法運(yùn)算器和除法運(yùn)算器。它們之間的協(xié)調(diào)與配合是在總控狀態(tài)機(jī)的負(fù)責(zé)下進(jìn)行的,總控制狀態(tài)機(jī)首先根據(jù)情況啟動(dòng)各個(gè)運(yùn)算子模塊使其進(jìn)入運(yùn)算狀態(tài),當(dāng)運(yùn)算結(jié)束后總控狀態(tài)機(jī)會(huì)收到運(yùn)算結(jié)束的反饋信號(hào),并且將結(jié)果存入指定寄存器中,或用于輸出或用于下一次運(yùn)算。下面對各個(gè)子模塊進(jìn)行分別設(shè)計(jì):
3.1 加減法器的設(shè)計(jì)與仿真
浮點(diǎn)加減法運(yùn)算模塊電路原理如圖3所示。主要由6個(gè)模塊構(gòu)成,分別是Subcell模塊、exchange模塊、move模塊、M_add模塊、standar模塊、cntrl模塊。
功能仿真如圖4所示。
3.2 浮點(diǎn)乘法器的設(shè)計(jì)與仿真
浮點(diǎn)數(shù)乘法器的基本思想是符號(hào)與數(shù)值分開處理,2個(gè)操作數(shù)符號(hào)的異或?yàn)榻Y(jié)果的符號(hào),對于數(shù)值的處理采用的是取底數(shù)相乘、指數(shù)相加減的方法,然后對結(jié)果進(jìn)行規(guī)格化處理后,再調(diào)整指數(shù)。按照浮點(diǎn)數(shù)的乘法步驟解釋程序如下:
(1)零操作數(shù)判斷
如果兩個(gè)操作數(shù)中只要有一個(gè)操作數(shù)是0,則結(jié)果為0:
若q的值為0,則程序就繼續(xù)執(zhí)行一下操作。
(2)運(yùn)算結(jié)果符號(hào)位判斷
運(yùn)算結(jié)果符號(hào)位主要是由兩個(gè)操作數(shù)的符號(hào)決定,而其實(shí)現(xiàn)主要是通過一個(gè)異或門電路得到,程序如下:
(3)冪相加和尾數(shù)相乘
(4)規(guī)格化與舍入處理
當(dāng)以上3步運(yùn)算結(jié)束后,要對最高位進(jìn)行判斷,從而決定是否需要進(jìn)行規(guī)格化,采用直接舍入法進(jìn)行處理。
浮點(diǎn)乘法運(yùn)算的功能仿真如圖5所示。
3.3 浮點(diǎn)除法器的設(shè)計(jì)
除法器的VHDL核心處理代碼如下:
功能仿真如圖6所示。
4 結(jié)語
針對溫室環(huán)境控制的功能特點(diǎn),在CPU中設(shè)計(jì)了可擴(kuò)充的環(huán)境值比較器組。用來對采集的單個(gè)環(huán)境值與標(biāo)準(zhǔn)值進(jìn)行比較,不但節(jié)省了存取數(shù)據(jù)的時(shí)間,也提高了溫室環(huán)境測控系統(tǒng)的系統(tǒng)效率;單獨(dú)設(shè)置了浮點(diǎn)運(yùn)算器使得此專用CPU可以對智能控制算法的硬件集成提供良好的支撐,使得無PC的參與、無龐大專家數(shù)據(jù)庫系統(tǒng)的支撐,同樣具有反應(yīng)專家知識(shí)的功能。