時序就是為了維持?jǐn)?shù)據(jù)信號與其參考時鐘信號之間的相對位置,保證在時鐘上升沿或者下降沿附近的數(shù)據(jù)能夠維持穩(wěn)定,這樣數(shù)據(jù)就能被有效的讀取。怎么讓這些時序關(guān)系在系統(tǒng)運(yùn)行中有效的實(shí)現(xiàn)呢?PCB設(shè)計(jì)中,是通過定義時序參數(shù)來實(shí)現(xiàn)的,下面就來看看這些時序參數(shù)的具體含義。
這里作者按照自己的理解把時序參數(shù)分成了三類,一類是用來描述驅(qū)動端的,一類是用來描述接收端的,還有一類是用來描述傳輸通道的。對于驅(qū)動端,描述它的時序參數(shù)是Tco,Tco是指時鐘觸發(fā)開始到有效數(shù)據(jù)輸出的器件內(nèi)部所有延時的總和。這個參數(shù)描述了最開始信號從芯片出來的時候,時鐘與數(shù)據(jù)之間的一個位置關(guān)系。對于源同步時序,不是直接用Tco來定義的,而是使用Tvb和Tva,如下圖1
圖1
圖1中,Tvb指的是在驅(qū)動端,時鐘上升沿之前(before)數(shù)據(jù)的有效時間;Tva指的是時鐘上升沿之后,數(shù)據(jù)的有效時間。這些參數(shù)在驅(qū)動芯片手冊上可以查到。
對于接收端,主要是建立時間和保持時間,這兩個時序參數(shù)是時序分析中提到最多的兩個參數(shù),如下圖2所示:
圖2
看圖2,有沒有覺得和圖1很相似呢,它們都是以時鐘信號為參考。對于接收端來說,數(shù)據(jù)在時鐘信號上升沿之前的有效時間稱為建立時間,在時鐘上升沿之后的叫保持時間。和驅(qū)動端對比,它們的叫法不一樣罷了,定義方式都是相似的。時序分析的最終目的就是要保證數(shù)據(jù)被接收端有效的讀取,所以我們在評估一個系統(tǒng)的時序是否滿足要求,是通過評估建立時間和保持時間的裕量來實(shí)現(xiàn)的。
對于傳輸通道來說,是通過飛行時間來描述的。飛行時間包括最大飛行時間和最小飛行時間。最大最小飛行時間和傳輸線的長度有關(guān),也和負(fù)載的輕重有關(guān),負(fù)載較重會導(dǎo)致上升時間變緩,定義方式如下圖3
在理解這些時序參數(shù)的含義之后,就可以進(jìn)行時序裕量的計(jì)算了。這里以數(shù)據(jù)信號為例進(jìn)行說明,我們知道,DDR總線中,數(shù)據(jù)信號是參考DQS的,在寫方向:
Data信號從驅(qū)動到接收總的延時為:Tdata=Tco_data+Tflt_data (1)
DQS信號從驅(qū)動到接收總的延時為:Tstrobe=Tco_strobe+Tflt_strobe+Tdelay (2)
式中:Tco和Tflt分別代表數(shù)據(jù)、選通信號在器件的內(nèi)部延遲和信號傳輸?shù)娘w行時間;Tdelay是指數(shù)據(jù)信號和選通信號之間的延遲,由系統(tǒng)內(nèi)延時器件決定。建立時序裕量的公式為:Tsetup_margin=Tstrobe-Tdata-Tsetup(3)
把式(1)和式(2)帶入得式(3)得:
Tsetup_margin=Tco_strobe+Tflt_strobe+Tdelay- (Tco_data+Tflt_data)-Tsetup(4)
式中:Tsetup表示接收數(shù)據(jù)端數(shù)據(jù)的建立時間,從器件手冊上獲?。粚?shù)據(jù)和Strobe信號在器件內(nèi)的延時差異定義為Tvb,其值從器件手冊上獲??;
Tvb=Tco_strobe+Tdelay-Tco_data (5)將PCB走線引起的延時差異,定義為Tpcb_skew:Tpcb_skew= Tflt_data- Tflt_strobe(6)將式(5)和式(6)帶入式(4),這樣可以得到一個簡單的建立時間裕量方程:
Tsetup_margin=Tvb-Tsetup- (Tflt_data(max)-Tflt_strobe(min))(7)
使用同樣的方法分析,保持時間裕量:
Thold_margin=(Tco_strobe+Tflt_strobe+Tdelay)-(Tco_data+Tflt_data)-Thold(9)
同樣定義:
Tva=Tco_strobe+Tdelay-Tco_data(10)
Tpcb_skew=Tflt_data-Tflt_strobe(11)
Thold_margin=Tva-Thold+(Tflt_data(min)-Tflt_strobe(max))(12)
綜上所述,我們可以看出,對于DDR的時序來說,影響時序裕量的關(guān)鍵因素是驅(qū)動芯片的Tva與Tvb,以及接收端的建立時間與保持時間。我們布線可以控制的只是數(shù)據(jù)與選通時鐘之間的長度差值。數(shù)據(jù)線與數(shù)據(jù)選通線長度的差值有正負(fù)之分,從(7)和(9)式可以看出,建立時間很保持時間與Tpcb_skew之間的關(guān)系,在增大建立時間的時候必然會犧牲保持時間。所以在布線的時候,數(shù)據(jù)與數(shù)據(jù)選通即DQ與同組的DQS之間應(yīng)該保持嚴(yán)格的等長,這樣可以減少Tpcb_skew,增大建立時間裕量。
時序問題是很復(fù)雜的,文中分析的情況沒有考慮Jitter與串?dāng)_。我們也很少會手動計(jì)算一個系統(tǒng)的時序關(guān)系,一般會借助軟件分析。
編輯:hfy
-
PCB設(shè)計(jì)
+關(guān)注
關(guān)注
394文章
4697瀏覽量
86081 -
Data
+關(guān)注
關(guān)注
0文章
62瀏覽量
38311
發(fā)布評論請先 登錄
相關(guān)推薦
評論