Chip123 科技應用創新平台

標題: 如何讓兩個速度不一的訊號同步 [打印本頁]

作者: toxichucky    時間: 2007-12-19 10:15 AM
標題: 如何讓兩個速度不一的訊號同步
Hi,
# u1 e! t7 L: e: J' R" B我今天有兩個訊號,頻率分別為5KHz和100Hz,我得到兩個訊號後,需要作一些運算,但是由於速度不一,故可能會發生運算錯誤。: _3 c; E) d9 U. Y
請問一下有沒有什麼辦法可以使訊號達到同步?/ U: @2 k' X. z* F6 f) F" z, ?( X' a
我曾經想過又DFF,但是如果要用要加很多級!
9 x7 l# f) y7 T6 t* z5 V- D. d有沒有人可以提供相關的Verilog code,供參考。2 w% A* n5 K- R
Best Regards.
作者: masonchung    時間: 2007-12-19 11:26 PM
把 5KHZ 來除頻 產生100HZ 訊號不就同步了嗎
作者: kolong    時間: 2007-12-20 03:35 PM
需要考慮duty多少嗎...% D6 ~  M: |- c) G" U. H
5KHz跟100Hz是否有相對應的data要latch...??
作者: toxichucky    時間: 2008-1-1 04:18 PM
我可能問題問的不好,在此畫個簡圖,希望可以有高手給點意見- t, t' ~7 A" `) D3 r+ F
[attach]2448[/attach]# e' B3 W& i1 t6 k
4 [. y) L, y. T
上面是速度較慢的訊號,下面是速度較快的訊號。
9 @4 D2 w$ v. C' ^4 q我希望可以bit對bit作相加。
' F* W$ b* Z/ F* @( q1 r$ |; p/ v: W$ b

1 x+ u2 J# q( v1 oBest Regards.
作者: chienping    時間: 2008-1-2 11:24 AM
數位同步可考慮用FIFO來做到8 F4 D- h- ]: j( |, Y/ R
FIFO: First In First Out Memory  Y3 W4 k! E9 `& w5 l$ S
也可以說是要做到clock domain crossing
* _. r' V' k- H7 t
6 R8 Z* B2 i; U8 }這個FIFO的設計要很小心,有很多時候會做出似是而非的電路,
: V* k8 {& I9 m在testing的部份,也要注意,因為有很多corner case測不到,% Q( t0 |+ B% G
FIFO和串起來的DFF是不同的,因為它要能夠告知傳送端FIFO內部的資料是滿的或是空的,) i- L2 q' F0 ^, ^9 Q* C/ ?
這看似容易,卻因為不同的clock domain而使得這個訊號會被誤傳,或是產生所謂的metastable status,: O$ C5 i) N) g% Q, x8 }
這個代表空的或是滿的的訊號的產生要用到非同步的比較器,7 u* d3 p5 g( }5 [2 z8 e) D
有一個建議是用gray code來做內部的counter,也有別的做法,9 }) G: i, S2 \( s( R, e5 }. m  }& _
有不清楚可以再寫訊息問我
作者: toxichucky    時間: 2008-1-9 11:07 AM
chienping您好,6 p+ ?1 }4 D. |" y! G
請問一下您說用gray code來做內部的counter,要如何實現呢?0 \3 ~/ f" t& s% D3 @/ s$ J( `
再不考慮面積或其他因素下,有沒有很簡單就可以實現的方式呢?8 y/ J& D* C; ?2 K8 Z( M( v2 j
Best Regards.




歡迎光臨 Chip123 科技應用創新平台 (http://www.chip123.com/) Powered by Discuz! X3.2