MXT5611:高精度可配置定時電路(下)
本電路的時基校準方法是通過外部端口輸入標準512ms時間長度,以振蕩器輸出頻率對512ms時間進行采樣計數,得出一個計數值。然后把該計數值除以512,得到商值和余數。商值做為1ms時鐘的基本長度,然后通過判斷再次基本長度上增加或者不增加1個計數脈沖來得到最終的1ms時鐘信號,這樣每一個1ms輸出時鐘最大誤差為1T(硅振蕩器輸出時鐘周期),而512ms時間最大誤差也為1T。上述判斷過程以512位周期,即每一個512ms對商和余數做同樣的處理。
本文引用地址:http://www.104case.com/article/97041.htm那么,在不考慮溫度等條件的情況下,以該方案得到的時鐘進行Nms(N=512X+Y,X=0,1,2,3,……;0≤Y≤511)時間長度定時,最大誤差為(X+Y/4)·T。我們通過分析,可以得出以下幾句數據:
438s時間長度定時誤差為103T(T為內建振蕩器輸出時鐘周期,當設計值為1us時,此時的定時精度約為2ppm)。
82m時間長度定時誤差為104T(T為內建振蕩器輸出時鐘周期,當設計值為1us時,此時的定時精度約為2ppm)。
142h時間長度定時誤差為106T(T為內建振蕩器輸出時鐘周期,當設計值為1us時,此時的定時精度約為2ppm)。
在不考慮硅振蕩器的溫度特性條件下,利用本方法產生時鐘進行的定時精度為2ppm,可以等同于壓控制式晶體振蕩器頻率精度的10-6~10-5量級。
本電路給出的定時校正方法主要是用以解決定時過程中因外部環境所引起的定時偏差,或者解決因控制需要而改變定時時間長度的問題。電路在定時過程中,接受外部信號,對定時過程進行實時校正。
圖4為定時器的結構示意圖,以減計數器為核心,同時接受定時數據和修正數據。定時數據做為減計數器的定時起點,而修正數據主要是用來對進入定時器的定時時鐘進行調整。定時器的修正功能模塊可以保證,在任何一時刻,處理一幀數據,緩存一幀數據,讓進入修正模塊處理的數據完成后,緩存器中的數據立刻進入修正模塊,而修正總線上的數據進入緩存器。
修正方法是根據外部修正數據的符號位進行增減判斷,如果是增長定時過程N個時鐘周期,則,在對定時時鐘進行N個時鐘周期的上升沿磨平處理;如果是縮短N個時鐘周期,則在N個時鐘周期內,定時器進入雙沿觸發定時過程。
圖5為定時修正波形圖,從ADJUST端口輸入具體修正時間,圖中第一幀為定時增長7個時鐘周期,第二幀為定時縮短7個時鐘周期。CLKIN為定時時鐘,CLKOUT為修正后時鐘。T0counter[15:0]為定時器的數據。
功耗考慮
根據電路的工作狀態,可以把電路分為配置工作狀態和定時狀態。任意工作狀態下,并非所有的模塊都處于工作狀態下。在設計模塊間接口信號時,同時設計模塊電源控制信號。在進行配置工作狀態下,通信模塊和儲存單元處于工作狀態,而整個定時處理工作模塊處于等待狀態。在這段時間,定時處理工作模塊一直處于清零狀態,而且對定時器時鐘信號進行鎖定不工作。當處于定時狀態下,大部分的通信模塊及存儲單元不會發生數據變化,此時可以關斷EEPROM的參考電流源來降低電路功耗。
結論
通過本文的配置方案和精度方案,可以保證電路定時精度在2ppm左右。采用菊花鏈式配置定時器結構,可以通過簡單的配置得到多種定時應用,滿足多種控制要求。
評論