stm32採集脈衝訊號 隨機脈衝訊號採集卡的設計

2021-10-13 02:04:25 字數 3859 閱讀 9993

在雷達、聲納及工業控制領域中的故障監測系統中,往往需要採集雷達、聲納的回波訊號或故障監測系統中的故障訊號。由於這些訊號是隨機出現的,並且這些訊號的幅度、脈寬及形狀相差較大。有些訊號脈寬可能很窄,有的可能較寬,且占空比不均勻。若採用傳統的固定取樣速率採集方式則不能滿足實時處理要求。因為,對窄脈衝取樣,要求取樣速率很高,若採用連續取樣方法,則採集資料量太大,採集資料不能及時處理,不能滿足採集訊號的實時分析或故障的實時處理的要求。為此研製一種隨機脈衝訊號採集卡,其基本工作原理為:隨機脈衝訊號出現時,高速採集電路工作,無脈衝訊號時,高速採集電路停止工作。由於在上述方面應用中要求採集的隨機脈衝的平均占空比很小,因此採用該隨機脈衝訊號採集卡採集的資料量不是很大,能夠對採集的資料進行實時處理和分析,並滿足上述領域的特殊需要。

1 隨機脈衝訊號採集卡

隨機脈衝訊號採集卡硬體組成框圖如圖1所示,它主要分為輸入輸出介面、幅度採集和控制、微控制器執行和控制、主機介面控制、訊號重放等5個模組電路。

1)輸入介面電路 該模組電路主要包括隨機訊號輸入及處理、高速a/d取樣、gps訊號輸入及分頻,其他數碼訊號輸入等電路。

2)隨機脈衝處理電路 該模組電路可對隨機脈衝進行放大和限幅,放大倍數不小於200倍,確保大於25 mv的隨機脈衝訊號通過放大後其峰值電平接近5 v,達到ttl電平訊號的要求。該訊號作為取樣控制電路、脈寬測量32位時鐘電路及80c196微控制器的his輸入電路的觸發脈衝訊號,控制脈衝的採集和停止及脈寬測量電路的計數。

3)幅度採集和控制電路 該電路主要包括高速a/d取樣電路和取樣控制電路等。此外80c196內部也含乙個訊號幅度採集電路。

4)高速a/d取樣電路 該電路對隨機脈衝進行高速取樣,其取樣頻率由微控制器設定。

5)gps訊號輸入及分頻電路 該電路是為系統提供標準時間,同時也給脈寬測量的32位時鐘提供乙個整點的復位脈衝訊號。

6)脈衝重放電路 該電路可將採集的脈衝訊號資料再轉化為對應的脈衝訊號輸出,用於顯示或聽音。

7)其他數碼訊號輸入電路 該電路包括主機給微控制器提供的一些控制引數(如高速a/d的取樣率)和其他輸入的一些數碼訊號(如雷達脈衝的方位和載頻等數碼訊號)。

8)輸出介面電路 該電路主要包括大深度的fifo電路及狀態鎖存電路等,用於採集卡與主機介面。

2 工作模式

隨機脈衝訊號採集卡有2種工作模式:一種是採用微控制器完成的單一脈衝幅度的測量模式:一種是對特殊脈衝波形測量使用的脈衝幅度高速取樣模式。第1種工作模式下,脈衝幅度的測量由80c196微控制器內部的a/d轉換電路完成,每個脈衝僅取樣測量一次。脈衝寬度及脈衝到達時間等雖然可由80c196微控制器的his(高速輸入通道)電路等測量,但因為其測量精度達不到要求,因此,外加了乙個32位時間計數器及其相應的2套鎖存器等電路用於脈衝寬度及脈衝到達時間的測量。第2種工作模式下,脈衝幅度的測量由外加的高速a/d轉換電路完成.高速a/d取樣測量電路由每個脈衝的上公升沿啟動,由脈衝的下降沿觸發乙個延時電路。延時一段時間後由延時電路的下降沿停止高速a/d取樣測量電路。高速a/d取樣測量電路的取樣率可由主機根據需要設定,最高取樣速率可設定為20 mhz。脈寬及到達時間的測量與第1種工作模式相同。

