<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > IEEE1394總線的高速網(wǎng)絡通信系統(tǒng)設計

          IEEE1394總線的高速網(wǎng)絡通信系統(tǒng)設計

          作者: 時間:2011-03-25 來源:網(wǎng)絡 收藏

            3 軟件

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

            3.1 1394內核軟件

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

            3.2 驅動軟件

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

            3.3 通信軟件

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

            根據(jù)內核函數(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ā)送的消息傳遞給驅動軟件,進行發(fā)送。對于接收過程,若接收到新消息,就會報中斷給處理器,并根據(jù)中斷號進入相應的中斷服務程序,中斷服務程序就會置標志位,通知通信軟件中的接收函數(shù)把接收到的消息進行處理。

            結語

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


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();