王善斌, 曹幫琴
(1.山東理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 山東 淄博 255049;2. 信陽(yáng)職業(yè)技術(shù)學(xué)院 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院, 河南 信陽(yáng) 464000)
基于FPGA與MSP430的數(shù)字頻率計(jì)設(shè)計(jì)與實(shí)現(xiàn)
王善斌1, 曹幫琴2
(1.山東理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 山東 淄博 255049;2. 信陽(yáng)職業(yè)技術(shù)學(xué)院 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院, 河南 信陽(yáng) 464000)
摘要:采用ALTERA公司的EP4CE15F17C8與TI公司的MSP430F5438A,利用多周期同步測(cè)量技術(shù)與數(shù)字移相技術(shù)相結(jié)合,設(shè)計(jì)實(shí)現(xiàn)了對(duì)1Hz~100MHz信號(hào)的周期、頻率、占空比及相位差進(jìn)行高精度測(cè)量的數(shù)字頻率計(jì).實(shí)驗(yàn)結(jié)果表明,其測(cè)量結(jié)果能通過(guò)LCD穩(wěn)定顯示,測(cè)量誤差≤0.001%,具有精度高、誤差小等優(yōu)點(diǎn).
關(guān)鍵詞:FPGA ; MSP430; 多周期同步; 數(shù)字移相相
在電子技術(shù)中,周期、頻率、占空比及相位差是最基本的參數(shù),這些參數(shù)的測(cè)量非常重要.測(cè)量頻率周期的方法一般有兩種:閘門(mén)法和填充法[1].閘門(mén)法測(cè)量時(shí),隨著頻率的降低誤差增大;填充法測(cè)量時(shí),隨著頻率的升高誤差增大.這兩種測(cè)量通常采用脈沖計(jì)數(shù)法,即在待測(cè)信號(hào)的高電平或低電平用一高頻時(shí)鐘脈沖進(jìn)行計(jì)數(shù), 然后根據(jù)脈沖的個(gè)數(shù)計(jì)算待測(cè)信號(hào)寬度.待測(cè)信號(hào)相對(duì)于計(jì)數(shù)時(shí)鐘通常是獨(dú)立的,其上升、下降沿不可能正好落在時(shí)鐘的邊沿上,因此該法的最大測(cè)量誤差為一個(gè)時(shí)鐘周期[2].多周期同步與數(shù)字移相相結(jié)合的測(cè)量就可以大幅度降低這種誤差.
1多周期同步與數(shù)字移相相結(jié)合的測(cè)量原理
圖1 多周期同步與數(shù)字移相相結(jié)合的測(cè)量原理框圖
多周期同步與數(shù)字移相相結(jié)合的測(cè)量原理如圖1所示,當(dāng)fx單獨(dú)輸入時(shí)為頻率測(cè)量,當(dāng)fx、fy雙通道輸入時(shí)為相位差測(cè)量,當(dāng)fx、fy相連接一起輸入時(shí)為周期測(cè)量及占空比測(cè)量.在測(cè)量頻率時(shí),預(yù)置閘門(mén)時(shí)間Tp經(jīng)同步電路產(chǎn)生與被測(cè)信號(hào)同步的實(shí)際閘門(mén)時(shí)間T.在實(shí)際閘門(mén)時(shí)間T內(nèi),主門(mén)I~主門(mén)V同時(shí)打開(kāi),計(jì)數(shù)器I~V分別對(duì)被測(cè)信號(hào)、時(shí)鐘信號(hào)、時(shí)鐘相移90°信號(hào)、時(shí)鐘相移180°信號(hào)、時(shí)鐘相移270°信號(hào)的周期進(jìn)行累計(jì).計(jì)數(shù)器I記錄被測(cè)信號(hào)的周期數(shù),稱為事件計(jì)數(shù)器;其它幾個(gè)計(jì)數(shù)器記錄時(shí)鐘和相移時(shí)鐘的同期數(shù),稱為時(shí)間計(jì)數(shù)器.由運(yùn)算電路計(jì)算出fx=4NAf0/(N0+N1+N2+N3).預(yù)置閘門(mén)、實(shí)際閘門(mén)、被測(cè)信號(hào)、時(shí)鐘及相移時(shí)鐘的時(shí)序如圖2所示.從表達(dá)式和時(shí)序圖中可以看到, 這種方法實(shí)際等效于將原始計(jì)數(shù)時(shí)鐘四倍頻,以4CLK的時(shí)鐘頻率對(duì)待測(cè)信號(hào)進(jìn)行計(jì)數(shù)測(cè)量,從而將測(cè)量精度提高到原來(lái)的4倍.實(shí)際應(yīng)用中,可根據(jù)FPGA資源的數(shù)量多少再增加倍數(shù),從而得到更高的精度[3].
圖2 多周期同步與數(shù)字移相相結(jié)合的測(cè)量工作波形圖
在測(cè)量相位差時(shí),如圖1所示,fx、fy經(jīng)過(guò)同步電路D觸發(fā)器(即鑒相器)產(chǎn)生相位差信號(hào).在實(shí)際閘門(mén)時(shí)間T內(nèi),計(jì)數(shù)器AI記錄了相位差產(chǎn)生的次數(shù),計(jì)數(shù)器AII~AV在產(chǎn)生的相位差高電平內(nèi)分別對(duì)被測(cè)信號(hào)、時(shí)鐘信號(hào)、時(shí)鐘相移90°信號(hào)、時(shí)鐘相移180°信號(hào)、時(shí)鐘相移270°信號(hào)的周期進(jìn)行累計(jì).由運(yùn)算電路計(jì)算出Tx-y=(N0+N1+N2+N3)/ 4NAf0.
在測(cè)量周期及占空比時(shí),如圖1所示,fx經(jīng)過(guò)同步電路D觸發(fā)器在閘門(mén)時(shí)間T內(nèi)輸出fx.在實(shí)際閘門(mén)時(shí)間T內(nèi),計(jì)數(shù)器AI、BI記錄了被測(cè)信號(hào)的周期數(shù),計(jì)數(shù)器AII、BII~AV、BV在被測(cè)信號(hào)fx的高電平內(nèi)與低電平內(nèi)分別對(duì)被測(cè)信號(hào)、時(shí)鐘信號(hào)、時(shí)鐘相移90°信號(hào)、時(shí)鐘相移180°信號(hào)、時(shí)鐘相移270°信號(hào)的周期進(jìn)行累加.由運(yùn)算電路計(jì)算Tx=(NA0+NB0+NA1+NB1+NA2+NB2+NA3+NB3)/ 4NAf0,占空比=(NA0+NA1+NA2+NA3)/Tx.
2系統(tǒng)整體方案
系統(tǒng)整體方案框圖如圖3所示,分為調(diào)理電路、FPG測(cè)量模塊、MSP430控制顯示模塊.系統(tǒng)工作過(guò)程如下:正弦信號(hào)fx、fy經(jīng)過(guò)調(diào)理電路變成方波信號(hào),送入FPGA進(jìn)行頻率、周期、占空比及相位差的測(cè)量,然后把測(cè)量結(jié)果送到MSP430計(jì)算并顯示,MSP430通過(guò)按鍵來(lái)控制FPGA發(fā)送的結(jié)果.調(diào)理電路把正弦變成等頻率的方波信號(hào),調(diào)理電路采用高速AD9696,如圖4所示.
圖3 系統(tǒng)整體方案框圖
測(cè)量部分主要由FPGA完成,由頻率測(cè)量模塊、周期測(cè)量模塊、占空比測(cè)量模塊、相位差測(cè)量模塊及控制模塊構(gòu)成.系統(tǒng)實(shí)現(xiàn)的關(guān)鍵是保證送入各計(jì)數(shù)器的時(shí)鐘相對(duì)延遲精度,即要保證計(jì)數(shù)時(shí)鐘之間的相位差.由于通常原始時(shí)鐘頻率已經(jīng)相對(duì)較高,對(duì)時(shí)鐘的延遲時(shí)間只有幾ns,使用普通的延遲線芯片無(wú)法達(dá)到精度要求[4-6].而采用具有集成度高、可靠性高及高速等特點(diǎn)的FPGA能夠完全實(shí)現(xiàn)所提出的測(cè)量方法,其RTL如圖5所示.
FPGA把測(cè)量的結(jié)果通過(guò)時(shí)序與數(shù)據(jù)線傳送給MSP430進(jìn)行處理并顯示.FPGA與MSP430通信的時(shí)序圖如圖6所示,F(xiàn)PGA把P1.0的上升沿作為發(fā)送數(shù)據(jù)的起始端,在P1.1的每個(gè)周期內(nèi)發(fā)送數(shù)據(jù).MSP430把P1.0的上升沿作為數(shù)據(jù)接收的起始端,在P1.1的每個(gè)下降沿接收數(shù)據(jù).
圖4 調(diào)理電路電路圖
圖5 FPGA測(cè)量部分RTL
圖6 FPGA與MSP430的通信時(shí)序圖
MSP430主要完成數(shù)據(jù)的選擇接收、計(jì)算及顯示,其工作流程如圖7所示.當(dāng)開(kāi)機(jī)加電后,MSP430先初始化系統(tǒng)時(shí)鐘、鍵盤(pán)及I/O口,根據(jù)鍵盤(pán)發(fā)送命令選擇要接收的頻率、周期、占空比或者相位差數(shù)據(jù),P1.1口下降沿發(fā)生中斷時(shí)接收數(shù)據(jù)并計(jì)算顯示,然后進(jìn)入低功耗.
圖7 MSP430程序流程圖
本系統(tǒng)經(jīng)過(guò)測(cè)試表明,1Hz~100MHz正弦信號(hào)的頻率和周期測(cè)量相對(duì)誤差的絕對(duì)值不大于10-4,時(shí)間間隔測(cè)量相對(duì)誤差的絕對(duì)值不大于10-3,測(cè)量數(shù)據(jù)刷新時(shí)間不大于2s,測(cè)量結(jié)果穩(wěn)定,并能自動(dòng)顯示單位.實(shí)現(xiàn)了寬頻帶、高精度、低誤差、低成本的設(shè)計(jì).
參考文獻(xiàn):
[1]楊海鋼, 孫嘉斌. FPGA器件設(shè)計(jì)技術(shù)發(fā)展綜述[J]. 電子與信息學(xué)報(bào), 2010(3):714-727.
[2]李威, 楊海鋼, 龔蕭. FPGA連線連接盒中基于信息熵優(yōu)化的結(jié)構(gòu)設(shè)計(jì)[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2006(2):203-208.
[3]廖永波,李平,阮愛(ài)武 .一種FPGA 的可編程邏輯單元的全覆蓋測(cè)試方法[J]. 儀器儀表學(xué)報(bào),2010(4):857-861.
[4] 彭宇,姜紅蘭,楊智明,等. 基于DSP 和 FPGA的通用數(shù)字信號(hào)處理系統(tǒng)設(shè)計(jì)[J].國(guó)外電子測(cè)量技術(shù),2013(1):17-21.
[5] 王躍飛,侯 亮,劉菲.基于FPGA的汽車CAN網(wǎng)絡(luò)實(shí)時(shí)管理系統(tǒng)設(shè)計(jì)[J]. 電子測(cè)量與儀器學(xué)報(bào),2013(8):721-728.
[6] 鄒建,林強(qiáng),王二鋒.基于FPGA的波形發(fā)生器設(shè)計(jì)[J].電子測(cè)量技術(shù),2012(7):47- 50.
(編輯:郝秀清)
Design and implementation of digital cymometer based on MSP430 and FPGA
WANG Shan-bin1, CAO Bang-qin2
(1.School of Computer Science and Technology, Shandong University of Technology, Zibo 255049, China;2.School of Mathematics and Computer Science, Xinyang Vocational and Technical College, Xinyang 464000, China)
Abstract:A digital cymometer was designed using Altera EP4CE15F17C8 and MSP430F5438A from TI company and combing with multi cycle synchronous measurement technology and digital phase shifting technique. It measured the cycle, frequency, duty ratio and phase difference of 1Hz~100MHz signal with high precision.The measurement results are stable shown on LCD. The error is less than 0.001%, with the advantages of high accuracy and low error.
Key words:FPGA ; MSP430 ; multi cycle synchronous; digital phase shifting
收稿日期:2015-09-14
作者簡(jiǎn)介:王善斌,男,472569655@qq.com
文章編號(hào):1672-6197(2016)05-0061-03
中圖分類號(hào):TP301
文獻(xiàn)標(biāo)志碼:A