《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > IEEE1394總線的高速網(wǎng)絡通信系統(tǒng)設計
IEEE1394總線的高速網(wǎng)絡通信系統(tǒng)設計
摘要: 介紹了高速網(wǎng)絡通信系統(tǒng)的網(wǎng)絡構(gòu)建、拓撲結(jié)構(gòu)、節(jié)點架構(gòu),詳細描述了系統(tǒng)的整體設計方案、硬件設計、軟件設計和工作過程。經(jīng)實驗驗證,該網(wǎng)絡可以實現(xiàn)最高400 Mb/s的高速數(shù)據(jù)實時傳輸,證明了這種網(wǎng)絡通信系統(tǒng)具有可行性和高可靠性。
Abstract:
Key words :

 摘要: 介紹了高速網(wǎng)絡通信系統(tǒng)的網(wǎng)絡構(gòu)建、拓撲結(jié)構(gòu)、節(jié)點架構(gòu),詳細描述了系統(tǒng)的整體設計方案、硬件設計、軟件設計和工作過程。經(jīng)實驗驗證,該網(wǎng)絡可以實現(xiàn)最高400 Mb/s的高速數(shù)據(jù)實時傳輸,證明了這種網(wǎng)絡通信系統(tǒng)具有可行性和高可靠性。

  引言

  IEEE1394作為一種高性能的串行總線技術,具有數(shù)據(jù)傳輸速率高、支持異步和等時傳輸、點對點連接、可熱插拔、線纜提供電源等優(yōu)點[1]。多臺設備可以通過樹狀或菊*鏈狀拓撲連接到網(wǎng)絡中,并共享總線傳輸帶寬。雖然IEEE1394a協(xié)議相對比較復雜,但功耗較低,數(shù)據(jù)傳輸更加穩(wěn)定,組網(wǎng)方便(無需路由器)[2]。IEEE1394已經(jīng)在高速通信中表現(xiàn)出了優(yōu)異的數(shù)據(jù)傳輸性能,并可確保數(shù)據(jù)傳輸?shù)陌踩院涂煽啃浴?/p>

  1  系統(tǒng)方案

  IEEE1394高速網(wǎng)絡通信系統(tǒng)采用樹狀拓撲結(jié)構(gòu)來構(gòu)建網(wǎng)絡,通過軟件將主控計算機上的1394節(jié)點設為根節(jié)點,其他設備上的1394節(jié)點設為葉節(jié)點,目的是使主控計算機能對整個網(wǎng)絡進行控制和監(jiān)管。組建好的網(wǎng)絡拓撲結(jié)構(gòu)如圖1所示。

高速網(wǎng)絡通信系統(tǒng)拓撲結(jié)構(gòu)圖
 


圖1  高速網(wǎng)絡通信系統(tǒng)拓撲結(jié)構(gòu)圖

  在圖1中,根節(jié)點與葉節(jié)點之間、葉節(jié)點與葉節(jié)點之間都采用IEEE1394a標準線纜連接。本網(wǎng)絡中根節(jié)點下有兩棵樹,它們都在同一條總線Bus0上。不在一棵樹上的1394節(jié)點也可位于同一個設備上,如Node1、Node2和Node5都在同一個設備上。

 

  2  硬件設計

  主控計算機上的1394節(jié)點采用PowerPC作為通信和數(shù)據(jù)處理的核心。采用PowerPC的原因是它的體系結(jié)構(gòu)是開放的,而且PowerPC在大數(shù)據(jù)量、高速信號處理中具有強大的優(yōu)勢和很好的應用潛力。由于大多數(shù)PC機上都具有PCI接口,PCI總線應用廣泛,PCI接口驅(qū)動的通用性較強,所以主控計算機與PowerPC可通過主控計算機上的PCI接口進行通信,這就簡化了在主控計算機上開發(fā)PCI接口驅(qū)動的工作。而IEEE 1394接口采用雙接口芯片設計,并配備了SDRAM作為大容量數(shù)據(jù)緩沖,用Flash來存放軟件。1394節(jié)點都是通過1394總線連接的。主控計算機上的1394節(jié)點(已設為根節(jié)點)通過1394總線與網(wǎng)絡中其他某個設備上的1394節(jié)點(已設為葉節(jié)點)相連的整體框圖如圖2所示。左側(cè)為根節(jié)點架構(gòu),右側(cè)為葉節(jié)點架構(gòu)。葉節(jié)點的架構(gòu)與根節(jié)點的架構(gòu)是類似的,但由于只有根節(jié)點與主控計算機連接,而葉節(jié)點不與主控計算機相連,所以葉節(jié)點并不需要PCI總線。

主控計算機上的1394節(jié)點架構(gòu)

