杜成濤,汪安民,劉德保
(1.皖西學(xué)院 機(jī)械與電子工程學(xué)院,合肥237012;2.同方工業(yè)有限公司研究所)
杜成濤(講師),主要從事在線計(jì)算機(jī)綜合測(cè)控與信息管理方面的工作。
遵循IEEE802.3標(biāo)準(zhǔn)的網(wǎng)絡(luò)通信已經(jīng)應(yīng)用到較廣泛的場(chǎng)合。其具有連接方便、即插即用的特點(diǎn)。網(wǎng)線物理結(jié)構(gòu)一般使用五類或者六類屏蔽雙絞線,在由金屬制作的物體上傳遞信號(hào),存在線纜衰減、串?dāng)_,受環(huán)境影響較大。在高速千兆長(zhǎng)距離傳輸速度下,網(wǎng)絡(luò)傳輸?shù)恼`碼率增加,傳輸性能下降較快,所以基于網(wǎng)線的傳輸距離一般不大于100m。為了實(shí)現(xiàn)長(zhǎng)距離通信,使用光作為傳輸媒介的光纖通信得到應(yīng)用和發(fā)展。光纖通信可以長(zhǎng)距離進(jìn)行,光信號(hào)衰減小,抗串?dāng)_能力強(qiáng)。在使用10μm的單模光纖時(shí),傳輸距離高達(dá)5 000m,滿足大部分應(yīng)用場(chǎng)合。
DSP(數(shù)字信號(hào)處理器)具有較高的工作頻率,其內(nèi)部集成硬件網(wǎng)絡(luò)MAC接口,外接一個(gè)物理層芯片就可以方便地實(shí)現(xiàn)千兆網(wǎng)絡(luò)通信??梢酝ㄟ^(guò)硬件或者軟件配置方法實(shí)現(xiàn)千兆網(wǎng)絡(luò)和光纖接口的在線切換。本文介紹一種基于高速數(shù)字信號(hào)處理器TMS320C6455的嵌入式千兆網(wǎng)接口設(shè)計(jì),并通過(guò)軟硬件自適應(yīng)配置網(wǎng)絡(luò)或光纖接口。
C6455是TI公司功能較強(qiáng)的定點(diǎn)DSP之一,其最高工作頻率達(dá)到1.25GHz,單個(gè)指令周期可以運(yùn)行8條32位指令。全速運(yùn)行可以提供9 600MIPS定點(diǎn)計(jì)算能力。C6455的內(nèi)部結(jié)構(gòu)如圖1所示。
圖1 C6455內(nèi)部結(jié)構(gòu)圖
C6455具有32KB的一級(jí)數(shù)據(jù)Cache(L1D)、32KB的一級(jí)程序Cache(L1P)以及較大容量的2MB的2級(jí)存儲(chǔ)空間,芯片片內(nèi)有一個(gè)32KB的ROM。C6455具有DDR2控制器接口,可以外接DDR2,直接尋址范圍達(dá)到512MB。C6455的片內(nèi)外設(shè)有RapidIO、PCI、EMIF、千兆網(wǎng)口以及SPI、I2C總線、GPIO等接口。這些接口通過(guò)片內(nèi)的高速互聯(lián)總線和CPU處理器交互數(shù)據(jù)。千兆網(wǎng)口片內(nèi)集成MAC層芯片,該MAC層芯片具有EMAC模塊和MDIO模塊。所以,C6455用于網(wǎng)絡(luò)通信,只需要外接一個(gè)物理層芯片就可以了。其中的MDIO模塊用于和物理層芯片建立連接,如果出現(xiàn)接口切換、掉電等情況,都可以通過(guò)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ò)通信。
能夠和C6455連接的物理層芯片很多,基本上大部分公司的物理層芯片都可以和C6455連接,但不同公司的芯片需要改變NDK軟件中的部分寄存器設(shè)置。本文使用Marvell公司的88E1111物理層芯片進(jìn)行光纖和千兆網(wǎng)絡(luò)的連接。88E1111的片內(nèi)結(jié)構(gòu)如圖2所示。
圖2 88E1111內(nèi)部結(jié)構(gòu)圖
網(wǎng)絡(luò)RJ45接口發(fā)送過(guò)來(lái)的數(shù)據(jù)經(jīng)過(guò)A/D轉(zhuǎn)換器轉(zhuǎn)換,數(shù)字信號(hào)經(jīng)過(guò)譯碼濾波和均衡后由接收單元傳輸?shù)組AC芯片,實(shí)現(xiàn)了數(shù)據(jù)的接收。MAC發(fā)送的數(shù)據(jù)經(jīng)過(guò)整形濾波后由D/A轉(zhuǎn)換器變換成模擬信號(hào)發(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用于芯片仿真測(cè)試,時(shí)鐘模塊提供工作時(shí)鐘,電源復(fù)位用于啟動(dòng)工作。
硬件設(shè)計(jì)主要包括C6455和88E1111的接口設(shè)計(jì)、88E1111和RJ45的接口設(shè)計(jì)、88E1111和光纖的接口設(shè)計(jì)、88E1111的硬件配置設(shè)計(jì)等幾個(gè)部分。
C6455和88E1111的接口電路如圖3所示。C6455采用 RGMII(Reduced 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í)鐘信號(hào),用于C6455和88E1111建立連接。C6455可以通過(guò)該接口配置88E1111,或者讀取88E1111的信息。由于88E1111的MDIO模塊輸出為2.5V電壓,而C6455采用1.5V電壓,所以兩者之間需要增加電壓轉(zhuǎn)換芯片,本設(shè)計(jì)采用SN74TVC3306實(shí)現(xiàn)電壓轉(zhuǎn)換,接口電路如圖4所示。
圖3 C6455和88E1111的接口
圖4 MDIO接口的電壓轉(zhuǎn)換電路
圖5 88E1111和RJ45的接口
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ā)送和接收引腳對(duì)應(yīng)連接到C6455就可以了。為了阻抗匹配,使用了電阻電容隔離電路。
圖6 88E1111和光纖的接口
可以通過(guò)設(shè)置88E1111的配置引腳,將外設(shè)接口配置成RJ45或者光纖。配置成RJ45的硬件設(shè)置如圖7所示,圖7中可以不使用電阻,為了調(diào)試和測(cè)試方便,可以增加一個(gè)0Ω的電阻。如果將接口配置成光纖接口,根據(jù)88E1111的技術(shù)手冊(cè),按照其說(shuō)明配置即可。硬件配置接口后,系統(tǒng)將固定為一種接口方式,如果外設(shè)需要自適應(yīng)配置接口方式,就需要采用軟件方法。
圖7 88E1111的硬件配置
在不掉電情況下切換接口就需要C6455實(shí)時(shí)檢測(cè)到硬件配置的改變。接口切換的軟件配置流程如圖8所示。
圖8 接口切換配置流程
只要接口切換,88E1111會(huì)自動(dòng)檢測(cè)到硬件發(fā)生變化,并且將狀態(tài)存儲(chǔ)到其寄存器中,發(fā)送EMAC中斷到C6455。C6455接收到中斷請(qǐng)求后,通過(guò)MDIO接口讀取88E1111寄存器的值,并根據(jù)設(shè)置重新配置88E1111,重新配置后,網(wǎng)絡(luò)的連接將重新建立,建立后就實(shí)現(xiàn)了硬件的當(dāng)前配置狀態(tài),完成在線接口的切換。C6455和88E1111的數(shù)據(jù)通信流程如圖9所示。
圖9 數(shù)據(jù)通信流程
網(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)中,可以無(wú)需光纖路由器實(shí)現(xiàn)千兆網(wǎng)和光纖的數(shù)據(jù)通信。
[1]汪安民,張松燦.TMS320C6000系列DSP實(shí)用技術(shù)與開發(fā)案例 [M].北京:人民郵電出版社,2008.
[2]Texas Instruments.TMS320C6455Fixed Point Digital Signal Processor Datasheet[EB/OL].[2012-12].http://www.ti.com/.
[3]Texas Instruments.TMS320C645xDSP Ethernet Media Access Controller (EMAC)/Management Data Input/Output(MDIO)Module User's Guide[EB/OL].[2012-12].http://www.ti.com/.
[4]Marvell Semiconductor.88E1111Datasheet Integrated 10/100/1000Ultra Gigabit Ethernet Transceiver(Rev.H)[EB/OL].[2012-12].http://www.marvell.com/.
單片機(jī)與嵌入式系統(tǒng)應(yīng)用2013年4期