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

          新聞中心

          EEPW首頁 > 手機與無線通信 > 業(yè)界動態(tài) > 一種基于C64系列DSP的千兆以太網通信接口設計

          一種基于C64系列DSP的千兆以太網通信接口設計

          作者:劉小剛,周建燁,鐵 奎(中電科儀器儀表(安徽)有限公司;電子信息測試技術安徽省重點實驗室,安徽 蚌埠 233010) 時間:2021-02-25 來源:電子產品世界 收藏
          編者按:在實時處理系統(tǒng)中,DSP與主控模塊的通信能力已經成為系統(tǒng)處理的瓶頸。千兆以太網具有速率高、成本低和穩(wěn)定性好的優(yōu)點,可滿足DSP與主控模塊數據傳輸的需要。以TI公司的TMS320TCI6487 DSP芯片和Marvell公司的88E1111物理層芯片為例,對硬件電路、千兆以太網的網口驅動程序、基于SYS/BIOS和NDK的TCP協(xié)議進行研究,在TMS320TCI6487實現(xiàn)了TCP通信。實驗結果顯示,基于DSP的千兆以太網傳輸速率可達到960 Mbps。


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

          0   引言

          當前,的發(fā)展如火如荼,在軍事、雷達、通訊等各領域均廣泛應用。但如何與主控模塊高速穩(wěn)定通信,是一個需要迫切解決的問題。TMS320TCI6487[1]作為TI公司一款主打通信領域的芯片,具有較高的工作頻率,內部集成硬件EMAC[2]接口,外接一個物理層芯片即可進行網絡通信。本文介紹一種基于TMS320TCI6487的嵌入式千兆網接口設計,并通過[3]和[4-5]實現(xiàn)協(xié)議[6],從而方便主控模塊開發(fā)并與之高速通信。因此,研究通信接口具有重要意義。

          1   硬件接口設計

          TMS320TCI6487(下面簡稱6487)是TI公司的一款高性能DSP芯片,可支持EMDA3[7]、SRIO[8]、EMAC等高速接口,也含有2[9]、VCP2[10] 等硬件譯碼器,廣泛應用在通信領域。88E1111[11]作為Marvell公司的一款千兆物理層芯片具有穩(wěn)定、糾錯性強、速率高的優(yōu)點,故本文選擇此兩款芯片作為研究對象。

          1.1   千兆物理層芯片連接原理圖

          圖1中6487提供phy_mdio、phy_mdc、DSP_SGMII等信號與88E1111千兆物理層芯片進行連接。88E1111使用25MHZ的時鐘作為千兆網口的參考時鐘,并與網口接插件直接相連。

          1614234694466650.jpg

          1.2   硬件接口關鍵設計

          1)電源穩(wěn)定性。6487需要1.8 V和1.1 V電源供應,電源的穩(wěn)定性為重中之重。為了增加電源的穩(wěn)定性,增加二極管進行穩(wěn)壓,并使用電容進行匹配濾波。對于遠端電壓,需要進行補償。

          2)時鐘穩(wěn)定性。芯片需要穩(wěn)定傳輸數據,因此對時鐘的穩(wěn)定性要求比較高。88E1111可使用25 MHz或125 MHz,但從布局布線、電磁兼容等方面考慮采用25 MHz時鐘。

          3)硬件穩(wěn)定性。中頻板與工控板通過網線互聯(lián),且儀表內部空間有限,為了增加硬件的穩(wěn)定性且減少網口體積,網線從超五類線改變?yōu)楸馄诫娎|,網口接插件從HR911130C改變?yōu)镮DC10-2.0。

          2   網口驅動程序

          6487對網口芯片進行配置主要是針對MAC驅動進行配置,可依次按照SGMII模塊、MDIO模塊、EMAC模塊進行配置。

          2.1 SGMII模塊配置

          EMAC支持千兆媒體獨立接口,它通過串行千兆媒體獨立接口(SGMII)與SerDes連接到PHY外部設備。SGMII模塊主要配置過程如圖1所示。

          QQ瀏覽器截圖20210225142554.png

          圖1 SGMII模塊主要配置過程

          2.2 MDIO模塊配置

          MDIO模塊通過2個MDIO引腳(MDCLK和MDIO)與PHY設備連接,通過EMAC控制模塊和配置總線與DSP核連接。MDIO模塊主要完成MDIO時鐘產生、全局PHY探測和鏈接狀態(tài)監(jiān)視、激活PHY監(jiān)視、PHY寄存器訪問的功能。MDIO模塊主要配置過程如圖2所示。

          QQ瀏覽器截圖20210225142618.png

          圖2 MDIO模塊主要配置過程

          2.3 EMAC模塊配置

          EMAC模塊通過MDIO和SGMII接口訪問PHY組件和DSP核。EMAC模塊提供一個獨立的本地內存空間存放EMAC包緩沖區(qū)描述符,提供本地內存空間是為了避免與其他設備內存空間產生競爭。EMAC模塊主要由以下邏輯組件組成:DMA引擎、FIFO、統(tǒng)計邏輯、狀態(tài)RAM、中斷控制器、控制寄存器和邏輯、時鐘和復位邏輯。

          EMAC模塊配置主要配置過程如圖3所示。

          QQ瀏覽器截圖20210225142633.png

          圖3 EMAC模塊配置主要配置過程

          3   基于協(xié)議

          使用第二章的網口驅動程序可以直接發(fā)送以太網幀,但是作為接口與主控聯(lián)調不方便,且速率過高時存在突發(fā)丟包現(xiàn)象。為了解決以上兩個問題,本文采用TI公司的(網絡開發(fā)者套件)實現(xiàn)了TCP協(xié)議。本文首先利用主控程序開啟DHCP服務,DSP根據DHCP獲得IP地址,然后利用此IP地址與主控程序進行TCP傳輸,具體過程如圖4所示。

          QQ瀏覽器截圖20210225142644.png

          圖4 實現(xiàn)TCP協(xié)議的過程

          3.1 配置DHCP

          當IP地址處于不確定時,我們可以開啟DHCP服務。DHCP封包在傳輸層是采用UDP協(xié)議,而當 Client傳送封包給 Server時,采用的是UDP 67端口,從 Server傳送給 Client則是使用UDP 68端口。

          本例將DSP配置為DHCP客戶端,主控配置為DHCP服務器端,主控可以分配部分IP地址組供給DSP使用,DSP從而得到分配的IP地址。DSP初始未知本身的IP地址,故將源IP地址設置為0.0.0.0,目的IP地址設置為255.255.255.255(受限的廣播地址)。

          為了提高網口傳輸的速率,利用RTSC修改SYS/BIOS的內存分配空間,將NDK_OBJMEM、NDK_PACKETMEM等包緩沖區(qū)內存塊分配在L2 RAM內。因cache的速率更快,但資源更有限,故L2 RAM不可全部占用,分配一部分留給cache使用。

          3.2 配置TCP

          為了開啟TCP服務,我們需要創(chuàng)建3個回調函數NetworkOpen、NetworkClose、NetworkIPAddr。①NetworkOpen會創(chuàng)建一個守護進程,此守護進程定義了TCP連接的端口號、協(xié)議類型、中斷服務程序等,NetworkOpen內部調用了NETTOOL、OS、STACK、HAL、NETCTRL等庫,共同協(xié)作完成TCP協(xié)議的組包與拆包過程。②NetworkClose完成了socket套接字的關閉和釋放,并刪除創(chuàng)建的應用程序線程。③NetworkIPAddr完成了IP地址的轉換。

          為了進一步提升TCP傳輸的速率,使用recvnc函數,可以直接接收網口數據而不拷貝到內核。

          4 結語

          使用DSP與PC機通信的方式對速率進行測試。測試方法為6487通過TCP協(xié)議向主控PC發(fā)送1G字節(jié)數據,使用wireshark檢測以太網效率約96%(961.142Mbps) ,如圖5所示。

          1614234759446335.jpg

          圖5 使用DSP與PC機通信的方式對千兆以太網速率進行測試

          參考文獻:

          [1] TI Inc. TMS320TCI6487/8 Communications Infrastructure Digital Signal Processor (SPRS358L)[EB/OL].(2007-04).[2011-04].http://www.ti.com.

          [2] TI  Inc. TMS320TCI6487/88 DSP Ethernet Media Access Controller (EMAC)/Management Data Input/Output (MDIO) User's Guide(SPRUEF0B)[EB/OL].(2006-04).[2010-02].http://www.ti.com.

          [3] TI Inc. TI-RTOS Kernel (SYS/BIOS) User's Guide (SPRUEX3U)[EB/OL]. [2018-02].http://www.ti.com.

          [4] TI Inc. TMS320C6000 Network Developer's Kit (NDK) Software User's Guid e (SPRU523G)[EB/OL].(2001-05).[2009-01].http://www.ti.com.

          [5] TI Inc. TMS320C6000 Network Developer's Kit (NDK) v2.00 Software Programmer’s(SPRU524G)[EB/OL].(2001-05).[2009-01].http://www.ti.com.

          [6] 范建華.TCP/IP 詳解,卷1:協(xié)議.北京:機械工業(yè)出版社,2000.

          [7] TI Inc. TMS320C6472/TMS320TCI648x DSP Enhanced DMA (EDMA3) Controller (SPRU727E)[EB/OL].(2005-12).[2011-01].http://www.ti.com.

          [8 ]TI Inc. TMS320C6472/TMS320TCI648x DSP:Serial RapidIO (SRIO)  User's Guide  (SPRUE13J)[EB/OL].(2006-10).[2011-02].http://www.ti.com.

          [9] TI Inc. TMS320TCI648x DSP Turbo-Decoder:processor 2 (TCP2 ) (SPRUE10A)[EB/OL].(2006-05).[2008-06].http://www.ti.com.

          [10] TMS320TCI648x/9x DSP:iterbi-Decoder Coprocessor 2 (VCP2)  (SPRUE09E)[EB/OL].(2006-05).[2009-12].http://www.ti.com.

          [11] Marvell Inc.88E1111 Datasheet Integrated 10/100/1000 Ultra Gigabit Ethernet Transceiver(MV-S100649-00)[EB/OL].[ 2003-10-21].http://cn.marvell.com.

          作者簡介:劉小剛(1987—),男,工程師,研究方向:網絡測試技術;周建燁,男,高級工程師,研究方向:網絡測試技術;鐵奎,男,研究員級高工,研究方向,網絡測試技術。

          (本文來源于《電子產品世界》雜志社2020年12月期)



          評論


          相關推薦

          技術專區(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); })();