<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 低頻數字相位(頻率)測量的CPLD實(shí)現

低頻數字相位(頻率)測量的CPLD實(shí)現

作者:陳明杰 時(shí)間:2008-05-30 來(lái)源:微計算機信息 收藏

  在技術(shù)中,測頻測相是最基本的測量之一。儀是電子領(lǐng)域的常用儀器,當前測頻測相主要是運用等精度測頻、PLL鎖相環(huán)測相的方法。研究發(fā)現,等精度測頻法具有在整個(gè)測頻范圍內保持恒定的高精度的特點(diǎn),但是該原理不能用于測量相位。PLL鎖相環(huán)測相可以實(shí)現等精度測相,但電路調試較復雜。因此,選擇直接測相法作為低頻測相儀的測試方法[1、2、3、4]。

本文引用地址:http://dyxdggzs.com/article/83378.htm

  設計的低頻測相儀,滿(mǎn)足以下的技術(shù)指標:a .頻率20-20KHz;b .輸入阻抗≥100KΩ;c.絕對誤差≤1度; d.具有頻率測量和數字顯示功能;e.顯示相位讀數為0度--359度。

  1系統工作原理

        

                                圖1 測頻測相系統原理框圖

  系統工作原理如圖1所示,系統運行時(shí),首先由通過(guò)clr控制線(xiàn)送清零信號,啟動(dòng)的計數模塊,在設計的內部控制模塊作用下,記錄AB兩相的相差間隔時(shí)間內的標頻個(gè)數(測相計數器),同時(shí)也記錄下A相一個(gè)周期內的標頻個(gè)數(測頻計數器),此后測頻和測相計數器處于保持狀態(tài),同時(shí)送出right信號表明完成測頻測相的計數,可以讀數據。

  的數據采用獨立接口方式,這樣設計比較靈活,可以不受單片機總線(xiàn)時(shí)序的影響。由ADD[0..2]進(jìn)行控制,分別讀取測頻測相計數器中的19位數據,并存于單片機中,進(jìn)行后續的計算。單片機完成數據的運算后,將所得數據轉化為10進(jìn)制,送到顯示板進(jìn)行顯示。顯示板共有8個(gè)數碼管,其中,前5位用于顯示頻率(最大為20000Hz),后三位顯示相位(最大為359度)。

  在CPLD設計中,根據計算,選取測頻、測相計數器長(cháng)度均為19位,在標頻信號為10MHz時(shí),精度小于1度。若只用89C51,其自帶的計數器只有16位,且不易同時(shí)實(shí)現測頻測相的功能。故選用CPLD實(shí)現其測頻測相的計數功能,并設計了獨立的數據接口,以便與單片機交換數據[5、6]。

  2 CPLD測頻測相模塊工作原理

       

                         圖2  CPLD測頻測相內部原理框圖

  如圖2所示,利用VHDL語(yǔ)言設計了完成測頻測相計數功能的數字芯片。整個(gè)芯片由測頻計數器、測相計數器、控制部分、數據選擇器和測試用分頻器5個(gè)部分組成。

  控制部分主要是利用狀態(tài)機原理,設計了檢測一個(gè)測頻周期的控制電路。在clr信號為高時(shí),啟動(dòng)測頻測相計數器,此時(shí),狀態(tài)機處于計數工作狀態(tài);當A相第一個(gè)上升沿到來(lái)時(shí),測頻測相計數器同時(shí)啟動(dòng),開(kāi)始計數;當B相第一個(gè)上升沿到來(lái)時(shí),控制部分控制測相計數器停止計數;當A相第二個(gè)上升沿到來(lái)時(shí),控制部分控制測頻計數器停止計數,同時(shí)送出計數完成信號right;此后測頻測相計數器處于保持狀態(tài)。

  單片機讀數時(shí),通過(guò)設置add[0..2]數據選擇器的地址選通端,依次送出測頻計數器中的19位數據,8位一組,從xcout[0..7]端口送出,單片機需分3次讀完測頻計數器中的19位數據,數據選通端設置為001,010,011;同理,單片機也需分3次讀完測相計數器中的19位數據,數據選通端設置為100,101,110。

  為了測試方便,設計了測試用分頻器,該分頻器系數可以在VHDL源程序中改動(dòng),如為1000,則將測試時(shí)用的標頻信號10M進(jìn)行1000分頻,分頻后頻率為10KHz,正好處于20-20KHz范圍內。

  3 單片機程序

  如圖3所示,系統上電后,首先由單片機送出清零信號,啟動(dòng)CPLD中的測頻測相計數器,CPLD進(jìn)行測頻測相的計數,單片機查詢(xún)到right=1,則表明計數器完成計數工作,開(kāi)始讀取CPLD中的數據。否則,就等待。單片機通過(guò)控制CPLD中數據選擇器的地址選通端add[0..7],分別讀取測頻、測相計數器的19位數據,并進(jìn)行相應的計算。計算中首先調用頻率計算子程序,計算出相應的頻率,然后再調用相位計算子程序,計算出相應的相位,再調用進(jìn)制轉換程序,將16進(jìn)制的數轉換成10進(jìn)制,最后調用顯示子程需,在8位數碼管中顯示出測量的頻率、相位值。由于篇幅關(guān)系,此處不再詳述具體程序和顯示部分的設計。

        

分頻器相關(guān)文章:分頻器原理

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>