[發明專利]一種基于FPGA實現的分數分頻方法以及分數分頻器有效
| 申請號: | 200910108891.1 | 申請日: | 2009-08-11 |
| 公開(公告)號: | CN101997540A | 公開(公告)日: | 2011-03-30 |
| 發明(設計)人: | 李永利;凡峻;張科孟 | 申請(專利權)人: | 深圳市英威騰電氣股份有限公司 |
| 主分類號: | H03K23/68 | 分類號: | H03K23/68 |
| 代理公司: | 深圳市威世博知識產權代理事務所(普通合伙) 44280 | 代理人: | 何青瓦;李慶波 |
| 地址: | 518055 廣東省深*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 fpga 實現 分數 分頻 方法 以及 分頻器 | ||
技術領域
本發明涉及分頻方法技術領域,更具體的說是涉及一種基于FPGA(現場可編程門陣列)實現的分數分頻方法以及基于FPGA實現的分數分頻器。
背景技術
目前,分頻技術應用之廣,幾乎涉及到了所有的電子領域。在現代控制系統中,也有著廣泛的應用,例如在伺服驅動器中,需要對反饋脈沖進行分數的分頻輸出,供其它的驅動器或者控制器使用。伺服驅動器的反饋脈沖一般是兩路正交相位的脈沖,在分頻之后,兩路脈沖在相位上還要保持正交。在數控系統中,也需要產生輸出任意頻率的兩路正交脈沖。
目前現有的分頻技術中,基于FPGA實現的分頻器主要有整數分頻器和小數分頻器,而分數分頻器較少論及。分數可以表示任意有理數,所以分數分頻也就完全包括了整數分頻和小數分頻。
目前,實現分數分頻要把分頻數分為整數和小數,其結構如圖1所示。但是整數分頻與小數分頻的實現技術方案并不一樣。整數分頻一般采用計數器來實現,而且整數分頻也要分為偶數分頻和奇數分頻。如進行N倍偶數分頻,那么可以通過由待分頻的時鐘觸發計數器計數,當計數器從0計數到N/2-1時,輸出時鐘進行翻轉,并給計數器一個復位信號,使得下一個時鐘從零開始計數。以此循環下去,就可以實現任意的偶數分頻。當進行奇數倍N分頻時,可以通過在輸入時鐘的上升沿進行計數,當從0計數到(N-1)/2時,輸出時鐘進行翻轉。利用同樣的方法在輸入時鐘的下降沿產生另一路輸出時鐘,然后把這兩路產生的時鐘進行相或運算,就可以實現任意的奇數分頻。
小數分頻一般采用雙模前置方法來實現。雙模前置方法其原理就是在若干個分頻周期中采取某種方法使某幾個周期多計或少計一個數,從而在整個計數周期總體平均意義上獲得一個小數分頻比。這種方法輸出的分頻時鐘相位抖動較大,而且輸出時鐘占空比不均勻。而且這種方法只是理論上可以獲得任意有理小數分頻,實際上當小數位較多時,會占用非常多的FPGA資源。所以當小數位數非常多時,基本上不可實現。
如上所述,如果按照現有的分頻技術實現一個分數分頻器,必須對分頻數進行區分,然后用不同的技術方案完成。由此可以看出目前分頻技術方案構成的分數分頻器的主要缺點有:一是整數分頻與小數分頻方案不統一,實現復雜。二是這種分頻器輸出時鐘脈沖占空比不均勻,輸出時鐘相位抖動較大。三是占用FPGA資源量較多,甚至當小數位數多的時候,基本不可以實現。
發明內容
鑒于上述現有技術的不足之處,本發明的目的在于提供一種基于FPGA實現的分數分頻方法以及基于FPGA實現的分數分頻器,其結構簡單、噪聲小、占空比均勻、時鐘相位抖動小、占用FPGA資源量少。
為了達到上述目的,本發明采取了以下技術方案:
一種基于FPGA實現的分數分頻方法,其包括步驟:
a)獲取輸入時鐘信號;
b)偵測所述時鐘信號的頻率值;
c)根據輸出時鐘頻率要求的最小分辨率為單位確定輸入時鐘頻率值f1和輸出分頻時鐘頻率值f2。
其中,所述步驟c)之后進一步包括誤差判斷更新步驟:
d)在上電初始化時、在輸入時鐘的頻率發生變化時或者需要分頻之后的輸出時鐘頻率有變化時,根據f1和f2判斷初始化的誤差,所述判斷誤差的初始化公式為err=2×f2-f1,其中err為初始化誤差;
e)判斷誤差err是否大于0,如果大于0,執行步驟f),如果小于0,執行步驟g);
f)當誤差err大于0,輸出時鐘取反,誤差err更新為err(當前值)=err(上個時鐘周期更新值)-2xf1+f2,然后執行步驟e);
g)當誤差err小于0,誤差err更新為err(當前值)=err(上個時鐘周期更新值)+4xf2,然后執行步驟e)。
其中,所述步驟c),輸入時鐘的頻率值f1和輸出時鐘的頻率值f2為正整數,而且輸出時鐘的頻率值f2小于輸入時鐘的頻率值f1。
其中,在每個輸入時鐘信號的上升沿相當于沿著X軸方向前進一個坐標點,每當輸入時鐘信號在X軸前進一個坐標點時,則進行所述判斷誤差更新步驟,根據所述判斷誤差的正負以決定是否沿著Y軸方向前進一個坐標點,每當沿著Y軸方向前進一個坐標點都要產生一個輸出時鐘信號的沿,其中,輸入時鐘頻率值是X軸坐標點,分頻輸出時鐘頻率值是Y軸坐標點。
一種基于FPGA實現的分數分頻器,其包括:
時鐘信號獲取單元,用于獲取輸入時鐘信號;
頻率值偵測單元,用于偵測所述時鐘信號的頻率值;
頻率值確定單元,用于:根據輸出時鐘頻率要求的最小分辨率為單位確定輸入時鐘頻率值f1和輸出分頻時鐘頻率值f2。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市英威騰電氣股份有限公司,未經深圳市英威騰電氣股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910108891.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:通信設備、通信系統及用于通信的方法
- 下一篇:差壓變送器精度現場檢測方法





