光纖反射內存網關鍵技術
1)高實時性低開銷網絡通訊協議的設計與實現
目前主流公開的網絡協議,如以太網所使用的TCP/IP協議雖然功能完備、運行穩定,但其傳輸機制和服務方式都比較復雜冗余,實時性較差,不適合于多實時性有較高要求的領域。
光纖反射內存網通訊協議要在保證高實時性和穩定性前提下,降低協議的復雜度。在保證網絡基本服務和傳輸穩定性的前提下,盡量提高系統的傳輸性能、實時性及相應速度。同時要有完整的錯誤處理機制,在錯誤發生的情況下保證錯誤不蔓延,有良好的自愈能力。
2)邊收邊轉的數據轉發模式實現低延時數據轉發
在協議控制器設計上采用RFMMA(ReflectiveMemory Multiple Access)基于反射內存的多模式存取技術,支持數據、IO、命令、中斷等多種數據傳輸模式。
在協議實現上,即協議控制器的設計上,要采取低延時的數據轉發策略,將轉發延遲控制在1us以內,這個對協議控制器實現提出了很高的挑戰。主要采用此一下方法:1)采用邊收邊轉發的數據傳輸模式,不采用存儲轉發模式,減小數據在單個節點上的轉發延遲,提高系統實時性。2)在協議設計時,優化設計,壓縮信息頭的長度,并將重要信息都放在信息頭前面,以方便轉發時進行快速判斷。3)設計了完備的數據幀回收機制,通過節點ID、傳輸計數器等方式保證了廢數據幀的可靠回收。同時,采用CRC校驗碼校驗數據的正確性。
一般的網絡接口設備在轉發數據是都采用存儲轉發的方式,轉發延遲過大,導致整個系統的延時加大,實時性降低。采用即時收/轉(邊收邊轉發)模式,在接收數據的同時完成處理和轉發,代替常用的存儲轉發模式,只需4個時鐘周期便可完成判斷&轉發,典型數據幀是(長度256Byte)轉發延遲比存儲轉發縮短了30倍以上。實測延時小于0.6us。
3)光纖HUB的換網動態重構及數據監測技術
利用高速開關陣列及FPGA集成的高速收發器,構建一個開關陣列,通過開關陣列的切換,形成內外雙環的數據傳輸通路,是光纖網絡數據在邏輯上形成一個環形傳輸方式,并通過FPGA收發器實時采集數據實現網絡狀態的監控及故障節點的自診斷自隔離。
4)高速電路設計及仿真驗證技術
光纖反射內存網絡波特率2.5Gbps,電信號的這個數據通訊速率下傳輸,屬于高速電路設計。為保證數據可靠傳輸、保證系統的電磁兼容性、信號完整性,對電路板PCB設計提出了較高的要求。為保證設計質量,采用了Cadence公司的SigXplorer軟件進行電路仿真,對仿真結果進行多輪迭代來改進設計。
反射內存網中的每個反射內存節點(任何5565反射內存卡)以菊花鏈的形式用光纖線互聯。**塊卡的發送必須連接到第二塊卡的接收端,第二塊卡的發送端連接到第三塊卡的接收端,以此類推,直到再連接到**塊卡的接收端完成一個完整的環形連接。也可以將所有節點連接到一個或多個ACC-5595反射內存HUB,每個節點的接收和發送都必須連接,如果沒有檢測到光信號或失去同步反射內存卡RFM-5565將不會發送數據包(例如光纖線已損壞)。反射內存網中每個節點的節點號必須唯一,節點號通過板上的撥碼開關S2進行設置,任何兩個節點不能有設置成同一個節點號,每個板卡的節點號可以在通過NODEID進行讀取顯示,節點號的順序并不重要。
主系統對反射內存卡的板載SDRAM的寫操作后,反射內內卡的硬件檢測電路將自動發起一個整個反射內存網的數據傳輸動作。這個寫操作可以是一個簡單的PIO寫或是一個DMA周期。
當產生一個對SDRAM的寫操作時,RFM-5565反射內存卡自動將數據和其它相關的信息寫入到發送緩沖器中(其它相關信息包括節點號,數據地址等信息),在發送緩沖器中,發送電路檢測數據,并且將數據變成一個4到64字節長度可變的數據包。通過光纖接口發送到下一個板卡的接收端口。
接收電路檢查數據包是否有錯誤,當無錯誤發生時數據被接收。接收電路解開數據包并且將數據存儲到板載的接收緩沖器。在接收緩沖器中,另一個電路將數據寫入到本地的SDRAM的和源節點相同的地址中。同時,該電路將數據同時發送到發送FIFO中,重復這個處理過程直到這個數據返回到源節點的接收端,在源節點中,接收電路檢測到數據包的NODEID和源節點的NODEID相同,因此將數據包從網絡中移除,這樣所有的節點數據都被更新了。