新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于FPGA技術(shù)高頻疲勞試驗機控制器的設(shè)計

基于FPGA技術(shù)高頻疲勞試驗機控制器的設(shè)計

作者: 時間:2017-06-04 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://www.butianyuan.cn/article/201706/348102.htm

1簡介

現(xiàn)場可編程門陣列(FieldProgrammable Gate Array)是美國Xilinx公司于1984年首先開發(fā)的一種通用型用戶可編程器件。既具有門陣列器件的高集成度和通用性,又有可編程邏輯器件用戶可編程的靈活性。

由可編程邏輯單元陣列、布線資源和可編程的I/O單元陣列構(gòu)成,一個FPGA包含豐富的邏輯門、寄存器和I/O資源。一片F(xiàn)PGA芯片就可以實現(xiàn)數(shù)百片甚至更多個標準數(shù)字集成電路所實現(xiàn)的系統(tǒng)。

FPGA的結(jié)構(gòu)靈活,其邏輯單元、可編程內(nèi)部連線和I/O單元都可以由用戶編程,可以實現(xiàn)任何邏輯功能,滿足各種設(shè)計需求。其速度快,功耗低,通用性強,特別適用于復雜系統(tǒng)的設(shè)計。使用FPGA還可以實現(xiàn)動態(tài)配置、在線系統(tǒng)重構(gòu)(可以在系統(tǒng)運行的不同時刻,按需要改變電路的功能,使系統(tǒng)具備多種空間相關(guān)或時間相關(guān)的任務(wù))及硬件軟化、軟件硬化等功能。

鑒于控制規(guī)模比較大,功能復雜,故我們在研制過程中,在傳統(tǒng)試驗機的基礎(chǔ)上,通過FPGA技術(shù)及微機技術(shù)兩者的結(jié)合,來全面提升系統(tǒng)的性能,使整機的工作效率、控制精度和電氣系統(tǒng)可靠性得到了提高,且操作方便而又不乏技術(shù)的先進性。

2控制器結(jié)構(gòu)及內(nèi)容

本控制系統(tǒng)的總體結(jié)構(gòu),下位機是整個控制器的核心。用于實現(xiàn)產(chǎn)生控制試驗機的控制信號和數(shù)據(jù),反饋信號的處理,以及和上位機進行數(shù)據(jù)通信。其控制功能強弱也直接影響著整個控制器性能的好壞。圖中波形發(fā)生器是用于激勵和保持電磁激振器的振動。在此,波形發(fā)生器應(yīng)輸出正弦波。

3系統(tǒng)采取的技術(shù)路線

系統(tǒng)在實現(xiàn)技術(shù)參數(shù)、功能要求的基礎(chǔ)上,結(jié)合目前微機及FPGA等微電子技術(shù),采取了以下主要技術(shù)路線:

(1)下位機是系統(tǒng)控制的核心。由于本系統(tǒng)控制規(guī)模相對比較復雜,控制對象具一定特殊性(如高頻率,高負荷等),且牽涉到控制電機,故不采用傳統(tǒng)的8位機,而是考慮采用功能相對更強大,速度更快的16位機—87C196系列。

(2)激振器要求輸入波形為正弦波,試驗的頻率范圍為80~250Hz.另外,系統(tǒng)還應(yīng)該能夠進行掃頻試驗。在掃頻試驗中,系統(tǒng)以1Hz為步長進行掃頻(粗調(diào)),再在粗調(diào)的基礎(chǔ)上進行微調(diào)(以0.1Hz為步長),以確定系統(tǒng)的共振點??梢钥闯?,能產(chǎn)生精度為0.1Hz波形的電路模塊是整個系統(tǒng)設(shè)計中很關(guān)鍵的一部分,也是設(shè)計難點之一。這部分如通過或其它專用芯片則不能或很難實現(xiàn)。系統(tǒng)采用FPGA作波形發(fā)生器,見圖1中虛線框所示部分。這樣做的優(yōu)點是:高速(一般芯片頻率至少幾十兆,甚至上百兆)且能滿足上述精度要求;采用數(shù)字電路實現(xiàn),抗干擾性好;能把其它邏輯電路也集成至該芯片中,省掉了許多分立元件,同時也減少了體積;能夠按需改變波形。

