新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 用單片機實現數字相位變換器的設計方法

        用單片機實現數字相位變換器的設計方法

        作者: 時間:2012-03-23 來源:網絡 收藏

        摘 要: 介紹了用(又稱脈沖調相器)的一種。主要描述了的工作原理,基于AT89C2051的硬件電路的工作原理以及軟件的基本思想和程序

        本文引用地址:http://www.104case.com/article/171791.htm

        關鍵詞: 脈沖調相 AT89C2051

        數字相位變換器又稱脈沖調相器,是鑒相型位置伺服系統中的主要控制線路。它的作用是將脈沖信號轉換為相位變化信號。在傳統的系統設計中,脈沖調相器是通過純硬件線路的,線路復雜、設計難度大、調試難度也較大。作者在旋轉變壓器鑒相型位置檢測系統中設計脈沖調相器時,改變傳統的純硬件設計,采用單片機脈沖調相,使硬件設計工作大大簡化,易于實現,且電路調試簡便。

        1 脈沖調相器的工作原理

        用一個頻率為fcp的時鐘脈沖去觸發一個容量為M的計數器時,如用四位二進制計數器,其容量為16,那么在計數器的最后一級輸出端可獲得一個頻率為1/16fcp的方波信號。如果在時鐘脈沖觸發計數器的過程中,向計數器加入一個額外的脈沖,則由于計數器提前完成16個數的計數任務,而使得最后一級的輸出提前翻轉,從而使計數器的輸出產生了一個正的相移Δθ,如圖1(a)所示。同理,在時鐘脈沖觸發計數器的過程中,如果扣除一個脈沖,則由于計數器推遲完成16個數的計數任務而使最后一級的輸出延時翻轉,從而導致其輸出產生一個負的相移Δθ,如圖1(b)。

        Δθ與計數器容量有關,即Δθ=360°/M。如果在時鐘脈沖觸發計數器的過程中,向計數器加入或扣除的不止是一個脈沖,而是N個脈沖,則計數器輸出相移θ=NΔθ。

        在上述旋轉變壓器鑒相型位置檢測系統中,要求脈沖調相器輸出400Hz的調相信號。一個脈沖產生的相移為Δθ=1.8°,則計數器的容量應為200,觸發脈沖的頻率應為80kHz。

        2 硬件電路

        硬件電路如圖2所示。

        2.1 電路實現的功能

        (1)產生兩個頻率為80kHz的異步時鐘脈沖信號FA和FB;

        (2)在時鐘脈沖FA的反相信號作為計數脈沖觸發容量為200的計數器過程中,控制FB的反相信號插入計數脈沖,使計數器輸出信號相位前移;或阻塞進入計數器,即扣除脈沖,使計數器輸出信號相位后移。

        2.2 工作原理

        頻率為160kHz的時鐘脈沖源CP160K經二分頻器U1A分頻后產生兩個頻率為80kHz的方波信號Q和。Q和再分別與CP160K作與運算,由門U3A和U4A分別輸出獲得兩個頻率為80kHz的異步脈沖信號和FB,波形如圖3所示。

        無調相指令時,89C2051單片機將輸出位P1.2和P1.3均置成0。此時門U5A被打開,門U3B被封鎖并輸出1,打開門U4B,計數脈沖系列通過U4B觸發容量為100的計數器U6計數,在二分頻器U1B的第9腳輸出400Hz方波信號。當單片機接收到正調相指令時,將P1.2置為0,P1.3置為1,門U5A打開,通過門U5A,此時U3B也打開,FB通過門U3B變成,并和同時進入門U4B,形成計數脈沖系列。由于FA和FB是異步信號,因此達到了在計數脈沖系列中插入脈沖的目的,使計數器U6A多計一個數,從而使二分頻器U1B輸出信號相位前移,工作波形如圖4a所示。

        當單片機接收到負調相指令時,將P1.2置為1,P1.3置為0。此時門U5A被封鎖并輸出1,時鐘脈沖被阻塞,同時門U3B被封鎖并輸出1,時鐘脈沖FB也被阻塞,達到了在計數脈沖系列中減去脈沖的目的,使計數器U6A少計一個數,從而使U1B輸出信號相位后移,波形如圖4b所示。

        3 軟件設計

        程序設計的主要思路是:執行正方向調相時,根據給定的脈沖數(假設脈沖數為N),控制P1.3的狀態,實現插入N個的操作,參見圖4(a);執行負方向調相時,根據給定的脈沖數N,控制P1.2的狀態,實現阻塞N個的操作,參見圖4b 。程序框圖如圖5所示,程序清單見程序1和程序2,其中寄存器B中存放給定脈沖數N。

        程序1:正方向調相程序
        MA6: MOV A,B
        JZ MA4
        MA7: JB P1.6 $
        JNB P1.6 $
        NOP
        SETB P1.3
        JB P3.1 $
        JNB P3.1 $
        CLR P1.3
        DJNZ B MA7
        MA4 RET
        程序2: 負方向調相程序

        MA8: MOV A, B
        JZ MA9
        MA10: JB P1.6 $
        JNB P1.6 $
        NOP
        SETB P1.2
        JB P1.6 $
        JNB P1.6 $
        CLR P1.2
        DJNZ B MA10
        MA9 RET
        通過該系統的設計,體會到在一些復雜數字電路的設計中,如果處理速度允許,采用類似AT89C2051的低價位單片機來實現其中的部分硬件電路功能,可降低設計難度、縮短研制時間、提高設計效率。隨著微機處理速度的不斷提高,這種方法會獲得更廣泛的應用。

        參考文獻
        1 王潤孝,秦現生. 機床數控原理與系統. 西安:西北工業大學出版社,1997
        2 電子工程手冊編委會.中外集成電路簡明速查手冊.北京:電子工業出版社,1993
        3 張友德,趙志英,涂時亮. 單片微型機原理、應用與實驗. 上海:復旦大學出版社,1992

        分頻器相關文章:分頻器原理
        塵埃粒子計數器相關文章:塵埃粒子計數器原理
        脈沖點火器相關文章:脈沖點火器原理
        三相異步電動機相關文章:三相異步電動機原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 柳河县| 东方市| 荣成市| 贵定县| 方城县| 辽阳市| 翁源县| 清原| 库伦旗| 黄石市| 离岛区| 法库县| 栖霞市| 壤塘县| 汝城县| 城固县| 库车县| 宽城| 沾益县| 荔波县| 金川县| 桃源县| 威海市| 巴彦淖尔市| 新兴县| 黔江区| 绍兴县| 怀柔区| 临泽县| 东台市| 中西区| 舒兰市| 大方县| 竹北市| 寿光市| 兰考县| 大渡口区| 临夏县| 镇宁| 大名县| 凌海市|