[發明專利]高精度記錄網卡接收時間的方法有效
| 申請號: | 201210258063.8 | 申請日: | 2012-07-24 |
| 公開(公告)號: | CN102855172A | 公開(公告)日: | 2013-01-02 |
| 發明(設計)人: | 倪時龍;王云茂;陳晶 | 申請(專利權)人: | 福建億榕信息技術有限公司 |
| 主分類號: | G06F11/34 | 分類號: | G06F11/34 |
| 代理公司: | 福州市鼓樓區京華專利事務所(普通合伙) 35212 | 代理人: | 宋連梅 |
| 地址: | 350000 福建省福*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 高精度 記錄 網卡 接收 時間 方法 | ||
【技術領域】
本發明涉及一種高精度記錄網卡接收時間的方法。
【背景技術】
現有網卡收包時間的測量方法,采用CPU軟處理的方式,具體為:網卡芯片收到數據包后,會產生中斷,CPU在響應中斷后,判斷收到的數據包是否正確,并記錄下CPU響應中斷時的時間。這個響應時間來自CPU內部一個定時器的時間。從網卡中斷到CPU響應終端這兩個動作間的時間被忽略了,這個時間值受CPU負載影響非常大,隨CPU負載率的變化而變化,CPU運行負擔重時,容易出現記錄時間偏差大的問題,而且測量時間值是隨機的。如果CPU是ARM類型的CPU,這個時間能達到幾十到幾百微秒,如果是DSP類型的CPU,則時間也會達到幾到幾十微秒。對于數據包間隔時間只有幾百微秒的情況來說,誤差幾十微秒是難以容忍的。
【發明內容】
本發明要解決的技術問題,在于提供一種高精度記錄網卡接收時間的方法。
本發明是這樣實現的:
高精度記錄網卡接收時間的方法,包括如下步驟:
步驟1、網卡在收到數據包時,數據接收中斷從低電平跳變到高電平,一整形電路捕獲該上升沿信號并輸出一單脈沖觸發信號;
步驟2、所述單脈沖觸發信號觸發一時間發生器中的時間記錄器,所述時間記錄器立即將所述時間發生器的當前時間記錄為一時標信息,然后再將所述時標信息發送至FIFO緩沖區;所述時標信息精確到微秒;
步驟3、CPU通過總線讀取數據包的內容,同時CPU通過總線訪問所述FIFO緩沖區,讀取所述時標信息,獲得網卡接收所述數據包的時間,即獲得對應所述數據包的時標信息。
進一步地,所述時間發生器通過一年月日時分秒計數器和一0.1微秒計數器產生精度為0.1微秒的時間;所述時間發生器中年月日時分秒計數器的當前時間由一配置寄存器配置,CPU通過總線訪問所述配置寄存器配置當前時間;同時,所述年月日時分秒計數器和0.1微秒計數器的驅動時鐘來自內部有源鐘振或外部秒脈沖信號,通過所述配置寄存器設置驅動時鐘的來源:內部有源鐘振或外部秒脈沖信號。
進一步地,所述年月日時分秒計數器和0.1微秒計數器的驅動時鐘來自內部有源鐘振時,所述0.1微秒計數器的驅動時鐘是所述內部有源鐘振經第一分頻器產生的10MHz的信號,所述年月日時分秒計數器的驅動時鐘是所述內部有源鐘振經第二分頻器產生的內部秒脈沖信號;當內部秒脈沖信號到來時,所述0.1微秒計數器清零。
進一步地,所述年月日時分秒計數器和0.1微秒計數器的驅動時鐘來自外部秒脈沖信號時,所述0.1微秒計數器的驅動時鐘是所述外部秒脈沖信號依次經過脈沖寬度計數器和補償倍頻器后產生的10Mhz信號,所述年月日時分秒計數器的驅動時鐘由外部秒脈沖信號直接提供。
進一步地,所述總線為16位并行總線。
本發明具有如下優點:
在網卡產生數據接收中斷的同時,立即記錄該中斷所對應的時標,這個時標包括年、月、日、時、分、秒、微秒信息,送入FIFO緩沖區,這樣即使CPU沒有立即響應該中斷,該中斷所對應的時標已經完整的記錄下來。CPU在響應中斷的時候,讀取數據包內容,同時讀取時間記錄器內部FIFO即可獲得對應數據包的精確時標,這個時標精度優于0.1微秒(分辨率16.67納秒)。
本發明記錄網卡接收時間不再依賴CPU,因此CPU代碼的調整變化對實際的測量精度沒有影響。即使原來使用實時性很差的ARM?CPU,采用本發明記錄方法后,同樣可以得到非常高的時間精度,且CPU不再需要額外開銷時間變量,并且能夠自動更新,降低了CPU占用率,因此CPU也不再需要開銷一個定時器來獲得微秒量級的信息。
【附圖說明】
下面參照附圖結合實施例對本發明作進一步的說明。
圖1為本發明高精度記錄網卡接收時間的方法的示意圖。
圖2為本發明高精度記錄網卡接收時間的方法的流程示意圖。
【具體實施方式】
請參閱圖1和圖2所示,對本發明進行詳細闡述。
高精度記錄網卡接收時間的方法,包括如下步驟:
步驟1、網卡在收到數據包時,數據接收中斷從低電平跳變到高電平,一整形電路捕獲該上升沿信號并輸出一單脈沖觸發信號;當內部有源鐘振為60MHz鐘振時,所述脈沖信號的寬度為16.67納秒;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于福建億榕信息技術有限公司,未經福建億榕信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210258063.8/2.html,轉載請聲明來源鉆瓜專利網。





