專利名稱:應用于信號處理芯片的高速信號采樣和同步的架構及方法
技術領域:
本發明涉及集成電路設計領域,具體涉及一種在信號處理芯片內部進行高速信號采樣、同步的架構和采用該架構進行高速信號采樣和同步的方法。
背景技術:
隨著芯片設計技術和制造工藝的飛速發展,芯片內部的處理速度越來越快,工作主頻越來越高。高速數模轉換(ADC)芯片能夠提供的數據量越來越大,輸出速率超過1GHz,采樣精度超過IObit的ADC也越來越多。對于如此大的數據量,如何在其進入信號處理芯片后能夠保持數據的穩定性,并且在需要多路ADC時如何保證各路數據之間的同步性,已經成為在高速數字信號處理領域必須解決的首要問題。傳統的同步處理采用布線等長處理的手段,這種方法在信號速率不是太高時很有效,但在信號速率變高的情況下,容易受到生產工藝和環境溫度的影響,在高速信號處理中變得不再可靠。
發明內容
本發明要解決的技術問題是針對于現有技術中信號處理芯片架構存在高速信號采樣不穩定及多路信號不能同步的不足,提供一種實現多路高速信號采樣和同步輸出的高速信號采樣和同步的架構。本發明要解決的另一個技術問題是提供了一種采用上述架構進行高速信號采樣和同步的方法。為了達到上述發明目的,本發明采用的一個技術方案是提供一種應用于信號處理芯片的高速信號采樣和同步的架構,其特征在于包括可調延時鏈模塊、與可調延時鏈模塊連接的異步FIFO模塊、與異步FIFO模塊連接的讀控制信號產生單元、用于接收啟動信號并開始計數的第一計數器和與第一計數器連接的內部自啟動信號產生單元,內部自啟動信號產生單元與異步FIFO模塊連接。在本發明的高速信號采樣和同步的架構中,所述可調延時鏈模塊由若干個延時單 元串聯組成。在本發明的高速信號采樣和同步的架構中,所述異步FIFO模塊包括第二計數器、與第二計數器連接的寫使能產生模塊和與寫使能產生模塊連接的非空狀態信號產生單元;所述第二計數器和寫使能產生模塊分別與內部自啟動信號產生單元連接;所述非空狀態信號產生單元與讀控制信號產生單元連接。在本發明的高速信號采樣和同步的架構中,所述第二計數器為四位計數器。在本發明的高速信號采樣和同步的架構中,所述第一計數器為八位計數器。本發明采用的另一個技術方案是提供一種采用上述架構進行高速信號采樣和同步的方法,其特征在于,該方法包括
Ca)對每路ADC信號,可調延時鏈模塊對ADC時鐘信號進行可調延時處理,使ADC時鐘和ADC數據保持精確的相位關系;同時,啟動信號啟動第一計數器;其中,ADC信號包括ADC數據和ADC時鐘;
(b)當第一計數器計數到256時,內部自啟動信號產生單元產生timeout信號,并將該信號傳輸至異步FIFO模塊,同時啟動每路異步FIFO模塊的寫操作,寫入數據的異步FIFO模塊產生非空狀態信號1,并將該信號傳輸至讀控制信號產生單元;
(c)當多路異步FIFO模塊產生的非空狀態信號均為I時,讀控制信號產生單元產生數據有效信號和讀地址,并傳輸給異步FIFO模塊,進行數據的同步輸出。本發明采用的另一個技術方案是提供一種采用上述架構進行高速信號采樣和同步的方法,其特征在于,該方法包括
(I )對每路ADC信號,可調延時鏈模塊對ADC時鐘信號進行可調延時處理,使ADC時鐘和ADC數據保持精確的相位關系;同時,啟動信號啟動第一計數器;其中,ADC信號包括ADC·數據、ADC時鐘和ADC同步信號;
(II )將每路的ADC數據、ADC同步信號和延時后的ADC時鐘輸入到異步FIFO模塊;當ADC同步信號為1,啟動該路的異步FIFO模塊的寫操作,寫入數據的異步FIFO模塊產生非空狀態信號1,并將該信號傳輸至讀控制信號產生單元;
(III)當第一計數器計數到256時,內部自啟動信號產生單元產生timeout信號,此時判斷每路異步FIFO模塊是否都有數據寫入,如果有異步FIFO模塊沒有寫入數據,啟動第二計數器,計數到16時,強制啟動各路寫使能產生模塊,對所有異步FIFO模塊進行寫操作;
(IV)當多路異步FIFO模塊產生的非空狀態信號均為I時,讀控制信號產生單元產生數據有效信號和讀地址,并傳輸給異步FIFO模塊,進行數據的同步輸出。綜上所述,本發明提供的應用于信號處理芯片的高速信號采樣和同步的架構及方法完成了 ADC時鐘信號的可調延時處理,并通過異步FIFO模塊進行異步寫入,同步讀取,實現單路信號采樣的穩定性和多路信號之間的同步性,使高速信號的傳輸更穩定、更可靠。
圖I為本發明-實施例提供的高速信號采樣和同步的架構的系統框圖。圖2為本發明-實施例提供的可調延時鏈模塊的系統框圖。圖3為本發明-實施例提供的延時單元的邏輯圖。圖4為本發明-實施例提供的延時單元的系統框圖。圖5為本發明-實施例提供的異步FIFO模塊的系統框圖。
具體實施例方式下面結合具體實施例對本發明的具體實施方式
做詳細地描述
參見圖1,本發明提供的應用于信號處理芯片的高速信號采樣和同步的架構包括可調延時鏈模塊、異步FIFO模塊、讀控制信號產生單元、內部自啟動信號產生單元和第一計數器;該架構對輸入的5路ADC信號進行采樣和同步處理。其中,可調延時鏈模塊用于對輸入的ADC時鐘信號進行可調延時處理,使得ADC時鐘和ADC數據可以保持精確的相位關系,從而使單路信號能夠被準確無誤地采樣;其中,可調延時鏈的總長度控制在I個時鐘周期,這樣可以控制時鐘在任何工作條件下總能通過調節延時鏈的長度對ADC數據進行采樣(延時);可調延時鏈有多少個延時單元取決于每個延時單元的延時大小。異步FIFO模塊用于對多路ADC信號進行時鐘上升沿和下降沿采樣,并異步寫入、同步讀取來完成多路ADC信號的同步;異步FIFO模塊包括第二計數器、與第二計數器連接的寫使能產生模塊和與寫使能產生模塊連接的非空狀態信號產生單元;第二計數器和寫使能產生模塊分別與內部自啟動信號產生單元連接;非空狀態信號產生單元與讀控制信號產生單元連接;第二計數器為四位計數器。第一計數器用于接收啟動信號adc_start啟動第一計數器,當計數到256時,內部自啟動信號產生單元產生time out信號,該信號用于強制復位每路異步FIFO模塊的寫使能;第一計數器為八位計數器。讀控制信號產生單元用于根據各路異步FIFO模塊提供的非空狀態信號產生數據 有效信號和讀地址;當5路異步FIFO模塊的非空狀態信號都為I時,即5路異步FIFO模塊都寫入了數據,則數據有效信號為1,此時將8位的讀地址置為00000001,之后每個時鐘周期,讀地址左移一位。外部提供同步模式信號,該信號為I時,為同步模式,該模式下ADC信號包括ADC數據、ADC時鐘和ADC同步信號;該信號為O時,為非同步模式,該模式下ADC信號包括ADC數據和ADC時鐘。下面分別對同步模式和非同步模式下的本發明的架構進行高速信號采樣和同步的方法進行詳細描述
同步模式下,每路輸入的ADC信號中包括ADC同步信號,可根據該同步信號進行數據采集。每路ADC時鐘經過可調延時鏈模塊的延時處理,使得與ADC數據保持精確的相位關系。將每路的ADC數據、延遲后的ADC時鐘和ADC同步信號輸入到各自的異步FIFO模塊;異步FIFO模塊的寫操作主要由同步信號控制,當同步信號為1,啟動該路的異步FIFO模塊的寫操作,只要向異步FIFO模塊中寫入了數據,則此路的異步FIFO模塊向外提供的非空狀態信號置I ;如果有任何一路沒有檢測到同步信號,那么該路就不會啟動該路的異步FIFO模塊的寫操作,從而也不會啟動讀操作。同時,另一個啟動信號adC_start啟動八位計數器,該計數器記數到256時,判斷是否有一路或幾路異步FIFO模塊的寫操作沒有啟動,如果沒有啟動,則啟動四位計數器,計數到16時,即延遲16個時鐘周期,此時強制啟動每路寫使能產生模塊,對所有異步FIFO模塊進行寫操作;而異步FIFO模塊的讀操作必須要等到各路的異步FIFO模塊中都有有效數據時才會開始執行,即各路異步FIFO模塊向外提供的非空狀態信號均為1,此時讀控制信號產生單元產生數據有效信號和讀地址,并傳輸給異步FIFO模塊,進行數據的同步輸出。非同步模式下,每路輸入的ADC信號不包括ADC同步信號,輸入的ADC信號只有ADC數據和ADC時鐘,此時需要用戶手動啟動數據采集。異步FIFO模塊的寫操作完全是由啟動信號adc_start來決定。啟動信號adc_start啟動八位計數器,當記數到256時,會同時啟動各路異步FIFO模塊的寫操作,其寫入數據的異步FIFO模塊產生非空狀態信號1,并將該信號傳輸至讀控制信號產生單元;當多路異步FIFO模塊產生的非空狀態信號均為I時,讀控制信號產生單元產生數據有效信號和讀地址,并傳輸給異步FIFO模塊,進行數據的同步輸出。
另外,如圖2和圖3所示,可調延時鏈模塊的結構由若干個延時單元串聯組成,每個延時單元對輸入到端口 in的信號進行延時處理,這里的選擇信號sel[n]用于確定采用多少個延時單元。圖4為由與非門和反相器構成的延時單元的系統框圖,當sel信號為O時,與非門I的輸出恒為1,端口 in的輸入信號在與非門I處被阻斷了。端口 in的輸入信號經過2個反相器(反相器I和反相器2)的延時到達端口 pass,而端口 return的輸入信號經過2個與非門(與非門2和與非門3)的延時到達端口 out ;當sel信號為I時,反相器3的輸出為0,則與非門2的輸出恒為I,即端口 return的輸入信號被與非門2阻斷了。端口 in的輸入信號經過兩個與非門(與非門I和與非門3)延時到達端口 out。同時,端口 in的輸入信號經過兩個反相器(反相器I和反相器2)延時到達端口 pass。但是,由于return端口的輸入信號已經被阻斷了,因此端口 pass的輸出信號不能輸出到最終的輸出端口。因此,如果某個延時單元的選擇信號sel為1,則該延時單元為采用的最后一個延時單元,其右邊的延時單元不用。
例如,對于500MHz的時鐘,I個時鐘周期等于2ns,如果每個延時單元的延時是
O.Ins,則共需2 / O. I = 20個延時單元,所以用32個延時單元已經足夠能完成相位的調整。每個延時單兀有一位選擇信號sel [η],共32位選擇信號sel [31:0]。工作時,選擇信號sel [31:0]中僅有一位為I, sel [n]=l左邊的延時單元被用于延時操作,而右邊的延時單元不用。此外,異步FIFO模塊實現每路ADC數據的時鐘上升沿、下降沿采樣和同步輸出,如圖5所示ADC時鐘經過反相器之后,產生與之反相的時鐘信號^fMADC時鐘和與之反相的時鐘信號作為2個12位寄存器(寄存器A和寄存器B)的觸發時鐘信號,然后用這2個寄存器對輸入的12位ADC數據進行寄存,從而實現對輸入的ADC數據進行時鐘上升沿和下降沿采樣,得到2路12位的數據。寄存器A (或寄存器B)的輸出信號在寫控制信號wcrtl [7:0]的控制下,分別順序寫入8個寄存器0,……,7 (或寄存器8,……,15)中。選擇器根據讀地址從8個寄存器中選擇一個寄存器的輸出數據送入到數據輸出邏輯。當數據有效信號為I時(即5路異步FIFO模塊都為非空狀態時),將時鐘上升沿和下降沿采樣的數據合并為24位數據輸出。在同步模式下,即同步模式信號為1,當time_0ut信號為I時,四位計數器開始計數。如果同步信號為1,或者4位計數器計數到16時,寫使能產生模塊提供的寫使能信號置1,對16個寄存器進行寫操作,同時非空狀態信號置為1,提示該異步FIFO模塊中有數據。寫控制信號產生邏輯提供8位寫控制信號wcrtl [7:0],每位寫控制信號wcrtl [η]同時控制2個寄存器(即寄存器η和寄存器η+8,分別存儲上升沿和下降沿采樣的數據),這8位寫控制信號wcrtl [7:0]同時只有I位為I,其余均為0,初始狀態為0000 0001,即對應寄存器O(或寄存器8);當寫使能信號有效時,每個時鐘周期寫控制信號wcrtl [7:0]循環向左邊移一位。寄存器A(或寄存器B)的輸出數據存入到寫控制信號為I所對應的寄存器中。例如,當wcrtl[n]=l時,寄存器A的輸出數據存入到寄存器η中,寄存器B的輸出數據存入到寄存器η+8中。四位計數器計數到16時,8位寫控制信號wcrtl [7:0]回到0000 0001,即這時從寄存器O (或寄存器8)開始寫數據。雖然結合具體實施例對本發明的具體實施方式
進行了詳細地描述,但并非是對本專利保護范圍的限定。在權利要求書所限定的范圍內,本領域的技術人員不經創造性勞動即可做出的各種修改或調整仍 受本專利的保護。
權利要求
1.一種應用于信號處理芯片的高速信號采樣和同步的架構,其特征在于包括可調延時鏈模塊、與可調延時鏈模塊連接的異步FIFO模塊、與異步FIFO模塊連接的讀控制信號產生單元、用于接收啟動信號并開始計數的第一計數器和與第一計數器連接的內部自啟動信號產生單元,內部自啟動信號產生單元與異步FIFO模塊連接。
2.根據權利要求I所述的應用于信號處理芯片的高速信號采樣和同步的架構,其特征在于所述可調延時鏈模塊由若干個延時單元串聯組成。
3.根據權利要求I所述的應用于信號處理芯片的高速信號采樣和同步的架構,其特征在于所述異步FIFO模塊包括第二計數器、與第二計數器連接的寫使能產生模塊和與寫使能產生模塊連接的非空狀態信號產生單元;所述第二計數器和寫使能產生模塊分別與內部自啟動信號產生單元連接;所述非空狀態信號產生單元與讀控制信號產生單元連接。
4.根據權利要求3所述的應用于信號處理芯片的高速信號采樣和同步的架構,其特征在于所述第二計數器為四位計數器。
5.根據權利要求I所述的應用于信號處理芯片的高速信號采樣和同步的架構,其特征在于所述第一計數器為八位計數器。
6.采用權利要求I所述架構進行高速信號采樣和同步的方法,其特征在于,該方法包括Ca)對每路ADC信號,可調延時鏈模塊對ADC時鐘信號進行可調延時處理,使ADC時鐘和ADC數據保持精確的相位關系;同時,啟動信號啟動第一計數器;其中,ADC信號包括ADC 數據和ADC時鐘;(b)當第一計數器計數到256時,內部自啟動信號產生單元產生timeout信號,并將該信號傳輸至異步FIFO模塊,同時啟動每路異步FIFO模塊的寫操作,寫入數據的異步FIFO 模塊產生非空狀態信號1,并將該信號傳輸至讀控制信號產生單元;(c)當多路異步FIFO模塊產生的非空狀態信號均為I時,讀控制信號產生單元產生數據有效信號和讀地址,并傳輸給異步FIFO模塊,進行數據的同步輸出。
7.采用權利要求I所述架構進行高速信號采樣和同步的方法,其特征在于,該方法包括(I )對每路ADC信號,可調延時鏈模塊對ADC時鐘信號進行可調延時處理,使ADC時鐘和ADC數據保持精確的相位關系;同時,啟動信號啟動第一計數器;其中,ADC信號包括ADC 數據、ADC時鐘和ADC同步信號;(II)將每路的ADC數據、ADC同步信號和延時后的ADC時鐘輸入到異步FIFO模塊;當 ADC同步信號為1,啟動該路的異步FIFO模塊的寫操作,寫入數據的異步FIFO模塊產生非空狀態信號1,并將該信號傳輸至讀控制信號產生單元;(III)當第一計數器計數到256時,內部自啟動信號產生單元產生timeout信號,此時判斷每路異步FIFO模塊是否都有數據寫入,如果有異步FIFO模塊沒有寫入數據,啟動第二計數器,計數到16時,強制啟動各路寫使能產生模塊,對所有異步FIFO模塊進行寫操作;(IV)當多路異步FIFO模塊產生的非空狀態信號均為I時,讀控制信號產生單元產生數據有效信號和讀地址,并傳輸給異步FIFO模塊,進行數據的同步輸出。
全文摘要
本發明公開了一種應用于信號處理芯片的高速信號采樣和同步的架構,其特征在于包括可調延時鏈模塊、與可調延時鏈模塊連接的異步FIFO模塊、與異步FIFO模塊連接的讀控制信號產生單元、用于接收啟動信號并開始計數的第一計數器和與第一計數器連接的內部自啟動信號產生單元,內部自啟動信號產生單元與異步FIFO模塊連接。該架構完成了ADC時鐘信號的可調延時處理,并通過異步FIFO模塊進行異步寫入,同步讀取,實現單路信號采樣的穩定性和多路信號之間的同步性,使高速信號的傳輸更穩定、更可靠。
文檔編號H03M1/54GK102931994SQ20121036314
公開日2013年2月13日 申請日期2012年9月26日 優先權日2012年9月26日
發明者呂繼平, 陳俊宇, 文建瀾, 邸曉曉, 吳新春 申請人:成都嘉納海威科技有限責任公司