《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > FPGA與單片機實現低頻數字式相位測量儀
FPGA與單片機實現低頻數字式相位測量儀
摘要: FPGA與單片機實現低頻數字式相位測量儀,摘要:提出了以AVR ATmega128單片機和Altera公司的Cyclone系列EP1C3T100為核心的系統設計方案。分析了數字式低頻相位測量儀的測量原理和測量誤差及其消除的方法。主要介紹了系統的軟硬件設計。實踐表明,此方案設計的
Abstract:
Key words :

摘要:提出了以AVR ATmega128單片機和Altera公司的Cyclone系列EP1C3T100為核心的系統設計方案。分析了數字式低頻相位測量儀的測量原理和測量誤差及其消除的方法。主要介紹了系統的軟硬件設計。實踐表明,此方案設計的相位儀對低頻正弦波信號實現精確測頻和測相位差,具有處理速度快、穩定可靠、精度高等優點。

  關鍵詞:數字相位儀;單片機;FPGA;誤差;頻率;相位差

  本設計采用MCU和FPGA相結合的系統方案,以AVR單片機ATmega128和Altera公司的Cyclone系列EP1C3T100為核心,充分發揮各自的優勢,如AVR單片機先進的RISC結構和強勁的運算、控制功能,Altera公司的FPGA運算速度快、資源豐富以及易編程的特點,合理設計,此方案的相位儀具備速度快、穩定可靠、精度高等優點,而且容易實現“智能化”和“自動化”。

  1 系統方案設計

  1.1 測量方法的比較與選擇

  目前相位測量的方法主要有兩種:

  1)DFT測相法即將待測信號通過A/D轉換得到f(n),f(n)按離散傅里葉變換得出離散頻譜F(k),f(n)和F(k)為傅里葉變換對,通過運算得到兩路信號的基波相位,從而計算出相位差。DFT測相法的精度受限于ADC的采樣精度,需要高速ADC對信號進行過采樣,測量方案復雜,可以通過采集卡在計算機上實現虛擬儀器,所以主要應用在精度要求很高的場合和虛擬儀器中。

  2)填充計數測相法 即兩路同頻的正弦信號經過信號整形電路后得到方波信號,方波信號經過鑒相器后,得到兩路輸入信號的相位差信號,用固定頻率的采樣脈沖進行填充并計數,從而計算出相位差。填充計數測相法主要應用在要求一定的精度,測量的頻率不是太高但實時性要求很強的場合,易于實現數字化和自動化,低頻數字相位儀適合用填充計數法。

  填充計數測相法的基本算法:若正弦波整形后的方波信號頻率為f,周期為T,采樣脈沖周期為TC,方波一個周期內對采樣脈沖計數為,n則被測信號頻率f=1/T=1/nTC。同樣的方法測出兩個同頻正弦波起點之間的時間差為△t,則兩信號的相位差△θ=△t·360°/T。

  1.2 系統方案的確定

  由系統測量方法可知,數據需要采集、運算及顯示,考慮到Field Programmable Gate Array(FPGA)集成度高、I/O資源豐富、穩定可靠,選擇余地大,外圍元件很少,近年來價格下降等優勢,以及MCU良好的人機接口和運算控制功能,所以本系統由MCU和FPGA相結合構成測控主體。FPGA負責采集測頻和測相位差的脈沖信號,MCU負責讀FPGA采集的數據,計算待測信號頻率和相位差并在LCD上顯示。

  所以,系統由4個部分組成:待測信號調理電路、FPGA數據采集電路、MCU數據運算控制電路和LCD數據顯示電路,如圖1所示。

  2 測量誤差的分析與消除

  相位測量儀的完善設計,不僅要有合適的測量方法和系統實現方案,還需要著重分析誤差產生的原因和確定消除的方法。

  1)填充時鐘頻率(即數據采樣信號)的影響與確定本相位測量儀的測頻范圍為20 Hz~20 kHz,相位差的范圍為△θ=0°~359.9°,相位差的顯示分辨率為0.1°,要求測量相位的絕對誤差≤2。

  被測頻率20 Hz≤f≤20 kHz,則周期50μs≤T≤50 ms。

  T=50 μs,絕對誤差取0.1°~2°。

  則填充時鐘信號周期:0.1°x50 μs/360°≤TC≤2°x50 μs/360°即:1/72(μs)≤TC≤1/3.6(μs),可以得出填充時鐘頻率:

  3.6 MHz≤fC≤72 MHz。

  T=50ms內對TC=1/3.6(μs)的填充脈沖計數,計數值Nmin=180000≤218;對TC=1/72(μs)的填充脈沖計數,計數值Nmax=3600000≤ 222。

  本設計考慮MCU的計算及分頻取得信號的方便,填充時鐘信號頻率fC=20 MHz,測量絕對誤差<1°,FPGA在20 MHz時鐘信號作用下對待測信號周期和相位對應的時間差進行計數,FPGA采樣的二進制數據位為20 bit,可以保證測量的精度。

  2)待測信號調理電路中零點漂移的影響與消除待測信號調理電路主要作用是把輸入信號整形變換成矩形波,通常采用過零比較器或者施密特觸發器。

  過零比較器在零點電位附近可能會有振蕩,輸入信號在零點電位附近時,電壓比較器處于放大區,整形后的矩形波在邊沿會產生抖動,使系統無法進行測量。要消除這種抖動,可以采用施密特觸發器。為了保證測量的精度,施密特觸發器必須符合兩個條件:一是兩路被測信號幅度基本相等,二是門限電平要基本接近。

  3)整形后方渡邊沿的陡峭程度的影響與消除信號經過整形后輸出的矩形脈沖信號直接送給FPGA,則FPGA不能立即獲取穩定的數字脈沖信號,就會使系統的精度受到很大影響。這主要是由于整形后方波邊沿不夠陡峭造成的。要解決此問題,一是選取具有較大壓擺率的器件,二是在比較器的后端加一級微分電路來提升脈沖信號的邊沿。

  4)中低頻測量精度的影響與消除采用20 MHz數據采樣信號來循環計數被測信號的周期及相位差對應的時間差,精度達到0.05 μs,20位數字量的單位是0.05μs。利用被測信號刷新采樣計數,實現高頻多測量,低頻少測量,時間計數精確可靠,這樣,FPGA可以為MCU提供穩定的數據。

  3 系統硬件電路的設計

  3.1 前端信號調理電路的設計

  施密特觸發器(遲滯比較器)雖然可以很好地消除比較器過零引起的抖動,但是其輸出信號和輸入信號存在相位差,如果兩路被測信號的幅度基本相等且兩個施密特觸發器的門限電平又很接近,則施密特觸發器引入的相位誤差對測量系統誤差幾乎無影響。

  采用LM339內部有4個獨立的電壓比較器,該電壓比較器的特點是:失調電壓小,典型值為2 mV;電源電壓范圍寬,雙電源電壓為±1~±18 V;對比較信號源的內阻限制較寬。同相和反相輸入端電壓差別大于10 mV就能確保輸出能從一種狀態可靠地轉換到另一種狀態,輸出端相當于一只不接集電極電阻的晶體三極管,在使用時輸出端到正電源一般須接一只電阻。在跳變電壓值附近的干擾不超過回差AU,輸出電壓的值就將是穩定的。正反饋可以加快比較器的響應速度。由于遲滯比較器加的正反饋很強,遠比電路中的寄生耦合強得多,所以可免除由于電路寄生耦合而產生的自激振蕩。通過調節電位器,使兩個施密特觸發器的門限電平基本相等,保證輸入電路對相位差測量不帶來誤差。電路如圖2所示。

  3.2 系統測量電路設計

  以單片機為核心設計相位儀,如其晶振為24 MHz,單片機C/T的計數誤差為1個機器周期為±0.5 μs,則絕對誤差為360°x0.5 μs/50μs=3.6°,所以,當被測信號頻率很高時很難滿足測量要求。

  本設計采用AVR單片機與FPGA相結合的方案,FPGA實現數據采集,將所測信號的頻率和相位差所對應時間差轉換為二進制數據傳給單片機;單片機從FPGA獲取數據,經過運算、轉換等數據處理,將被測信號的頻率和相位差在LCD上顯示。

 系統電原理圖如圖3所示。MCU采用ATMEL公司的AVR單片機ATmega128,具有先進的RISC結構,大多數指令在一個時鐘周期內完成,有32個8位通用工作寄存器及外設控制寄存器,克服了一般單片機單一累加器數據處理帶來的瓶頸。有128 KB的系統內可編程Flash,4 KB的EEPROM以及4 KB的內部SRAM,遵循JTAG標準的邊界掃描功能,支持擴展的片內調試,可通過JTAG接口實現對Flash、EEPROM、熔絲位和鎖定位的編程。

  FPGA采用Altem Cyclone系列的EP1C3T100,配置芯片為EPCS1,VHDL功能程序經過全編譯會生成.sof和.pof文件,配置的下載為Byte-Blaster II,[Mode]項選擇“JTAG”為把.sof文件配置到FPGA芯片EP1C3T100中,用于調試;[Mode]項選擇“Active Serial Programming”為把.pof文件下載到配置芯片EPCS1中,系統重新上電時正常運行。

  LCD采用HTM12864,為128x64串行數據傳送液晶顯示器,背光燈通過光耦受到控制。

  ATmega128和EP1C3T100設計各自的JTAG接口。圖3繪出了ATmega128和EP1C3T100的接口D0~D19、EN、Dsel、LCN;ATmega128與HTM12864的接口RET、D/C、SCLK、DATA;EP1C3T100的輸入信號FAin和FBin,66 MHz外部有源晶振,配置芯片EPCS1。4 系統軟件的設計

 

  4.1 FPGA數據采集VHDL程序設計

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

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

  4.2 ATmega128運算控制程序設計

  AVR單片機ATmega128從FPGA分別讀取頻率和相位差的20位數字量,由于FPGA在20 MHz數據采集信號作用下對待測信號周期和兩同頻信號的相位差所對應的時間差計數,因此20位數字量的單位是0.05μs,單片機對這些數字量進行計算,可以得到待測信號的頻率和相位差。

  單片機運算控制程序設計思路:單片機(ATmega128)通過控制信號EN和Dsel從FPGA(EP1C3T100)讀取待測信號的周期和兩待測信號相位差所對應的時間差,對讀取的數據進行計算、轉換,送液晶顯示器顯示,顯示待測信號的頻率、相位差以及有關信息。主程序流程圖如圖6所示。源程序由主程序及若干子程序組成,主程序是一個循環執行程序。

  1)單片機從FPGA讀數據

  根據MCU與FPGA的20位數字量的接口,從單片機的PA、PB和PC(低4位)讀取數據,組合成20位的數據,控制線EN和Dsel控制FPGA釋放數據。當Dad=1時,FPGA向單片機傳送待測信號的相位差數據;當Dsel=0時,FPGA向單片機傳送待測信號的周期數據;當EN=1時,FPGA向單片機釋放數據,當EN=0時,FPGA禁止向單片機釋放數據。

  2)頻率和相位差數據的運算

  為了測量達到要求的精度,在運算時不能丟失數據,所以采用擴大倍數定點取數的方法,保證數據計算準確。依據如下方法進行計算:信號頻率F=106/T,計算結果精確到1 Hz;相位差△θ=△tx360°x10/T,計算結果精確到0.1°。

  3)LCD顯示器顯示頻率、相位差等相關信息

  本設計采用HTM12864(128x64)的LCD液晶顯示器,控制器為S6B0724,與單片機數據與控制接口是:CS、RET、D/C、SCLK、DATA,背光燈根據按鍵動作控制,用按鍵來切換顯來示信息。

  5 結論

        用此方法設計的數字式相位測量儀具有較高的精度,穩定可靠。本儀器測量正弦信號的頻率及兩個同頻正弦信號的相位差,較好地滿足了設計的技術指標要求。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品久久久久国产a级| 国产精品日日摸夜夜摸av| 亚洲永久免费精品| 日韩午夜在线电影| 亚洲国产精品黑人久久久| 欧美一区2区三区4区公司二百 | 国内精品久久久久久久果冻传媒| 国产欧美 在线欧美| 国产精品美女在线| 国产精品久久久久999| 欧美日韩一区精品| 欧美日韩在线播放三区四区| 欧美日韩在线精品| 欧美日韩亚洲综合在线| 欧美日韩另类视频| 欧美日韩一区自拍| 国产精品99免费看| 国产精品日本一区二区| 国产美女高潮久久白浆| 国产亚洲精品久久久久动| 国产麻豆精品久久一二三| 国产欧美精品va在线观看| 国产久一道中文一区| 国产亚洲一二三区| 激情小说另类小说亚洲欧美| 狠狠狠色丁香婷婷综合久久五月| 激情视频一区二区| 亚洲区在线播放| 一区二区三区国产在线观看| 99在线精品视频| 亚洲图色在线| 久久国产精品久久精品国产| 亚洲欧洲另类国产综合| 一本久道久久综合中文字幕| 亚洲午夜精品网| 性欧美xxxx大乳国产app| 久久精品亚洲一区二区| 久久久亚洲人| 欧美国产视频日韩| 欧美亚日韩国产aⅴ精品中极品| 国产情侣久久| 亚洲国产精品专区久久| 一卡二卡3卡四卡高清精品视频 | 亚洲国产精品一区二区第四页av| 亚洲精品视频在线| 亚洲一区二区伦理| 久久岛国电影| 欧美激情1区2区3区| 欧美体内she精视频| 国产免费一区二区三区香蕉精| 在线播放精品| 亚洲视频中文字幕| 久久精品成人一区二区三区蜜臀 | 欧美日韩午夜剧场| 国产欧美一区二区精品忘忧草| 激情成人av在线| 亚洲乱码国产乱码精品精可以看| 亚洲欧美国产va在线影院| 亚洲高清av| 亚洲免费在线| 美女尤物久久精品| 国产精品激情av在线播放| 狠狠色综合色综合网络| 在线亚洲一区观看| 亚洲成人自拍视频| 亚洲欧美激情四射在线日| 久色成人在线| 国产精品免费在线| 亚洲高清视频在线观看| 亚洲一区在线视频| 亚洲精品三级| 欧美在线一区二区| 欧美日韩三区四区| 原创国产精品91| 亚洲一区二区在线| 亚洲毛片网站| 久久天堂av综合合色| 国产精品久久久久久av下载红粉| 在线播放国产一区中文字幕剧情欧美 | 亚洲午夜91| 美脚丝袜一区二区三区在线观看| 国产精品免费区二区三区观看| 亚洲精品久久久久久久久| 久久精品欧美日韩精品| 午夜免费日韩视频| 欧美日韩国产小视频| 激情婷婷亚洲| 欧美在线观看一区| 午夜久久一区| 国产精品ⅴa在线观看h| 亚洲三级电影在线观看| 亚洲国产99精品国自产| 久久国产欧美精品| 国产精品视频yy9099| 99在线精品视频| 一本色道久久精品| 欧美成人午夜剧场免费观看| 国产在线精品一区二区中文| 亚洲中字在线| 亚洲免费在线播放| 欧美日韩午夜视频在线观看| 亚洲精品久久久久久久久久久久 | 日韩网站在线| 亚洲另类自拍| 欧美国产成人在线| 亚洲第一狼人社区| 亚洲国产精品激情在线观看| 久久婷婷成人综合色| 国产日本精品| 亚洲欧美变态国产另类| 亚洲欧美在线另类| 国产精品久久久一区麻豆最新章节| 日韩视频中文| 亚洲图片在线| 欧美亚州韩日在线看免费版国语版| 99pao成人国产永久免费视频| 亚洲作爱视频| 欧美日韩在线精品| 一区二区三区高清在线| 亚洲一区激情| 国产精品午夜国产小视频| 亚洲亚洲精品在线观看 | 性亚洲最疯狂xxxx高清| 国产精品黄色| 亚洲欧美一区二区视频| 性8sex亚洲区入口| 国产欧美日韩视频| 欧美一区二区三区视频| 久久久精品五月天| 狠狠色伊人亚洲综合网站色| 亚洲国产成人av好男人在线观看| 久久免费视频这里只有精品| 精品成人一区二区三区四区| 亚洲欧洲日韩综合二区| 欧美精品免费视频| 日韩视频免费观看高清在线视频| 亚洲永久免费观看| 国产女人aaa级久久久级| 久久大香伊蕉在人线观看热2| 久久综合影视| 亚洲人体大胆视频| 亚洲尤物精选| 国产区在线观看成人精品| 亚洲国产精品高清久久久| 欧美成人自拍| 一区二区精品在线观看| 欧美一区二区日韩| 国产一区二区三区视频在线观看| 亚洲国产精品久久久久婷婷老年 | 欧美日韩亚洲一区二区三区| 亚洲午夜一区二区三区| 久久久久久穴| 亚洲激情二区| 亚洲欧美另类在线| 狠狠操狠狠色综合网| 99国产精品视频免费观看一公开| 欧美性生交xxxxx久久久| 亚洲欧美一级二级三级| 男女av一区三区二区色多| 日韩视频在线免费| 欧美一区日本一区韩国一区| 一区二区三区在线视频播放| 中文久久乱码一区二区| 国产美女精品在线| 亚洲精品一区二区三区在线观看 | 久久精品五月婷婷| 亚洲精品在线观| 欧美一区中文字幕| 亚洲国产成人一区| 亚洲欧美日韩区| 在线观看亚洲视频| 亚洲男女自偷自拍| 狠狠色丁香久久婷婷综合_中| 一本色道久久综合亚洲精品不卡| 国产欧美精品日韩区二区麻豆天美| 亚洲国产成人精品久久久国产成人一区| 欧美精品免费视频| 欧美在现视频| 欧美午夜精品理论片a级按摩 | 欧美成人精品在线观看| 亚洲一区二区三区四区视频| 免费看精品久久片| 亚洲一区二区四区| 欧美激情视频在线播放| 午夜精品亚洲一区二区三区嫩草| 欧美不卡高清| 亚洲欧美在线高清| 欧美日韩一区二区三区四区在线观看 | 国产精品久久久久久久久借妻 | 欧美在线不卡| 欧美色123| 91久久精品国产91久久性色| 国产精品羞羞答答| 在线亚洲免费视频| 伊人成人在线| 久久精品国内一区二区三区| 一区二区三区成人精品| 欧美激情中文字幕一区二区| 欧美在线不卡| 国产免费成人av|