|
原帖由 markcheng 於 2008-1-15 12:33 AM 發表 ( A: @( D6 X. [0 V, r
感謝finster分享6 y/ X/ R' x* U+ o3 K( G
小弟我目前遇到一個跟你的第五點問題滿類似的/ S( H, n, N* Q% X) E
我是design一個32.768k crystal osc8 x' R* J0 u; A
ic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了 ... ' r' a& P) j' ~- J* q: y
5 ^. N+ ?5 i$ q. w" U1 c k
& {/ r# \* v: t2 g: {不好意思,因為這一個主題己經有太多人回覆了: j) F5 k. r' W' v& R
所以也就一直沒有留意有沒有人有再提出新的問題來" ~# E. J* r, b; |, F/ x8 u0 @" Q
我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crystal output的推力就設計的很弱,以致於輸出的clock的rise time和fall time就變得很長,導致後級counter在遇到很長的rise time和fall time時,就會被重覆trigger,故而使得原本要一秒一秒計數的計數器變快了+ p) s$ R) I% R% h/ @- y
解法就是加一個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) |
|