0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C6678的芯片特點(diǎn)及其含有的接口資源詳解

MCU開發(fā)加油站 ? 2017-12-12 09:52 ? 次閱讀

DSP的應(yīng)用

針對(duì)8核DSP TMS320C6678與外部設(shè)備進(jìn)行數(shù)據(jù)通信的需求,以片上集成千兆以太網(wǎng)交換子系統(tǒng)為核心,選取芯片88E1111作為PHY設(shè)備,設(shè)計(jì)了千兆以太網(wǎng)通信接口的硬件電路。在嵌入式操作系統(tǒng)SYS/BIOS網(wǎng)絡(luò)開發(fā)環(huán)境NDK上,完成了以太網(wǎng)底層驅(qū)動(dòng)和TCP/IP協(xié)議的程序設(shè)計(jì)。通過DSP與上位機(jī)進(jìn)行以太網(wǎng)通信測試,證明了以太網(wǎng)接口電路硬件及軟件的正確性和實(shí)用性。

隨著DSP處理器在現(xiàn)代工業(yè)的應(yīng)用越來越廣泛,DSP的功能不僅只有快速運(yùn)算處理,還需要與其他處理器或者設(shè)備之間進(jìn)行實(shí)時(shí)數(shù)據(jù)交換,以實(shí)現(xiàn)資源的共享。因此,針對(duì)不同設(shè)備的需求,選擇穩(wěn)定、快速和高效率的接口方式在當(dāng)今數(shù)字信號(hào)處理系統(tǒng)設(shè)計(jì)中關(guān)鍵的組成部分。

TI公司的8核處理器TMS320C6678(以下簡稱C6678)提供豐富的片上接口資源用于處理器與外設(shè)之間的通信,這些接口都可以用于DSP與外設(shè)之間的通信,但是靈活性有差異,使用SGMII接口來實(shí)現(xiàn)千兆以太網(wǎng)通信,可使得通信接口一般化,能夠適用于眾多的設(shè)備連接。

本文針對(duì)C6678的芯片特點(diǎn)以及含有的接口資源,設(shè)計(jì)實(shí)現(xiàn)了千兆以太網(wǎng)通信,主要設(shè)計(jì)了以太網(wǎng)接口電路、網(wǎng)絡(luò)底層硬件驅(qū)動(dòng)、TCP/IP協(xié)議的用戶程序,并完成了與上位機(jī)以太網(wǎng)通信測試,實(shí)現(xiàn)了數(shù)字信號(hào)高速有效地網(wǎng)絡(luò)傳輸。

1 C6678以太網(wǎng)交換子系統(tǒng)

C6678是基于KeyStone I構(gòu)架的8核高性能、定點(diǎn)/浮點(diǎn)處理器,單核最高工作頻率可達(dá)1.25 GHz。C6678的以太網(wǎng)交換子系統(tǒng)包括2個(gè)以太網(wǎng)媒體訪問控制(Ethernet Media Access Controller,EMAC)、2個(gè)SGMII、1個(gè)管理數(shù)據(jù)輸入輸出(Management Data Input Output,MDIO)、3-Port以太網(wǎng)交換模塊以及網(wǎng)絡(luò)配置總線,其網(wǎng)絡(luò)交換子系統(tǒng)如圖1所示。

EMAC的作用是將交換子系統(tǒng)的內(nèi)部信號(hào)轉(zhuǎn)換為GMII信號(hào)傳遞給SGMII模塊;MDIO控制物理層芯片執(zhí)行對(duì)多數(shù)據(jù)流的控制輸入輸出。

2 PHY芯片88E1111

本文選擇C6678作為主芯片,由于C6678的千兆網(wǎng)絡(luò)交換子系統(tǒng)只支持SGMII接口,所以本文選擇對(duì)SGMII接口的網(wǎng)絡(luò)數(shù)據(jù)傳輸具有較好兼容性的物理芯片88E1111。88E1111芯片的內(nèi)部結(jié)構(gòu)如圖2所示。

