新聞中心

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

一種基于C64系列DSP的千兆以太網(wǎng)通信接口設(shè)計

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


本文引用地址:http://butianyuan.cn/article/202102/422966.htm

0   引言

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

1   硬件接口設(shè)計

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

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

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

1614234694466650.jpg

1.2   硬件接口關(guān)鍵設(shè)計

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

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

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

2   網(wǎng)口驅(qū)動程序

6487對網(wǎng)口芯片進(jìn)行配置主要是針對MAC驅(qū)動進(jìn)行配置,可依次按照SGMII模塊、MDIO模塊、EMAC模塊進(jìn)行配置。

2.1 SGMII模塊配置

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

QQ瀏覽器截圖20210225142554.png

圖1 SGMII模塊主要配置過程

2.2 MDIO模塊配置

MDIO模塊通過2個MDIO引腳(MDCLK和MDIO)與PHY設(shè)備連接,通過EMAC控制模塊和配置總線與DSP核連接。MDIO模塊主要完成MDIO時鐘產(chǎn)生、全局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模塊提供一個獨立的本地內(nèi)存空間存放EMAC包緩沖區(qū)描述符,提供本地內(nèi)存空間是為了避免與其他設(shè)備內(nèi)存空間產(chǎn)生競爭。EMAC模塊主要由以下邏輯組件組成:DMA引擎、FIFO、統(tǒng)計邏輯、狀態(tài)RAM、中斷控制器、控制寄存器和邏輯、時鐘和復(fù)位邏輯。

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

QQ瀏覽器截圖20210225142633.png

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

3   基于協(xié)議

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

QQ瀏覽器截圖20210225142644.png

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

3.1 配置DHCP

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

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

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

3.2 配置TCP

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

為了進(jìn)一步提升TCP傳輸?shù)乃俾?,使用recvnc函數(shù),可以直接接收網(wǎng)口數(shù)據(jù)而不拷貝到內(nèi)核。

4 結(jié)語

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

1614234759446335.jpg

圖5 使用DSP與PC機通信的方式對千兆以太網(wǎng)速率進(jìn)行測試

參考文獻(xiàn):

[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—),男,工程師,研究方向:網(wǎng)絡(luò)測試技術(shù);周建燁,男,高級工程師,研究方向:網(wǎng)絡(luò)測試技術(shù);鐵奎,男,研究員級高工,研究方向,網(wǎng)絡(luò)測試技術(shù)。

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



評論


相關(guān)推薦

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

關(guān)閉