|
原帖由 markcheng 於 2008-1-15 12:33 AM 發表 & |+ ]; X1 I6 h }5 g4 K+ h
感謝finster分享. s% F0 F( ~* L2 A: Z# m Z, u
小弟我目前遇到一個跟你的第五點問題滿類似的
) Z3 v: R! E4 S' S2 M) Z+ ]9 w我是design一個32.768k crystal osc
1 D4 y/ {+ c `8 Cic 回來量測時發現經過digital counter的輸出會有過快的現象,也就是它會數太快,代表著也許我送給它的頻率變快了 ...
2 G- c2 F" c6 V; p- K2 Y# a, q: c6 u" i- u6 f( ^5 P
9 }& I' z. ?% }2 D0 n不好意思,因為這一個主題己經有太多人回覆了* G5 r- L% o2 b( b
所以也就一直沒有留意有沒有人有再提出新的問題來
" W; \$ K$ h$ t0 G# K! |6 T. {我們後來實驗的結果(藉由FIB),發現到當初的推論沒有錯,因為原本的規格是要作到很low power,所以32.768KHz Crystal output的推力就設計的很弱,以致於輸出的clock的rise time和fall time就變得很長,導致後級counter在遇到很長的rise time和fall time時,就會被重覆trigger,故而使得原本要一秒一秒計數的計數器變快了
6 Z- V2 d l( n" g0 `2 b解法就是加一個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) |
|