8核浮點(diǎn)型DSP雙千兆網(wǎng)接口硬軟件設(shè)計(jì)
出處:面包板 發(fā)布于:2022-06-16 15:49:09
千兆網(wǎng)絡(luò)接口具有數(shù)據(jù)傳輸速率快、連接方便、可以即插即用的優(yōu)點(diǎn),使得其應(yīng)用較為廣泛。隨著和處理器的發(fā)展,很多應(yīng)用場(chǎng)合的數(shù)據(jù)通信速率超過千兆網(wǎng)口的實(shí)際傳輸速率。例如,在A/D采樣中,需要直接存儲(chǔ)A/D轉(zhuǎn)換的采樣數(shù)據(jù),如果A/D轉(zhuǎn)換位數(shù)為16位,工作在100MHz,則實(shí)際數(shù)據(jù)量為1.6Gbps。為了實(shí)現(xiàn)高速傳輸,必須采用更高傳輸速率的接口,例如PCIe或者RapidIO接口。但這些接口不具有即插即用功能,與很多工業(yè)既有設(shè)備不能直接連接,限制了其應(yīng)用場(chǎng)合。
DSP(器)具有較高的工作頻率,其內(nèi)部集成硬件網(wǎng)絡(luò)MAC接口,外接一個(gè)物理層芯片就可以方便地實(shí)現(xiàn)千兆網(wǎng)絡(luò)通信。多核DSP芯片可以連接多個(gè)千兆網(wǎng)口,使得其可以應(yīng)用到高速數(shù)據(jù)傳輸場(chǎng)合。本文介紹一種基于多核數(shù)字信號(hào)處理器TMS320C6678的嵌入式雙千兆網(wǎng)絡(luò)接口,實(shí)現(xiàn)單個(gè)芯片連接兩個(gè)千兆網(wǎng)口,這兩個(gè)網(wǎng)口可以各自獨(dú)立傳輸數(shù)據(jù),也可以聯(lián)合傳輸數(shù)據(jù),提高了實(shí)際的數(shù)據(jù)傳輸速率。
1C6678及其結(jié)構(gòu)
TMS320C6678是TI公司多核處理器中的一款8核浮點(diǎn)型DSP,每個(gè)核工作頻率可達(dá)1.25GHz,每個(gè)核可以提供40GMAC定點(diǎn)計(jì)算或者20GFLOP浮點(diǎn)計(jì)算能力,單個(gè)芯片可以提供320GMAC或者160GFLOP計(jì)算能力。TMS320C6678的片內(nèi)結(jié)構(gòu)如圖1所示。
TMS320C6678的每個(gè)核具有32KB的程序、32KB的數(shù)據(jù)以及512KB的2級(jí)Cache存儲(chǔ)空間,芯片片內(nèi)具有一個(gè)4MB的共享SRAM。TMS320C6678具有DDR3控制器接口,可以外接DDR3,直接尋址范圍達(dá)到8GB。TMS320C6678的片內(nèi)外設(shè)有RapidIO、PCIe、F、SPI、I2C總線等接口。這些接口通過片內(nèi)的高速互聯(lián)總線和各個(gè)處理器交互數(shù)據(jù)。
和網(wǎng)絡(luò)相關(guān)的片內(nèi)設(shè)備如圖1右下角灰色模塊所示,主要包括兩個(gè)對(duì)外的SGMII接口、以太交換和網(wǎng)絡(luò)交換模塊,以及用于數(shù)據(jù)管理的安全加速器和包加速器,可以快速檢測(cè)數(shù)據(jù)的校驗(yàn)以及協(xié)議是否遵循網(wǎng)絡(luò)標(biāo)準(zhǔn),對(duì)于錯(cuò)誤的數(shù)據(jù)直接丟棄,降低CPU的負(fù)擔(dān)。為了加快網(wǎng)絡(luò)和CPU的數(shù)據(jù)交換,片內(nèi)的隊(duì)列管理器用于管理網(wǎng)絡(luò)包或者網(wǎng)絡(luò)幀的緩存、分發(fā)等功能。這些數(shù)據(jù)都采用數(shù)據(jù)包DMA讀寫,不需要CPU參與。
圖1TMS320C6678內(nèi)部結(jié)構(gòu)圖
TMS320C6678的其他片內(nèi)設(shè)備包括PLL、仿真口、信號(hào)量、電源管理和復(fù)位管理等模塊。其中PLL配置CPU和外設(shè)的工作時(shí)鐘;仿真口用于連接仿真器,實(shí)現(xiàn)對(duì)軟件運(yùn)行的監(jiān)控;信號(hào)量實(shí)現(xiàn)對(duì)DSP/BIOS操作系統(tǒng)中信號(hào)量的控制;電源管理實(shí)現(xiàn)整個(gè)芯片電流電壓的控制;復(fù)位管理配置啟動(dòng)的方式,硬復(fù)位進(jìn)行全啟動(dòng),軟復(fù)位進(jìn)行部分啟動(dòng)。
288E1111及其結(jié)構(gòu)
網(wǎng)絡(luò)物理層芯片很多,一般都兼容MII、RMII以及SGMII等接口標(biāo)準(zhǔn)之一或者多個(gè)。但TMS320C6678只提供了SGMII接口,所以和TMS320C6678連接的物理層芯片必須具有SGMII接口。本文使用兩片Marvell公司的88E1111物理層芯片進(jìn)行雙千兆網(wǎng)絡(luò)的連接。88E1111的片內(nèi)結(jié)構(gòu)如圖2所示。
圖288E1111內(nèi)部結(jié)構(gòu)圖
網(wǎng)絡(luò)RJ45接口發(fā)送過來的帶有調(diào)制數(shù)據(jù)的模擬信號(hào)經(jīng)過A/D轉(zhuǎn)換變成數(shù)字信號(hào),然后依次經(jīng)過均衡、整形濾波和譯碼后由接收單元傳輸?shù)組AC芯片,實(shí)現(xiàn)數(shù)據(jù)的接收。MAC發(fā)送的數(shù)據(jù)經(jīng)過整形濾波后由D/A轉(zhuǎn)換成模擬信號(hào)發(fā)送到RJ45接口。為了降低誤碼率,88E1111內(nèi)部具有鎖相環(huán)(PLL)、自動(dòng)增益控制(AGC)、時(shí)序/相位控制、回音抵消等模塊,這些模塊都是為了提高數(shù)據(jù)傳輸?shù)目煽啃?,在不同環(huán)境或者不同外接設(shè)備下,都可以高速可靠地通信。圖2中的LED控制模塊實(shí)現(xiàn)數(shù)據(jù)傳輸時(shí)的燈光顯示,MDIO模塊實(shí)現(xiàn)鏈接建立和狀態(tài)監(jiān)測(cè),時(shí)鐘模塊提供工作時(shí)鐘。
3硬件設(shè)計(jì)
硬件設(shè)計(jì)主要包括TMS320C6678和兩個(gè)88E1111的接口、88E1111和RJ45的接口、88E1111的硬件配置設(shè)計(jì)等幾個(gè)部分。
TMS320C6678的網(wǎng)絡(luò)模塊結(jié)構(gòu)如圖3所示。片內(nèi)集成了一個(gè)3口的以太交換機(jī),負(fù)責(zé)將兩個(gè)千兆網(wǎng)口的數(shù)據(jù)交換到主機(jī),同時(shí)提供交換中斷到主機(jī),主機(jī)通過中斷可以實(shí)時(shí)接收和發(fā)送數(shù)據(jù)。主機(jī)通過總線配置或者監(jiān)控外部的物理層芯片,配置和監(jiān)控?cái)?shù)據(jù)通過MDIO接口連接到物理層芯片。
圖3TMS320C6678網(wǎng)絡(luò)模塊結(jié)構(gòu)
圖4TMS320C6678和88E1111的接口TMS320C6678和兩片88E1111的接口電路如圖4所示。TMS320C6678采用SGMII(SerialGigabitMediaIndependentInterface)接口,兼容10/100/1000M工作方式。SGMII為串行數(shù)據(jù)收發(fā)方式,具有較少的引腳連接。從圖4中可以看出,實(shí)際上只有兩對(duì)收發(fā)的差分線,分別連接到對(duì)應(yīng)的88E1111引腳上。讀寫時(shí)鐘隱含在數(shù)據(jù)上傳輸,由硬件自動(dòng)識(shí)別,無須軟件參與。
圖4TMS320C6678和88E1111的接口
MDIO和MDCLK為TMS320C6678內(nèi)部MDIO模塊的數(shù)據(jù)和時(shí)鐘,用于TMS320C6678和88E1111建立連接,TMS320C6678可以通過該接口配置88E1111,或者讀取88E1111的信息。由于88E1111的MDIO模塊接口電平為2.5V,而TMS320C6678的MDIO模塊接口電平采用1.8V電壓,所以兩者之間需要增加電壓轉(zhuǎn)換芯片,本設(shè)計(jì)采用PCA9306實(shí)現(xiàn)電壓轉(zhuǎn)換,接口電路如圖5所示。
圖5MDIO接口的電壓轉(zhuǎn)換電路
需要注意的是,由于存在兩個(gè)88E111芯片,MDIO和MDCLK引腳直接連接到兩個(gè)芯片上,MDIO可以多控制32個(gè)物理層芯片,物理層芯片地址分別為1~32。88E1111的地址配置如圖6所示。
圖688E1111的硬件配置
表1為對(duì)應(yīng)的配置信息,根據(jù)圖6和表1,可以看出88E111的地址分別為4和8。
表1配置引腳設(shè)置
4軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)包括硬件初始化、網(wǎng)絡(luò)配置以及數(shù)據(jù)通信流程等。TMS320C6678復(fù)位后的工作流程如圖7所示。首先配置個(gè)網(wǎng)口,記錄其狀態(tài)后配置第二個(gè)網(wǎng)口。只要兩個(gè)網(wǎng)口有一個(gè)配置成功,將配置TMS320C6678的EMAC模塊,為成功配置的網(wǎng)口設(shè)置收發(fā)緩沖和收發(fā)任務(wù)。這些配置好后,就可以實(shí)現(xiàn)網(wǎng)絡(luò)的數(shù)據(jù)收發(fā)。需要注意的是,在用戶應(yīng)用程序中,需要考慮到網(wǎng)口配置失敗的情況。例如,用戶應(yīng)用程序通過雙網(wǎng)口實(shí)時(shí)傳輸1.2Gbps的數(shù)據(jù),如果一個(gè)網(wǎng)口配置失敗,則應(yīng)用程序應(yīng)有相應(yīng)的機(jī)制將實(shí)時(shí)傳輸速率降低到0.8Gbps以下(單網(wǎng)口實(shí)際傳輸速率可能低于0.8Gbps)。本文硬件系統(tǒng)在沒有其他任務(wù)開銷情況下,實(shí)測(cè)可以傳輸1.5Gbps的數(shù)據(jù)(傳輸過程中不考慮錯(cuò)誤,不進(jìn)行重發(fā))。
圖7數(shù)據(jù)通信流程
結(jié)語
超過1Gbps傳輸速率的通信接口一般采用光纖、PCE、PCIe等接口方式。本文采用雙網(wǎng)口方式可以降低設(shè)備要求,和既有設(shè)備方便連接。使用多核DSP提高處理器工作能力,在保證大容量數(shù)據(jù)傳輸過程中,處理器仍然具有對(duì)數(shù)據(jù)的計(jì)算能力。雙網(wǎng)口設(shè)計(jì)方案可以彌補(bǔ)單網(wǎng)口的傳輸速率不足,又可以降低其他接口的硬件復(fù)雜度,是介于兩者之間的有益補(bǔ)充。在嵌入式設(shè)備中具有一定的應(yīng)用價(jià)值。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://www.udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 簡(jiǎn)述計(jì)算機(jī)總線的分類2025/9/4 17:12:23
- 深度剖析三進(jìn)線兩母聯(lián)供電系統(tǒng)設(shè)計(jì)方案2025/9/3 10:37:39
- 匯流排是什么匯流排好還是線接好2025/8/28 17:13:00
- 安森美 USB - C 電池充電器解決方案2025/8/28 15:45:10
- I2C 總線加上拉電阻的必要性2025/8/25 16:42:09
- TTL、RS232、485 到底能傳輸多遠(yuǎn)距離
- 一文了解車規(guī)級(jí)芯片認(rèn)證標(biāo)準(zhǔn)
- eMMC 屬于閃存還是內(nèi)存?從定義到應(yīng)用講透核心區(qū)別
- 什么是芯片的納米等級(jí)的含義,28nm,14nm,3nm 工藝
- 一文詳解:半導(dǎo)體、芯片、集成電路、晶圓之差異
- 深度解析:“直流變頻” 與 “變頻” 的本質(zhì)區(qū)別與應(yīng)用選擇
- 直線電機(jī)工作原理與應(yīng)用全解析
- 空調(diào)空開跳閘的原因及解決方法
- 電容的作用是干什么
- 場(chǎng)效應(yīng)管和MOS管區(qū)別?一問全解析