|
原帖由 markcheng 於 2008-1-15 12:33 AM 發表 7 B. J% _ S' N6 V" Q
感謝finster分享
1 a; K3 \4 F9 ]/ U9 w9 O, ?小弟我目前遇到一個跟你的第五點問題滿類似的+ A1 v' k# T: n/ g8 w \& Q2 j
我是design一個32.768k crystal osc
# V9 g- u+ _8 k5 u4 Zic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了 ... - `/ s3 Z7 ^$ ]" c
3 X& o) w- g' Q) u K: z5 E' D
& r9 w B4 s1 K, _% l不好意思,因為這一個主題己經有太多人回覆了
. x" ?7 |; M0 t- \ n3 f9 [所以也就一直沒有留意有沒有人有再提出新的問題來; Q8 H* a) x* X. B, {
我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crystal output的推力就設計的很弱,以致於輸出的clock的rise time和fall time就變得很長,導致後級counter在遇到很長的rise time和fall time時,就會被重覆trigger,故而使得原本要一秒一秒計數的計數器變快了1 g* d( r2 A( J% s: l/ x
解法就是加一個schmitter trigger,藉由schmitter trigger的hysteresis windows特點來解決過長rise time/fall time所造成的問題(我們有用hspice作過模擬,利用crystal oscillator + counter但卻沒有看到過長rise time/fall time會造成counter有多數的情況,後來,我們是在power處和crystal oscillator的output端各加一些noise,便會看到問題出現,因為過長的rise time/fall time在爬升的過程中,因為noise的緣故會導致counter在某些較大的noise處會被trigger) |
|