新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于AVR單片機與FPGA的低頻數(shù)字式相位測量儀

基于AVR單片機與FPGA的低頻數(shù)字式相位測量儀

作者: 時間:2011-06-09 來源:網(wǎng)絡 收藏


4 系統(tǒng)軟件的設計
4.1 數(shù)據(jù)采集VHDL程序設計
數(shù)據(jù)采集的VHDL程序設計是在Altera QuartuslI開發(fā)軟件平臺及實驗開發(fā)系統(tǒng)上完成的。程序設計采用自頂向下(up-to-down)的設計方法。系統(tǒng)的模塊構成如圖4所示。采樣信號發(fā)生模塊完成時鐘信號源的分頻工作,得到CLK=20 MHz;待測信號采樣模塊在控制信號產(chǎn)生模塊的周期閘門信號Tk和時間清零信號Tcr的作用下,輸出待測信號周期和相位差數(shù)據(jù);測量數(shù)據(jù)提取模塊在鑒相信號JXc和計數(shù)提取信號Lad的作用下,并在輸出使能信號EN和數(shù)據(jù)類型信號Dsel控制下分別輸出周期和相位差數(shù)據(jù),交MCU運算處理顯示。

本文引用地址:http://m.butianyuan.cn/article/172687.htm

f.JPG


FPGA在輸出使能信號EN和數(shù)據(jù)類型信號Dsel控制下,輸出所測信號的頻率和相位差所對應的二進制數(shù)據(jù)仿真波形如圖5所示。VHDL程序經(jīng)過編譯調(diào)試生成.pof文件下載到配置芯片EPCS1中實現(xiàn)所設計的功能。

g.JPG


4.2 ATmega128運算控制程序設計
ATmega128從FPGA分別讀取頻率和相位差的20位數(shù)字量,由于FPGA在20 MHz數(shù)據(jù)采集信號作用下對待測信號周期和兩同頻信號的相位差所對應的時間差計數(shù),因此20位數(shù)字量的單位是0.05μs,對這些數(shù)字量進行計算,可以得到待測信號的頻率和相位差。
單片機運算控制程序設計思路:單片機(ATmega128)通過控制信號EN和Dsel從FPGA(EP1C3T100)讀取待測信號的周期和兩待測信號相位差所對應的時間差,對讀取的數(shù)據(jù)進行計算、轉換,送液晶顯示器顯示,顯示待測信號的頻率、相位差以及有關信息。主程序流程圖如圖6所示。源程序由主程序及若干子程序組成,主程序是一個循環(huán)執(zhí)行程序。

h.JPG


1)單片機從FPGA讀數(shù)據(jù)
根據(jù)MCU與FPGA的20位數(shù)字量的接口,從單片機的PA、PB和PC(低4位)讀取數(shù)據(jù),組合成20位的數(shù)據(jù),控制線EN和Dsel控制FPGA釋放數(shù)據(jù)。當Dad=1時,F(xiàn)PGA向單片機傳送待測信號的相位差數(shù)據(jù);當Dsel=0時,F(xiàn)PGA向單片機傳送待測信號的周期數(shù)據(jù);當EN=1時,F(xiàn)PGA向單片機釋放數(shù)據(jù),當EN=0時,F(xiàn)PGA禁止向單片機釋放數(shù)據(jù)。
2)頻率和相位差數(shù)據(jù)的運算
為了測量達到要求的精度,在運算時不能丟失數(shù)據(jù),所以采用擴大倍數(shù)定點取數(shù)的方法,保證數(shù)據(jù)計算準確。依據(jù)如下方法進行計算:信號頻率F=106/T,計算結果精確到1 Hz;相位差△θ=△tx360°x10/T,計算結果精確到0.1°。
3)LCD顯示器顯示頻率、相位差等相關信息
本設計采用HTM12864(128x64)的LCD液晶顯示器,控制器為S6B0724,與單片機數(shù)據(jù)與控制接口是:CS、RET、D/C、SCLK、DATA,背光燈根據(jù)按鍵動作控制,用按鍵來切換顯來示信息。

5 結論
本設計采用MCU和FPGA相結合的方法,ATmega128單片機具有先進的RISC結構和運算控制功能,而FPGA集成度高、高頻率的數(shù)據(jù)采集功能強勁,它們發(fā)揮各自的優(yōu)勢。均具備JTAG接口在線調(diào)試和編程功能,用此方法設計的具有較高的精度,穩(wěn)定可靠。本儀器測量正弦信號的頻率及兩個同頻正弦信號的相位差,較好地滿足了設計的技術指標要求。


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