88E1111的介質(zhì)接口有銅介質(zhì)接口和光纖接口。銅介質(zhì)接口為MDI[3:0],通過設(shè)置HWCFG_MODE[3:0]來選擇運(yùn)行模式。 88E1111集成的MDIO模塊與EMAC的MDIO接口相連接,可將方便網(wǎng)絡(luò)控制端讀取物理芯片狀態(tài)寄存器,達(dá)到實(shí)時(shí)監(jiān)測的效果。

3 硬件接口設(shè)計(jì)

本文設(shè)計(jì)的任務(wù)是基于C6678片內(nèi)以太網(wǎng)交換子系統(tǒng)和片外PHY芯片88E1111及其外圍電路的接口設(shè)計(jì)。主要包括:C6678與88E1111芯片連接、88E1111芯片配置以及88E1111芯片與網(wǎng)絡(luò)介質(zhì)連接。

3.1 C6678與88E1111芯片連接

C6678和PHY芯片88E1111的接口電路如圖3所示。88E1111工作在SGMII接口模式下,不需要TXCLK時(shí)鐘輸入,更有助于減少電路板上走線的數(shù)量,同時(shí)也可減少噪聲的產(chǎn)生。

主要的接口信號(hào)包括時(shí)鐘和數(shù)據(jù)信號(hào)如下:

MDIO_CLK:管理數(shù)據(jù)時(shí)鐘。該時(shí)鐘信號(hào)由C6678片上的MDIO模塊提供,該時(shí)鐘頻率通過配置MDIO的控制寄存器CONTROL中的CLKDIV位來控制實(shí)現(xiàn)。

SGMII_TXP和SGMII_TXN:串行發(fā)送差分?jǐn)?shù)據(jù)線。連接DSP內(nèi)部SerDes和物理芯片的S_IN管腳,DSP的SerDes通過該管腳向物理層發(fā)送串行數(shù)據(jù),數(shù)據(jù)中包含發(fā)送數(shù)據(jù)時(shí)鐘信號(hào)。

SGMII_RXP和SGMII_RXN:串行接收差分?jǐn)?shù)據(jù)線。連接DSP內(nèi)部SerDes和物理芯片的S_OUT管腳,物理層芯片通過該接口將數(shù)據(jù)傳送到DSP的SerDes,數(shù)據(jù)中包含數(shù)據(jù)接收時(shí)鐘信號(hào)。

MDIO:管理數(shù)據(jù)I/O??勺疃噙B接32個(gè)PHY設(shè)備到DSP的EMAC,并且可以枚舉所有PHY設(shè)備,讀取PHY設(shè)備狀態(tài)寄存器來監(jiān)測PHY的連接狀態(tài)。數(shù)據(jù)幀結(jié)構(gòu)符合802.3標(biāo)準(zhǔn),包含讀寫指令、PHY地址、寄存器地址和數(shù)據(jù)等。

因?yàn)?8E1111上集成的MDIO與C6678集成MDIO模塊進(jìn)行連接時(shí),電壓有所差別,前者電壓為2.5 V,后者電壓為1.8 V,所以在二者之間應(yīng)該添加電壓轉(zhuǎn)換器。本文采用一片PCA9306,實(shí)現(xiàn)2.5 V和1.8 V之間的電平轉(zhuǎn)換,其連接電路如圖4所示。

3.2 88E1111芯片配置

88E1111與C6678的MDIO模塊相連接,MDIO最多可識(shí)別32個(gè)物理芯片,在使用物理芯片之前需要對(duì)其進(jìn)行配置,配置內(nèi)容主要包括芯片的地址、模式等。配置CONFTG[6:0]管腳定義可查詢文獻(xiàn),本文配置的硬件電路如圖5所示,圖5中可以不使用電阻,本文為了測試方便,加一個(gè)0 Ω的電阻。

88E1111硬件配置完成后,系統(tǒng)將固定為一種接口方式,按照文獻(xiàn)的定義,物理芯片的地址為:PHY_ADDRESS=0’b00001,芯片模式為:不帶時(shí)鐘,自動(dòng)協(xié)商的SGMII模式。

3.3 88E1111芯片與RJ45連接

