劉德保,汪安民,韓道文
(1.同方電子科技有限公司研究所,九江 332009;2.解放軍電子工程學院)
?
八核浮點型DSP的雙千兆網接口設計
劉德保1,汪安民1,韓道文2
(1.同方電子科技有限公司研究所,九江 332009;2.解放軍電子工程學院)
單個千兆網口無法滿足一些系統的需求。采用PCIe或者RapidIO接口可以進一步提高接口速率,但加大了系統的復雜度,而且和大部分既有設備無法直接連接。為此,本文提出一種雙千兆網口接口實現技術,將網絡數據傳輸速率提高2倍。以多核DSP芯片TMS320C6678為應用平臺,介紹了雙千兆網口的通信設計方法以及詳細的軟硬件設計方法。
多核;千兆網口;DSP
千兆網絡接口具有數據傳輸速率快、連接方便、可以即插即用的優點,使得其應用較為廣泛。隨著電子技術和處理器的發展,很多應用場合的數據通信速率超過千兆網口的實際傳輸速率。例如,在A/D采樣中,需要直接存儲A/D轉換的采樣數據,如果A/D轉換位數為16位,工作在100 MHz,則實際數據量為1.6 Gbps。為了實現高速傳輸,必須采用更高傳輸速率的接口,例如PCIe或者RapidIO接口。但這些接口不具有即插即用功能,與很多工業既有設備不能直接連接,限制了其應用場合。
DSP(數字信號處理器)具有較高的工作頻率,其內部集成硬件網絡MAC接口,外接一個物理層芯片就可以方便地實現千兆網絡通信。多核DSP芯片可以連接多個千兆網口,使得其可以應用到高速數據傳輸場合。本文介紹一種基于多核數字信號處理器TMS320C6678的嵌入式雙千兆網絡接口,實現單個芯片連接兩個千兆網口,這兩個網口可以各自獨立傳輸數據,也可以聯合傳輸數據,提高了實際的數據傳輸速率。
TMS320C6678是TI公司多核處理器中的一款8核浮點型DSP,每個核最高工作頻率可達1.25 GHz,每個核可以提供40GMAC定點計算或者20GFLOP浮點計算能力,單個芯片可以提供320GMAC或者160GFLOP計算能力。TMS320C6678的片內結構如圖1所示。
圖1 TMS320C6678內部結構圖
TMS320C6678的每個核具有32 KB的程序、32 KB的數據以及512 KB的2級Cache存儲空間,芯片片內具有一個4MB的共享SRAM。TMS320C6678具有DDR3控制器接口,可以外接DDR3,直接尋址范圍達到8 GB。TMS320C6678的片內外設有RapidIO、PCIe、EMIF、SPI、I2C總線等接口。這些接口通過片內的高速互聯總線和各個處理器交互數據。
和網絡相關的片內設備如圖1右下角灰色模塊所示,主要包括兩個對外的SGMII接口、以太交換和網絡交換模塊,以及用于數據管理的安全加速器和包加速器,可以快速檢測數據的校驗以及協議是否遵循網絡標準,對于錯誤的數據直接丟棄,降低CPU的負擔。為了加快網絡和CPU的數據交換,片內的隊列管理器用于管理網絡包或者網絡幀的緩存、分發等功能。這些數據都采用數據包DMA讀寫,不需要CPU參與。
TMS320C6678的其他片內設備包括PLL、仿真口、信號量、電源管理和復位管理等模塊。其中PLL配置CPU和外設的工作時鐘;仿真口用于連接仿真器,實現對軟件運行的監控;信號量實現對DSP/BIOS操作系統中信號量的控制;電源管理實現整個芯片電流電壓的控制;復位管理配置啟動的方式,硬復位進行全啟動,軟復位進行部分啟動。
網絡物理層芯片很多,一般都兼容MII、RMII以及SGMII等接口標準之一或者多個。但TMS320C6678只提供了SGMII接口,所以和TMS320C6678連接的物理層芯片必須具有SGMII接口。本文使用兩片Marvell公司的88E1111物理層芯片進行雙千兆網絡的連接。88E1111的片內結構如圖2所示。
圖2 88E1111內部結構圖
網絡RJ45接口發送過來的帶有調制數據的模擬信號經過A/D轉換變成數字信號,然后依次經過均衡、整形濾波和譯碼后由接收單元傳輸到MAC芯片,實現數據的接收。MAC發送的數據經過整形濾波后由D/A轉換成模擬信號發送到RJ45接口。為了降低誤碼率,88E1111內部具有鎖相環(PLL)、自動增益控制(AGC)、時序/相位控制、回音抵消等模塊,這些模塊都是為了提高數據傳輸的可靠性,在不同環境或者不同外接設備下,都可以高速可靠地通信。圖2中的LED控制模塊實現數據傳輸時的燈光顯示,MDIO模塊實現鏈接建立和狀態監測,時鐘模塊提供工作時鐘。
硬件設計主要包括TMS320C6678和兩個88E1111的接口、88E1111和RJ45的接口、88E1111的硬件配置設計等幾個部分。
TMS320C6678的網絡模塊結構如圖3所示。片內集成了一個3口的以太交換機,負責將兩個千兆網口的數據交換到主機,同時提供交換中斷到主機,主機通過中斷可以實時接收和發送數據。主機通過總線配置或者監控外部的物理層芯片,配置和監控數據通過MDIO接口連接到物理層芯片。
圖3 TMS320C6678網絡模塊結構
圖4 TMS320C6678和88E1111的接口
TMS320C6678和兩片88E1111的接口電路如圖4所示。TMS320C6678采用SGMII(SerialGigabit Media Independent Interface)接口,兼容10/100/1000M工作方式。SGMII為串行數據收發方式,具有較少的引腳連接。從圖4中可以看出,實際上只有兩對收發的差分線,分別連接到對應的88E1111引腳上。讀寫時鐘隱含在數據上傳輸,由硬件自動識別,無須軟件參與。
MDIO和MDCLK為TMS320C6678內部MDIO模塊的數據和時鐘,用于TMS320C6678和88E1111建立連接,TMS320C6678可以通過該接口配置88E1111,或者讀取88E1111的信息。由于88E1111的MDIO模塊接口電平為2.5 V,而TMS320C6678的MDIO模塊接口電平采用1.8 V電壓,所以兩者之間需要增加電壓轉換芯片,本設計采用PCA9306實現電壓轉換,接口電路如圖5所示。
圖5 MDIO接口的電壓轉換電路
需要注意的是,由于存在兩個88E111芯片,MDIO和MDCLK引腳直接連接到兩個芯片上,MDIO可以最多控制32個物理層芯片,物理層芯片地址分別為1~32。88E1111的地址配置如圖6所示。
圖6 88E1111的硬件配置
表1為對應的配置信息,根據圖6和表1,可以看出88E111的地址分別為4和8。
表1 配置引腳設置
系統軟件設計包括硬件初始化、網絡配置以及數據通信流程等。TMS320C6678復位后的工作流程如圖7所示。首先配置第一個網口,記錄其狀態后配置第二個網口。只要兩個網口有一個配置成功,將配置TMS320C6678的EMAC模塊,為成功配置的網口設置收發緩沖和收發任務。這些配置好后,就可以實現網絡的數據收發。需要注意的是,在用戶應用程序中,需要考慮到網口配置失敗的情況。例如,用戶應用程序通過雙網口實時傳輸1.2 Gbps的數據,如果一個網口配置失敗,則應用程序應有相應的機制將實時傳輸速率降低到0.8 Gbps以下(單網口實際傳輸速率可能低于0.8 Gbps)。本文硬件系統在沒有其他任務開銷情況下,實測可以傳輸1.5 Gbps的數據(傳輸過程中不考慮錯誤,不進行重發)。
圖7 數據通信流程
[1] 丁有源,汪安民. 基于多核DSP的軟硬件設計[J].單片機與嵌入式系統,2012(5).
[2] Texas Instruments.TMS320C6678 Multicore Fixed and Floating Point Digital Signal Processor Datasheet,2010.
[3] Texas Instruments. TMS320C645x DSP Ethernet Media Access Controller (EMAC) Management Data Input Output(MDIO)Module User’s Guide, 2010 .
[4] Marvell Semiconductor. 88E1111 Datasheet Integrated 10/100/1000 Ultra Gigabit Ethernet Transceiver (Rev. H),2006.
Design of Double 1G Base-T Ethernet Based on 8-Core Floating-point DSP
Liu Debao1, Wang Anmin1,Han Daowen2
(1. Research of Tongfang Electronic and Technology Ltd Co.Ltd., Jiujiang 332009,China; 2. Electronical Engineering Institute of PLA)
A single Gigabit Ethernet port cannot satisfy the system requirements, using PCIe or RapidIO port can further improve the interface rate, but this method will add system complexity, and either port cannot be connected directly to most available equipments. For this purpose, the paper presents a dual Gigabit Ethernet ports interface technology, the network data transfer rate are increased by 2 times.Based on the multicore DSP chip TMS320C6678, this paper introduces the communication design of the double Gigabit Ethernet port, and the software and hardware design are given in detail.
multicore;1G Base-T Ethernet;DSP
TP336
A
迪娜
2013-08-03)