1 前言
發(fā)射機(jī)是無(wú)線通信的重要設(shè)備之一,廣泛應(yīng)用于廣播電視、移動(dòng)通信、海洋運(yùn)輸及國(guó)防等領(lǐng)域。自動(dòng)控制技術(shù)在無(wú)線通信發(fā)射領(lǐng)域正發(fā)揮著越來越重要的作用,發(fā)射設(shè)備的數(shù)字化逐漸趨于成熟。但是,大功率短波發(fā)射機(jī)比起中波、調(diào)頻、電視發(fā)射機(jī)來說,具有變換工作頻率頻繁,倒頻時(shí)間短;不能實(shí)現(xiàn)整機(jī)固態(tài)化,可靠性降低,故障率較高;工作頻段范圍寬,很難保證在全頻段內(nèi)任意頻率穩(wěn)定工作等特點(diǎn);加之目前尚無(wú)接口標(biāo)準(zhǔn)對(duì)大功率短波發(fā)射臺(tái)微機(jī)實(shí)時(shí)控制進(jìn)行規(guī)范,給大功率短波發(fā)射臺(tái)自動(dòng)化帶來困難。短波發(fā)射機(jī)的自動(dòng)調(diào)諧技術(shù)正是在這種環(huán)境下產(chǎn)生的。
本設(shè)計(jì)的自動(dòng)調(diào)諧系統(tǒng)是基于FPGA和AVR單片機(jī)的,其調(diào)諧對(duì)象是功率為150kW,發(fā)射頻率范圍為3.9 26.1MHz的短波發(fā)射機(jī)。系統(tǒng)結(jié)構(gòu)如圖1所示:
?
2 FPGA簡(jiǎn)介
FPGA是現(xiàn)場(chǎng)可編程門陣列(Field Program一able Gate Array)的簡(jiǎn)稱,是新一代的自動(dòng)調(diào)諧控制單元,它采用VHDL語(yǔ)言進(jìn)行現(xiàn)場(chǎng)編程,其特點(diǎn)是:I/O資源豐富,運(yùn)算速度快(ns級(jí)),集成度高,穩(wěn)定性好,包含的LUT和觸發(fā)器數(shù)量豐富等等。
鑒于這些特點(diǎn),系統(tǒng)擬采用單片機(jī)與現(xiàn)場(chǎng)可編程門陣列(FPGA)組合的方式。FPGA主要完成人機(jī)界面、測(cè)定發(fā)射機(jī)工作頻率及調(diào)整元件位置的邏輯設(shè)計(jì),單片機(jī)則完成上位機(jī)通信、元件位置數(shù)據(jù)采集、存儲(chǔ)系統(tǒng)參數(shù)等任務(wù)。本系統(tǒng)設(shè)計(jì)中主要完成系統(tǒng)邏輯部分設(shè)計(jì)。圖2所示為系統(tǒng)邏輯結(jié)構(gòu)。
系統(tǒng)中的各邏輯模塊設(shè)計(jì)主要用VHDL硬件描述語(yǔ)言完成。
3 系統(tǒng)功能概述
3.1 自動(dòng)調(diào)諧
發(fā)射機(jī)自動(dòng)調(diào)諧是指在調(diào)諧過程中根據(jù)當(dāng)前發(fā)射機(jī)的工作頻率,將各個(gè)調(diào)諧元件調(diào)到與該頻率相對(duì)應(yīng)位置的操作過程。短波發(fā)射機(jī)各用電單元的通斷,是通過配電箱中相應(yīng)接觸器的通斷來實(shí)現(xiàn)。控制接觸器通斷的信號(hào)是由調(diào)諧邏輯小盒產(chǎn)生。自動(dòng)調(diào)諧控制套箱是用來實(shí)現(xiàn)本發(fā)射機(jī)的高頻回路元件在換頻時(shí)的機(jī)械定位進(jìn)行調(diào)諧控制。為了達(dá)到調(diào)諧的目的,自動(dòng)調(diào)諧系統(tǒng)需要完成以下幾項(xiàng)工作:
(1)為了實(shí)現(xiàn)工作人員對(duì)發(fā)射臺(tái)的遠(yuǎn)程監(jiān)控,需要將自動(dòng)調(diào)諧系統(tǒng)與在線計(jì)算機(jī)相連;
(2)系統(tǒng)需要設(shè)置各種參數(shù),需要有簡(jiǎn)易的人機(jī)界面,主要是鍵盤和LED顯示;
(3)系統(tǒng)參數(shù)的存儲(chǔ)及調(diào)用;
(4)發(fā)射機(jī)實(shí)際工作頻率的測(cè)定;
(5)調(diào)諧元件位置信息的采集;
(6)控制執(zhí)行電機(jī)調(diào)節(jié)元件位置。
3.2 調(diào)諧原理
操作人員先通過控制面板創(chuàng)建各個(gè)工作頻道,每個(gè)工作頻道中保存有發(fā)射機(jī)的工作頻率及頻率所對(duì)應(yīng)的可調(diào)元件位置值。創(chuàng)建完工作頻道后,就可以進(jìn)入正常的調(diào)諧工作。選擇一個(gè)工作頻道,并按功能鍵,系統(tǒng)將向單片機(jī)發(fā)出中斷請(qǐng)求,F(xiàn)PGA從單片機(jī)的EEPROM中取出該頻道所對(duì)應(yīng)的頻率值及8個(gè)調(diào)諧元件位置信息,經(jīng)單片機(jī)采集的8路調(diào)諧元件
實(shí)際位置信息也傳送給FPGA,用于與預(yù)置值相比較,差值用于控制電機(jī)。調(diào)諧系統(tǒng)還有一個(gè)自動(dòng)測(cè)頻模塊,該模塊用于測(cè)定發(fā)射機(jī)實(shí)際工作頻率,當(dāng)該數(shù)值與預(yù)定值相等時(shí),系統(tǒng)自動(dòng)預(yù)置元件位置值。
系統(tǒng)的主要有效參數(shù)有:工作頻道、工作頻率、被調(diào)元件的位置值。
全機(jī)共有8個(gè)被調(diào)元件:
1路— — 高前級(jí)回路電容器,作為本級(jí)調(diào)諧(粗調(diào)、細(xì)調(diào))用;
2路—— 高末級(jí)腔體短路板,僅作粗調(diào):
3路—— 高末級(jí)態(tài)調(diào)諧電容,作為粗調(diào)、細(xì)調(diào)用;
4路—— 高末級(jí)調(diào)諧電容,作為粗調(diào)用;
5路—— 高末級(jí)調(diào)載電容,作為粗調(diào)、細(xì)調(diào)用:
6路—— 高末級(jí)調(diào)載線圈,作為粗調(diào)用;
7路—— 作為備用;
8路—— 高前級(jí)調(diào)諧電感,作為粗調(diào)用。
3.3 調(diào)諧方式
本系統(tǒng)具有“手動(dòng)”、“半自動(dòng)”、“自動(dòng)’,3種調(diào)諧方式。
系統(tǒng)正常工作過程中主要使用“自動(dòng)”調(diào)諧方式;能采用“預(yù)置”的前提是被調(diào)元件到位精確,系統(tǒng)的機(jī)械回差和電氣都在允許的范圍內(nèi);“半自動(dòng)”方式是輔助方式,它能克服自動(dòng)方式中總有個(gè)別頻率不能調(diào)到最佳狀態(tài)的缺點(diǎn)。
(1)手動(dòng)方式
“手動(dòng)”方式是在操作面板上進(jìn)行人工調(diào)諧的工作方式,用于初調(diào)諧和創(chuàng)建頻道、工作頻率及相應(yīng)被調(diào)元件的位置值。全部被調(diào)元件的細(xì)調(diào)和初始粗調(diào)都用手動(dòng)控制完成的;“手動(dòng)”給定位值的獲得,可通過面板上的使能鍵和0-9數(shù)字鍵盤手動(dòng)進(jìn)行頻道初始化、工作頻率設(shè)置、8個(gè)可調(diào)元件的位置設(shè)置,每設(shè)置完一個(gè)頻道,可保存設(shè)置值。
設(shè)置一個(gè)頻道參數(shù)。一個(gè)頻道中的頻道值、工作頻率、元件位置值具有一一對(duì)應(yīng)關(guān)系,其中一個(gè)工作頻率對(duì)應(yīng)的8路元件值是專家給定值,如果存在偏差,可以進(jìn)行手動(dòng)微調(diào)后再次保存。微調(diào)是人工目測(cè),直至“鑒相器”的輸出值為零時(shí),微調(diào)就告完成。通過微調(diào)以達(dá)到獲的最佳數(shù)據(jù)的目的。
(2)自動(dòng)方式
“自動(dòng)”和“半自動(dòng)”都是在“預(yù)置”的方式下完成的。預(yù)置是指根據(jù)需要將存儲(chǔ)于存儲(chǔ)器中的有效參數(shù)(包括頻道、工作頻率、被調(diào)元件的實(shí)際位置)傳送至系統(tǒng)邏輯控制單元,用來重現(xiàn)曾經(jīng)調(diào)整正常的工作頻率。調(diào)諧裝置是根據(jù)激勵(lì)器的實(shí)際工作頻率進(jìn)行自動(dòng)調(diào)諧工作的,自動(dòng)調(diào)整過程分為下面幾個(gè)步驟。
①選定工作的頻道或工作頻率,為頻率預(yù)置;制器ATmega103。這個(gè)過程可稱 4.2 開發(fā)軟件
②根據(jù)工作頻率預(yù)置8路元件位置值,頻率和電平;
③將8路的預(yù)置位置分別與各自的實(shí)際位置進(jìn)行比較,計(jì)算出存在的比較誤差:
④根據(jù)各自比較結(jié)果誤差的大小和極性來控制相應(yīng)的執(zhí)行電機(jī)的正/反轉(zhuǎn),直至比較結(jié)果誤差等于零為止,電機(jī)不轉(zhuǎn)。
至此,系統(tǒng)調(diào)諧的粗調(diào)完成,這時(shí)整機(jī)無(wú)高頻輸出。最后,接通高頻,合上相應(yīng)高壓,令鑒相器工作,系統(tǒng)自動(dòng)地將發(fā)射機(jī)準(zhǔn)確地調(diào)諧在振點(diǎn)上,稱為細(xì)調(diào)。
自動(dòng)方式具有跟蹤工作頻率的能力,也稱為頻率跟蹤調(diào)諧。發(fā)射機(jī)共有8個(gè)可調(diào)元件,其中只有3個(gè)需要細(xì)調(diào),分別為1路、3路和5路。
自動(dòng)調(diào)諧是按以下順序自動(dòng)完成調(diào)諧的全過程:粗調(diào)—前級(jí)細(xì)調(diào)一末級(jí)調(diào)諧—末級(jí)調(diào)載—激勵(lì)電平設(shè)置。
(3)半自動(dòng)方式
“半自動(dòng)”方式是根據(jù)常用的工作頻道自動(dòng)進(jìn)行預(yù)置,用“手動(dòng)微調(diào)”手段進(jìn)行人工調(diào)諧的工作方式。主要是用于人工干預(yù)減緩調(diào)諧進(jìn)程和調(diào)試過程。半自動(dòng)調(diào)諧方式對(duì)各路可調(diào)元件而言。頻率預(yù)置是自動(dòng)進(jìn)行,而自動(dòng)調(diào)諧的5個(gè)步驟(粗調(diào)、前級(jí)細(xì)調(diào)、末級(jí)細(xì)調(diào)、末級(jí)調(diào)載、電平調(diào)整)是手動(dòng)干預(yù)分步進(jìn)行的。因此,頻率預(yù)置過程與自動(dòng)方式一樣。
4 系統(tǒng)設(shè)計(jì)
4.1 芯片選擇
本調(diào)諧系統(tǒng)設(shè)計(jì)目的之一就是對(duì)偏遠(yuǎn)地區(qū)的廣播發(fā)射設(shè)備進(jìn)行技術(shù)改造,因此調(diào)諧系統(tǒng)的開發(fā)成本是必須考慮的問題之一。另外,本調(diào)諧系統(tǒng)邏輯設(shè)計(jì)大概需9萬(wàn)邏輯門。而且FPGA芯片資源利用不宜過滿。據(jù)此,F(xiàn)PGA選用XILINX公司Spartan—II系列FPGA :XC2S100—5 PQ208。
xc2s100—5 PQ208提供的系統(tǒng)門數(shù)最大為1O萬(wàn)門,具有208個(gè)引腳,速度等級(jí)為5。xC2S100的內(nèi)核采用2.5v供電,工作頻率最高可達(dá)200MHz。xC2S100具有豐富的I/O資源,I/O端口供電電壓為3.3V,可承受5V的輸入高電平,I/O口輸出緩沖器可以接收高達(dá)24 mA的拉電流和48 rnA的灌電流。
單片機(jī)采用ATMEL公司8位低功耗AVR微控制器ATmega103。
4.2 開發(fā)軟件
使用Xilinx Foudation F3.1i軟件開發(fā)XC2S100—5 PQ2O8芯片。設(shè)計(jì)流程為:首先用編寫VHDL語(yǔ)言程序、繪制原理圖或設(shè)計(jì)狀態(tài)機(jī)的方法生成表,功能仿真正確后,經(jīng)過邏輯綜合和布線、時(shí)序仿真,仿真通過后將編程下載。
4.3 系統(tǒng)模塊化設(shè)計(jì)
模塊化設(shè)計(jì)是用可編程邏輯器件設(shè)計(jì)數(shù)字系統(tǒng)的特點(diǎn)之一,這樣可以簡(jiǎn)化系統(tǒng)設(shè)計(jì),同時(shí)有利于協(xié)同設(shè)計(jì)。最后只需通過元件例化或原理圖連接將多個(gè)模塊聯(lián)系在一起,組成一個(gè)完整的邏輯系統(tǒng)。本調(diào)諧系統(tǒng)邏輯設(shè)計(jì)由多個(gè)模塊組成,下面重點(diǎn)介紹通信???、鍵盤掃描及顯示、測(cè)頻???、電機(jī)控制模塊。
4.3.1 FPGA與單片機(jī)通信
自動(dòng)調(diào)諧系統(tǒng)是由單片機(jī)子系統(tǒng)及FPGA組成的,這就存在兩者之間的通信問題。單片機(jī)系統(tǒng)主要完成了可調(diào)元件的實(shí)際位置的數(shù)據(jù)采集、系統(tǒng)參數(shù)的存儲(chǔ)等,這些數(shù)據(jù)需要經(jīng)過FPGA的處理。
通信模塊要完成的數(shù)據(jù)傳輸有:頻道數(shù)、工作頻率及對(duì)應(yīng)的元件位置值,元件位置信息包括實(shí)際值和預(yù)置值,實(shí)際值有單片機(jī)系統(tǒng)采集得來,傳送至FPGA與預(yù)置值比較,產(chǎn)生控制信號(hào)。
通信模塊根據(jù)單片機(jī)的讀寫時(shí)序完成兩者之間的互相通信。ATmegal03訪問片外SRAM的時(shí)序見圖3。
仿真中的時(shí)序是按照單片機(jī)的時(shí)序,從仿真結(jié)果中看出FPGA與單片機(jī)能按預(yù)定時(shí)序交換數(shù)據(jù)。圖4所示為通信模塊中部分信號(hào)的功能仿真結(jié)果。
4.3.2 鍵盤掃描及顯示
(1)鍵盤掃描
在鍵盤中按鍵數(shù)量較多時(shí),為了減少I/O口的占用,通常將按鍵排列成矩陣形式,矩陣式鍵盤掃描及顯示都采用單片機(jī)來完成,這是因?yàn)閱纹瑱C(jī)可以極方便的對(duì)矩陣式鍵盤進(jìn)行掃描控制。如果使用鍵盤顯示專用芯片,那將使控制變得更加簡(jiǎn)單。但是,即使采用矩陣式鍵盤,掃描時(shí)仍然要占用大量的1/O資源,這對(duì)于I/O資源很有限的單片機(jī)來說,將會(huì)使編程變得很困難。對(duì)于本調(diào)諧系統(tǒng)來說,單片機(jī)需要完成于上位機(jī)的通信、元件數(shù)據(jù)采集、數(shù)據(jù)存儲(chǔ)等多項(xiàng)工作,I/O資源已經(jīng)很緊張。因此,本系統(tǒng)用FPGA進(jìn)行鍵盤掃描及顯示。一方面可以充分利用FPGAI/O資源豐富的優(yōu)勢(shì),另一方面FPGA的穩(wěn)定性也能保證輸入顯示工作的準(zhǔn)確無(wú)誤。
(2)數(shù)碼管顯示
本模塊中的顯示采用動(dòng)態(tài)掃描顯示。顯示位碼與寄存器acc中的數(shù)具有一一對(duì)應(yīng)關(guān)系,對(duì)應(yīng)關(guān)系由狀態(tài)掃描信號(hào)k來連接。信號(hào)k有5個(gè)狀態(tài),對(duì)應(yīng)5位顯示位碼。顯示部分的最后是7段譯碼,本系統(tǒng)只需顯示數(shù)據(jù),因此只對(duì)1O個(gè)數(shù)字進(jìn)行譯碼。
4.3.3 測(cè)頻模塊
為了保證測(cè)試的精度,一般對(duì)低頻信號(hào)采用測(cè)周期法,對(duì)高頻信號(hào)采用測(cè)頻法。本調(diào)諧系統(tǒng)所需測(cè)量的頻率范圍是:3.9MHz一26.1MHz,適合用測(cè)頻法,而且誤差不大。
根據(jù)系統(tǒng)的要求,測(cè)頻計(jì)需要對(duì)單位時(shí)間內(nèi)的信號(hào)脈沖進(jìn)行計(jì)數(shù),從而測(cè)量出信號(hào)的頻率。首先要產(chǎn)生一個(gè)計(jì)數(shù)允許信號(hào),即時(shí)基信號(hào),時(shí)基信號(hào)的寬度為單位時(shí)間,例如1s或lOOms。在時(shí)基信號(hào)有效的時(shí)間內(nèi)對(duì)被測(cè)信號(hào)計(jì)數(shù),即為信號(hào)頻率。測(cè)量過程結(jié)束,需要鎖存計(jì)數(shù)值或留出一段時(shí)間顯示測(cè)量值,下一次測(cè)量前,應(yīng)該對(duì)計(jì)數(shù)器清零。如圖5所示:
測(cè)頻計(jì)由控制器、分頻器、計(jì)數(shù)器、鎖存器4部分組成??刂破靼l(fā)出相應(yīng)的控制信號(hào),完成計(jì)數(shù)值的鎖存和計(jì)數(shù)器的清零。分頻器將標(biāo)頻信號(hào)分成一系列較低頻率信號(hào),其中一個(gè)作為測(cè)量的時(shí)基信號(hào),該系統(tǒng)的分頻器由專門的分頻模塊完成。計(jì)數(shù)器的作用是對(duì)一個(gè)時(shí)基信號(hào)中的被測(cè)信號(hào)脈沖數(shù)進(jìn)行計(jì)數(shù),計(jì)數(shù)結(jié)果即為被測(cè)頻率對(duì)所選用時(shí)基的相對(duì)值。鎖存器用來鎖存計(jì)數(shù)結(jié)果,以便其它模塊調(diào)用。
為了便于處理,系統(tǒng)采用頻率為1Hz的信號(hào)作為時(shí)基信號(hào)。圖6為測(cè)頻計(jì)工作時(shí)的時(shí)序。其中testf為被測(cè)信號(hào),clock_ls為時(shí)基信號(hào),enable為計(jì)數(shù)使能信號(hào),為高時(shí)有效,lock為鎖存信號(hào),脈沖上升沿工作,clear為清零信號(hào),為低時(shí)清零。
?
計(jì)數(shù)使能信號(hào)enable是時(shí)基信號(hào)的二分頻信號(hào),在enable為高的半個(gè)周期里,剛好可以計(jì)完一個(gè)時(shí)基信號(hào)周期。lock信號(hào)是enable信號(hào)的取反,在上升沿將恰好計(jì)完的計(jì)數(shù)值鎖存。Clear信號(hào)是在clock_ ls信號(hào)和enable信號(hào)同時(shí)為低時(shí)置低,其它情況都為高。
通過功能仿真發(fā)現(xiàn),當(dāng)被測(cè)信號(hào)換頻時(shí),會(huì)出現(xiàn)一個(gè)小于被測(cè)頻率的計(jì)數(shù)值,2個(gè)周期后計(jì)數(shù)值正常顯示,這與實(shí)際情況完全相同。這是因?yàn)樵趽Q頻時(shí),計(jì)數(shù)使能信號(hào)已經(jīng)有效,這就會(huì)少計(jì)數(shù)一段時(shí)間,導(dǎo)致計(jì)數(shù)值小于實(shí)際值。當(dāng)正常計(jì)數(shù)后,計(jì)數(shù)值會(huì)因?yàn)樾?shù)問題有微小的波動(dòng),但很快趨于正常。見圖7
4.3.4 電機(jī)控制
通過單片機(jī)采集的調(diào)諧元件實(shí)際位置,與EEPROM中保存的此調(diào)諧元件的最佳工作位置(理論值)相比較。如果不等,按其差值的大小和極性來控制步進(jìn)電機(jī)的轉(zhuǎn)速和方向,直至二者的差值為零,即可達(dá)到調(diào)諧的目的。此模塊就是理論值和實(shí)際值相比較,輸出值用于控制電機(jī)的正、反轉(zhuǎn)及轉(zhuǎn)速的快慢。當(dāng)位置預(yù)置值大于實(shí)際位置值,控制電機(jī)正/反轉(zhuǎn)單元將發(fā)出指令控制電機(jī)正轉(zhuǎn);當(dāng)位置預(yù)置值小于實(shí)際位置值,控制電機(jī)正/反轉(zhuǎn)單元控制電機(jī)反轉(zhuǎn);當(dāng)位置預(yù)置值等于實(shí)際位置值,執(zhí)行電機(jī)不轉(zhuǎn);該模塊還可控制電機(jī)的轉(zhuǎn)速,理論值和實(shí)際值最高8位不等時(shí),這表明兩者差值較大,控制電機(jī)以最快速度轉(zhuǎn)動(dòng);當(dāng)最高8位相等而次高4位(D4一D7)不等時(shí),控制電機(jī)以次快速度轉(zhuǎn)動(dòng);當(dāng)高l2位相等而D2一D3不等時(shí),控制電機(jī)以較慢速度轉(zhuǎn)動(dòng);當(dāng)最低2位(DO—D1)不等時(shí),控制電機(jī)以最慢速度轉(zhuǎn)動(dòng)。這樣設(shè)計(jì)可以使每次換頻時(shí)的調(diào)諧時(shí)間基本一致,而且保證了自動(dòng)調(diào)諧的精度。
該模塊也是用VHDL語(yǔ)言描述實(shí)現(xiàn),語(yǔ)言描述可以很方便的調(diào)用開發(fā)軟件內(nèi)部IP資源。特別是在該模塊中有多層次比較及減法運(yùn)算,用原理圖輸入將會(huì)很復(fù)雜,而且容易出錯(cuò)。而VHDL語(yǔ)言支持大于、小于、不等等比較邏輯運(yùn)算,應(yīng)用這些比較邏輯運(yùn)算將很容易實(shí)現(xiàn)該模塊。
從仿真圖中可看出電機(jī)控制模塊符合設(shè)計(jì)要求,基本達(dá)到了控制目的。見圖8。
5 結(jié)束語(yǔ)
FPGA的集成度高、邏輯實(shí)現(xiàn)能力強(qiáng)、設(shè)計(jì)靈活性更好。利用VHDL語(yǔ)言進(jìn)行設(shè)計(jì)可以先裝配后編程,成為產(chǎn)品后還可反復(fù)編程,為系統(tǒng)升級(jí)提供便利。系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。以達(dá)到降低開發(fā)成本的目的。
評(píng)論