88E1111和網(wǎng)絡(luò)介質(zhì)之間無法直接連接,因傳輸速度在千兆級(jí),所以更加需要設(shè)計(jì)合適的網(wǎng)絡(luò)隔離變壓器來降低傳輸損耗、回音和串?dāng)_。本文選擇千兆網(wǎng)口插座HR911130C,該插座內(nèi)部自帶變壓器電路,只需在外部連接濾波網(wǎng)絡(luò)便可實(shí)現(xiàn)網(wǎng)絡(luò)信號(hào)穩(wěn)定地傳輸。88E1111和 HR9111130C采用差分連接,在PCB布線時(shí)需要嚴(yán)格等長,且一般還需使用阻抗匹配網(wǎng)絡(luò),如圖6中的R1和C1。

4 軟件程序設(shè)計(jì)

TI針對(duì)網(wǎng)絡(luò)開發(fā)發(fā)布了網(wǎng)絡(luò)開發(fā)套件(Network Development Kit,NDK),能將多個(gè)模塊的配置操作交給NDK網(wǎng)絡(luò)框架實(shí)現(xiàn),同時(shí)數(shù)據(jù)分包和解析也無需程序員過多考慮,加速了網(wǎng)絡(luò)開發(fā)進(jìn)程。NDK構(gòu)建在實(shí)時(shí)操作系統(tǒng)SYS/BIOS之上,NDK通過OS抽象層與BIOS進(jìn)行交互,同時(shí)BIOS的cfg配置文件能對(duì)NDK各模塊進(jìn)行可視化查看。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    554

    文章

    8057

    瀏覽量

    349560
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    40

    文章

    5450

    瀏覽量

    172177
  • C6678
    +關(guān)注

    關(guān)注

    3

    文章

    3

    瀏覽量

    13803

原文標(biāo)題:基于多核DSP的以太網(wǎng)通信接口設(shè)計(jì)

