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