《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于TMS320C6657的千兆以太網接口設計
基于TMS320C6657的千兆以太網接口設計
2014年微型機與應用第22期
吳向旭,馮曉東,王貴冬,陳晶晶
(重慶郵電大學 3G動員中心通信技術創新團隊,重慶 400065)
摘要: 摘 要: 基于TI公司的TMS320C6657芯片,結合片外的PHY芯片88E1112,實現了千兆以太網通信接口的設計。結合TCP/IP網絡模型,詳細描述了TMS320C6657片內千兆以太網接口模塊以及通信接口的硬件設計,介紹了網絡開發包NDK的結構并運用NDK完成DSP通信接口軟件設計,最終實現了DSP與PC間可靠穩定的網絡傳輸。
Abstract:
Key words :

  摘  要: 基于TI公司的TMS320C6657芯片,結合片外的PHY芯片88E1112,實現了千兆以太網通信接口的設計。結合TCP/IP網絡模型,詳細描述了TMS320C6657片內千兆以太網接口模塊以及通信接口的硬件設計,介紹了網絡開發包NDK的結構并運用NDK完成DSP通信接口軟件設計,最終實現了DSP與PC間可靠穩定的網絡傳輸。

  關鍵詞: TMS320C6657;千兆以太網;NDK;Socket

0 引言

  隨著網絡技術的不斷發展,在DSP嵌入式系統上進行網絡通信已經成為熱門研究課題。對于網絡開發而言,TI的C6000系列DSP芯片有很多都在其片上集成了以太網接口,不僅在硬件上縮減了嵌入式產品的網絡應用成本,而且其推出的NDK網絡開發工具在軟件上大大降低了網絡應用程序的開發難度,縮短了開發周期,為實現設計性價比高、易于實現的網絡通信接口提供了可靠的保障。

  TMS320C6657是TMS320C6000系列中高性能的定點/浮點DSP,建立在TI KeyStone多核架構基礎之上,采用創新C66x DSP內核,此器件能夠以高達1.25 GHz的頻率運行,同時具有豐富的外設資源,能夠方便地與其他器件進行通信[1]。本文通過TMS320C6657片內集成的千兆以太網接口模塊,結合片外的PHY芯片88E1112以及簡單的外圍電路,實現了DSP與PC之間的千兆以太網通信。本文主要完成了通信接口硬件電路設計、通信接口軟件總體架構設計、用戶定制網絡應用程序的編寫等工作,最終實現DSP與PC間可靠穩定的網絡傳輸。

1 千兆以太網接口的硬件設計

  TMS320C6657內部集成了千兆以太網接口模塊EMAC/MDIO/SGMII,下面對這三個模塊分別進行敘述[2-3]。

  EMAC(Ethernet Media Access Controller)模塊是DSP處理器內核與片外的網絡物理層數據傳輸的接口,負責以太網數據的接收和發送,接收和發送分別具有8個隊列,能夠滿足快速收發以太網數據包的要求。它實現了IEEE802.3標準的以太網數據鏈路層協議功能;將從上層協議棧傳遞來的數據打包成符合IEEE802.3標準的以太網數據包,并從收到的以太網數據包中剝離出載荷數據,提供給上層協議棧進行分析和處理;提供了GMII/MII接口,能夠與符合IEEE802.3標準的片外PHY芯片無縫連接。

  MDIO(Management Data Input/Output)模塊負責管理與EMAC相連的所有PHY芯片,包括對PHY芯片進行枚舉、復位、配置和器件狀態檢測等。

  SGMII(Serial Gigabit Media Independent Interface)模塊是連接數據鏈路層和物理層的接口,并具有內置SERDES(serializer/deserializer)電路,能夠實現EMAC模塊所使用的GMII數據格式與SERDES模塊所使用的  8 B/10 B編碼數據格式之間的轉換。SGMII(Serial GMII)是串行GMII,不需要提供另外的時鐘,MAC和PHY都需要CDR去恢復時鐘,另外,SGMII有8 B/10 B編碼,速率為1.25 Gb/s。其中,8 B/10 B編碼是為了擾碼,避免信號中出現過長的連“0”或連“1”情況,保證時鐘信息的提取。SGMII模塊具體的功能示意圖如圖1所示。

001.jpg

  88E1112 PHY芯片是千兆以太網物理層自適應收發器,支持IEEE802.3標準,支持10/100/1 000 Mb/s全雙工數據傳輸,內部集成SERDES,支持與SGMII/SERDES MAC連接。

  TMS320C6657與88E1112都提供了SGMII接口,兩者之間可以在IEEE802.3標準基礎上實現無縫連接。本方案中千兆以太網接口的硬件連接框圖如圖2所示。

