專利名稱:基于時鐘信號的數據接收方法及其裝置的制作方法
技術領域:
本發明涉及網絡通信技術領域,尤其涉及一種基于時鐘信號的數據接收方法及其裝置。
背景技術:
目前,網絡通信技術中對數據的接收通常是根據時鐘信號采樣數據信號,獲得數據。例如,目前網絡通信中用于接收數據信息的通信控制器在設計應用過程中,經常碰到由板級或對端設備向其提供端口時鐘和端口數據的情況,并由通信控制器的同步端口根據時鐘信號將有效的數據信號從線路上采集下來做進一步處理;而時鐘信號和數據信號在傳輸過程中產生的延時差異,將導致時鐘信號相對于數據信號的相位發生變化,即時鐘上升沿偏離數據穩定部分,從而無法根據該時鐘信號進行數據的采樣。
如圖1所示,當時鐘上升沿對應著數據的穩定階段時,通信控制器可以很好地采樣數據。但如果因為傳輸過程中的時延,使時鐘與數據的相位關系出現如圖2所示的情況,即時鐘上升沿對應著數據的不穩定階段,將導致通信控制器端口無法正常采樣數據,即通信控制器無法正常工作。
為了解決上述問題通常采用的方法是利用軟件控制將時鐘反相。即如果發現輸入時鐘相位不夠理想,引起數據采樣不穩定后,預先用軟件控制將時鐘反相。如圖3所示,時鐘1是原始的輸入時鐘,其上升沿對應數據的不穩定區,無法正常采樣。當軟件控制將時鐘1反相后,便可以得到時鐘2,而時鐘2正好處于理想相位,可以保證數據的正常采樣。
但通過軟件設計解決上述問題大大增加軟件設計的復雜程度。因為,無論時鐘相位是否理想,對數據信號的采樣都可以獲得一個或“0”或“1”的值。很多時候僅通過這個采樣值軟件是無法判斷是否應該對時鐘進行反向處理。通常是在電路調試過程中,由設計人員根據實際測到的結果做主觀判斷,然后人為在軟件上對某一路端口設為反相或不反相時鐘。當軟件應用于不同的電路設計時,就要根據不同的信號情況逐一作出判斷,逐一修改軟件。當設計很大,并且軟件應用環境種類繁多的時候,這一工作要消耗設計人員大量的時間,并大大增加出現錯誤的機會。
在有些設計中,輸入數據和時鐘的相位不是固定不變的。同一電路和軟件在不同的時間、不同的外界環境下都會輸出不同相位的時鐘。這時仍然采用預先設定的方法控制時鐘的相位顯然不可以。因此,該方法應用時必須對應用環境和信號質量作出嚴格的規定,從而限制了通信控制器的應用范圍,降低了通信控制器的適應能力。
用時鐘反相調整法有一個假設,就是數據信號的質量不會太差,其穩定階段超過信號周期的一半以上。因此如果上升沿無法采到穩定的數據,那么下降沿一定可以采到。但是在實際設計中,如果數據信號的質量很差,時鐘反相調整法就不適用了。如圖4所示,數據信號質量很差,其穩定階段很短,小于信號周期的一半。此時無論正相時鐘(時鐘1)或反相時鐘(時鐘2)都無法采到穩定的數據。
發明內容
本發明提供了一種基于時鐘信號的數據接收方法及其裝置,以提高通信控制器的適用范圍,保證通信控制器端口數據采樣的可靠性。
本發明的目的是這樣實現的所述的基于時鐘信號的數據接收方法,包括利用高頻時鐘采樣輸入信號,并根據輸入信號的采樣結果對輸入信號相位進行調整,然后根據調整后的輸入信號進行數據的接收。
所述的輸入信號為輸入時鐘信號和輸入數據信號。
該方法進一步包括a、利用高頻時鐘分別對輸入時鐘信號和輸入數據信號進行采樣計數,并確定輸入時鐘信號和輸入數據信號間需要調整的相位值;b、根據輸入時鐘信號和輸入數據信號間需要調整的相位值對輸入信號進行相位調整;c、對于調整后的輸入信號,根據輸入時鐘信號對輸入數據信號進行采樣接收。
所述的步驟a包括
a1、利用硬件內部的高頻時鐘信號對輸入時鐘信號進行采樣計數,確定輸入時鐘信號的周期長度,并根據確定的輸入時鐘信號的周期長度確定輸入數據信號穩定期相對于輸入數據信號的跳變沿的相位偏移值;a2、利用硬件內部的高頻時鐘信號對輸入數據信號進行采樣,并確定輸入時鐘信號跳變沿與輸入數據信號跳變沿間的相位偏移值;a3、根據步驟a1和步驟a2獲得的兩個相位偏移值確定輸入時鐘信號和輸入數據信號間需要調整的相位值。
所述的步驟b為根據輸入時鐘信號和輸入數據信號間需要調整的相位值對輸入時鐘信號進行相位調整。
所述的步驟b為根據輸入時鐘信號和輸入數據信號間需要調整的相位值對輸入數據信號進行相位調整。
一種基于上述方法實現的基于時鐘信號的數據接收裝置,包括高頻時鐘發生器用于產生高頻時鐘信號,并輸出給相位偏移計算模塊;相位偏移計算模塊引入輸入時鐘信號、輸入數據信號及高頻時鐘信號,計算確定輸入數據信號的穩定期與輸入時鐘信號間的相位偏移值,輸出給相位調整模塊;相位調整模塊接收相位偏移計算模塊輸出的相位偏移值,并根據該相位偏移值對輸入信號的相位進行調整,調整后輸出給數據接收處理模塊;數據接收處理模塊根據調整后的輸入信號進行數據接收處理,并輸出數據采樣接收結果。
所述的相位偏移計算模塊包括輸入時鐘周期計數器引入輸入時鐘信號及高頻時鐘發生器的輸出的高頻時鐘信號,計算獲得輸入時鐘信號的周期長度輸出給相位偏移計算子模塊,同時輸出高頻時鐘信號及輸入時鐘信號周期計數值給初始相位獲取子模塊;
初始相位獲取子模塊根據輸入時鐘周期計數器輸出的高頻時鐘信號及輸入時鐘信號周期計數值計算確定輸入時鐘信號與輸入數據信號間的初始相位偏移值,輸出給相位調整模塊;相位偏移計算子模塊根據輸入時鐘周期計數器輸出的輸入時鐘信號周期長度,確定輸入信號的相位調整值輸出給相位調整模塊。
所述的相位調整模塊為時鐘相位調整模塊;所述的數據接收處理模塊為接收經過相位調整處理后的輸入時鐘信號,并根據該接收的輸入時鐘信號采樣接收的輸入數據信號,進行數據采樣接收處理。
所述的相位調整模塊還可以為數據相位調整模塊;所述的數據接收處理模塊還可以為接收經過相位調整處理后的輸入數據信號,并根據接收的輸入時鐘信號采樣經過相位調整處理后的輸入數據信號,進行數據采樣接收處理。
由上述技術方案可以看出,本發明采用高頻時鐘采樣輸入時鐘和輸入數據,并對輸入時鐘或輸入數據進行調整。因此,本發明實現了當出現輸入數據信號和時鐘信號相位出現偏差無法正常采樣時,可以通過硬件手段對輸入時鐘相位或輸入數據相位進行自動調節,即在物理芯片內部采用固化電路實現該功能,在信號質量和應用環境比較惡劣的情況下獲得滿意的數據采樣效果,即對輸入信號的質量要求明顯下降,增強了通信控制器的適應各種環境的能力,同時可以加快數據采集處理的速度,提高數據采集的穩定性。而且,本發明在應用的過程中無需軟件干預,大大降低了軟件開發難度和出錯的可能性。
圖1為理想的時鐘和數據相位關系圖;圖2為非理想的時鐘和數據相位關系圖;圖3為時鐘反向調整后的時鐘和數據相位關系圖;圖4為無法通過時鐘反向調整的時鐘和數據相位關系圖;圖5為本發明所述的裝置的結構示意圖1;
圖6為本發明所述的裝置的結構示意圖2;圖7為本發明所述的裝置的結構示意圖3;圖8為高頻采樣輸入時鐘的示意圖;圖9為本發明中采樣數據的示意圖;圖10為調整時鐘相位的示意圖;圖11為本發明所述的方法的流程圖;圖12為高速數據相位的示意圖。
具體實施例方式
本發明所述的基于時鐘信號的數據接收裝置的具體實施方式
如圖5、圖6、圖7所示,具體包括高頻時鐘發生器用于產生高頻時鐘信號,高頻時鐘信號用于對輸入信號進行采樣計數,并輸出給相位偏移計算模塊;相位偏移計算模塊引入輸入時鐘信號、輸入數據信號及高頻時鐘信號,計算確定輸入數據信號的穩定期與輸入時鐘信號跳變沿間的相位偏移值,輸出給相位調整模塊,以便于相位調整模塊根據該相位偏移值進行輸入時鐘信號或輸入數據信號相位的調整;所述的相位偏移計算模塊進一步包括輸入時鐘周期計數器引入輸入時鐘信號及高頻時鐘發生器的輸出的高頻時鐘信號,計算獲得輸入時鐘信號的周期長度輸出給相位偏移計算子模塊,同時輸出高頻時鐘信號及輸入時鐘信號周期計數值給初始相位獲取子模塊;初始相位獲取子模塊根據輸入時鐘周期計數器輸出的高頻時鐘信號及輸入時鐘信號周期計數值計算確定輸入時鐘信號與輸入數據信號間的初始相位偏移值,輸出給相位調整模塊;相位偏移計算子模塊根據輸入時鐘周期計數器輸出的輸入時鐘信號周期長度,確定輸入信號的相位調整值輸出給相位調整模塊。
相位調整模塊接收相位偏移計算模塊輸出的相位偏移值,并根據該相位偏移值對輸入信號的相位進行調整,調整后輸出給數據接收處理模塊;所述的相位調整模塊可以為時鐘相位調整模塊或數據相位調整模塊;即可以通過對時鐘相位的調整達到時鐘相位與數據相位間的理想相位關系,也可以通過對數據相位的調整達到時鐘相位與數據相位間的理想相位關系;數據接收處理模塊根據調整后的輸入信號進行數據接收處理,并輸出數據采樣接收結果;當通過時鐘相位的調整達到時鐘相位與數據相位間的理想相位關系時,所述的數據接收處理模塊為接收經過相位調整處理后的輸入時鐘信號,并根據該接收的輸入時鐘信號采樣接收的輸入數據信號,進行數據采樣接收處理。
當通過數據相位的調整達到時鐘相位與數據相位間的理想相位關系時,所述的數據接收處理模塊為接收經過相位調整處理后的輸入數據信號,并根據接收的輸入時鐘信號采樣經過相位調整處理后的輸入數據信號,進行數據采樣接收處理。
本發明所述的基于時鐘信號的數據接收方法的具體實施方式
如圖8、圖9、圖10和圖11所示,具體包括以下步驟步驟1用硬件內部高頻時鐘對輸入時鐘信號進行計數,確定輸入信號的周期長度,并根據確定的輸入時鐘信號的周期長度確定輸入數據信號穩定期相對于輸入數據信號起始位置的相位偏移值;如圖8所示,用一個高頻時鐘信號對輸入時鐘信號進行采樣計數,當輸入時鐘從“0”到“1”跳變時開始計數,高頻時鐘信號的每一次由“0”到“1”的跳變計數加1,直到輸入時鐘信號再次從“0”到“1”跳變時結束計數,得到利用高頻時鐘信號采樣獲得的輸入時鐘信號周期長度10;
由于高頻時鐘信號和輸入時鐘信號之間是完全異步關系,有可能在輸入時鐘信號的上升沿或下降沿采到不穩定狀態,從而導致1~2的計數誤差,但如果保證相對輸入時鐘信號而言高頻時鐘信號的頻率足夠高,計數誤差是可以忽略的;硬件對周期進行運算通常數據信號的穩定期出現在整個數據周期的中點,數據周期的長度又與時鐘周期的長度相同,因此這里對輸入時鐘周期長度做除2運算,獲得輸入數據信號穩定期相對于輸入數據信號跳變沿的相位偏移值為5;如果數據信號采樣處理過程中有特殊要求,如要求在數據周期1/3處采樣,則據此做相應運算;步驟2利用高頻時鐘同時采樣輸入數據信號和輸入時鐘信號,并確定輸入時鐘信號跳變沿與輸入數據信號跳變沿間的相位偏移值;計數器每當輸入時鐘的上升沿就從“0”開始計數,輸入數據信號總是會發生從“0”到“1”或者從“1”到“0”的變化,如果高頻時鐘信號捕捉到一個這樣的跳變沿,便可以根據當前計數器的計數值得到輸入時鐘信號和輸入數據信號的相對相位偏移值;如圖9所示,當輸入數據信號發生跳變時,高頻時鐘信號對輸入時鐘的計數值為“1”,可以得到它們的相位偏移值為“-1”;步驟3根據步驟1和步驟2獲得的兩個相位偏移值確定輸入時鐘信號和輸入數據信號間需要調整的相位值為6;步驟4根據輸入時鐘信號和輸入數據信號間需要調整的相位值對輸入信號進行相位調整;如圖10所示,計算出應該將輸入時鐘信號后移6個高頻周期,才可以保證數據信號的可靠采樣,于是利用高頻時鐘信號對輸入時鐘打6拍,即每當計數值為6時恰好是新時鐘的上升沿,新時鐘的周期和原輸入時鐘周期相同;當然,還可以對輸入數據信號進行相位調整,從而使輸入時鐘信號與輸入數據信號間保持理想的相位關系,以保證數據的可靠采樣,如圖12所示,當輸入數據信號落后輸入時鐘信號1,而理想狀況為落后5時,因此可以用高頻時鐘對輸入數據信號打4拍,即將輸入數據信號后移4個高頻周期,即每當計數值為5(4+1)時,為數據跳變沿;步驟5對于調整后的輸入信號,則根據輸入時鐘信號對輸入數據信號進行采樣接收;即后續操作一律按照輸入數據信號和調整后的新時鐘處理,可以得到滿意的采樣效果。
權利要求
1.一種基于時鐘信號的數據接收方法,其特征在于利用高頻時鐘采樣輸入信號,并根據輸入信號的采樣結果對輸入信號相位進行調整,然后根據調整后的輸入信號進行數據的接收。
2.根據權利要求1所述的基于時鐘信號的數據接收方法,其特征在于所述的輸入信號為輸入時鐘信號和輸入數據信號。
3.根據權利要求1或2所述的基于時鐘信號的數據接收方法,其特征在于該方法進一步包括a、利用高頻時鐘分別對輸入時鐘信號和輸入數據信號進行采樣計數,并確定輸入時鐘信號和輸入數據信號間需要調整的相位值;b、根據輸入時鐘信號和輸入數據信號間需要調整的相位值對輸入信號進行相位調整;c、對于調整后的輸入信號,根據輸入時鐘信號對輸入數據信號進行采樣接收。
4.根據權利要求3所述的基于時鐘信號的數據接收方法,其特征在于所述的步驟a包括a1、利用硬件內部的高頻時鐘信號對輸入時鐘信號進行采樣計數,確定輸入時鐘信號的周期長度,并根據確定的輸入時鐘信號的周期長度確定輸入數據信號穩定期相對于輸入數據信號的跳變沿的相位偏移值;a2、利用硬件內部的高頻時鐘信號對輸入數據信號進行采樣,并確定輸入時鐘信號跳變沿與輸入數據信號跳變沿間的相位偏移值;a3、根據步驟a1和步驟a2獲得的兩個相位偏移值確定輸入時鐘信號和輸入數據信號間需要調整的相位值。
5.根據權利要求3所述的基于時鐘信號的數據接收方法,其特征在于所述的步驟b為根據輸入時鐘信號和輸入數據信號間需要調整的相位值對輸入時鐘信號進行相位調整。
6.根據權利要求3所述的基于時鐘信號的數據接收方法,其特征在于所述的步驟b為根據輸入時鐘信號和輸入數據信號間需要調整的相位值對輸入數據信號進行相位調整。
7.一種基于時鐘信號的數據接收裝置,其特征在于包括高頻時鐘發生器用于產生高頻時鐘信號,并輸出給相位偏移計算模塊;相位偏移計算模塊引入輸入時鐘信號、輸入數據信號及高頻時鐘信號,計算確定輸入數據信號的穩定期與輸入時鐘信號間的相位偏移值,輸出給相位調整模塊;相位調整模塊接收相位偏移計算模塊輸出的相位偏移值,并根據該相位偏移值對輸入信號的相位進行調整,調整后輸出給數據接收處理模塊;數據接收處理模塊根據調整后的輸入信號進行數據接收處理,并輸出數據采樣接收結果。
8.根據權利要求7所述的基于時鐘信號的數據接收裝置,其特征在于所述的相位偏移計算模塊包括輸入時鐘周期計數器引入輸入時鐘信號及高頻時鐘發生器的輸出的高頻時鐘信號,計算獲得輸入時鐘信號的周期長度輸出給相位偏移計算子模塊,同時輸出高頻時鐘信號及輸入時鐘信號周期計數值給初始相位獲取子模塊;初始相位獲取子模塊根據輸入時鐘周期計數器輸出的高頻時鐘信號及輸入時鐘信號周期計數值計算確定輸入時鐘信號與輸入數據信號間的初始相位偏移值,輸出給相位調整模塊;相位偏移計算子模塊根據輸入時鐘周期計數器輸出的輸入時鐘信號周期長度,確定輸入信號的相位調整值輸出給相位調整模塊。
9.根據權利要求7或8所述的基于時鐘信號的數據接收裝置,其特征在于所述的相位調整模塊為時鐘相位調整模塊;所述的數據接收處理模塊為接收經過相位調整處理后的輸入時鐘信號,并根據該接收的輸入時鐘信號采樣接收的輸入數據信號,進行數據采樣接收處理。
10.根據權利要求7或8所述的基于時鐘信號的數據接收裝置,其特征在于所述的相位調整模塊為數據相位調整模塊;所述的數據接收處理模塊為接收經過相位調整處理后的輸入數據信號,并根據接收的輸入時鐘信號采樣經過相位調整處理后的輸入數據信號,進行數據采樣接收處理。
全文摘要
本發明涉及一種基于時鐘信號的數據接收方法及其裝置。本發明是利用高頻時鐘采樣輸入信號,并根據輸入信號的采樣結果對輸入信號相位進行調整,然后根據調整后的輸入信號進行數據的接收。因此,本發明實現了輸入時鐘相位或輸入數據相位的自動調節,在信號質量和應用環境比較惡劣的情況下獲得滿意的數據采樣效果,增強了通信控制器的適應各種環境的能力。而且,本發明在應用的過程中無需軟件干預,大大降低了軟件開發難度和出錯的可能性。
文檔編號H04L12/26GK1521976SQ0310289
公開日2004年8月18日 申請日期2003年1月27日 優先權日2003年1月27日
發明者張乃波, 張喜全, 蔣代林, 王宏宇 申請人:華為技術有限公司