[發明專利]一種基于共享存儲的以太網終端發送實現方法及終端裝置有效
| 申請號: | 201310630065.X | 申請日: | 2013-11-29 |
| 公開(公告)號: | CN103617132A | 公開(公告)日: | 2014-03-05 |
| 發明(設計)人: | 楊愛良;李修杰 | 申請(專利權)人: | 中國航空無線電電子研究所 |
| 主分類號: | G06F12/08 | 分類號: | G06F12/08;G06F5/10;H04L29/08 |
| 代理公司: | 上海和躍知識產權代理事務所(普通合伙) 31239 | 代理人: | 杜林雪 |
| 地址: | 200233 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 共享 存儲 以太網 終端 發送 實現 方法 裝置 | ||
技術領域
本發明涉及以太網終端設備發送的方法,特別涉及一種基于共享存儲的以太網終端發送實現方法。
背景技術
AFDX(Avionics?Full?Duplex?Switched?Ethernet)網絡作為新興的航空電子總線標準,以太網終端設備在航電系統中的已被廣泛應用,并應用于交換機中以維護交換機。如圖1所示,ARINC664協議交換引擎的核心是一個N*N的交換結構,它可以支持N個10M/100M輸入端口和N個10M/100M輸出端口。數據可以從任意輸入端口進入交換引擎,經過交換引擎轉發后從任意端口輸出。終端用來維護和監測端口數據,如加載交換機配置表,上報交換機狀態信息等。如圖2所示ARINC664的終端發送流程。終端發送端如果支持n條虛擬鏈路(VL),且每條VL隊列由最多4條子虛擬鏈路(SubVL)隊列組成,那么終端需要有4*n個發送隊列和1個發送隊列。如果按照常規的發送機制進行設計,每條SubVL需要用一個隊列緩沖區來存儲發送隊列,那么上述發送流程中共需要4*n+1個隊列緩沖區,對存儲器的資源要求非常大,因此不能支持太多的發送VL。
發明內容
本發明的發明目的在于提供一種基于共享存儲的以太網終端發送實現方法,在保證ARINC664協議規定的終端發送的性能的同時,通過存儲資源的共享,可以大大縮小存儲空間的利用,減少設計面積,降低功耗,節省資源。
本發明的發明目的通過以下技術方案實現:
一種基于共享存儲的以太網終端發送實現方法,包括以下步驟:
A、ES?CPU將各SubVL的發送的包打包后寫入共享存儲區中對應的SubVL的幀緩沖區,并將該幀的起始地址和長度寫入緩沖區寫指針RING?BUFFER的對應SubVL的寫指針緩存區,同時計數單元中對應的VL緩沖幀數的計數同時累加1;
B、輪詢模塊先依次輪詢緩沖區寫指針RING?BUFFER的計數單元,查看各寫指針緩存區是否有數據要發送,如果有數據,查詢發送時間和subVL序號寄存器組中該VL上一幀發送的時間和幀間隔設置以及當前的定時器地時間來判斷是否滿足幀間隔,如果不滿足則跳到下一條VL;如果滿足幀間隔,則從上一次發送的SubVL序號開始輪詢判斷該VL中哪一條SubVL有數據發送;
C、輪詢模塊將有數據發送的SubVL序號和當前的定時器時間紀錄在對應的發送時間和SubVL序號寄存器中,并讀出該SubVL的寫指針緩存區中的數據寫入發送指針FIFO中,讀的同時將計數單元中對應的VL緩沖幀數的計數同時減1;
D、發送模塊讀出發送指針FIFO的數據,根據起始地址和長度將共享存儲區中對應的數據幀發送出去。
依據上述特征,所述查看各寫指針緩存區是否有數據要發送具體為:如果計數單元中對應的VL緩沖幀數的計數為0,表示無待發數據;計數大于0小于該VL對應的subVL的個數,表示有數據要發;計數等于該VL對應的subVL的個數時表示對應的VL緩沖幀數達到緩沖的最大值,則通知ES?CPU終止向該VL的發送數據。
本發明的另一目的在于提供一種基于共享存儲的以太網終端發送實現方法的終端裝置,包含共享存儲區、緩沖區寫指針RING?BUFFER、發送時間和subVL序號寄存器組、輪詢模塊、發送指針FIFO、發送模塊:
所述共享存儲區用于存儲發送隊列,提供一條以上的VL緩沖區,每條VL緩存區包含一條以上的SubVL幀緩沖區;
所述緩沖區寫指針RING?BUFFER包含一個以上的寫指針緩沖區和計數單元,每個寫指針緩沖區對應一條SubVL,記錄該SubVL的存儲發送隊列的起始位置及長度,計數單元分別對各個VL緩沖幀數的個數進行統計;
所述發送時間和SubVL序號寄存器組用于在輪詢模塊向發送指針FIFO寫入SubVL的寫指針緩沖區的數據時記錄該SubVL序號和當前的定時器時間紀錄;
所述輪詢模塊用于先依次輪詢計數單元查看各VL是否有數據要發送,如果有數據,查詢發送時間和subVL序號寄存器組中該VL上一幀發送的時間和幀間隔設置以及當前的定時器地時間來判斷是否滿足幀間隔,如果滿足幀間隔,則從上一次發送的SubVL序號開始輪詢判斷該VL中哪一條SubVL有數據發送,將有數據發送的SubVL序號和當前的定時器時間紀錄送至發送時間和subVL序號寄存器組,以及讀出SubVL的寫指針緩沖區的數據寫入發送指針FIFO中;
所述發送指針FIFO按照先入先出的規則將寫指針緩沖區中的數據進行排隊;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國航空無線電電子研究所,未經中國航空無線電電子研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310630065.X/2.html,轉載請聲明來源鉆瓜專利網。