圖2  主控計算機上的1394節(jié)點架構(gòu)

  IEEE1394接口采用的是鏈路層芯片TSB12LV32和物理層芯片TSB41AB3。TSB41AB3是支持3個線纜接口的物理層芯片。TSB12LV32是一款支持IEEE1394a總線標準的高性能通用鏈路層芯片,最高傳輸速率為400 Mb/s[5],本網(wǎng)絡可采100 Mb/s、200 Mb/s、400 Mb/s來進行數(shù)據(jù)的傳輸。TSB12LV32為后端提供了主機接口,系統(tǒng)中PowerPC采用主機接口完成寄存器的配置和異步流包的傳輸。TSB12LV32還為PowerPC提供了中斷輸出INT和可編程狀態(tài)STAT[0:2],用于總線復位、傳輸錯誤和內(nèi)部FIFO狀態(tài)指示。

  對于數(shù)據(jù)的收發(fā),采用DMA來進行數(shù)據(jù)的搬運而完成。通過中斷機制來把收到消息事件報告給核心處理器PowerPC,由處理器對消息進行處理。

軟件層次圖

圖3  軟件層次圖

  3  軟件設計

  根據(jù)軟件要實現(xiàn)的功能,可把軟件劃分為3個層次,如圖3所示。

  3.1  1394內(nèi)核軟件

  對1394內(nèi)核的物理層和鏈路層寄存器進行配置,對OHCI、總線管理器配置等[3],并對這些內(nèi)核函數(shù)進行了封裝。這種隔離的好處是可使用戶不必關心底層硬件,只需調(diào)用內(nèi)核函數(shù)就可開發(fā)出用戶軟件。通過建立結(jié)構(gòu)體來將這些函數(shù)進行分類、鏈接,驅(qū)動軟件在調(diào)用內(nèi)核函數(shù)時可通過結(jié)構(gòu)體來直接找到相應的內(nèi)核函數(shù),從而進行調(diào)用,這樣就把1394內(nèi)核軟件和上層驅(qū)動鏈接了起來。

  3.2  驅(qū)動軟件

  由于1394協(xié)議支持異步傳輸和等時傳輸,且為了保證傳輸?shù)目煽啃?,故采用異步流包進行數(shù)據(jù)的傳輸。對于發(fā)送,驅(qū)動軟件先根據(jù)異步流包的格式,對通信軟件中的消息進行組幀打包,然后調(diào)用內(nèi)核函數(shù)進行發(fā)送。對于接收,是利用中斷機制來接收消息的。

  3.3  通信軟件

  上電后,1394總線上首先會出現(xiàn)持續(xù)125 μs左右的總線復位(bus reset)狀態(tài),之后進行樹標識和自標識工作。樹標識進程定義了總線的拓撲結(jié)構(gòu)。樹標識之前,每一1394節(jié)點都知道自己和其他的節(jié)點相連,此過程過后,整個網(wǎng)絡的拓撲就形成了,設置計算機為根節(jié)點(root),其他的節(jié)點為分支節(jié)點。樹標識后是自標識進程,自標識通過根節(jié)點發(fā)送自標識授權信號和節(jié)點返回自標識數(shù)據(jù)包來完成,其實現(xiàn)的功能主要有:為每個節(jié)點分配物理標識,相鄰節(jié)點交換傳輸速度信息,將樹標識進程定義的拓撲在整個網(wǎng)絡中廣播。

  根據(jù)內(nèi)核函數(shù),對整個通信網(wǎng)絡進行初始化,包括初始化PCI總線init_pci()、初始化1394設備init_1394dev()、樹標識和自標識、主控機上的1394節(jié)點設為根節(jié)點(葉節(jié)點不進行此步)、初始化中斷等。

  初始化完畢后,首先掛接中斷服務程序。然后根節(jié)點采用發(fā)送STOF包來進行網(wǎng)絡同步,即以發(fā)送STOF包作為一幀的開始,葉節(jié)點收到STOF包后立即與整個網(wǎng)絡同步。對于發(fā)送過程,通信軟件把要發(fā)送的消息傳遞給驅(qū)動軟件,進行發(fā)送。對于接收過程,若接收到新消息,就會報中斷給處理器,并根據(jù)中斷號進入相應的中斷服務程序,中斷服務程序就會置標志位,通知通信軟件中的接收函數(shù)把接收到的消息進行處理。

  結(jié)語

  結(jié)合高速網(wǎng)絡通信系統(tǒng)的通信要求,自行設計的網(wǎng)絡通信系統(tǒng)完成了網(wǎng)絡中主控計算機與網(wǎng)絡之間、根節(jié)點與葉節(jié)點之間、葉節(jié)點與葉節(jié)點之間的通信,實驗表明,系統(tǒng)通信良好。由于此網(wǎng)絡遵循IEEE1394標準,所以可應用于家庭數(shù)字化網(wǎng)絡、車載信息系統(tǒng)、工業(yè)自動化系統(tǒng)等[4]。隨著IEEE1394技術的不斷發(fā)展,其應用也從商用向更多領域擴展。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載。