|
原帖由 markcheng 於 2008-1-15 12:33 AM 發表 : Q% L+ Q3 ^! O: @
感謝finster分享$ W) H8 L' r8 ~8 M+ O* f
小弟我目前遇到一個跟你的第五點問題滿類似的$ @ Y9 f8 y6 h4 s v9 @; p
我是design一個32.768k crystal osc
, @1 `( F, L* X. `$ m8 w* ~8 e+ iic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了 ...
, \% J& c) L( l, m; r5 T
2 z, ~/ V' a0 O# \) Q- S
2 B$ i- P/ S( q3 v* ]不好意思,因為這一個主題己經有太多人回覆了- A0 O* T% {. h4 ?
所以也就一直沒有留意有沒有人有再提出新的問題來
! p& ^) r ? C' z* U我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crystal output的推力就設計的很弱,以致於輸出的clock的rise time和fall time就變得很長,導致後級counter在遇到很長的rise time和fall time時,就會被重覆trigger,故而使得原本要一秒一秒計數的計數器變快了
& \, m5 G7 G" \3 T) D解法就是加一個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) |
|