002.jpg

  圖2中,SGMII_RXN與SGMII_RXP是SGMII的一對差分接收信號線;SGMII_TXN與SGMII_TXP是SGMII的一對差分發送信號線;MDCLK為管理數據時鐘,該時鐘信號由DSP片上的MDIO模塊提供,用于同步MDIO管腳上的數據;MDIO為管理數據線,以向PHY寫入或讀出數據幀的形式對PHY進行配置。

2 千兆以太網接口的軟件設計

  本方案中,千兆以太網通信接口的軟件設計主要是基于TI公司提供的嵌入式操作系統SYS/BIOS[4]和TCP/IP網絡開發包NDK(Network Development′s Kit)[5-6]來實現的。網絡開發包NDK是TI公司為本公司DSP的網絡程序開發提供的平臺,采用自頂向下、分層、模塊化的設計方法來支持TCP/IP協議[7],并占用較少的系統資源(對于常規的TCP/IP服務,程序空間僅需200 KB~250 KB的程序空間,數據空間僅需95 KB)。TCP/IP協議的體系結構包括應用層、傳輸層、網絡層、數據鏈路層以及物理層,對于NDK模型,網絡開發包NDK就實現了5層體系結構中的傳輸層、網絡層、數據鏈路層。圖3為TCP/IP模型與NDK模型的對比示意圖。

003.jpg

  NDK通過編程接口與嵌入式操作系統SYS/BIOS以及底層硬件相互隔離。對于NDK而言,SYS/BIOS被抽象成一個操作系統適應層(OS Adaptation Layer),底層硬件被抽象成一個硬件適應層(Hardware Adaptation Layer),它們的函數庫OS.LIB、HAL.LIB成為了NDK與SYS/BIOS以及底層硬件的接口。圖4為基于NDK與SYS/BIOS的通信接口軟件架構圖[8]。

004.jpg

  由圖4可以看出,NDK主要包含NETTOOL.LIB、STACK.LIB、OS.LIB、HAL.LIB、NETCTRL.LIB五個部分。

  (1)NETTOOL.LIB提供網絡服務,包含NDK提供的基于網絡服務的所有套接字以及一些用于網絡應用開發的附加工具。

  (2)STACK.LIB是主要的TCP/IP協議棧,提供了頂層(套接字層)至底層(以太網和PPP層)的所有功能。

  (3)OS.LIB提供與SYS/BIOS操作系統的接口。

  (4)HAL.LIB提供與底層硬件的接口。

  (5)NETCTRL.LIB控制TCP/IP協議棧與外界的交互,管理所有網絡事件、協調操作系統與硬件驅動,主要包括:①初始化TCP/IP協議棧和底層設備驅動;②啟動和維護系統配置(通過配置服務提供者的回調函數);③連接底層設備驅動和安排驅動事件呼叫TCP/IP協議棧;④卸載系統配置和清除底層驅動。

  對于基于NDK與SYS/BIOS的通信接口的軟件架構,其實現主要分為三部分工作:

  (1)編制底層驅動程序。底層硬件驅動負責向TCP/IP協議棧提供具體的操作接口,用以控制以太網器件的配置和運行,主要包括:初始化驅動環境,包括器件復位、中斷使能、存儲區數據訪問優先級設定、器件枚舉和配置等;以太網數據包的接收和發送;監測底層網絡器件狀態,將事件信息反饋給協議棧;關閉驅動環境,并收回占用的系統資源。

005.jpg

  (2)在SYS/BIOS操作系統平臺上配置和運行NDK的TCP/IP協議棧。CCS5.3提供了配置工具XGCONF來實現圖形化界面配置NDK,如圖5所示,傳輸層、網絡層、數據鏈路層分別選用TCP、IP、EMAC協議,并對其作相關必要的配置,主要包括發送/接收窗口大小、IP地址、生存時間等內容的配置。

  (3)開發用戶定制的網絡應用程序。本方案中主要是完成接收上位機控制信息和發送結果信息這些操作,采用流式套接字(Socket)來實現。

  Socket是應用層與TCP/IP協議簇通信的中間軟件抽象層,它是一組接口,把復雜的TCP/IP協議簇隱藏在其后面。對于用戶來說,一組簡單的Socket接口就是全部通信過程,讓Socket去組織數據,以符合指定的協議。

  本設計中,選取DSP作為服務器,上位機作為客戶端。對于DSP端,先初始化一個監聽Socket,然后與端口綁定(bind),并對端口進行監聽(listen),再調用accept阻塞,等待PC端連接。對于PC端,先初始化一個Socket,然后請求連接DSP端(connect),若此時DSP端正處于等待PC端連接狀態,則DSP端接受此連接請求,于是,PC端與DSP端就成功建立起了連接。PC端發送數據請求,DSP端接收請求并處理請求,再把回應數據發送給PC端,PC端讀取數據,最后關閉連接,一次交互結束。DSP與上位機進行Socket通信的具體過程如圖6所示。