3 系統硬體電路設計

該系統硬體電路主要包括微控制器主系統中的隨機脈衝放大及限幅電路、脈衝幅度、脈衝寬度測量電路、高速訊號採集及儲存電路及由epld等構成的控制訊號電路等。

3.1 隨機脈衝放大及限幅電路

隨機脈衝放大及限幅電路完成脈衝訊號的放大、限幅及整形,以滿足ttl輸入端訊號的要求。圖2為隨機脈衝放大及限幅電路,採用高速運算放大器opa603,其特點是頻帶寬且轉換速率較高,適用於脈衝放大類電路。輸入的脈衝訊號通過兩級放大及限幅後。輸出的脈衝訊號送到80c196的高速輸入器件的輸入端。

圖3為脈衝幅度及寬度測量電路示意圖。微控制器(80c196)內建的10位a/d轉換電路完成脈衝幅度的測量。由74lsl61構成的脈衝計數電路測量脈寬。主系統電路負責整個系統的控制、取樣頻率的設定及相關的資料處理及控制傳送等。其工作原理為:隨機脈衝訊號(vin)送入80c196的模擬訊號輸入端ach6,然後由80c196的內部的10位a/d轉換器進行取樣和轉換同時該隨機脈衝訊號經放大、限幅並整形後的脈衝訊號(vout)送高速輸入器件的hsi0、hsil端,作為脈衝前後沿的觸發事件,啟動中斷處理程式。hsi0輸入端作為脈衝訊號的前沿(上公升沿)事件觸發輸入端,用於讀出並記錄脈衝前沿到達的時刻及啟動a/d轉換器進行取樣和轉換;hsil輸入端作為脈衝訊號的後沿(下降沿)事件觸發輸入端,用於讀出並記錄脈衝後沿到達的時刻及讀取a/d轉換器的值。另外整形後的脈衝訊號(vout)有一路訊號(clkl)送到一組7415374(4片)的clk端,用於鎖存74lsl61計數器的計數值(即脈衝前沿到達的時刻)。通過反相器輸出的另一路訊號(clk2)送到另74ls374(4片)的clk端,用於鎖存74lsl61計數器的計數值(即脈衝後沿到達的時刻)。脈衝訊號的寬度即為2個計數值的差值。

3.2 高速訊號採集及儲存電路

高速訊號採集及儲存電路用於採集卡在採集方式下時採集輸入脈衝的脈內波形資料。採用8位高速a/d轉換器tlc5540,其最大轉換速度40 ms/s,模擬輸入頻寬大於75 mhz,具有內部取樣和保持功能。

tlc5540進行轉換所需時鐘訊號頻率可由微控制器設定。a/d轉換後的資料自動儲存在外置的62256儲存器中,其位址訊號由4個74lsl61產生。其工作原理為:首先qclr輸出乙個負脈衝,將74lsl61計數器清零,然後再設定取樣時鐘訊號(tclk),啟動tlc5540進行轉換,同時將rad訊號設為有效(低電平),產生的資料在脈衝訊號(vout為高電平)出現時按順序寫入外接的62256儲存器中,脈衝訊號(vout為低電平)消失則自動停止寫入。高速ram的位址訊號由74lsl61位址產生器提供。對每個脈衝訊號期間取樣的次數可根據2個脈衝訊號最後寫入位址的差值進行來計算,即由微控制器讀出的該脈衝訊號下降沿時刻74lsl61的計數值(即最後寫入的ram的位址),再減去上一次讀出的值,即為該脈衝的取樣次數。連續取樣一群脈衝的波形資料後需暫停採集,將採集的每個脈衝的波形資料與該脈衝的其他引數(如脈衝寬度、脈衝到達時間等)按規定的格式組合後送到與主機交換資料的fif0高速儲存器中,供主機讀取和處理,資料送完後再啟動採集下一群脈衝。一群脈衝的數量由使用者根據實際情況確定,以連續採集的波形資料存入高速ram中不產生溢位為最大限。圖4為高速訊號採集及儲存電路。

