1 引言
振動臺的作用之一是將被測物件置于振動臺上測量其受迫振動時的表現(xiàn),一般振動臺的振動是由振動分析儀控制的,但是由于振動臺體積形狀和考慮到成本等原因,不利于振動分析儀的研發(fā),所以設(shè)計振動模擬器對振動分析儀的研發(fā)有重要的現(xiàn)實意義。
振動模擬器應(yīng)盡量對振動臺的實際振動情況進(jìn)行模擬。振動臺本身的振動將不可避免地受到噪聲的影響,導(dǎo)致它的振動不一定是符合需求的振動。所以要使振動模擬器對振動臺的實際振動情況進(jìn)行模擬,就必需人為地在采樣信號中加入噪聲。而出于對振動分析儀研發(fā)調(diào)試的需要,盡量將噪聲范圍處理成可控的,這樣便于調(diào)試振動分析儀。
利用FPGA開發(fā)振動模擬器研制開發(fā)費用低,不承擔(dān)投片風(fēng)險,通過開發(fā)工具在計算機(jī)上完成設(shè)計,電路設(shè)計周期短。所以本文采用FPGA實現(xiàn)振動模擬器設(shè)計,由ADC模塊接收調(diào)頻和調(diào)幅信號,傳給FPGA模塊,F(xiàn)PGA由調(diào)頻信號計算出對應(yīng)的時鐘,且按此時鐘輸出經(jīng)調(diào)幅的數(shù)字正弦波,驅(qū)動DAC輸出模擬的正弦波,最終和模擬的噪聲相疊加,實現(xiàn)對實際振動臺的模擬。
2 原理框圖和基本設(shè)計思想
圖1 硬件原理框圖
振動模擬器的原理框圖如圖1所示,圖中由ADC模塊分別接收調(diào)頻和調(diào)幅信號給FPGA模塊,F(xiàn)PGA模塊將串行的調(diào)頻和調(diào)幅信號,經(jīng)串并轉(zhuǎn)換,分別變成一個16位的并行調(diào)頻信號和一個16位的并行調(diào)幅信號。FPGA輸出經(jīng)調(diào)頻調(diào)幅的數(shù)字的正弦波,并驅(qū)動串行DAC(輸出理想信號)輸出模擬的正弦波;用戶通過按鍵確定想要產(chǎn)生的噪聲的頻率范圍,F(xiàn)PGA經(jīng)計算得到滿足用戶要求的頻率,驅(qū)動并行DAC(輸出噪聲),產(chǎn)生模擬 •的噪聲,經(jīng)電流電壓轉(zhuǎn)換后由同相求和電路將信號與噪聲相疊。
整個系統(tǒng)最終輸出0.1~5KHz的振動信號和200KHz以下的振動噪聲相疊的模擬量。
3 FPGA功能模塊介紹
3.1 芯片選擇
在本設(shè)計中,選用Altera 公司的Cyclone系列,型號是EP1C6Q240C8的芯片,PQFP封裝。這款芯片有240個引腳,其中用戶可用185個引腳。有5980個邏輯單元,32列20行邏輯陣列塊。有2個PLL鎖相環(huán),20個M4K的ROM,每塊ROM為4Kbit,可以另加1位奇偶校驗位。
3.2 原理說明
FPGA模塊接收2個ADS1100的芯片,經(jīng)串并轉(zhuǎn)換,得到調(diào)頻和調(diào)幅信號。
波形發(fā)生的基本原理是:對幅值是1的正弦波在一個周期內(nèi)的波形按1/200倍周期的時間間隔取200個點,存儲這200個時間點所對應(yīng)的波形的幅度,存儲到FPGA的片內(nèi)ROM中。正弦波幅度表僅需200×16bit=3.2kbit的存儲空間,可用FPGA的一塊片內(nèi)ROM實現(xiàn)。通過查表法產(chǎn)生一系列的值,將這些值和調(diào)幅信號相乘就得到一系列的幅度值,即串行DAC的數(shù)字輸入,而這些幅度的輸出頻率是調(diào)頻信號值的200倍。類似的,利用FPGA一塊片內(nèi)ROM以存儲200KHz以下噪聲的正弦波幅度表(一個周期內(nèi)的波形按1/20倍周期的時間間隔取20個點)。
調(diào)頻信號和調(diào)幅信號的分辨率16比特,輸出的正弦信號的分辨率是16比特。
4 AD、DA芯片與FPGA的接口
考慮到本系統(tǒng)需要較多的高頻時鐘,而若時鐘管理不當(dāng),則因DAC工作不穩(wěn)定會導(dǎo)致系統(tǒng)工作出錯;由于連線和邏輯單元的延遲作用,使輸出信號出現(xiàn)毛刺,產(chǎn)生冒險現(xiàn)象。因此純粹依靠傳統(tǒng)的邏輯電路難以達(dá)到理想的性能要求,這時就必須依賴FPGA內(nèi)部的專用硬件電路PLL和引入高頻時鐘的方法產(chǎn)生無有害毛刺的同步時鐘輔助實現(xiàn)高性能的設(shè)計。
FPGA芯片和ADC、DAC芯片的接口電路原理圖如圖2所示。
圖2 FPGA與AD、DA芯片的接口電路
圖3 DAC8581 時序圖
圖4 DAC8581時序要求
4.1 FPGA對ADS1100芯片的控制
調(diào)頻和調(diào)幅信號使用同一款芯片:ADS1100,16位串行,I2C接口,在本設(shè)計中數(shù)據(jù)更新率是8SPS,電壓型輸出。此芯片僅可在從件模式下工作。ADS1100將模數(shù)轉(zhuǎn)換結(jié)果傳給FPGA模塊,由FPGA進(jìn)行串并轉(zhuǎn)換。
FPGA對ADS1100提供SCLK和SDA引腳,符合I2C協(xié)議。FPGA是主器件,在開始與ADS1100通信前先對SDA寫2個字節(jié),分別確定和哪個ADS1100進(jìn)行通信和對ADS1100的配置寄存器(configuration register)進(jìn)行寫以確定對其的操作模式。FPGA外接24MHz的晶振,經(jīng)分頻得到4MHz的時鐘,ADS1100按8SPS的數(shù)據(jù)更新率工作,F(xiàn)PGA探測數(shù)據(jù)線變化以產(chǎn)生SCLK時鐘信號賦給SCLK引腳。篇幅受限,I2C的FPGA實現(xiàn)不一一贅述。
4.2 FPGA對DAC8581芯片的控制
信號輸出使用芯片DAC8581,16位串行,SPI接口,在本設(shè)計中最高數(shù)據(jù)更新率是1.8MHz,電壓輸出。DAC8581接收從FPGA傳送過來的串行數(shù)據(jù),將其進(jìn)行數(shù)模轉(zhuǎn)換,產(chǎn)生振動信號,模擬實際振動臺的理想振動情況。
FPGA中,由PLL倍頻得到36MHz的時鐘提供給DAC8581的SCLK引腳。由調(diào)頻信號計算得到串行DAC的數(shù)據(jù)更新率,按此頻率更新串行DAC的數(shù)字輸入。由同一個PLL倍頻得到240MHz的時鐘捕捉將由DAC處理的數(shù)字輸入信號和SCLK引腳信號的跳變沿,從而產(chǎn)生DAC8581的CS片選信號。
數(shù)據(jù)data一旦準(zhǔn)備好,賦給register,240MHz時鐘探測到第一次SCLK上升沿,就拉低CS片選,第二次探測到SCLK上升沿時已經(jīng)至少是下一個240MHz的上升沿了,從而滿足Tlead(見圖3、圖4)參數(shù)的要求。CS低時,一旦240MHz時鐘探測到SCLK下降沿,將register的最高位數(shù)據(jù)賦給SDA,將register左移一位,SDA保持不變,直到下一個SCLK下降沿。當(dāng)捕捉到SCLK的第17個下降沿時,將CS拉高。由此即可滿足以上的圖3、圖4對時序的要求。
4.3 FPGA對DAC8820芯片的控制
DAC8820產(chǎn)生振動噪聲。16位并行,最高數(shù)據(jù)更新率4MHz,是電流輸出型。本系統(tǒng)設(shè)有2個用戶按鍵,分別表示產(chǎn)生40KHz~100KHz,100KHz~200KHz的噪聲頻率范圍,F(xiàn)PGA接收按鍵信號確定噪聲的頻率范圍,在此頻率范圍內(nèi)產(chǎn)生一個隨機(jī)頻率,由此計算得到DAC8820的數(shù)據(jù)更新率,F(xiàn)PGA按此頻率準(zhǔn)備數(shù)據(jù)以更新并行DAC的數(shù)字輸入。由DAC8820將其進(jìn)行數(shù)模轉(zhuǎn)換,模擬實際振動臺在可能受到外界各種干擾信號后產(chǎn)生的噪聲情況。
圖5 DAC8820外部電流電壓轉(zhuǎn)換電路
DAC8820的引腳WR(低有效)是將16位數(shù)據(jù)加載到輸入寄存器;LDAC(高有效)是將數(shù)據(jù)從輸入寄存器加載到DAC寄存器;但是若將同一信號同時賦給WR和LDAC,則可在下降沿將16位數(shù)據(jù)加載到輸入寄存器,在上升沿將數(shù)據(jù)從輸入寄存器加載到DAC輸出。
由FPGA將24MHz的晶振時鐘分頻得到數(shù)據(jù)更新率,由此得到的時鐘信號經(jīng)高頻時鐘同步賦給DAC8820的WR和LDAC。由于DAC8820是電流輸出的,所以將電流輸出經(jīng)過OPA277電流電壓轉(zhuǎn)換輸出,見圖5。圖中的C1是補(bǔ)償電容,其作用是防止增益峰值的出現(xiàn)。
5 結(jié)論
綜上,此振動模擬器的調(diào)頻信號的分辨率是16比特,可產(chǎn)生0 ~5kHz的清晰信號,所以頻率精度可達(dá)到0.076Hz,并可與200KHz以下的確定頻率范圍的隨機(jī)噪聲進(jìn)行合成,輸出信號幅度分辨率可達(dá)16比特,而且噪聲的頻率范圍是可控的。
本文作者創(chuàng)新點:充分利用了FPGA可現(xiàn)場編程的特點,給讀者提供了一個實施簡單,成本低,可按用戶需求靈活改變,且易升級的振動模擬器的設(shè)計方案;且對有特殊要求的信號發(fā)生器的設(shè)計有一定借鑒意義。
FPGA的應(yīng)用領(lǐng)域包羅萬象,我們今天來看看在音樂科技領(lǐng)域及醫(yī)療照護(hù)的智能巧思。
關(guān)鍵字: FPGA 科技領(lǐng)域 智能強(qiáng)大的產(chǎn)品可降低信號噪音并提高分辨率與動態(tài)
關(guān)鍵字: Spectrum儀器 數(shù)字化儀 FPGA本篇是FPGA之旅設(shè)計的第十二例,在前面的例程中,完成了DS18B20溫度傳感器數(shù)據(jù)的采集,并且將采集到的數(shù)據(jù)顯示在數(shù)碼管上。由于本例將對溫濕度傳感器DHT11進(jìn)行采集,而且兩者的數(shù)據(jù)采集過程類似,所以可以參考一下前面的...
關(guān)鍵字: FPGA DS18B20溫度傳感器第八例啦,本例將介紹如何通過FPGA采集DS18B20傳感器的溫度值。
關(guān)鍵字: FPGA DS18B20傳感器