(3)直流調(diào)速通過變壓實現(xiàn),而變壓則通過采用晶閘管的可控整流器來完成。通過輸出可變電壓給移相觸發(fā)器,觸發(fā)器輸出可控導通角給可控整流器,實現(xiàn)電機速度的調(diào)整。有利于提高系統(tǒng)的可靠性。

(4)系統(tǒng)部分重要信號用數(shù)字濾波器濾波,該數(shù)字濾波器用FPGA實現(xiàn)。與軟件濾波相比,此方法有利于改善信號的濾波效果,且濾波速度得到很大提高。

4部分模塊設(shè)計

FPGA部分可劃分成兩個模塊,其中正弦波發(fā)生器模塊又可細分成幾個小模塊,如圖2所示。

4.1鎖存器設(shè)計

鎖存器用來將送來的頻率數(shù)據(jù)鎖存穩(wěn)定在FPGA中,可以用片內(nèi)的鎖存器資源(或用觸發(fā)器)來構(gòu)成。

4.2運算器設(shè)計

運算器是用來將頻率數(shù)據(jù)轉(zhuǎn)換成正弦波點與點之間的定時數(shù)據(jù)。該運算器實際上最終可轉(zhuǎn)換成一除法器。該除法器描述如下:

—VECTOR(WIDTH—R-1 DOWNTO 0));

END COMPONENT;

上述描述實際上是調(diào)用了Altera公司的參數(shù)化模塊庫(LPM)中的一個元件。元件描述后,只要在程序中用Generic map和port map語句映射該元件即可。所要注意的是,上述口信號remainder是numerator和denominator模運算的結(jié)果,所以應(yīng)將remainder與denominator/2相比較,實際結(jié)果應(yīng)在比較的基礎(chǔ)上決定加1還是不加1.

4.3設(shè)計

根據(jù)運算器傳來的定時數(shù)據(jù)定時。它可以通過對基準時鐘計數(shù)來實現(xiàn),當定時時間一到,就觸發(fā)波形的輸出。

設(shè)計中采用了兩個計數(shù)模塊來同時計數(shù),一個模塊計數(shù)時鐘的上邊沿,而另一模塊則計數(shù)時鐘的下邊沿。這樣相當于使系統(tǒng)時鐘頻率提高了一倍,充分利用了系統(tǒng)資源。

4.4波形輸出

波形輸出是當滿足定時要求觸發(fā)后就輸出此時的正弦值,多個點的觸發(fā)輸出就形成了一個正弦波。

為節(jié)省芯片資源,這部分求某時正弦值的功能不采用構(gòu)造運算器來算出正弦值,而是利用查表結(jié)構(gòu)。象Xilinx公司FPGA芯片則可以利用CLB塊來配置RAM或直接利用Logiblox來生成。還有象Altera公司的Flex10k系列就用查找表結(jié)構(gòu)(LUT)來構(gòu)建片內(nèi)ROM或RAM.在工程文件中創(chuàng)建RAM或ROM塊以后,可以通過將各時刻的正弦值(以ASCII字符表示)寫進MIF文件(初始化文件)中,從而存儲在RAM或ROM塊中。在定時器觸發(fā)后生成該時的地址,通過查詢該RAM或ROM塊就可輸出該時得正弦值。


5芯片的具體實現(xiàn)

本系統(tǒng)的FPGA采用Altera公司的Flex10k系列芯片。芯片利用開發(fā)軟件Max+plusII將各個模塊(圖1虛線框部分)用VHDL語言描述并輸入,由軟件自動編譯、綜合、布局和布線,生成編程用的數(shù)據(jù)文件,加載到FPGA的配置存儲單元。對FPGA芯片進行配置可有多種模式,由于本系統(tǒng)中有單片機,所以采用串行從模式,省掉了用一片EPROM來存儲編程數(shù)據(jù)。當系統(tǒng)上電時,單片機自動將存在其內(nèi)部的配置數(shù)據(jù)送到FPGA內(nèi)部存儲單元中。

這個技術(shù)基本上多運用于電路方面。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