擴(kuò)散爐溫度自動控制系統(tǒng)中的FPGA設(shè)計
當(dāng)前國內(nèi)外溫控設(shè)備以單路控制居多,只能控制一路加熱沒備。在國內(nèi),可以對高溫設(shè)備同時多路溫度監(jiān)控系統(tǒng)的研發(fā)還是相對滯后,大多數(shù)設(shè)備都是通過RS232接口或者其他有線接口與上位機(jī)通信,而無線的監(jiān)控部分很少涉及。這里提出的設(shè)計方法在現(xiàn)有技術(shù)基礎(chǔ)上大膽創(chuàng)新,具有挑戰(zhàn)性。硬件電路的設(shè)計采用FPGA編程的方式實(shí)現(xiàn),電路更改方便,用FPGA的方式實(shí)現(xiàn)整個系統(tǒng)的自動控制,降低成本,提高精度,并利用ZigBee短距離無線傳輸協(xié)議實(shí)現(xiàn)無線遠(yuǎn)程控制。
2 FPGA硬件設(shè)計與實(shí)現(xiàn)
2.1 概述
FPGA的設(shè)計使用的是ACTEL公司的Libero IDE集成開發(fā)環(huán)境。FPGA的內(nèi)部電路由A/D轉(zhuǎn)換模塊、PWM模塊、10路PWM控制信號選擇模塊、PS2模塊、50 Hz時鐘信號產(chǎn)生模塊、報警電路模塊(FPGA實(shí)現(xiàn))、LCD顯示模塊和Core805l模塊等構(gòu)成。圖1給出系統(tǒng)電路框圖。這些硬件模塊搭建組成整個控制系統(tǒng),其中Core 8051模塊是整個FPGA內(nèi)部電路的核心,所有的數(shù)據(jù)通過8051進(jìn)行處理并顯示。
2.2 電路模塊的設(shè)計與實(shí)現(xiàn)
(1)A/D轉(zhuǎn)換模塊ACTEL FPGA中的A/D轉(zhuǎn)換模塊將模擬到的數(shù)字轉(zhuǎn)換嵌入在FPGA中,通過軟件配置來實(shí)現(xiàn)不同A/D轉(zhuǎn)換的精度。擴(kuò)散爐溫控系統(tǒng)設(shè)計中,模擬信號輸入沒定為20路,分別是10路經(jīng)過放大后的溫度傳感器電壓信號和10路手動控制輸入的電壓信號。該模塊采用分時采樣的方法,對20路的模擬信號做A/D轉(zhuǎn)換,將轉(zhuǎn)換的結(jié)果、通道號和有效信號輸送給8051的I/O端口,然后在軟件中再讀取所需要的通道轉(zhuǎn)換的數(shù)字信號。
(2)毛刺濾除模塊用邏輯分析儀測試A/D轉(zhuǎn)換后的輸出結(jié)果時,發(fā)現(xiàn)轉(zhuǎn)換有效信號DATAVAIJD有毛刺,為保證8051信號輸入的準(zhǔn)確性,對有效信號必須處理,保證正確地采集到MD的轉(zhuǎn)換結(jié)果,避免信號采集錯誤。由于DATAVALID的頻率為2 MHz,用高頻率10 MHz的時鐘信號可以濾除毛刺。該模塊的設(shè)計思想是讓時鐘信號為10 MHz的高頻信號,經(jīng)過D觸發(fā)器濾除毛刺。
(3)PS2模塊根據(jù)PS2的通信協(xié)議,將輸入的串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)和一位轉(zhuǎn)換有效的使能信號。將這些信號傳輸?shù)?05l,并運(yùn)行軟件程序處理,實(shí)現(xiàn)整個系統(tǒng)的設(shè)定數(shù)據(jù)輸入,即各個通道參數(shù)的設(shè)定。由于高頻時鐘所產(chǎn)生的有效信號,其脈沖信號非常窄,在硬件電路設(shè)計時將這個信號加寬到PS2模塊工作時鐘周期的12倍,這樣在8051程序的執(zhí)行中,可采集到這個有效信號。PS2模塊在系統(tǒng)中的連接如圖2所示。
(4)10路PWM控制信號選擇模塊PWM模塊中的復(fù)位控制信號PWMRST用于控制該通道是否開啟,將這個復(fù)位信號輸送到相應(yīng)的PWM通道,實(shí)現(xiàn)該通道的通斷控制??刂菩盘朠WMDATA用來控制占空比的數(shù)據(jù),將這個控制數(shù)據(jù)輸送到相應(yīng)的PWM模塊。
(5)PWM模塊寬度可調(diào)脈沖模塊(簡稱PWM),用來控制可控硅的通斷。該模塊的輸入信號包括50Hz的時鐘信號和脈沖占空比控制信號,將其傳輸給PWM模塊,從而控制輸出信號的占空比,來調(diào)節(jié)加載在電爐絲兩端的電壓在一個時鐘周期內(nèi)的通斷比,達(dá)到調(diào)節(jié)電爐絲加熱功率的目的。該模塊是一個帶復(fù)位的PWM。復(fù)位信號可用作端口關(guān)閉的信號,可直接控制通道是否加熱。
(6)報警電路模塊報警電路模塊包括:聲音報警和發(fā)光二極管指示兩部分。其控制信號都是由805l軟核給出,控制指令一路直接輸出到LED,另一路則連接到50 Hz信號的選通端,當(dāng)805l給出報警數(shù)據(jù)時,LED為高電平,紅燈亮,同時選通50 Hz的信號輸出到蜂鳴器端,完成報警。
(7)50 Hz時鐘信號產(chǎn)生模塊PWM模塊需要50 Hz的工作時鐘,模塊通過分頻的方法產(chǎn)生所需的時鐘,采用計數(shù)器分頻的方法,將2 MHz的輸入信號作為計數(shù)脈沖信號,輸出脈沖是計數(shù)器的最高位,實(shí)現(xiàn)分頻。該電路簡單,占用的資源也比較少。
(8)LCD顯示模塊 系統(tǒng)設(shè)計選用640x480點(diǎn)陣的LCD顯示屏,用MAX―EPM3128ACT CPLD做成的控制板代替LCD控制器,16個地址口、8個數(shù)據(jù)口和4個控制口的控制板與外圍處理器相連接。因?yàn)椴恍鑿腖CD的屏幕讀取數(shù)據(jù),4個控制口只用到了命令/數(shù)據(jù)選擇控制信號CMD和寫信號WR。在顯示中對LCD的操作即是對一個RAM的讀寫,將顯示的點(diǎn)陣信息寫入到相應(yīng)的RAM地址中即可。內(nèi)部有兩塊相同的RAM模塊,可對不同部分的RAM操作,這樣可以增加LCD的刷新頻率,顯存數(shù)據(jù)可交替讀寫,還可以邊寫邊顯示。LCD控制器的數(shù)據(jù)/命令的選擇信號就是CMD信號。圖3給出LCD接口與FPGA的連接原理圖。
(9)ZigBee無線傳輸電路選用基于MCl3192射頻收發(fā)器作為ZigBee無線傳輸模塊。模塊內(nèi)嵌的軟件協(xié)議支持免碰撞串行通訊的功能,使多點(diǎn)TTL/2RS232/RS485數(shù)據(jù)流透明的傳輸,互不影響。從8051的串口輸出端發(fā)送數(shù)據(jù)給無線傳輸模塊。在8051串行數(shù)據(jù)輸入端接收發(fā)送成功或失敗的反饋信號。805l發(fā)送和接收的都是TTL電平信號。另一端ZigBee模塊直接與PC機(jī)的RS232串口相連接,用來接收從8051中發(fā)送的數(shù)據(jù)。圖4給出模塊間的連接框圖。
評論