基于DSP的自適應(yīng)光纖/千兆網(wǎng)接口設(shè)計(jì)
本文以DSP芯片C6455為應(yīng)用平臺,介紹了一種自適應(yīng)的光纖和網(wǎng)絡(luò)接口通信設(shè)計(jì)方法。系統(tǒng)具有兩個(gè)光纖和網(wǎng)絡(luò)接口,可以自動(dòng)識別所插入的設(shè)備,在不斷電情況下可以任意交換接口,無須用戶參與。文中詳細(xì)介紹了該系統(tǒng)的軟硬件設(shè)計(jì)方法。
本文引用地址:http://www.ex-cimer.com/article/201612/332427.htm引言
遵循IEEE802.3標(biāo)準(zhǔn)的網(wǎng)絡(luò)通信已經(jīng)應(yīng)用到較廣泛的場合。其具有連接方便、即插即用的特點(diǎn)。網(wǎng)線物理結(jié)構(gòu)一般使用五類或者六類屏蔽雙絞線,在由金屬制作的物體上傳遞信號,存在線纜衰減、串?dāng)_,受環(huán)境影響較大。在高速千兆長距離傳輸速度下,網(wǎng)絡(luò)傳輸?shù)恼`碼率增加,傳輸性能下降較快,所以基于網(wǎng)線的傳輸距離一般不大于100 m。為了實(shí)現(xiàn)長距離通信,使用光作為傳輸媒介的光纖通信得到應(yīng)用和發(fā)展。光纖通信可以長距離進(jìn)行,光信號衰減小,抗串?dāng)_能力強(qiáng)。在使用10 μm的單模光纖時(shí),傳輸距離高達(dá)5 000 m,滿足大部分應(yīng)用場合。
DSP(數(shù)字信號處理器)具有較高的工作頻率,其內(nèi)部集成硬件網(wǎng)絡(luò)MAC接口,外接一個(gè)物理層芯片就可以方便地實(shí)現(xiàn)千兆網(wǎng)絡(luò)通信??梢酝ㄟ^硬件或者軟件配置方法實(shí)現(xiàn)千兆網(wǎng)絡(luò)和光纖接口的在線切換。本文介紹一種基于高速數(shù)字信號處理器TMS320C6455的嵌入式千兆網(wǎng)接口設(shè)計(jì),并通過軟硬件自適應(yīng)配置網(wǎng)絡(luò)或光纖接口。
1 C6455及其結(jié)構(gòu)
C6455是TI公司功能較強(qiáng)的定點(diǎn)DSP之一,其最高工作頻率達(dá)到1.25 GHz,單個(gè)指令周期可以運(yùn)行8條32位指令。全速運(yùn)行可以提供9 600 MIPS定點(diǎn)計(jì)算能力。C6455的內(nèi)部結(jié)構(gòu)如圖1所示。
C6455具有32 KB的一級數(shù)據(jù)Cache(L1D)、32 KB的一級程序Cache(L1P)以及較大容量的2 MB的2級存儲(chǔ)空間,芯片片內(nèi)有一個(gè)32 KB的ROM。C6455具有DDR2控制器接口,可以外接DDR2,直接尋址范圍達(dá)到512 MB。C6455的片內(nèi)外設(shè)有RapidIO、PCI、EMIF、千兆網(wǎng)口以及SPI、I2C總線、GPIO等接口。這些接口通過片內(nèi)的高速互聯(lián)總線和CPU處理器交互數(shù)據(jù)。千兆網(wǎng)口片內(nèi)集成MlAC層芯片,該MAC層芯片具有EMAC模塊和MDIO模塊。所以,C6455用于網(wǎng)絡(luò)通信,只需要外接一個(gè)物理層芯片就可以了。其中的MDIO模塊用于和物理層芯片建立連接,如果出現(xiàn)接口切換、掉電等情況,都可以通過MDIO接口獲得相應(yīng)信息。EMAC模塊用于數(shù)據(jù)的收發(fā),C6455片內(nèi)集成8個(gè)8K的收發(fā)緩沖區(qū)。使用TI公司免費(fèi)提供的NDK(Net Development Kit)軟件,可以很方便地建立網(wǎng)絡(luò)通信。
2 88E1111及其結(jié)構(gòu)
能夠和C6455連接的物理層芯片很多,基本上大部分公司的物理層芯片都可以和C6455連接,但不同公司的芯片需要改變NDK軟件中的部分寄存器設(shè)置。本文使用Marvell公司的88E1111物理層芯片進(jìn)行光纖和千兆網(wǎng)絡(luò)的連接。88E1111的片內(nèi)結(jié)構(gòu)如圖2所示。
網(wǎng)絡(luò)RJ45接口發(fā)送過來的數(shù)據(jù)經(jīng)過A/D轉(zhuǎn)換器轉(zhuǎn)換,數(shù)字信號經(jīng)過譯碼濾波和均衡后由接收單元傳輸?shù)組AC芯片,實(shí)現(xiàn)了數(shù)據(jù)的接收。 MAC發(fā)送的數(shù)據(jù)經(jīng)過整形濾波后由D/A轉(zhuǎn)換器變換成模擬信號發(fā)送到RJ45接口。為了降低誤碼,88E1111內(nèi)部具有PLL鎖相環(huán)、增益控制、時(shí)序控制和相位控制、回音抵消等模塊,這些模塊都是為了提高數(shù)據(jù)傳輸?shù)目煽啃?,在不同環(huán)境或者不同外接設(shè)備下,都可以高速、可靠地通信。
圖2中的LED控制模塊實(shí)現(xiàn)數(shù)據(jù)傳輸時(shí)的燈光顯示,MDIO模塊建立鏈接,JTAG用于芯片仿真測試,時(shí)鐘模塊提供工作時(shí)鐘,電源復(fù)位用于啟動(dòng)工作。
3 硬件設(shè)計(jì)
硬件設(shè)計(jì)主要包括C6455和88E1111的接口設(shè)計(jì)、88E1111和RJ45的接口設(shè)計(jì)、88E1111和光纖的接口設(shè)計(jì)、88E1111的硬件配置設(shè)計(jì)等幾個(gè)部分。
C6455和88E1111的接口電路如圖3所示。C6455采用RGMII(RedtJced Gigabit Media Independent Interface)接口,兼容10/100M工作方式。其中,RGTXC和RGRXC為發(fā)送和接收時(shí)鐘,在時(shí)鐘的上升和下降沿都可以傳輸數(shù)據(jù),收發(fā)均采用4線,如圖3中的RGTXD[3:0]和RGRXD[3:0]引腳。RGTXCTL為發(fā)送使能引腳,RGRXCTL為接收控制引腳,該引腳電平出現(xiàn)上升沿時(shí),表示接收數(shù)據(jù)有效。RGMDIO和RGMDCLK為MDIO模塊的數(shù)據(jù)和時(shí)鐘信號,用于C6455和88E1111建立連接。C6455可以通過該接口配置88E1111,或者讀取88E1111的信息。由于88E1111的MDIO模塊輸出為2.5 V電壓,而C6455采用1.5 V電壓,所以兩者之間需要增加電壓轉(zhuǎn)換芯片,本設(shè)計(jì)采用SN74TVC3306實(shí)現(xiàn)電壓轉(zhuǎn)換,接口電路如圖4所示。
88E1111和RJ45的接口如圖5所示。圖中H5062為網(wǎng)絡(luò)隔離變壓器,其工作原理是利用特性阻抗的耦合特性,降低插入損耗、回音以及串?dāng)_,提供網(wǎng)絡(luò)濾波,減少傳輸介質(zhì)上的干擾。88E1111和H5062采用差分連接線,一般需要使用阻抗匹配網(wǎng)絡(luò),如圖中的R1和C1。H5062和RJ45之間也需要阻抗匹配網(wǎng)絡(luò),如圖中的R2和C2。
88E1111和光纖的接口如圖6所示。使用兩片光收發(fā)器芯片SSFF135連接光纖和DSP。將光收發(fā)器的發(fā)送和接收引腳對應(yīng)連接到C6455就可以了。為了阻抗匹配,使用了電阻電容隔離電路。
可以通過設(shè)置88E1111的配置引腳,將外設(shè)接口配置成RJ45或者光纖。配置成RJ45的硬件設(shè)置如圖7所示,圖7中可以不使用電阻,為了調(diào)試和測試方便,可以增加一個(gè)0 Ω的電阻。如果將接口配置成光纖接口,根據(jù)88E1111的技術(shù)手冊,按照其說明配置即可。硬件配置接口后,系統(tǒng)將固定為一種接口方式,如果外設(shè)需要自適應(yīng)配置接口方式,就需要采用軟件方法。
4 軟件設(shè)計(jì)
在不掉電情況下切換接口就需要C6455實(shí)時(shí)檢測到硬件配置的改變。接口切換的軟件配置流程如圖8所示。
只要接口切換,88E1111會(huì)自動(dòng)檢測到硬件發(fā)生變化,并且將狀態(tài)存儲(chǔ)到其寄存器中,發(fā)送EMAC中斷到C6455。C6455接收到中斷請求后,通過MDIO接口讀取88E1111寄存器的值,并根據(jù)設(shè)置重新配置88E1111,重新配置后,網(wǎng)絡(luò)的連接將重新建立,建立后就實(shí)現(xiàn)了硬件的當(dāng)前配置狀態(tài),完成在線接口的切換。C6455和88E1111的數(shù)據(jù)通信流程如圖9所示。
結(jié)語
網(wǎng)絡(luò)和光纖數(shù)據(jù)傳輸是嵌入式系統(tǒng)廣泛使用的方式,本文介紹了基于C6455的千兆網(wǎng)口和光纖接口的自適應(yīng)數(shù)據(jù)通信,可以在系統(tǒng)不掉電情況下,在兩個(gè)接口之間自動(dòng)切換,文中介紹了該數(shù)據(jù)通信系統(tǒng)的軟硬件設(shè)計(jì)方法。該方法可以應(yīng)用于嵌入式系統(tǒng)中,可以無需光纖路由器實(shí)現(xiàn)千兆網(wǎng)和光纖的數(shù)據(jù)通信。
評論