專利名稱:一種基于單片機的低頻信號的數字倍頻方法
技術領域:
本發明涉及一種信號倍頻方法,特別是一種基于單片機的低頻信號的數字倍頻方法。
背景技術:
信號倍頻技術在信號跟蹤、還原及處理方面都有重要的應用,目前常見的信號倍頻技術是采用鎖相倍頻電路來達到信號倍頻的目的。如圖I所示為鎖相倍頻電路框圖,頻率為A的輸入信號Ui經鑒相器I、環路低通濾波器2、壓控振蕩器3,輸出頻率為f。的輸出信號u。,該信號經過f;/N分頻器4再反饋到輸入端,從而實現倍頻的目的。常見的鎖相倍頻電路一般采用集成鎖相環芯片外接電阻、電容元件構成,其中電阻、電容等元器件在外部環境變化后可能改變其性能,進而影響整個電路的性能,可靠性相 對較低,而且模擬鎖相環特別在低頻時鎖相時間相對較長,這會影響以它產生的波形來作為控制信號的電路的響應時間,在低于IHz的情況下還有可能會產生無法鎖相的情況。
發明內容
本發明的目的,就是為了解決上述問題而提供了一種基于單片機的低頻信號的數字倍頻方法,具有可靠性高、工作性能穩定、倍頻速度快、使用方便、硬件結構簡單等優點。本發明的目的是這樣實現的本發明的一種基于單片機的低頻信號的數字倍頻方法,所述單片機包括外中斷模塊、定時器、定時器寄存器、脈寬調制模塊、脈寬調制占空比寄存器和脈寬調制周期寄存器,其特征在于,包括以下步驟步驟101 :設置單片機的外中斷模塊為信號上升沿或者下降沿觸發并使能外中斷,將定時器溢出次數n置零,將占空比數值t輸入脈寬調制占空比寄存器中,輸入溢出次數的最大設定值b,輸入倍頻數N ;步驟102 :等待中斷產生,若在等待中斷產生的過程中頻率為&的待倍頻信號的上升沿或者下降沿到達單片機的外部觸發中斷引腳時,觸發單片機的外中斷模塊則進入步驟103,若在等待中斷產生的過程中定時器溢出時,觸發定時器溢出中斷則進入步驟105 ;步驟103 :判斷是否第一次觸發外中斷模塊,若是,進入步驟104,若不是,則進入步驟107 ;步驟104 :將定時器寄存器置零,啟動定時器開始計數,然后返回步驟102 ;步驟105:將定時器溢出次數n加一并存儲,判斷當前溢出次數n+1是否超出最大設定值b,若不是,進入步驟106,若是,則進入步驟110 ;步驟106 :定時器寄存器自動歸零,定時器重新開始計數,然后返回步驟102 ;步驟107 :讀取出定時器寄存器的當前計數值c和定時器的當前溢出次數n,計算出待倍頻信號的周期T :T = (nX2m+c) Xa
其中,m為定時器寄存器的位寬,a為所述單片機的一個指令周期;對定時器寄存器置零,定時器重新開始計數;定時器溢出次數n置零;進入步驟108;步驟108 :將測得的待倍頻信號的周期T作為基準周期,計算輸出的倍頻信號周期T'T' = T/N
其中,N為倍頻數;將計算出來的T'值寫入脈寬調制周期寄存器中,進入步驟109;步驟109 :脈寬調制模塊根據脈寬調制周期寄存器中的倍頻信號周期T'和占空比數值t,通過脈寬調制模塊輸出引腳輸出倍頻信號,并返回步驟102 ;步驟110 :停止定時器及脈寬調制模塊,停止倍頻信號輸出,定時器溢出次數n置零,定時器寄存器置零。上述的一種基于單片機的低頻信號的數字倍頻方法,其中,在進入所述步驟101之前,需將輸出待倍頻信號裝置與單片機的外部觸發中斷引腳相連,倍頻信號接收裝置與單片機的脈寬調制模塊輸出引腳相連。上述的一種基于單片機的低頻信號的數字倍頻方法,其中,在步驟107中,所述定時器寄存器的位寬m為16位。本發明與現有技術相比具有以下優點(I)本發明方法具有一般模擬鎖相環的倍頻功能;(2)本發明方法除具有信號倍頻的功能外,還具有使輸出倍頻信號具有不同占空比的功能;(3)本發明方法適合于替代在低頻中使用的模擬鎖相環倍頻電路,以及要求快速信號鎖定或者極低頻的場合;(4)本發明方法具有可靠性高、工作性能穩定、倍頻速度快、使用方便、硬件結構簡單等優點。
圖I是鎖相倍頻電路框圖;圖2是本發明方法所采用的基本電路結構。
具體實施例方式下面將結合實施例和附圖對本發明作進一步說明。本實施例中采用Microchip公司生產的PIC18F1330單片機,該芯片內置時鐘倍頻電路,能提供4倍于外部晶振的頻率,最高工作頻率可達工作頻率40MHz,指令周期為100ns,完全可以滿足頻率為0. 5 200Hz信號的倍頻要求,倍頻數可在2 200倍之間任意變化。單片機包括外中斷模塊、定時器、定時器寄存器、脈寬調制模塊、脈寬調制占空比寄存器和脈寬調制周期寄存器。如圖I所示,先將輸出待倍頻信號裝置與單片機5的外部觸發中斷引腳相連,倍頻信號接收裝置與單片機5的脈寬調制模塊輸出引腳相連,然后進行以下步驟步驟101 :設置單片機的外中斷模塊為信號上升沿或者下降沿觸發并使能外中斷,將定時器溢出次數n置零,將占空比數值t輸入脈寬調制占空比寄存器中,輸入溢出次數的最大設定值b (最大設定值b是根據待倍頻信號的最低頻率換算到對應的定時器溢出次數而得到的),輸入倍頻數N ;步驟102 :等待中斷產生,若在等待中斷產生的過程中待倍頻信號的上升沿或者下降沿到達單片機的外部觸發中斷引腳時,觸發單片機的外中斷模塊則進入步驟103,若在等待中斷產生的過程中定時器溢出時,觸發定時器溢出中斷則進入步驟105 ;步驟103 :判斷是否第一次觸發外中斷模塊,若是,進入步驟104,若不是,則進入步驟107 ;
步驟104 :將定時器寄存器置零,啟動定時器開始計數,然后返回步驟102 ;步驟105 :將定時器溢出次數n加一并存儲,判斷當前溢出次數n+1是否超出最大設定值b,若不是,進入步驟106,若是,則認為外部沒有待倍頻信號輸入,進入步驟110 ;步驟106 :定時器寄存器自動歸零,定時器重新開始計數,然后返回步驟102 ;步驟107 :讀取出定時器寄存器的當前計數值c和定時器的當前溢出次數n,計算出待倍頻信號的周期T :T = (nX2m+c) Xa其中,定時器寄存器的位寬m為16位,即m= 16,a為PIC18F1330單片機的一個指令周期;對定時器寄存器置零,定時器重新開始計數;定時器溢出次數n置零;進入步驟108 ;步驟108 :將測得的待倍頻信號的周期T作為基準周期,計算輸出的倍頻信號周期T'
T' = T/N其中,N為倍頻數;將計算出來的T'值寫入脈寬調制周期寄存器中,進入步驟109;步驟109 :脈寬調制模塊根據脈寬調制周期寄存器中的倍頻信號周期T'和占空比數值t,通過脈寬調制模塊輸出引腳輸出頻率為f。的倍頻信號,并返回步驟102 ;步驟110 :停止定時器及脈寬調制模塊,停止倍頻信號輸出,定時器溢出次數n置零,定時器寄存器置零。以上實施例僅供說明本發明之用,而非對本發明的限制,有關技術領域的技術人員,在不脫離本發明的精神和范圍的情況下,還可以作出各種變換或變型,因此所有等同的 技術方案也應該屬于本發明的范疇,應由各權利要求所限定。
權利要求
1.一種基于單片機的低頻信號的數字倍頻方法,所述單片機包括外中斷模塊、定時器、定時器寄存器、脈寬調制模塊、脈寬調制占空比寄存器和脈寬調制周期寄存器,其特征在于,包括以下步驟 步驟101 :設置單片機的外中斷模塊為信號上升沿或者下降沿觸發并使能外中斷,將定時器溢出次數n置零,將占空比數值t輸入脈寬調制占空比寄存器中,輸入溢出次數的最大設定值b,輸入倍頻數N ; 步驟102 :等待中斷產生,若在等待中斷產生的過程中待倍頻信號的上升沿或者下降沿到達單片機的外部觸發中斷引腳時,觸發單片機的外中斷模塊則進入步驟103,若在等待中斷產生的過程中定時器溢出時,觸發定時器溢出中斷則進入步驟105 ; 步驟103 :判斷是否第一次觸發外中斷模塊,若是,進入步驟104,若不是,則進入步驟107 ; 步驟104 :將定時器寄存器置零,啟動定時器開始計數,然后返回步驟102 ; 步驟105 :將定時器溢出次數n加一并存儲,判斷當前溢出次數n+1是否超出最大設定值b,若不是,進入步驟106,若是,則進入步驟110 ; 步驟106 :定時器寄存器自動歸零,定時器重新開始計數,然后返回步驟102 ; 步驟107 :讀取出定時器寄存器的當前計數值c和定時器的當前溢出次數n,計算出待倍頻信號的周期T :T = (nX2m+c) Xa 其中,m為定時器寄存器的位寬,a為所述單片機的一個指令周期; 對定時器寄存器置零,定時器重新開始計數; 定時器溢出次數n置零; 進入步驟108 ; 步驟108 :將測得的待倍頻信號的周期T作為基準周期,計算輸出的倍頻信號周期T' T' = T/N 其中,N為倍頻數; 將計算出來的T'值寫入脈寬調制周期寄存器中,進入步驟109 ; 步驟109 :脈寬調制模塊根據脈寬調制周期寄存器中的倍頻信號周期T'和占空比數值t,通過脈寬調制模塊輸出引腳輸出倍頻信號,并返回步驟102 ; 步驟110 :停止定時器及脈寬調制模塊,停止倍頻信號輸出,定時器溢出次數n置零,定時器寄存器置零。
2.如權利要求I所述的一種基于單片機的低頻信號的數字倍頻方法,其特征在于,在進入所述步驟101之前,需將輸出待倍頻信號裝置與單片機的外部觸發中斷引腳相連,倍頻信號接收裝置與單片機的脈寬調制模塊輸出引腳相連。
3.如權利要求I所述的一種基于單片機的低頻信號的數字倍頻方法,其特征在于,在步驟107中,所述定時器寄存器的位寬m為16位。
全文摘要
本發明公開了一種基于單片機的低頻信號的數字倍頻方法,利用了單片機的外中斷功能和定時器來檢測待倍頻信號的周期,再通過單片機的脈寬調制模塊輸出倍頻信號。本發明方法具有一般模擬鎖相環的倍頻功能;除具有信號倍頻的功能外,還具有使輸出倍頻信號具有不同占空比的功能;本發明方法適合于替代在低頻中使用的模擬鎖相環倍頻電路,以及要求快速信號鎖定或者極低頻的場合;具有可靠性高、工作性能穩定、倍頻速度快、使用方便、硬件結構簡單等優點。
文檔編號H03L7/16GK102710258SQ201210181540
公開日2012年10月3日 申請日期2012年6月5日 優先權日2012年6月5日
發明者方翔, 楊玨, 林曉娟, 田社平, 黃建強 申請人:上海辛克試驗機有限公司