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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于C6000 DSP NDK的組播網(wǎng)絡(luò)設(shè)計與實現(xiàn)

          基于C6000 DSP NDK的組播網(wǎng)絡(luò)設(shè)計與實現(xiàn)

          作者: 時間:2013-06-15 來源:網(wǎng)絡(luò) 收藏

          摘要:隨著系統(tǒng)應(yīng)用的復(fù)雜化,很多情況下需要將相同數(shù)據(jù)分發(fā)至不同的使用終端,這也促進了網(wǎng)絡(luò)傳輸組播模式的應(yīng)用?;趯嶋H應(yīng)用需求,以TMS320C6455芯片為核心處理平臺,利用TI公司DSP平臺上的(Net Developer’s Kit)開發(fā)包,對Marvell公司的(SWI TCH)芯片進行配置,實現(xiàn)了適用于多個終端進行組播方式網(wǎng)絡(luò)通信的設(shè)計。經(jīng)過測試驗證,該系統(tǒng)工作正常穩(wěn)定,實現(xiàn)了百兆組播傳輸功能。
          關(guān)鍵詞:;;

          0 引言
          采用以太網(wǎng)接口傳輸數(shù)據(jù)相對于傳統(tǒng)的串口、并口、1553B總線接口來說具有通用性強、傳輸速度快的特點,并且保證了較高的可靠性。TI公司在TMS320C6455(以下簡稱系列高端的芯片中,大多提供了網(wǎng)絡(luò)接口模塊,DSP6455)就是其中典型的一款芯片。它的工作時鐘可達1 GHz,片上集成以太網(wǎng)接口模塊EMAC。結(jié)合TI公司推出的(Net DevelopKit)網(wǎng)絡(luò)資源開發(fā)包,可以大大縮短嵌入式系統(tǒng)中網(wǎng)絡(luò)應(yīng)用的開發(fā)周期,并且性能不遜于W5300等專業(yè)網(wǎng)口芯片。由于一片DSP6455只有一個EMAC接口以及MDIO管理模塊,并且NDK的軟件初始化只查詢一個PHY口就停止,所以傳統(tǒng)應(yīng)用中,典型設(shè)計是在該DSP芯片外部接一個PHY芯片,連接一個終端設(shè)備,或者通過總線直接連接以太網(wǎng)專用芯片來實現(xiàn)點對點的網(wǎng)絡(luò)連接。而現(xiàn)在越來越多的嵌入式系統(tǒng)應(yīng)用需要連接多個終端設(shè)備進行組網(wǎng),在網(wǎng)絡(luò)中進行數(shù)據(jù)交換。本文選擇利用DSP6455外接Marvell公司的SWITCH芯片(),該芯片具備6個端口,每個端口都具備100M/10M全雙工的通信能力,最終實現(xiàn)該嵌入式系統(tǒng)與其他兩個設(shè)備的100 MHz組播方式的網(wǎng)絡(luò)通信。

          1 電路原理設(shè)計
          基于TI DSP6455的片內(nèi)EMAC/MDIO模塊、片外SWITCH(88E6060)芯片及其外圍電路的接口設(shè)計,可以快速實現(xiàn)OSI七層模型中數(shù)據(jù)鏈路層和物理層(MAC+PHY)的組建。DSP6455支持三種接口連接方式,MII/RMII/GMII。MII接口(Media Independent Intetface)以及RMII(Reduced Media Independent Interface)接口分別為媒體獨立接口和縮減媒體獨立接口,它們支持10M/100M工作模式。GMII接口的全稱是吉比特媒體獨立接口(Gigabil Media Independent Interface),它支持10M/100M/1 000M三種工作模式。因為選取的88E6060只支持百兆MII/RMII的接口方式,本設(shè)計采用MII的接口方式進行連接,信號連接框圖如圖1所示。

          本文引用地址:http://www.ex-cimer.com/article/148013.htm

          a.JPG


          設(shè)計過程中,使用88E6060的port5作為MII接口與DSP6455的EMAC接口進行連接,port0~port4可以任意使用,作為PHY對外進行連接。本設(shè)計以應(yīng)用port0和port1為例進行說明,其他情況相似。配置時將88E6060的ENABLE_MII5和DISABLE_MII4管腳懸空,通過其內(nèi)部上拉/下拉使能port5的MII口,DSP6455通過MDIO接口對88E6060的內(nèi)部PHY寄存器進行訪問,通過EMAC接口發(fā)送和接收網(wǎng)絡(luò)數(shù)據(jù)。

          2 NDK的配置與使用
          TI公司的NDK(Net Develop Kit)開發(fā)包是基于DSP/BIOS進行工作的,開發(fā)包已經(jīng)集成網(wǎng)絡(luò)開發(fā)所需函數(shù),行使OSI七層模型中傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層的功能,并按網(wǎng)絡(luò)開發(fā)所需將中斷和任務(wù)進行配置。當NDK開發(fā)環(huán)境配置好之后,就可以利用傳輸語句進行數(shù)據(jù)的發(fā)送和接收。傳統(tǒng)情況下,NDK只適用于對單一的PHY進行配置連接,一旦連接建立便中止查詢其他的PHY是否可用。本例由于DSP6455外接一片SWIT CH芯片,理論上可以將所有能使用的PHY進行初始化并建立連接,所以需要對原有的工作流程進行改造,工作流程對比如圖2所示。

          b.JPG


          改造后的NDK運行流程最重要的是實現(xiàn)對其他外部有效PHY的配置。配置過程需要添加MDIO控制函數(shù)來對PHY進行初始化操作。本文使用的PHY為SWITCH芯片的PHY0與PHY1口,所以需要添加對兩個使用口進行初始化的語句,來完成對SWITCH芯片的配置工作,初始化代碼如下:
          MDIO_phyRegWrite(0,0x0,0x1100);
          MDIO_phyRegWrite(1,0x0,0x1100);
          在MDIO_phyRegWrite(uint phyIdx,uint phyReg,Uint16 data)函數(shù)中,參數(shù)phyIdx為所配置PHY的識別ID,參數(shù)phyReg為需要配置的寄存器序號,參數(shù)data為具體的配置值。兩語句完成了SWITCH芯片PHY0與PHY1口的控制寄存器的初始化操作,使這兩個PHY接口處于激活狀態(tài),如果外部出現(xiàn)網(wǎng)絡(luò)連接請求,便會進行連接。同時通過MDIO_phyRegRead(uint phyIdx,uint phyReg,Uint16*pdata)函數(shù)來查詢PHY的工作狀態(tài),如果一段時間仍未連接上,就轉(zhuǎn)入配置流程,進行重新配置。具體PHY寄存器的地址以及位置信息參照88E6060的數(shù)據(jù)手冊。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();