冷建偉 徐瓊瓊
(1.天津市復(fù)雜系統(tǒng)控制理論及應(yīng)用重點(diǎn)實(shí)驗(yàn)室,天津 300384;2.天津理工大學(xué)自動(dòng)化學(xué)院,天津 300384)
鋸齒波信號(hào)經(jīng)常被用作一種基準(zhǔn)信號(hào),廣泛應(yīng)用于測距系統(tǒng)、激勵(lì)和時(shí)域響應(yīng)電路系統(tǒng)中[1]。產(chǎn)生鋸齒波信號(hào)的傳統(tǒng)方法之一是直接用信號(hào)發(fā)生器,但信號(hào)發(fā)生器體積龐大、不便移動(dòng)且不利于控制。另一種方法是設(shè)計(jì)振蕩電路產(chǎn)生鋸齒波,如555振蕩電路。這種電路不需要單片機(jī)或FPGA控制,設(shè)計(jì)電路非常復(fù)雜,若要改變其頻率必須改變外圍電路中的電容和電阻,頻率可調(diào)范圍很小,而且這種信號(hào)源的電容、電阻很大,增加了元器件的制作難度[2]。在工業(yè)控制、激光測距及生物醫(yī)學(xué)等研究領(lǐng)域,都要求基準(zhǔn)信號(hào)源的可調(diào)范圍較寬,針對(duì)這一問題,筆者以單片機(jī)為主控器,F(xiàn)LASH作為FPGA的外部存儲(chǔ)器存儲(chǔ)波形數(shù)據(jù),配合DA轉(zhuǎn)換器,設(shè)計(jì)了一種頻率、幅值和直流分量可調(diào)的鋸齒波信號(hào)發(fā)生器,產(chǎn)生的掃頻鋸齒波信號(hào)用于雷達(dá)測距系統(tǒng)輸入壓控振蕩器(VCO)產(chǎn)生電調(diào)電壓。
本設(shè)計(jì)采用M430F169單片機(jī),F(xiàn)PGA選用Altera公司的CycloneII系列EP2C8Q208C8N芯片,配合高速數(shù)模轉(zhuǎn)換芯片AD768,作為掃頻信號(hào)發(fā)生器的主要控制和轉(zhuǎn)換部分。系統(tǒng)的組成框圖如圖1所示。

圖1 鋸齒波信號(hào)發(fā)生器組成框圖
系統(tǒng)主要采用單片機(jī)進(jìn)行控制,所需的波形數(shù)據(jù)由上位機(jī)提供,上位機(jī)通過RS232串口和單片機(jī)實(shí)現(xiàn)通信,單片機(jī)將波形數(shù)據(jù)讀、寫到存儲(chǔ)器FLASH中。由于雷達(dá)測距精度與電調(diào)電壓的線性度成正比,需要通過調(diào)頻電壓來補(bǔ)償,若DA輸出電壓不可調(diào)會(huì)影響測距精度[3]。因此,本設(shè)計(jì)利用FPGA內(nèi)部豐富的資源解決這一問題,同樣也解決了單片機(jī)與FLASH連接端口復(fù)用的問題。當(dāng)系統(tǒng)開始工作時(shí),F(xiàn)PGA控制邏輯會(huì)從FLASH中讀取波形,并輸出至DAC進(jìn)行模數(shù)轉(zhuǎn)換輸出。信號(hào)的頻率由硬件撥碼開關(guān)控制[4]。
本設(shè)計(jì)中單片機(jī)的主要作用是將上位機(jī)提供的波形數(shù)據(jù)存儲(chǔ)到FLASH中。與上位機(jī)的通信通過RS232電路完成,RS232電路設(shè)計(jì)采用MAX232標(biāo)準(zhǔn)串口設(shè)計(jì)芯片。該芯片采用+5V單電源供電。MAX232外圍電路如圖2所示。
M430單片機(jī)的接口采用標(biāo)準(zhǔn)JTAG模式,將波形程序燒寫至單片機(jī),再存儲(chǔ)到存儲(chǔ)器FLASH中[5]。單片機(jī)引腳與JTAG接口電路如圖3所示。
由于系統(tǒng)掉電后FPGA不保存數(shù)據(jù),所以通常在應(yīng)用中設(shè)計(jì)外部存儲(chǔ)電路。本設(shè)計(jì)選用的FLASH存儲(chǔ)器為AT49BV320,該芯片為3.3V單電源供電芯片。FLASH外圍電路設(shè)計(jì)如圖4所示。

