專利名稱:用于ddr控制器中dqs延遲的相位校準方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,更具體的說是涉及一種應(yīng)用于DDR控制器中的DQS延遲的相位校準方法及裝置。
背景技術(shù):
隨著便攜式設(shè)備和移動終端產(chǎn)品的快速發(fā)展,以前應(yīng)用于PC機(Personal Computer,個人計算機)上的各種各樣的應(yīng)用也被應(yīng)用于手持終端上,并且這樣的應(yīng)用越來越多、越來越復(fù)雜,而應(yīng)用的復(fù)雜化,必然要求應(yīng)用于手持終端上的基帶處理器和應(yīng)用處理器的存儲器訪問帶寬足夠大,這樣便可以使DDR(Double Data Rate,雙倍速率同步動態(tài)隨機存儲器)控制器越來越多的應(yīng)用,使用到手持終端的基帶芯片、應(yīng)用處理器芯片或SOC 芯片上。DQS(Bidirectional data strobe,雙向數(shù)據(jù)濾波信號)相位延遲技術(shù)是DDR上的一個重要技術(shù)點。在讀取DDR數(shù)據(jù)的周期中,DDR處輸出的DQ與DQS信號是邊沿對齊的,為了使用DQS作為選通信號來獲取DQ信號,對接口送來的DQS要相對于DQ信號作1/4SDCLK 周期(時鐘周期)的延遲,以確保DQS處于有效數(shù)據(jù)窗的中央,保證數(shù)據(jù)讀取的穩(wěn)定、精確。現(xiàn)有技術(shù)中,DDR控制器大多采用數(shù)字DLL(Delay Locked Loop,延時鎖定回路或數(shù)據(jù)鎖相環(huán))的方式實現(xiàn)DQS延遲,以確保DQS能夠穩(wěn)定的延遲1/4SDCLK周期。而數(shù)字DLL —般由延遲輸出電路和延遲參數(shù)判定電路兩部分組成,其中延遲參數(shù)判定電路根據(jù) DQS和延遲輸出電路的工作時鐘的相位關(guān)系,檢測出實現(xiàn)1/4SDCLK周期延遲輸出電路應(yīng)該配置的延遲參數(shù),而延遲輸出電路則加載延遲參數(shù)判定電路輸出的延遲參數(shù),然后依據(jù)配置的延遲參數(shù)對DQS進行延遲,從而確保輸出的新DQS_Dly信號比DQS信號穩(wěn)定延遲了 1/4SDCLK周期,以保證DDR控制器側(cè)的DQS能夠穩(wěn)定的采樣DDR數(shù)據(jù),即實現(xiàn)DDR數(shù)據(jù)穩(wěn)定、精確的讀取。但是,在現(xiàn)有技術(shù)中,常規(guī)的相位判決電路大多采用相位檢測的方法實現(xiàn)相位校準,附圖1為現(xiàn)有技術(shù)的基本原理框圖。這種方法至少存在以下缺點相位檢測器101固定延遲1/4SDCLK周期,忽略了因為PCB布局布線原因,以及MEMORY(存儲)芯片時序飄逸原因,造成的DQ有效數(shù)據(jù)采樣窗的位置不一定落在DQS的1/4SDCLK周期延遲處。另外,當相位差超出軟件預(yù)先設(shè)定的范圍后,硬件會自動更新相位差,但由于相位檢測器101的工作時鐘是接口時鐘SDCLK,使得相位檢測器101輸出結(jié)果的精度依賴于 SDCLK的頻率。通常,當接口時鐘SDCLK的頻率大于100MHz時,依據(jù)相位檢測器101的輸出結(jié)果延遲后的DQS可以達到比較精確的1/4相位延遲,但當接口時鐘SDCLK的頻率低于 100MHz后,依據(jù)相位檢測器101的輸出結(jié)果延遲后的DQS —般處于1/4SDCLK周期延遲的左邊,并且接口時鐘SDCLK的頻率越低,DQS的1/4周期延遲的誤差也越大。因此,采用現(xiàn)有技術(shù)中的DDL延遲技術(shù),針對軟硬件結(jié)合的相位檢測技術(shù),容易使 DQS的相位延遲不穩(wěn)定、以及產(chǎn)生較大的誤差,影響DDR數(shù)據(jù)的讀取,使其不夠穩(wěn)定和精確。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種應(yīng)用于DDR控制器中DQS延遲的相位校準方法與裝置,以實現(xiàn)提高DQS的相位延遲的穩(wěn)定性和精確度,從而保證穩(wěn)定、精確的讀取DDR數(shù)據(jù)。為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案一種用于雙倍速率同步動態(tài)隨機存儲器DDR控制器中雙向數(shù)據(jù)濾波信號DQS延遲的相位校準方法,包括依據(jù)DQS信號不同級延遲后的觸發(fā)信號對DDR數(shù)據(jù)DQ進行采樣;將采樣獲取的所述數(shù)據(jù)DQ按字節(jié)與預(yù)設(shè)自檢數(shù)據(jù)進行比較,并經(jīng)過延遲兩拍后獲取最小邊界延遲參數(shù)與最大邊界延遲參數(shù);將所述最大邊界延遲參數(shù)與最小邊界延遲參數(shù)的平均值賦予DQS選擇信號DQS_ SEL ;依據(jù)所述DQS_SEL信號輸出時鐘延遲DQS信號,得到處于有效數(shù)據(jù)窗中央的DQS信號。優(yōu)選的,所述將采樣獲取的所述數(shù)據(jù)DQ按字節(jié)與預(yù)設(shè)自檢數(shù)據(jù)進行比較之后,還包括獲取依據(jù)最小邊界延遲參數(shù)延遲DQS的DQS_Bef0re信號,以及獲取依據(jù)最大邊界延遲參數(shù)延遲DQS的DQS_Last信號;及在輸出時鐘延遲DQS信號之后,還包括依據(jù)所述DQS_Bef0re信號和DQS_Last信號對DQ數(shù)據(jù)進行采樣;當所述DQS_Bef0re信號采樣得到的數(shù)據(jù)與所述時鐘延遲DQS信號采樣得到的數(shù)據(jù)不一致時,使兩者的比較信號Bef0re_UP信號輸出高電平;當所述DQS_Last信號采樣得到的數(shù)據(jù)與所述時鐘延遲DQS信號采樣得到的數(shù)據(jù)不一致時,使兩者的比較信號Last_D0Wn信號輸出高電平;利用所述Before_UP和Last_D0Wn信號進行邏輯或操作,當邏輯或操作的結(jié)果為 1時,使所述DQS_SEL信號的更新指示信號update信號輸出高電平;依據(jù)所述update信號,生成新的最小邊界延遲參數(shù)與最大邊界延遲參數(shù),并返回執(zhí)行將所述最大邊界延遲參數(shù)與最小邊界延遲參數(shù)的平均值賦予DQS_SEL信號這一步驟。優(yōu)選的,包括當所述DQS_Bef0re信號采樣得到的數(shù)據(jù)與所述時鐘延遲DQS信號采樣得到的數(shù)據(jù)一致時,使所述Bef0re_UP信號輸出低電平;當所述DQS_Last信號采樣得到的數(shù)據(jù)與所述時鐘延遲DQS信號采樣得到的數(shù)據(jù)一致時,使所述Last_D0Wn信號輸出低電平;利用所述Before_UP和Last_D0Wn信號進行邏輯或操作,當邏輯或操作的結(jié)果為 0時,使所述update信號輸出低電平;依據(jù)所述update信號,停止進行所述DQS_SEL信號的更新。優(yōu)選的,所述預(yù)設(shè)自檢數(shù)據(jù)具體為0X5A5A和0XA5A5。一種用于DDR控制器中DQS延遲的相位校準裝置,包括延遲參數(shù)判定單元,用于依據(jù)DQS信號不同級延遲后的觸發(fā)信號對DDR數(shù)據(jù)DQ 進行采樣,將采樣獲取的所述數(shù)據(jù)DQ按字節(jié)與預(yù)設(shè)自檢數(shù)據(jù)進行比較,得到最小邊界延遲參數(shù)與最大邊界延遲參數(shù),并將所述最大邊界延遲參數(shù)與最小邊界延遲參數(shù)的平均值賦予 DQS選擇信號DQS_SEL ;
延遲輸出控制電路,用于依據(jù)所述DQS_SEL信號,輸出時鐘延遲DQS信號,獲取處于有效數(shù)據(jù)窗中央的DQS信號。優(yōu)選的,所述延遲參數(shù)判定單元中包括 初始延遲判定電路,用于依據(jù)DQS信號不同級延遲后的觸發(fā)信號對DDR數(shù)據(jù)DQ進行采樣,將采樣獲取的所述數(shù)據(jù)DQ按字節(jié)與預(yù)設(shè)自檢數(shù)據(jù)進行比較;延遲參數(shù)輸出電路,用于利用所述初始延遲判定電路中的所述比較結(jié)果,獲取最大邊界延遲參數(shù)與最小邊界延遲參數(shù),并將所述最大邊界延遲參數(shù)與最小邊界延遲參數(shù)的平均值賦予所述DQS_SEL信號,傳輸給所述延遲輸出控制電路。優(yōu)選的,所述延遲參數(shù)判定單元中還包括延遲跟蹤電路,用于對所述最小邊界延遲參數(shù)、所述最大邊界延遲參數(shù)和DQS_SEL 信號進行更新。優(yōu)選的,所述延遲參數(shù)判定單元中用于比較的所述預(yù)設(shè)自檢數(shù)據(jù)具體為0X5A5A 禾口 0XA5A5。經(jīng)由上述的技術(shù)方案可知,與現(xiàn)有技術(shù)相比,本發(fā)明公開提供了一種用于DDR控制器中DQS延遲的相位校準方法與裝置,本發(fā)明采用延遲參數(shù)判定單元和延遲參數(shù)輸出電路中的硬件邏輯實現(xiàn)對DQS延遲的相位進行校準,主要利用延遲參數(shù)判定單元通過數(shù)據(jù)篩選的方法將延遲后的DQS精確的落在有效數(shù)據(jù)窗中央,從而增強了數(shù)據(jù)采樣的穩(wěn)定性和抗干擾性。此外,由于本發(fā)明沒有利用接口時鐘,而是采用對數(shù)據(jù)DQ進行采樣,并針對采樣數(shù)據(jù)進行比較,在DQS延遲的相位進行校準的過程中與接口時鐘無關(guān),所以,即便是在慢時鐘條件下仍然能夠保證較高的延遲精度。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。圖1為現(xiàn)有技術(shù)的基本原理框圖;圖2為本發(fā)明實現(xiàn)DQS延遲的相位校準的基本原理框圖;圖3為本發(fā)明公開的實施例一中實現(xiàn)DQS延遲的相位校準的方法流程圖;圖4為本發(fā)明公開的DQS初始相位延遲判定時序圖;圖5為本發(fā)明公開的實施例二中實現(xiàn)DQS延遲的相位校準的方法流程圖;圖6為本發(fā)明公開的DQS相位延遲跟蹤過程時序圖;圖7為本發(fā)明公開的DQS延遲的相位校準裝置框圖;圖8為本發(fā)明公開的延遲參數(shù)判定單元框圖。
具體實施例方式為了引用和清楚起見,下文中使用的技術(shù)名詞的說明、簡寫或縮寫總結(jié)如下DDR =Double Data Rate,雙倍速率同步動態(tài)隨機存儲器;
DQS =Bidirectional data strobe,雙向數(shù)據(jù)濾波信號;DLY_Before 為最小邊界延遲參數(shù);DLY_Last 為最大邊界延遲參數(shù);DQS_DLY 為時鐘延遲DQS信號;DQS_SEL 為 DQS 選擇信號;MEMORY芯片記憶存儲芯片;在文中符號“ >> ”表示向右移一位。下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本發(fā)明實施例公開了一種用于DDR控制器中DQS延遲的相位校準方法和裝置,請參閱附圖2,為本發(fā)明實現(xiàn)DQS延遲的相位校準的基本原理框圖。首先,在DDR控制器(圖中未示出)初始化完成后,自動啟動相位校準初始化,并通過在相位校準初始化過程中寫入和讀出自檢數(shù)據(jù)序列的方法,延遲參數(shù)判定單元201利用DQS經(jīng)過不同級延遲后的觸發(fā)信號對DDR的DQ數(shù)據(jù)進行采樣,將采樣后的結(jié)果直接與初始化過程中寫入的自檢數(shù)據(jù)序列進行比較,在判斷讀出數(shù)據(jù)正確的條件下,將延遲級數(shù)最小邊界延遲級參數(shù)賦值給DLY_ Before,而將延遲級數(shù)最大邊界延遲級參數(shù)賦值給DLY_Last,同時取DLY_Last和DLY_ Before的平均值賦予DQS_SEL,從而控制選擇器202輸出最適合DQ數(shù)據(jù)讀采樣的DQS_DLY 信號。此外,在電壓、溫度變化的同時,DDR讀數(shù)據(jù)的實際有效數(shù)據(jù)窗會有一定變化,此時 DDR控制器自動進入跟蹤模式,在讀數(shù)據(jù)期間,當經(jīng)過延遲后的DQS信號采樣的DQ數(shù)據(jù)出錯,或者經(jīng)過DLY_Last延遲后的DQS信號采樣的DQ數(shù)據(jù)出錯,則DDR控制器中的電路自動更新DLY_Bef0re和DLY_Last這兩個延遲參數(shù),以及DQS_SEL信號,直到這兩種延遲所對應(yīng)的DQS信號能夠正確采樣DQ數(shù)據(jù),即在穩(wěn)定、精確的完成DQS的相位延遲的基礎(chǔ)上,完成對 DDR數(shù)據(jù)的不受干擾的、穩(wěn)定和精確的讀取。請參閱附圖3,為本發(fā)明實施例一的一種用于DDR控制器中DQS相位校準方法流程圖,具體步驟如下所示步驟S301,DDR控制器對DDR芯片開始進行初始化,寫入自檢數(shù)據(jù)。在步驟S301中,DDR控制器發(fā)出對DDR芯片的初始化請求后,DDR控制器自動在 DDR芯片的地址0和1中寫入數(shù)據(jù)0X5A5A和0XA5A5,作為自檢數(shù)據(jù)。0X5A5A和0XA5A5是常規(guī)MEMORY測試數(shù)據(jù),為應(yīng)用于本發(fā)明的方法中的較優(yōu)的測試數(shù)據(jù),但是本發(fā)明并不僅限于此。步驟S302,DDR控制器中的延遲參數(shù)判定單元自動啟動,進入初始化判定模式,讀取DDR數(shù)據(jù)DQ和DDR芯片地址1中的自檢數(shù)據(jù),依據(jù)不同的DQS_DLYx信號對所述數(shù)據(jù)DQ 進行采樣。在執(zhí)行完步驟301對DDR芯片地址0和1的寫入之后,在步驟S302中,延遲參數(shù)判斷單元自動啟動,并進入初始化判定模式,在此模式下通過不同的DQS_DWx信號對讀取到的DDR數(shù)據(jù)DQ進行采樣。所謂不同的DQS_DLYx是指DQS信號經(jīng)過不同級延遲后的觸發(fā)信號,并依據(jù)該觸發(fā)信號對DDR數(shù)據(jù)DQ進行采樣。步驟S303,將采樣得到的所述數(shù)據(jù)DQ按字節(jié)與步驟S302中的自檢數(shù)據(jù)依次進行比較,并生成DQS的兩個邊界初始相位延遲參數(shù)DLY_BeforeJnit和DLY_Last_Init,其中 DLY_Before_Init為最小邊界初始相位延遲參數(shù),DLY_Last_Init為最大邊界初始相位延
遲參數(shù)。步驟S304,判斷步驟S303依次進行的比較是否完成,如果是,則轉(zhuǎn)而執(zhí)行步驟 S305 ;如果否,則返回執(zhí)行步驟S303。步驟S305,將生成的DLY_Before Jnit和DLY_Last Jnit參數(shù)經(jīng)過延遲兩拍后,得到DLY_Before和DLY_Last邊界延遲參數(shù)。步驟S306,利用獲取的DLY_Bef0re和DLY_Last邊界延遲參數(shù)進行相加計算,并將DLY_Before和DLY_Last之和向右移一位,即取DLY_Before和DLY_Last這兩個參數(shù)的平均值賦予DQS_SEL。步驟S307,依據(jù)步驟S306生成的DQS_SEL輸出數(shù)據(jù)DQ讀采樣的時鐘延遲DQS_ DLY,使DQS相位延遲后處于有效數(shù)據(jù)窗的中央,確保DDR數(shù)據(jù)的讀取穩(wěn)定和精確。需要說明的是在步驟S303、步驟S305和步驟S306中,有關(guān)依據(jù)數(shù)據(jù)DQ與自檢數(shù)據(jù)的比較結(jié)果生成DQS的邊界初始相位延遲參數(shù)DLY_BeforeJnit和DLY_LastJnit的過程,以下舉例詳細說明。根據(jù)DDR規(guī)范,由于每Sbit數(shù)據(jù)線都具有一個單獨的DQS信號,所以對于16位 DDR控制器來說,對于上述的DQS相位延遲電路相應(yīng)的應(yīng)該有獨立的兩套電路。這里為了使本領(lǐng)域的技術(shù)人員能夠更清楚的了解上述過程,只考慮低字節(jié)數(shù)據(jù)DQ[7:0]及其DQSO之間的相位延遲判定過程。請參閱附圖4,為本發(fā)明DQS初始相位延遲判定時序圖。考慮板卡走線延遲差及 MEMORY芯片輸出延遲差的原因,例如在開始時,到達DDR控制器一側(cè)的DQ有效數(shù)據(jù)窗的前邊沿與DQS前邊沿之間的延遲為1. 2ns,在DQ有效數(shù)據(jù)窗的后邊沿處與DQS后邊沿之間的延遲為0. 8ns。因為在DQS判定單元中設(shè)定的每級延遲為0. Ins,從而在DDR控制器初始化完成后,依據(jù)DQS信號經(jīng)過不同級延遲后的觸發(fā)信號對讀取的DDR數(shù)據(jù)DQ采樣,在執(zhí)行步驟 S303時,例如發(fā)現(xiàn)當延遲級數(shù)小于12,或者延遲級數(shù)大于30時,數(shù)據(jù)DQ不等于寫入DDR芯片地址1中的部分自檢數(shù)據(jù)0XA5,即通過上述處理得出DQS的邊界初始相位延遲參數(shù)DLY_ Before_Init = 12,DLY_Last_Init = 30。需要說明的是,由于一直處于初始化判定模式中,Update —直為0 (Update為DQS_ SEL是否需要更新的指示信號,當Update為低電平0時,則DQS_SEL不需要更新;當Update 為高電平1時,則DQS_SEL需要更新)。因此在執(zhí)行步驟S305中,對DLY_BeforeJnit和 DLY_Last_Init參數(shù)所進行的處理為將DLY_BeforeJnit和DLY_Last_Init參數(shù)進行一級鎖存后,再通過加法器和右移邏輯,延遲兩拍后生成邊界延遲參數(shù)DLY_Bef0re和DLY_ Last,此時 DLY_Before 為 12,DLY_Last 為 30,將(DLY_Las+DLY_Before) > > 1 (取 30 和 12的平均值)的結(jié)果賦值給DQS_SEL,然后執(zhí)行步驟S306,依據(jù)該DQS_SEL輸出數(shù)據(jù)DQ讀采樣的時鐘延遲DQS_DLY。如圖4中所示,DQS_DLY即為DQS延遲2. Ins后的時序波形。從圖4中可以看出,延遲后的DQS邊沿基本處于DQ數(shù)據(jù)有效窗的中央,而現(xiàn)有技術(shù)的方法因為是固定1/4周期延遲,因此其延遲結(jié)果最終相對DQS延遲1. 9ns,對于類似此例中DQS有效數(shù)據(jù)窗兩邊不對稱的情況,無法保證延遲后的DQS處于有效數(shù)據(jù)窗的中央。采用本發(fā)明中的常規(guī)MEMORY測試數(shù)據(jù)0XA5A5和0x5A5A的強自相關(guān)性和弱互相關(guān)性,在初始化時依靠讀取自檢序列檢測出兩個邊界延遲參數(shù),進而推算出DQS有效數(shù)據(jù)窗中央對應(yīng)的延遲參數(shù),從而確保了不受干擾的讀取DDR數(shù)據(jù),保證其穩(wěn)定性和精確性。在本發(fā)明的另一個優(yōu)選實施例中,上述實施例的步驟S303中還包括同時依據(jù) DLY_Before_Init 和 DLY_Last_Init 延遲 DQS,獲取 DQS_Before 和 DQS_Last 信號。此夕卜, 請參閱附圖5所示,在步驟S307之后,還可以包括以下步驟步驟S308,延遲參數(shù)判定單元進入自適應(yīng)跟蹤模式,依據(jù)DQS_Bef0re信號和DQS_ Last信號對DQ數(shù)據(jù)進行采樣。步驟S309,判斷DQS_Bef0re信號采樣得到的數(shù)據(jù)是否與DQS_DLY采樣到的數(shù)據(jù)一致,如果否,則使兩者的比較信號Before_UP信號輸出高電平;如果是,則使該Before_UP 信號輸出低電平;同時,判斷DQS_Last信號采樣得到的數(shù)據(jù)是否與DQS_DLY采樣到的數(shù)據(jù)一致,如果否,則使兩者的比較信號Last_D0Wn信號輸出高電平;如果是,則使該Last_D0Wn 信號輸出低電平。步驟S310,將步驟S309獲得的Before_UP和Last_D0Wn信號進行邏輯或操作,并判斷是否進行更新,當邏輯或操作的結(jié)果為1時,使update信號輸出高電平,轉(zhuǎn)而執(zhí)行步驟 S311 ;當邏輯或操作的結(jié)果為0時,使update信號輸出低電平,停止更新工作,返回執(zhí)行步驟 S303。步驟S311,更新邊界延遲參數(shù)DLY_Before和DLY_Last,獲取新的邊界延遲參數(shù) DLY_Before和DLY_Last,并返回執(zhí)行步驟S306。在步驟S308至步驟S311中,如果update信號為低電平即為無效,則延遲參數(shù)判定單元中的延遲輸出電路將不進行更新工作以節(jié)省功耗;如果update信號為高電平時,則延遲輸出電路將根據(jù)Before_UP和Last_Down信號對DLY_Before參數(shù)和DLY_Last參數(shù)進行更新。如果Last_Down信號為高電平即有效,則DLY_Last = DLY_Last_l ;如果Before_ UP信號為高電平即有效,則DLY_Before = DLY_Before+l,這兩個參數(shù)的更新將在一拍內(nèi)完成,在執(zhí)行步驟S311之后,返回執(zhí)行步驟S306,在兩個時鐘周期后輸出DQS_SEL給延遲電路;從而使延遲輸出控制電路的選擇器輸出最適合數(shù)據(jù)DQ讀采樣的時鐘延遲DQS信號,即 DQS_DLY信號。從而完成了對有效數(shù)據(jù)窗邊沿的自適應(yīng)跟蹤,使DQS_DLY信號的邊沿一直處于有效數(shù)據(jù)窗的中央,從而確保了讀取DDR數(shù)據(jù)的穩(wěn)定和精確性。在本發(fā)明這一優(yōu)選的實施例二中,步驟S308至步驟S311中的具體執(zhí)行過程,下面舉例進行說明。在外界環(huán)境參數(shù)(電壓、溫度等參數(shù))沒有發(fā)生變化的正常情況下,執(zhí)行步驟S308 使延遲參數(shù)判定單元進入自適應(yīng)跟蹤模式,依據(jù)步驟305中生成的DQS_Before和DQS_Last 信號同時對DQ數(shù)據(jù)進行采樣。在執(zhí)行步驟S309時,由于外界環(huán)境參數(shù)(電壓、溫度等參數(shù)) 沒有發(fā)生變化的正常情況下,DQS_Before和DQS_Last信號對DQ數(shù)據(jù)的采樣與DQS_DLY采樣得到的數(shù)據(jù)是一致的,此時,使Bef0re_UP和Last_D0Wn信號輸出低電平,然后再執(zhí)行步驟S310,將Before_UP和Last_D0Wn信號進行邏輯或操作,得到的結(jié)果為0。致使update 輸出低電平,此時,不進行任何更新的工作以節(jié)省功耗。
而當外界環(huán)境參數(shù)(電壓、溫度等參數(shù))發(fā)生變化之后,DQS_Before或DQS_Last 信號會有所變化。如附圖6所示,數(shù)據(jù)DQ有效數(shù)據(jù)窗的前邊沿和后邊沿距離DQS兩個邊沿之間的延遲變?yōu)榱?1. 2ns和0. 9ns,即后邊沿發(fā)生前移,致使數(shù)據(jù)DQ的有效數(shù)據(jù)窗變窄。此時,由于延遲參數(shù)判定單元工作在自適應(yīng)跟蹤模式下,當出現(xiàn)此種延遲飄逸后, 因為DQS延遲30級后采樣到的數(shù)據(jù)與DQS_DLY信號采樣到的數(shù)據(jù)不一致,在執(zhí)行步驟S309 時,Before_UP會輸出低電平,而Last_D0wn信號會輸出高電平,然后再執(zhí)行步驟S310,將 Before_UP和Last_D0Wn信號進行邏輯或操作,結(jié)果為1,則Update信號會輸出高電平。在Update信號輸出為高電平時,轉(zhuǎn)而執(zhí)行步驟S311進行邊界延遲參數(shù)DLY_ Before和DLY_Last信號的更新,此時更新后的DLY_Last為29,DLY_Before為12。返回執(zhí)行步驟S306,依據(jù)更新后DLY_Before和DLY_Last信號進行計算,獲得(DLY_Last+DLY_ Before) >> 1(取四和12的平均值)的結(jié)果,并將該結(jié)果賦予DLY_SEL,然后執(zhí)行步驟 S307,依據(jù)更新后的DQS_SEL輸出數(shù)據(jù)DQ讀采樣的時鐘延遲DQS_DLY。此時,如圖6所示, DQS_DLY將變?yōu)镈QS延遲2. Ins后的時序波形,從而完成了對有效數(shù)據(jù)窗邊沿的自適應(yīng)跟蹤,使DQS_DLY信號的邊沿一直處于有效數(shù)據(jù)窗的中央,從而確保了讀取DDR數(shù)據(jù)的穩(wěn)定和精確性。此外在更新之后,DQS延遲DLY_Last即四級后采樣的數(shù)據(jù)與DQS_DLY信號采樣到的數(shù)據(jù)一致,即Last_D0wn信號和Update信號自動清零,致使DLY_SEL停止進行再次更新以節(jié)省功耗。通過上述本發(fā)明實施例方法的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,本發(fā)明的方法可以依托于通用的硬件完成,因此,在上述公開的方法的基礎(chǔ)上,本發(fā)明還提供了一種應(yīng)用于DDR控制器中DQS延遲的相位校準裝置,請參閱附圖7,主要包括初始化單元701,延遲參數(shù)判定單元702和延遲輸出控制電路703。初始化單元701,用于對DDR控制器進行初始化,并在DDR芯片的地址0和1中寫
入預(yù)設(shè)自檢數(shù)據(jù)。延遲參數(shù)判定單元702,用于依據(jù)DQS信號不同級延遲后的觸發(fā)信號對DDR數(shù)據(jù) DQ進行采樣,將采樣獲取的所述數(shù)據(jù)DQ按字節(jié)與初始化單元701中預(yù)設(shè)自檢數(shù)據(jù)進行比較,得到DLY_Before與DLY_Last,并將所述DLY_Last與DLY_Before參數(shù)的平均值賦予 DQS_SEL 信號。延遲輸出控制電路703,接收延遲參數(shù)判定單元702輸出的所述DQS_SEL信號,依據(jù)所述DQS_SEL,輸出DQS_DLY信號,即獲取處于有效數(shù)據(jù)窗中央的DQS信號。初始化單元701在對DDR控制器進行初始化的時候,在DDR芯片的地址0和1中寫入數(shù)據(jù)0X5A5A和0XA5A5,作為自檢數(shù)據(jù)。其中,0)(5A5A和0XA5A5是常規(guī)MEMORY測試數(shù)據(jù),本發(fā)明只采用硬件MEMORY芯片的常規(guī)測試數(shù)據(jù),依據(jù)0X5A5A和0XA5A5的強自相關(guān)性和弱互相關(guān),在延遲參數(shù)判定單元702中推算出有效數(shù)據(jù)窗中央對應(yīng)的DQS延遲參數(shù)的 DQS_SEL信號,并在延遲輸出控制電路703中,依據(jù)該DQS_SEL信號輸出最佳的用于采樣數(shù)據(jù)DQ的讀數(shù)據(jù)DQSx_DLY。使DQS相位延遲后處于有效數(shù)據(jù)窗的中央,確保DDR數(shù)據(jù)的讀取不受干擾,以保證DDR數(shù)據(jù)讀取的穩(wěn)定性和精確性。請參閱附圖8,需要說明的是,在上述本發(fā)明公開的裝置中,延遲參數(shù)判定單元 702中主要包括初始延遲判定電路7021,延遲參數(shù)輸出電路7022和延遲跟蹤電路7023,此外,在圖8中還標示出了比較器70 ,延遲更新控制邏輯7025,延遲更新邏輯70 和延遲排序邏輯7027。初始延遲判定電路7021,用于依據(jù)DQS信號不同級延遲后的觸發(fā)信號對DDR數(shù)據(jù) DQ進行采樣,將采樣獲取的所述數(shù)據(jù)DQ按字節(jié)與預(yù)設(shè)自檢數(shù)據(jù)進行比較。延遲參數(shù)輸出電路7022,利用所述初始延遲判定電路7021中的所述比較結(jié)果,獲取DLY_Before與DLY_Last參數(shù),并將所述DLY_Before與DLY_Last參數(shù)的平均值賦予DQS_ SEL信號,并將該DQS_SEL信號傳輸給所述延遲輸出控制電路703。延遲跟蹤電路7023,用于對所述DLY_Before參數(shù)、所述DLY_Last參數(shù)和所述 DQS_SEL信號進行更新。在初始延遲判定電路7021中,依據(jù)DQS信號經(jīng)過不同級延遲后的觸發(fā)信號對數(shù)據(jù) DQ采樣,將采樣獲取的數(shù)據(jù)DQ與DDR芯片地址中寫入的自檢數(shù)據(jù)0XA5A5進行比較,在數(shù)據(jù) DQ不等于寫入DDR芯片地址1中的部分自檢數(shù)據(jù)0XA5時,將延遲的數(shù)據(jù)賦予DLY_Before_ Init 和 DLY_Last_Init。將比較獲取的結(jié)果 DLY_BeforeJnit 和 DLY_Last_Init 傳輸給延遲參數(shù)輸出電路7022。延遲參數(shù)輸出電路7022對DLY_BeforeJnit和DLY_Last Jnit參數(shù)進行一級鎖存后,再通過加法器和右移邏輯,延遲兩拍后生成DLY_BefOTe和DLY_Last邊界延遲參數(shù)。 同時依據(jù) DLY_BeforeJnit 和 DLY_Last_Init 延遲 DQS,獲取 DQS_Before 和 DQS_Last 信號,并將其傳輸給延遲跟蹤電路7023。在延遲跟蹤電路7023中,判斷DQS_Before信號采樣得到的數(shù)據(jù)是否與DQS_DLY 采樣到的數(shù)據(jù)一致,如果否,則使Bef0re_UP信號輸出高電平;如果是,則使Bef0re_UP信號輸出低電平;同時,判斷DQS_Last信號采樣得到的數(shù)據(jù)是否與DQS_DLY采樣到的數(shù)據(jù)一致, 如果否,則使Last_D0Wn信號輸出高電平1 ;如果是,則使Last_D0Wn信號輸出低電平0。然后,再依據(jù)判斷獲取的結(jié)果將Bef0re_UP和Last_D0Wn信號進行邏輯或操作,如果Before_ UP和Last_D0Wn信號中的任意一個信號輸出高電平1,則使update信號輸出高電平1,并開始更新DLY_Before參數(shù)、DLY_Last參數(shù)和DQS_SEL信號,并將更新后的DQS_SEL信號傳輸給延遲輸出控制電路703,使其根據(jù)更新后的DQS_SEL信號輸出DQS_DLY信號,以獲取處于有效數(shù)據(jù)窗中央的DQS信號,使得DDR數(shù)據(jù)的讀取更加的穩(wěn)定和精確,并且不受任何干擾。此外,圖8中標示出了位于不同電路中的比較器70M,延遲更新控制邏輯7025,延遲更新邏輯70 和延遲排序邏輯7027,用于輔助實現(xiàn)初始延遲判定電路7021,延遲參數(shù)輸出電路7022和延遲跟蹤電路7023的功能。綜上所述通過本發(fā)明所公開的方法與裝置,采用延遲參數(shù)判定單元和延遲參數(shù)輸出電路中的硬件邏輯實現(xiàn)對DQS延遲的相位進行校準,避免了因為實際板卡走線和器件參數(shù)的影響,1/4周期延遲位置并不一定是有效數(shù)據(jù)窗的中央。其中,主要利用延遲參數(shù)判定單元通過數(shù)據(jù)篩選的方法將延遲后的DQS精確的落在有效數(shù)據(jù)窗中央,從而增強了數(shù)據(jù)采樣的穩(wěn)定性和抗干擾性。此外,由于本發(fā)明沒有利用接口時鐘,而是采用對數(shù)據(jù)DQ進行采樣,并針對采樣數(shù)據(jù)進行比較,在DQS延遲的相位進行校準的過程中與接口時鐘無關(guān),所以,即便是在慢時鐘條件下仍然能夠保證較高的延遲精度。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。 對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
權(quán)利要求
1.一種用于雙倍速率同步動態(tài)隨機存儲器DDR控制器中雙向數(shù)據(jù)濾波信號DQS延遲的相位校準方法,其特征在于,包括依據(jù)DQS信號不同級延遲后的觸發(fā)信號對DDR數(shù)據(jù)DQ進行采樣; 將采樣獲取的所述數(shù)據(jù)DQ按字節(jié)與預(yù)設(shè)自檢數(shù)據(jù)進行比較,并經(jīng)過延遲兩拍后獲取最小邊界延遲參數(shù)與最大邊界延遲參數(shù);將所述最大邊界延遲參數(shù)與最小邊界延遲參數(shù)的平均值賦予DQS選擇信號DQS_SEL ; 依據(jù)所述DQS_SEL信號輸出時鐘延遲DQS信號,得到處于有效數(shù)據(jù)窗中央的DQS信號。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將采樣獲取的所述數(shù)據(jù)DQ按字節(jié)與預(yù)設(shè)自檢數(shù)據(jù)進行比較之后,還包括獲取依據(jù)最小邊界延遲參數(shù)延遲DQS的DQS_Bef0re 信號,以及獲取依據(jù)最大邊界延遲參數(shù)延遲DQS的DQS_Last信號;及在輸出時鐘延遲DQS信號之后,還包括 依據(jù)所述DQS_Bef0re信號和DQS_Last信號對DQ數(shù)據(jù)進行采樣; 當所述DQS_Bef0re信號采樣得到的數(shù)據(jù)與所述時鐘延遲DQS信號采樣得到的數(shù)據(jù)不一致時,使兩者的比較信號Bef0re_UP信號輸出高電平;當所述DQS_Last信號采樣得到的數(shù)據(jù)與所述時鐘延遲DQS信號采樣得到的數(shù)據(jù)不一致時,使兩者的比較信號Last_D0wn信號輸出高電平;利用所述Before_UP和Last_D0Wn信號進行邏輯或操作,當邏輯或操作的結(jié)果為1時, 使所述DQS_SEL信號的更新指示信號update信號輸出高電平;依據(jù)所述update信號,生成新的最小邊界延遲參數(shù)與最大邊界延遲參數(shù),并返回執(zhí)行將所述最大邊界延遲參數(shù)與最小邊界延遲參數(shù)的平均值賦予DQS_SEL信號這一步驟。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,包括當所述DQS_Bef0re信號采樣得到的數(shù)據(jù)與所述時鐘延遲DQS信號采樣得到的數(shù)據(jù)一致時,使所述Bef0re_UP信號輸出低電平;當所述DQS_Last信號采樣得到的數(shù)據(jù)與所述時鐘延遲DQS信號采樣得到的數(shù)據(jù)一致時,使所述Last_D0wn信號輸出低電平;利用所述Before_UP和Last_D0Wn信號進行邏輯或操作,當邏輯或操作的結(jié)果為0時, 使所述update信號輸出低電平;依據(jù)所述update信號,停止進行所述DQS_SEL信號的更新。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述預(yù)設(shè)自檢數(shù)據(jù)具體為0X5A5A和 0XA5A5。
5.一種用于DDR控制器中DQS延遲的相位校準裝置,其特征在于,包括延遲參數(shù)判定單元,用于依據(jù)DQS信號不同級延遲后的觸發(fā)信號對DDR數(shù)據(jù)DQ進行采樣,將采樣獲取的所述數(shù)據(jù)DQ按字節(jié)與預(yù)設(shè)自檢數(shù)據(jù)進行比較,得到最小邊界延遲參數(shù)與最大邊界延遲參數(shù),并將所述最大邊界延遲參數(shù)與最小邊界延遲參數(shù)的平均值賦予DQS選擇信號DQS_SEL ;延遲輸出控制電路,用于依據(jù)所述DQS_SEL信號,輸出時鐘延遲DQS信號,獲取處于有效數(shù)據(jù)窗中央的DQS信號。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述延遲參數(shù)判定單元中包括初始延遲判定電路,用于依據(jù)DQS信號不同級延遲后的觸發(fā)信號對DDR數(shù)據(jù)DQ進行采樣,將采樣獲取的所述數(shù)據(jù)DQ按字節(jié)與預(yù)設(shè)自檢數(shù)據(jù)進行比較;延遲參數(shù)輸出電路,用于利用所述初始延遲判定電路中的所述比較結(jié)果,獲取最大邊界延遲參數(shù)與最小邊界延遲參數(shù),并將所述最大邊界延遲參數(shù)與最小邊界延遲參數(shù)的平均值賦予所述DQS_SEL信號,傳輸給所述延遲輸出控制電路。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述延遲參數(shù)判定單元中還包括延遲跟蹤電路,用于對所述最小邊界延遲參數(shù)、所述最大邊界延遲參數(shù)和DQS_SEL信號進行更新。
8.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述延遲參數(shù)判定單元中用于比較的所述預(yù)設(shè)自檢數(shù)據(jù)具體為0X5A5A和0XA5A5。
全文摘要
本發(fā)明公開了一種用于DDR控制器的DQS延遲相位校準方法及裝置,包括依據(jù)DQS信號不同級延遲后的觸發(fā)信號對DDR數(shù)據(jù)DQ進行采樣;將采樣獲取的數(shù)據(jù)DQ按字節(jié)與預(yù)設(shè)自檢數(shù)據(jù)進行比較,并經(jīng)過延遲兩拍后獲取最小邊界延遲參數(shù)與最大邊界延遲參數(shù);將該最大邊界延遲參數(shù)與最小邊界延遲參數(shù)的平均值賦予DQS選擇信號;依據(jù)該DQS選擇信號輸出時鐘延遲DQS信號,得到處于有效數(shù)據(jù)窗中央的DQS信號。本發(fā)明采用延遲參數(shù)判定單元和延遲參數(shù)輸出電路中的硬件邏輯實現(xiàn)對DQS延遲相位校準,利用延遲參數(shù)判定單元通過數(shù)據(jù)篩選的方法將延遲后的DQS精確的落在有效數(shù)據(jù)窗中央,從而增強了數(shù)據(jù)采樣的穩(wěn)定性、精確性和抗干擾性。
文檔編號G11C29/02GK102347081SQ20101024534
公開日2012年2月8日 申請日期2010年7月30日 優(yōu)先權(quán)日2010年7月30日
發(fā)明者史公正 申請人:聯(lián)芯科技有限公司