在電子測量技術(shù)中,測頻測相是最基本的測量之一。相位測量儀是電子領(lǐng)域的常用儀器,當(dāng)前測頻測相主要是運用等精度測頻、PLL鎖相環(huán)測相的方法。研究發(fā)現(xiàn),等精度測頻法具有在整個測頻范圍內(nèi)保持恒定的高精度的特點,但是該原理不能用于測量相位。PLL鎖相環(huán)測相可以實現(xiàn)等精度測相,但電路調(diào)試較復(fù)雜。因此,選擇直接測相法作為低頻測相儀的測試方法。
設(shè)計的低頻測相儀,滿足以下的技術(shù)指標(biāo):a .頻率20-20KHz;b .輸入阻抗≥100KΩ;c.相位測量絕對誤差≤1度; d.具有頻率測量和數(shù)字顯示功能;e.顯示相位讀數(shù)為0度--359度。
1系統(tǒng)工作原理
圖1 測頻測相系統(tǒng)原理框圖
系統(tǒng)工作原理如圖1所示,系統(tǒng)運行時,首先由單片機通過clr控制線送清零信號,啟動CPLD的計數(shù)模塊,在設(shè)計的CPLD內(nèi)部控制模塊作用下,記錄AB兩相的相差間隔時間內(nèi)的標(biāo)頻個數(shù)(測相計數(shù)器),同時也記錄下A相一個周期內(nèi)的標(biāo)頻個數(shù)(測頻計數(shù)器),此后測頻和測相計數(shù)器處于保持狀態(tài),同時送出right信號表明完成測頻測相的計數(shù),單片機可以讀數(shù)據(jù)。
單片機和CPLD的數(shù)據(jù)采用獨立接口方式,這樣設(shè)計比較靈活,可以不受單片機總線時序的影響。由ADD[0..2]進(jìn)行控制,分別讀取測頻測相計數(shù)器中的19位數(shù)據(jù),并存于單片機中,進(jìn)行后續(xù)的計算。單片機完成數(shù)據(jù)的運算后,將所得數(shù)據(jù)轉(zhuǎn)化為10進(jìn)制,送到顯示板進(jìn)行顯示。顯示板共有8個數(shù)碼管,其中,前5位用于顯示頻率(最大為20000Hz),后三位顯示相位(最大為359度)。
在CPLD設(shè)計中,根據(jù)計算,選取測頻、測相計數(shù)器長度均為19位,在標(biāo)頻信號為10MHz時,相位測量精度小于1度。若只用89C51,其自帶的計數(shù)器只有16位,且不易同時實現(xiàn)測頻測相的功能。故選用CPLD實現(xiàn)其測頻測相的計數(shù)功能,并設(shè)計了獨立的數(shù)據(jù)接口,以便與單片機交換數(shù)據(jù)。
2 CPLD測頻測相模塊工作原理
圖2 CPLD測頻測相內(nèi)部原理框圖
如圖2所示,利用VHDL語言設(shè)計了完成測頻測相計數(shù)功能的數(shù)字芯片。整個芯片由測頻計數(shù)器、測相計數(shù)器、控制部分、數(shù)據(jù)選擇器和測試用分頻器5個部分組成。
控制部分主要是利用狀態(tài)機原理,設(shè)計了檢測一個測頻周期的控制電路。在clr信號為高時,啟動測頻測相計數(shù)器,此時,狀態(tài)機處于計數(shù)工作狀態(tài);當(dāng)A相第一個上升沿到來時,測頻測相計數(shù)器同時啟動,開始計數(shù);當(dāng)B相第一個上升沿到來時,控制部分控制測相計數(shù)器停止計數(shù);當(dāng)A相第二個上升沿到來時,控制部分控制測頻計數(shù)器停止計數(shù),同時送出計數(shù)完成信號right;此后測頻測相計數(shù)器處于保持狀態(tài)。
單片機讀數(shù)時,通過設(shè)置add[0..2]數(shù)據(jù)選擇器的地址選通端,依次送出測頻計數(shù)器中的19位數(shù)據(jù),8位一組,從xcout[0..7]端口送出,單片機需分3次讀完測頻計數(shù)器中的19位數(shù)據(jù),數(shù)據(jù)選通端設(shè)置為001,010,011;同理,單片機也需分3次讀完測相計數(shù)器中的19位數(shù)據(jù),數(shù)據(jù)選通端設(shè)置為100,101,110。
為了測試方便,設(shè)計了測試用分頻器,該分頻器系數(shù)可以在VHDL源程序中改動,如為1000,則將測試時用的標(biāo)頻信號10M進(jìn)行1000分頻,分頻后頻率為10KHz,正好處于20-20KHz范圍內(nèi)。
3 單片機程序
如圖3所示,系統(tǒng)上電后,首先由單片機送出清零信號,啟動CPLD中的測頻測相計數(shù)器,CPLD進(jìn)行測頻測相的計數(shù),單片機查詢到right=1,則表明計數(shù)器完成計數(shù)工作,開始讀取CPLD中的數(shù)據(jù)。否則,就等待。單片機通過控制CPLD中數(shù)據(jù)選擇器的地址選通端add[0..7],分別讀取測頻、測相計數(shù)器的19位數(shù)據(jù),并進(jìn)行相應(yīng)的計算。計算中首先調(diào)用頻率計算子程序,計算出相應(yīng)的頻率,然后再調(diào)用相位計算子程序,計算出相應(yīng)的相位,再調(diào)用進(jìn)制轉(zhuǎn)換程序,將16進(jìn)制的數(shù)轉(zhuǎn)換成10進(jìn)制,最后調(diào)用顯示子程需,在8位數(shù)碼管中顯示出測量的頻率、相位值。由于篇幅關(guān)系,此處不再詳述具體程序和顯示部分的設(shè)計。
4 結(jié)束語
由單片機晶振產(chǎn)生的6M信號,經(jīng)過一個與非門整形為矩形脈沖,再經(jīng)過CPLD7128的內(nèi)部設(shè)計的分頻器分頻(分頻系數(shù)為1000、2000、3000、4000),由該系統(tǒng)進(jìn)行測頻測相。AB二相的信號加上一個反相器,則從理論上講,相位相差180度。實際測量結(jié)果為,頻率分別是6000、3000、2000、1500Hz,相位為180度,與理論完全符合。利用DDS數(shù)字移相信號發(fā)生器產(chǎn)生不同頻率和相位差的信號實測證實,該系統(tǒng)指標(biāo)符合設(shè)計要求。
隨著EDA(電子設(shè)計自動化)技術(shù)和微電子技術(shù)的進(jìn)步,CPLD的時鐘延遲可達(dá)到 級,結(jié)合其并行工作方式,在超高速、實時測控方面有非常廣闊的應(yīng)用前景;并且CPLD&FPGA具有高集成度、高可靠性,幾乎可將整個設(shè)計系統(tǒng)下載于同一芯片中,實現(xiàn)所謂片上系統(tǒng)(SOPC),從而大大縮小其體積,具有可編程型和實現(xiàn)方案容易改動的特點,有利于產(chǎn)品的研制和后期升級。
CPLD7128大約有128個觸發(fā)器,程序中AB兩相計數(shù)器共用了19+19=38個,控制部分用了4個,還剩下了大約128-42=86個(其他模塊還有少量的占用)。 CPLD7128的計數(shù)頻率最高可175.4MHz,若提高標(biāo)頻信號的頻率為175 MHz,同時增加計數(shù)器的長度,則測相精度從理論上講可以達(dá)到0.04度。
采用CPLD配合單片機的設(shè)計方案,具有造價較低、速度高、精度高的優(yōu)點,并且可以通過軟件下載而達(dá)到儀器硬件升級的目的。
來源:大力士1次