圖2 MAX232外圍電路

圖3 單片機(jī)JTAG接口電路

圖4 FLASH外圍電路
AT49BV320 FLASH具有20條地址線和16條數(shù)據(jù)線,1MByte內(nèi)存。該芯片用于存儲(chǔ)鋸齒波數(shù)據(jù),F(xiàn)PGA為其提供地址線和數(shù)據(jù)線的控制時(shí)序。圖5所示為FPGA控制FLASH的邏輯電路,該電路采用QuartusII原理的硬件編程方式繪制。74157的SEL信號(hào)由單片機(jī)控制選擇FLASH的讀/寫模式。FLASH的硬件地址由4個(gè)四位二選一74157和計(jì)數(shù)器提供。

圖5 FLASH控制信號(hào)邏輯
數(shù)模轉(zhuǎn)換的輸出控制信號(hào)由FPGA分頻提供,F(xiàn)PGA的外部晶振選用24.48MHz,應(yīng)用中設(shè)計(jì)撥碼開關(guān)來選擇輸出頻率。FPGA內(nèi)部分頻邏輯如圖6所示。

圖6 FPGA內(nèi)部分頻
數(shù)模轉(zhuǎn)換模塊采用16位高精度芯片AD768。為滿足整個(gè)系統(tǒng)的需要,本設(shè)計(jì)中掃頻信號(hào)發(fā)生器的輸出電壓為0~10V可調(diào),采用ML358運(yùn)算放大器將AD的輸出電流轉(zhuǎn)換成電壓信號(hào)輸出。DA轉(zhuǎn)換電路如圖7所示。
DA數(shù)據(jù)線控制邏輯由兩個(gè)三態(tài)總線驅(qū)動(dòng)控制器產(chǎn)生,如圖8所示,D0~D7為單片機(jī)數(shù)據(jù)線,DAD0~DAD7為FLASH數(shù)據(jù)線。輸出方向控制信號(hào)由DIR提供,當(dāng)DIR為1時(shí),數(shù)據(jù)由A輸出至B,并往FLASH里寫程序;DIR為0時(shí),數(shù)據(jù)輸出由B至A,F(xiàn)PGA從FLASH中讀取數(shù)據(jù)。

圖7 DA轉(zhuǎn)換電路

圖8 DA數(shù)據(jù)線產(chǎn)生邏輯
本設(shè)計(jì)的單片機(jī)軟件環(huán)境為IAR for MSP430,將程序燒寫至單片機(jī)的存儲(chǔ)器FLASH中。FPGA軟件環(huán)境為Altera QuartusII9.0,對(duì)FPGA控制邏輯進(jìn)行功能仿真,仿真部分結(jié)果如圖9所示,DA0~DA19為FPGA為FLASH提供的時(shí)序控制邏輯。XZCS7、XWE0和XRD信號(hào)由單片機(jī)控制。

圖9 FPGA仿真測試結(jié)果
由仿真結(jié)果可以看出這種方法提供的信號(hào)精確穩(wěn)定,并且方法簡單方便。
通過LabVIEW示波器觀察系統(tǒng)最終的輸出波形,如圖10所示,發(fā)現(xiàn)鋸齒波的波形在上升至4.9V時(shí)并不是立即開始下一個(gè)波形,這是由于硬件原因造成的延遲,因此在實(shí)際項(xiàng)目中要根據(jù)需要進(jìn)行去回掃等改進(jìn)才能獲得更準(zhǔn)確的雷達(dá)信號(hào)。

圖10 信號(hào)發(fā)生器輸出鋸齒波信號(hào)
通過示波器觀察分析,筆者設(shè)計(jì)的信號(hào)發(fā)生器實(shí)現(xiàn)了觸發(fā)雷達(dá)信號(hào)所需要的4種頻率的鋸齒波信號(hào)的輸出,且幅值、直流分量可調(diào)。信號(hào)發(fā)生器硬件電路簡單、成本較低,可以根據(jù)實(shí)際應(yīng)用的要求,通過更改軟件程序來實(shí)現(xiàn)不同信號(hào)的輸出。實(shí)驗(yàn)結(jié)果表明:本設(shè)計(jì)中輸出的信號(hào)頻率穩(wěn)定可調(diào)、抗干擾能力強(qiáng),同時(shí)系統(tǒng)具有很強(qiáng)的靈活性。