反射內(nèi)存網(wǎng)中的每個反射內(nèi)存節(jié)點(任何5565反射內(nèi)存卡)以菊花鏈的形式用光纖線互聯(lián)。第一塊卡的發(fā)送必須連接到第二塊卡的接收端,第二塊卡的發(fā)送端連接到第三塊卡的接收端,以此類推,直到再連接到第一塊卡的接收端完成一個完整的環(huán)形連接。也可以將所有節(jié)點連接到一個或多個ACC-5595反射內(nèi)存HUB,每個節(jié)點的接收和發(fā)送都必須連接,如果沒有檢測到光信號或失去同步反射內(nèi)存卡RFM-5565將不會發(fā)送數(shù)據(jù)包(例如光纖線已損壞)。反射內(nèi)存網(wǎng)中每個節(jié)點的節(jié)點號必須唯一,節(jié)點號通過板上的撥碼開關(guān)S2進行設置,任何兩個節(jié)點不能有設置成同一個節(jié)點號,每個板卡的節(jié)點號可以在通過NODEID進行讀取顯示,節(jié)點號的順序并不重要。
主系統(tǒng)對反射內(nèi)存卡的板載SDRAM的寫操作后,反射內(nèi)內(nèi)卡的硬件檢測電路將自動發(fā)起一個整個反射內(nèi)存網(wǎng)的數(shù)據(jù)傳輸動作。這個寫操作可以是一個簡單的PIO寫或是一個DMA周期。
當產(chǎn)生一個對SDRAM的寫操作時,RFM-5565反射內(nèi)存卡自動將數(shù)據(jù)和其它相關(guān)的信息寫入到發(fā)送緩沖器中(其它相關(guān)信息包括節(jié)點號,數(shù)據(jù)地址等信息),在發(fā)送緩沖器中,發(fā)送電路檢測數(shù)據(jù),并且將數(shù)據(jù)變成一個4到64字節(jié)長度可變的數(shù)據(jù)包。通過光纖接口發(fā)送到下一個板卡的接收端口。
接收電路檢查數(shù)據(jù)包是否有錯誤,當無錯誤發(fā)生時數(shù)據(jù)被接收。接收電路解開數(shù)據(jù)包并且將數(shù)據(jù)存儲到板載的接收緩沖器。在接收緩沖器中,另一個電路將數(shù)據(jù)寫入到本地的SDRAM的和源節(jié)點相同的地址中。同時,該電路將數(shù)據(jù)同時發(fā)送到發(fā)送FIFO中,重復這個處理過程直到這個數(shù)據(jù)返回到源節(jié)點的接收端,在源節(jié)點中,接收電路檢測到數(shù)據(jù)包的NODEID和源節(jié)點的NODEID相同,因此將數(shù)據(jù)包從網(wǎng)絡中移除,這樣所有的節(jié)點數(shù)據(jù)都被更新了。
網(wǎng)絡內(nèi)存網(wǎng)主要是由網(wǎng)絡內(nèi)存卡通過光纖連接而成的,網(wǎng)絡上的每臺計算機插入一塊。網(wǎng)絡內(nèi)存卡形成各個節(jié)點,而每個節(jié)點的網(wǎng)絡內(nèi)存卡上的存儲器中都有網(wǎng)絡內(nèi)存網(wǎng)上其它節(jié)點的共享數(shù)據(jù)拷貝。網(wǎng)絡內(nèi)存卡可以插在多種總線的主板上,如VME、PCI、CompactPCI、PMC接口等。每個網(wǎng)絡內(nèi)存卡都占有一段內(nèi)存地址,網(wǎng)上任何計算機向本地網(wǎng)絡內(nèi)存卡寫數(shù)據(jù)時,該數(shù)據(jù)和相應內(nèi)存地址被廣播到網(wǎng)上所有其他網(wǎng)絡內(nèi)存卡并存儲在相同的位置。
所以計算機將數(shù)據(jù)寫入其本地網(wǎng)絡內(nèi)存卡后的,極短時間內(nèi),網(wǎng)上所有計算機都可以訪問這個新數(shù)據(jù)。網(wǎng)絡內(nèi)存卡使用簡單的讀寫方式,網(wǎng)絡內(nèi)存網(wǎng)上的數(shù)據(jù)傳輸是純硬件操作,不需要考慮網(wǎng)絡的通信協(xié)議,軟件上只需要幾行代碼就可完成對網(wǎng)絡內(nèi)存卡的讀、寫操作,因此它與以太網(wǎng)等其他傳統(tǒng)網(wǎng)絡相比具有更低的數(shù)據(jù)傳輸延遲、更快的傳輸速度,更簡單靈活的使用操作,可以滿足實時系統(tǒng)快速反應周期的要求,而采用其他網(wǎng)絡就很難滿足這種要求。
反射內(nèi)存是一種通過局域網(wǎng)在互連的計算機間提供高效的數(shù)據(jù)傳輸?shù)募夹g(shù),強實時網(wǎng)絡設計人員已經(jīng)越來越多地采用這種技術(shù)。反射內(nèi)存實時局域網(wǎng)的概念十分簡單,就是設計一種網(wǎng)絡內(nèi)存板,在分布系統(tǒng)中實現(xiàn)內(nèi)存至內(nèi)存的通信,并且沒有軟件開銷。每臺計算機上插一塊反射內(nèi)存卡,卡上帶有雙口內(nèi)存,各層軟件既可以讀也可以寫這些內(nèi)存,當數(shù)據(jù)被寫入一臺機器的反射內(nèi)存卡的內(nèi)存中后,反射內(nèi)存卡自動地通過光纖傳輸?shù)狡渌B在網(wǎng)絡上的反射內(nèi)存卡的內(nèi)存里,通常,只需幾百納秒的時間延遲,所有的反射內(nèi)存卡上的內(nèi)存將寫入同樣的內(nèi)容。而各成員在訪問數(shù)據(jù)時,只要訪問本地的反射內(nèi)存卡中的內(nèi)存即可。VMIC反射內(nèi)存具有以下主要特點:
(1)高速度和高性能
傳輸速度達到174M字節(jié)/秒。使用光纖,可以連接更多節(jié)點(最大到256個節(jié)點),具有很高的抗干擾能力。測試結(jié)果表明,從數(shù)據(jù)寫入RAM到傳到另一個節(jié)點的反射內(nèi)存卡上,只有不到400納秒的時延。
(2)使用方便
反射內(nèi)存卡通過向每個節(jié)點機提供一套相同的數(shù)據(jù)備份使得各節(jié)點可以并發(fā)的訪問相同的內(nèi)容在訪問反射內(nèi)存卡的內(nèi)存時與訪問自身的內(nèi)存沒有差別。各節(jié)點間數(shù)據(jù)一致性是由反射內(nèi)存卡保證,對應用軟件是透明的。安裝簡單,將反射內(nèi)存卡插在主板一個可用槽口上,再將各臺主機通過光纖網(wǎng)或扁平數(shù)據(jù)線連在一起即可。
(3)獨立于操作系統(tǒng)和處理機
反射內(nèi)存卡可以VME、PCI、PMC、Compact PCI、Multibus I等多種總線上使用,可以將ALPHA、Power PC、Macintosh、奔騰等計算機通過反射內(nèi)存卡實時網(wǎng)絡連接在一起,組成一個集群系統(tǒng)。
(4)確定的數(shù)據(jù)傳輸時間
在反射內(nèi)存卡中,當數(shù)據(jù)被寫入本地的反射內(nèi)存卡板的內(nèi)存中時,就被同時傳輸?shù)狡渌噙B的計算機上,沒有軟件延遲,硬件延遲也非常小。光纖反射內(nèi)存卡在節(jié)點間傳輸數(shù)據(jù)時只需400納秒。這種確定的時間延遲為設計實時應用提供了有效的保證。
(5)經(jīng)濟、高效
反射內(nèi)存卡的數(shù)據(jù)傳輸速率大,沒有以太網(wǎng)那樣要多層協(xié)議。其次,反射內(nèi)存卡使用簡單,不需要開發(fā)額外通訊軟件,利于提高系統(tǒng)的可靠性,也節(jié)省了軟件的開發(fā)費用。
基于反射內(nèi)存實時網(wǎng)的實現(xiàn)機制
反射內(nèi)存卡是一組雙口內(nèi)存板。當數(shù)據(jù)存儲到反射內(nèi)存卡時,板上的高速邏輯會自動將此數(shù)據(jù)連同地址送到網(wǎng)上的其它反射內(nèi)存卡板上,數(shù)據(jù)傳遞完全由硬件驅(qū)動,不需要CPU干預,結(jié)果網(wǎng)上下一節(jié)點在400納秒內(nèi)就會在相同地址處有相同數(shù)據(jù)。反射內(nèi)存卡可看成是由網(wǎng)上所有節(jié)點共享的單元內(nèi)存卡,不存在訪問限制與仲裁,每個節(jié)點就像訪問本地內(nèi)存一樣,實現(xiàn)了節(jié)點間的數(shù)據(jù)共享。
(1)數(shù)據(jù)傳輸方式
的反射內(nèi)存卡最大可以連接256個互相獨立的節(jié)點,共享內(nèi)存的最大量可以到128M字節(jié),數(shù)據(jù)傳輸速度可達174M/秒、節(jié)點間距離可以到10KM。反射內(nèi)存卡支持中斷,通過中斷機制可以實現(xiàn)節(jié)點機之間的通訊同步。
(2)使用中斷實現(xiàn)同步
VMIC反射內(nèi)存卡支持用中斷方式通知節(jié)點接收數(shù)據(jù),當數(shù)據(jù)被送到某節(jié)點時,可以通過中斷告訴該節(jié)點。反射內(nèi)存卡提供了三個中斷,用戶可以定義這些中斷的優(yōu)先級、中斷相量及具體功能。
(3)錯誤管理技術(shù)
反射內(nèi)存卡有錯誤監(jiān)測和報告的功能,通過對數(shù)據(jù)的奇偶校驗位的檢查,可以發(fā)現(xiàn)數(shù)據(jù)是否有錯。反射內(nèi)存卡提供冗余傳輸模式,即每次傳輸數(shù)據(jù)時都傳兩份,當?shù)谝环莩鲥e時,使用第二份。
供應PCI接口反射內(nèi)存卡