006.jpg

3 功能測試

  為了測試本文設計的千兆以太網接口的可行性,PC端采用VC++的MFC來設計測試程序,測試程序主要實現對單通道正弦信號的采集、處理以及顯示等操作,測試界面如圖7所示。根據具體的設計需求,測試程序分為數據發送/接收和數據處理/顯示這兩個部分。其中,數據發送/接收部分通過Socket編程完成與DSP的收發數據包等通信過程,數據處理/顯示部分不僅能夠支持用戶對服務器端參數和控制參數的可配置,而且通過顯示接收到的正弦信號時域波形與頻譜圖,實現對PC端與DSP端通信的直觀體驗,同時更增加了本接口程序的可移植性與可擴展性。

007.jpg

  通過測試可以發現,正弦信號的時域波形圖與頻譜圖較為流暢,且穩定性較高,能夠支持長時間穩定可靠傳輸及顯示。

4 結論

  本文利用TMS320C6657內部集成了千兆以太網接口模塊(EMAC、MDIO與SGMII),結合片外的PHY芯片88E1112以及簡單的外圍電路,提出了千兆以太網通信接口的軟硬件設計方案,實現了DSP與PC的網絡通信功能。測試結果顯示,該設計方案能夠實現長時間穩定可靠傳輸,同時,由于使用TI公司提供的NDK,降低了開發難度、縮短了開發周期,更便于擴展與維護。目前,本設計方案已成功應用到了無線電頻譜監測接收機中,運行狀況良好。

  參考文獻

  [1] Texas Instruments. TMS320C6655/57 fixed and floating-point digital signal processor data manual[EB/OL]. (2014-05-11) [2014-07-12]. http://www.ti.com/lit/sprs814a.

  [2] Texas Instruments. KeyStone architecture gigabit ethernet(GbE) switch subsystem user guide[EB/OL].(2013-07-03) [2014-07-12]. http://www.ti.com/lit/sprugv9d.

  [3] Texas Instruments. KeyStone architecture Ethernet media access controller(EMAC)/management data input/output (MDIO) user guide[EB/OL].(2012-03-12) [2014-07-12]. http://www.ti.com/lit/spruhh1.

  [4] Texas Instruments. SYS/BIOS (TI-RTOS Kernel) v6.40 user′s guide[EB/OL]. (2014-03-22) [2014-07-12]. http://www.ti.com/lit/spruex3n.

  [5] Texas Instruments. TI network developer′s kit(NDK) v2.24 user′s guide[EB/OL]. (2014-04-21)[2014-07-12].  http://www.ti.com.cn/cn/lit/ug/spru523i/spru523i.pdf.

  [6] Texas Instruments. TI network developer′s kit(NDK) v2.24 API reference guide[EB/OL]. (2014-03-21)[2014-07-12].  http://www.ti.com.cn/cn/lit/ug/spru524i/spru524i.pdf.

  [7] 高翔,李凌,劉廣存.基于TMS320VC5409的嵌入式WEB數據服務器的實現[J].電子技術應用,2007,33(7):72-74.

  [8] Texas Instruments. TMS320C6000 network developer′s kit(NDK)support package ethernet driver design guide[EB/OL].(2011-08-06)[2014-07-12].http://www.ti.com/lit/sprufp2.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 交性视频免费看 | 中国女警察一级毛片视频 | 69中国xxxxxxxx18| 免费高清一级欧美片在线观看 | 欧美一级鲁丝片免费看 | 欧美日韩在线视频观看 | 成人软件网18免费视频 | 精品欧美高清一区二区免费 | 黄网站免费在线 | 一个人看的免费观看日本视频www | 女在床上被男的插爽叫视频 | 99在线观看视频 | 九一国产 | 99久久香蕉国产线看观香 | 日韩中文字幕网站 | 国产玖玖在线观看 | 手机看片99 | 91免费国产高清观看 | 国产一二三区视频 | 国产日韩精品欧美一区喷 | 中文字幕在线成人免费看 | 欧美一区二区三区gg高清影视 | 特黄特色一级特色大片中文 | 怡红院成人网 | 92精品国产自产在线 | 国产毛片一级 | 二级毛片在线播放 | 一级毛片免费不卡 | 最新国产美女一区二区三区 | 久久综合中文字幕一区二区 | 欧美综合图片一区二区三区 | 性做爰片免费视频毛片中文i | 99精品久久99久久久久久 | 日本人成在线视频免费播放 | 国产91会所洗浴女技师按摩 | 日本a级特黄三级三级三级 日本a一级片 | 亚洲三级在线视频 | 国产成人精品一区二区 | 成年18网站免费视频网站 | 国产jk福利视频在线观看 | 欧美日韩亚洲第一页 |