文章出處:【微信號(hào):mcugeek,微信公眾號(hào):MCU開發(fā)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于C6678片內(nèi)以太網(wǎng)交換子系統(tǒng)接口資源詳解

    針對(duì) 8 核 DSP TMS320C6678 與外部設(shè)備進(jìn)行數(shù)據(jù)通信的需求,以片上集成千兆以太網(wǎng)交換子系統(tǒng)為核心,選取芯片 88E1111 作為 PHY 設(shè)備,設(shè)計(jì)了千兆以太網(wǎng)通信接口的硬件電路。
    發(fā)表于 01-30 09:37 ?5921次閱讀

    C6678芯片是否有帶Secure Boot的版本

    請(qǐng)問,C6678芯片是否有帶Secure Boot的版本,對(duì)應(yīng)的型號(hào)是? 有關(guān)于C6678 Secure Boot的介紹資料嗎?
    發(fā)表于 06-21 01:23

    C6678 .stack的問題

    .stack分在shared memory 或者是DDR3會(huì)是什么情況? 2、c6678的.stack建議放在哪里最好呢? 3、c6678的8個(gè)核能不能只用一個(gè).stack,如果可以該怎樣做啊? 新手提問,描述不清還請(qǐng)海涵啊。
    發(fā)表于 06-21 06:01

    c6678硬件信號(hào)量的問題

    c6678中共有32個(gè)硬件信號(hào)量,請(qǐng)問這32個(gè)硬件信號(hào)量與C6678資源是怎么對(duì)應(yīng)的呢?在哪個(gè)文檔里可以查,謝謝!
    發(fā)表于 06-21 14:15

    C6678 EMIF接FPGA

    打算用C6678的EMIF連接FPGA,F(xiàn)PGA做個(gè)FIFO邏輯 想問問:C6678的EMIF帶寬能做到多大?能實(shí)現(xiàn)200MB/S嗎?
    發(fā)表于 06-21 12:49

    C6678與TVP5158互聯(lián)

    Hi,all. 我想將C6678與TVP5158直接互聯(lián),將采集到的視頻信號(hào)經(jīng)TVP5158格式轉(zhuǎn)換后送至C6678進(jìn)行算法處理。 請(qǐng)問這樣是否可行?若可行,則連接到C6678的哪個(gè)接口
    發(fā)表于 06-21 16:49

    關(guān)于C6678的問題

    我正在進(jìn)行C6678的方案設(shè)計(jì),現(xiàn)在又兩個(gè)問題: (1)核電壓供電能不能不采用SmartReflex方式,而固定地供1.0V??? (2)C6678是不是在工作時(shí)發(fā)熱量很大,如果不采用風(fēng)扇或散熱片能不能保證DSP正常工作?
    發(fā)表于 06-24 05:02

    C6678的應(yīng)用問題

    1、應(yīng)用需求:本來系統(tǒng)采用6片C6416芯片進(jìn)行數(shù)據(jù)并行處理,現(xiàn)在想采用1片C6678芯片來替代,但對(duì)用戶來說還是相當(dāng)于6片DSP,這種方案可行嗎? 2、如果方案可行,
    發(fā)表于 06-24 04:34

    C6678設(shè)計(jì)遇到一些問題,求解答

    芯片的輸出端做個(gè)橋接,橋接到C6678的EMIF口,把攝像頭的數(shù)據(jù)傳輸進(jìn)C6678。大體上走的是DM系列中VP口的原來,F(xiàn)PGA內(nèi)部RAM緩存一行的圖像,一行緩存完了之后,通知C6678
    發(fā)表于 07-24 10:02

    請(qǐng)問如何獲取C6678的MAC地址?

    你好, 我現(xiàn)在的情況是,對(duì)于板子從網(wǎng)口接受標(biāo)準(zhǔn)以太網(wǎng)幀,我想把C6678芯片廠家燒寫的MAC地址讀取出來并填寫到以太網(wǎng)幀的源MAC地址字段。請(qǐng)問我可以通過什么途徑獲取C6678的MAC地址?我需要看哪些模塊的文檔?有沒有設(shè)計(jì)到這
    發(fā)表于 08-03 06:53

    請(qǐng)教關(guān)于C6678的PCIe的問題

    相互之間不能有效通信,C6678更不能與其他廠家的芯片進(jìn)行正常通信。又因國內(nèi)幾個(gè)先行幾年工作的研究組均未使用PCIe接口,所以請(qǐng)確認(rèn):C6678的PCIe到底有沒有問題,能否正常使用,
    發(fā)表于 08-03 08:16

    關(guān)于C6678仿真器

    我正在設(shè)計(jì)兩種類型的板卡,一種帶2片C6678,一種帶5片C6678,現(xiàn)在的XDS560的仿真器(TI原裝、BlackHawk或聞亭的)可以用來調(diào)試我的板卡嗎?我的JTAG對(duì)外接口設(shè)計(jì)為14芯接插件,并且是3.3v電平的。是否必
    發(fā)表于 08-06 06:00

    項(xiàng)目前期求助(C6678)

    因項(xiàng)目需要,公司打算使用C6678,因我是這方面的新手,想請(qǐng)各位解答一下我的疑問,多謝各位1. DSP用于視頻處理,相機(jī)接口為cameralink接口,以前用的DM642,資源到了瓶頸
    發(fā)表于 08-07 06:17

    請(qǐng)問C6678芯片的功耗差異有多少?

    您好!我使用C6678處理器時(shí),同一批板卡上,板卡的功耗差異很大,請(qǐng)問C6678芯片的功耗差異大約多少瓦?請(qǐng)問是什么原因?qū)е掳蹇ㄩg的功耗差異?有哪些因素?謝謝!Hello! I use
    發(fā)表于 01-15 10:48

    6U CPCI板卡設(shè)計(jì)方案:8-基于雙TMS320C6678 + XC7K420T的6U CPCI Express高速數(shù)據(jù)處理平臺(tái)

    C6678 , C6678板卡 , C6678圖像處理板 , 高速數(shù)據(jù)處理平臺(tái) , XC7K420T處理板
    的頭像 發(fā)表于 12-09 11:15 ?212次閱讀
    6U CPCI板卡設(shè)計(jì)方案:8-基于雙TMS320<b class='flag-5'>C6678</b> + XC7K420T的6U CPCI Express高速數(shù)據(jù)處理平臺(tái)