4 系統軟體設計

訊號採集卡由微控制器80c196控制,其中微控制器除負責隨機脈衝訊號的採集外,還承擔著將相關的資料(如雷達中的載頻資料和方位資料)與隨機脈衝資料組織成乙個完整的訊號資料結構的任務。圖5為採集卡主程式框圖,其工作流程為:首先80c196通過讀取主機(pc機)送過來的命令字,設定採集卡工作模式,執行相應的工作子程式。圖6為其中的測量模式下子程式流程,其工作過程為:首先初始化設定測量模式,允許his中斷。在脈衝出現時,啟動測量中斷處理程式(his中斷)工作,啟動80c196內部的a/d轉換器,對輸入的隨機脈衝的幅度進行測量,同時讀取脈衝到達的時間及脈衝寬度等資料並送到取樣緩衝區,退出his中斷。然後將採集到的隨機脈衝資料和同時採集到的其他相關資料(如雷達中的載頻資料、方位資料等)存入傳送緩衝區,最後按照約定的資料格式組織成資料塊存入大深度「先進先出(fif0)」緩衝器,再通知主機讀取這些資料。為保證資料傳輸的完整性,大深度fif0被組織成雙緩衝區結構,以流水線方式輪流寫入和讀出資訊,從而避免了訊號錄取卡的cpu和主機cpu同時讀/寫fif0時可能出現的資料丟失現象。在採集模式下則需啟動高速a/d採集電路工作,並按照波型顯示的要求組織資料,然後再送到主機處理。

5 結論

該採集卡設計採用80c196微控制器、8位高速a/d轉換的tlc5540及epld器件實現計數、鎖存和其他邏輯電路,並巧妙利用80c196微控制器的高速輸入通道(hsi)的中斷特性,不僅實現了對隨機脈衝訊號的幅度測量或脈內波形資料採集,同時還記錄脈衝到達時間及脈寬,解決了資料採集卡在採集隨機窄脈衝訊號存在的採集資料量大且不能實時處理的問題。該採集卡已成功應用於某型雷達偵察裝置中的訊號錄取,完全可實時採集、處理接收到的雷達脈衝訊號並送往主機,通過主機進一步對採集的訊號進行分選和處理,可完全實時顯示採集到的雷達脈衝波形。實際應用表明設計的採集卡工作穩定可靠,可採集的最窄脈衝不小於o.1μs,對週期不大於25 khz的連續脈衝在測量方式下可實現不間斷取樣。

stm32 定製PWM脈衝個數

stm32 hal庫有兩個pwm中斷 函式 void hal tim pwm pulsefinishedcallback tim handletypedef htim pwm脈衝在非阻塞模式下完成 void hal tim pwm pulsefinishedhalfcpltcallback tim ...

STM32的單脈衝模式實現精確個數脈衝

我們在做嵌入式產品的開發過程中,有時需要輸出指定數目的脈衝。實現它的方法較多,這裡介紹一種利用 stm32定時器的單脈衝模式來實現的方法。stm32定時器的單脈衝輸出功能,其實是定時器輸出比較功能的乙個特殊應用。即讓定時器在某個事件觸發後的一段時間產生指定脈寬的單脈衝訊號。計數器的啟動通常可由從模式...

STM32高速脈衝發波方案

對於步進電機,脈衝頻率一般在幾千hz到幾十千hz左右,但是對於伺服電機,由於其轉速高,解析度高,其要求的脈衝頻率可以高達幾百千hz甚至高到幾兆hz。此外對於多軸運動控制器,還需要同時發出多路高頻率的脈衝波形。如何讓微控制器發出高頻率的高速脈衝,有以下幾種方法 1 使用定時器溢位中斷,定時中斷裡翻轉i...