日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]針對(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)通信測(cè)試,證明了以太網(wǎng)接口電路硬件及軟件的正確性和實(shí)用性。

摘要 針對(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)通信測(cè)試,證明了以太網(wǎng)接口電路硬件及軟件的正確性和實(shí)用性。

關(guān)鍵詞 TMS320C6678;千兆以太網(wǎng);SYS/BIOS;TCP/IP協(xié)議

隨著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)通信測(cè)試,實(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)測(cè)的效果。

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。可最多連接32個(gè)PHY設(shè)備到DSP的EMAC,并且可以枚舉所有PHY設(shè)備,讀取PHY設(shè)備狀態(tài)寄存器來監(jiān)測(cè)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中可以不使用電阻,本文為了測(cè)試方便,加一個(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)定地傳輸,如圖6所示。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)行可視化查看。

本文基于多核DSP實(shí)時(shí)操作系統(tǒng)SYS/BIOS上,設(shè)計(jì)了以太網(wǎng)通信程序。該操作系統(tǒng)能夠提供較多的集成模塊,方便用戶編寫程序,且還有軟硬件中斷管理、多任務(wù)同步機(jī)制、多核通信機(jī)制和存儲(chǔ)器管理機(jī)制等,可為用戶進(jìn)行多線程多任務(wù)開發(fā)提供模塊化的框架。以太網(wǎng)通信接口的軟件總體結(jié)構(gòu)如圖7所示。

 

SYS/BIOS為整個(gè)軟件提供集成開發(fā)環(huán)境,不僅擁有適合實(shí)時(shí)系統(tǒng)的多線程優(yōu)先搶占機(jī)制,還可添加需要的封裝庫,使得編寫程序時(shí)可以更加方便地調(diào)用庫函數(shù)。NDK是DSP的網(wǎng)絡(luò)程序開發(fā)集成工具,其中,stack.lib給出了從頂層socket到底層PPP關(guān)于TCP/IP協(xié)議棧的封裝庫;nettool.lib提供用于socket網(wǎng)絡(luò)套接字和用于網(wǎng)絡(luò)應(yīng)用開發(fā)工具的封裝庫;os.lib提供應(yīng)用于SYS/BIOS和網(wǎng)絡(luò)編程套件之間的系統(tǒng)協(xié)調(diào)的封裝庫;hal.lib提供外圍設(shè)備和網(wǎng)協(xié)議棧之間接口的封裝庫;netctrl.lib提供DSP網(wǎng)絡(luò)編程的整體控制,可用來配置底層驅(qū)動(dòng)和協(xié)議。

本文DSP片上系統(tǒng)軟件分為3部分:SYS/BIOS平臺(tái)和NDK的TCP/IP協(xié)議棧建立和配置;用戶程序;編制底層驅(qū)動(dòng)程序。

4.1 底層硬件驅(qū)動(dòng)的實(shí)現(xiàn)

NDK的基本結(jié)構(gòu)如圖7所示,可看出NDK開發(fā)套件與用戶程序、SYS/BIOS操作系統(tǒng)和底層硬件都有密切的聯(lián)系。NDK中網(wǎng)絡(luò)控制層和操作系統(tǒng)接口層與SYS/BIOS系統(tǒng)相連接,NDK的硬件驅(qū)動(dòng)層用于控制底層硬件驅(qū)動(dòng)的配置,這些操作和配置均可在網(wǎng)絡(luò)工具庫中找到相應(yīng)的驅(qū)動(dòng)函數(shù),并可直接由用戶應(yīng)用程序來調(diào)用實(shí)現(xiàn)。

這些功能主要包括:

(1)底層硬件驅(qū)動(dòng)包括:MDIO模塊和EMAC模塊的初始化;PHY芯片搜索配置和狀態(tài)監(jiān)測(cè);EMAC/MDIO中斷使能。(2)TCP/IP協(xié)議棧的建立,配置接收和發(fā)送緩存區(qū)的大小,完成以太網(wǎng)數(shù)據(jù)的收發(fā)任務(wù)。(3)利用MDIO模塊,根據(jù)MDIO讀取的PHY狀態(tài)寄存器來監(jiān)測(cè)其連接狀態(tài),識(shí)別可以是CPU產(chǎn)生中斷的狀態(tài)變化事件,并將信息反饋。(4)關(guān)閉驅(qū)動(dòng),復(fù)位前面對(duì)寄存器進(jìn)行的操作,收回占用資源。

如圖7所示,硬件驅(qū)動(dòng)包含在硬件驅(qū)動(dòng)層hal.lib中,用戶需要對(duì)按照系統(tǒng)對(duì)驅(qū)動(dòng)函數(shù)進(jìn)行修改。C6000系列NDK的API封裝了許多固定的驅(qū)動(dòng)函數(shù),具有特定的功能,比如_llPacketSerivceCheck()的作用是檢測(cè)以太網(wǎng)數(shù)據(jù)包的結(jié)構(gòu),且將檢測(cè)到的結(jié)構(gòu)信息反饋給協(xié)議棧進(jìn)行分析處理。具體的驅(qū)動(dòng)程序需要按照硬件系統(tǒng)的配置來進(jìn)行設(shè)計(jì),在C6678中,可在集成度較高的片上系統(tǒng)直接對(duì)網(wǎng)絡(luò)通信模塊的寄存器進(jìn)行配置查詢,就可以完成硬件底層驅(qū)動(dòng),使得底層硬件能夠有效地運(yùn)行。

4.2 DSP端網(wǎng)絡(luò)應(yīng)用程序

DSP軟件設(shè)計(jì)是基于SYS/BIOS實(shí)時(shí)多任務(wù)操作系統(tǒng)和C語言,采用Socket套接字,創(chuàng)建TCP/IP客戶端(Client)和服務(wù)器端 (Server),Client負(fù)責(zé)與外部設(shè)備服務(wù)器端建立連接并接收數(shù)據(jù)包,Server用來向PC機(jī)發(fā)送處理后的數(shù)據(jù)包。接收任務(wù)和發(fā)送任務(wù)流程如圖 8所示。在C6678的內(nèi)核Core0中建立兩個(gè)同步線程任務(wù),即數(shù)據(jù)接收和發(fā)送任務(wù),分別用來接收TCP服務(wù)器發(fā)送過來的數(shù)據(jù)和發(fā)送處理后的數(shù)據(jù)到PC 上位機(jī)中進(jìn)行處理、存儲(chǔ)和顯示。

 

4.3 上位機(jī)測(cè)試程序

上位機(jī)測(cè)試程基于VC++的MFC界面設(shè)計(jì),使用套接字Socket進(jìn)行網(wǎng)絡(luò)編程。程序中需設(shè)計(jì)兩個(gè)同步線程,用來實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)接收和動(dòng)態(tài)顯示功能。使用TCP服務(wù)器端發(fā)送船體結(jié)構(gòu)應(yīng)力數(shù)據(jù),經(jīng)過DSP的接接收、處理和發(fā)送過程,最后發(fā)送到PC上位機(jī)進(jìn)行數(shù)據(jù)動(dòng)態(tài)顯示,結(jié)果如圖9所示。

 

5 結(jié)束語

本文以8核處理器C6678為核心,對(duì)片上集成的以太網(wǎng)交換子系統(tǒng)接口硬件進(jìn)行了研究,按照接口的特點(diǎn)設(shè)計(jì)了包括以太網(wǎng)交換子系統(tǒng)和物理芯片的接口連接、物理芯片與網(wǎng)絡(luò)介質(zhì)接口連接的硬件系統(tǒng),并完成了千兆以太網(wǎng)驅(qū)動(dòng),最終實(shí)現(xiàn)多核DSP C6678與上位機(jī)進(jìn)行千兆以太網(wǎng)通信。通過與上位機(jī)進(jìn)行網(wǎng)絡(luò)通信測(cè)試,結(jié)果顯示以太網(wǎng)數(shù)據(jù)通信接口能實(shí)時(shí)高效地進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)傳輸。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀

在嵌入式系統(tǒng)、工業(yè)物聯(lián)網(wǎng)等各類電子設(shè)備中,UART與網(wǎng)口是兩種應(yīng)用廣泛的通信接口,前者作為經(jīng)典的串行通信接口,承擔(dān)著簡單設(shè)備互聯(lián)、調(diào)試日志傳輸?shù)然A(chǔ)任務(wù),后者則專注于高速、遠(yuǎn)距離的數(shù)據(jù)交互,是設(shè)備接入網(wǎng)絡(luò)、實(shí)現(xiàn)大數(shù)據(jù)量傳...

關(guān)鍵字: 嵌入式 通信接口 網(wǎng)口通訊

SPI總線,最早由Motorola公司提出,是一種同步、雙向、全雙工的4線式串行接口總線。它由一個(gè)主設(shè)備和多個(gè)從設(shè)備構(gòu)成,其中特別需要注意的是,在任意時(shí)刻僅允許一個(gè)主設(shè)備處于激活狀態(tài),這意味著系統(tǒng)中可以存在多個(gè)SPI主設(shè)...

關(guān)鍵字: 嵌入式 通信接口

?雙核系統(tǒng)的通信接口設(shè)計(jì)?是指在雙核系統(tǒng)中,設(shè)計(jì)用于實(shí)現(xiàn)兩個(gè)處理器核心之間數(shù)據(jù)交換和通信的接口。

關(guān)鍵字: 通信接口 雙核系統(tǒng)

根據(jù)控制要求,編寫 PLC 控制程序。該程序可以根據(jù)輸入信號(hào)的狀態(tài),通過通信接口發(fā)送控制信號(hào)給變頻器,從而控制電機(jī)的轉(zhuǎn)速。

關(guān)鍵字: PLC 控制 通信接口

隨著大數(shù)據(jù)和高速通信技術(shù)的飛速發(fā)展,數(shù)據(jù)傳輸對(duì)帶寬和效率的需求日益增加。傳統(tǒng)的并行接口因受限于時(shí)序同步、信號(hào)干擾及設(shè)計(jì)復(fù)雜度等問題,逐漸被高速串行接口所取代。其中,基于FPGA的8b/10b SERDES(Seriali...

關(guān)鍵字: FPGA SERDES 接口設(shè)計(jì)

Micro熱插拔技術(shù)作為現(xiàn)代電子設(shè)備中常見的一種接口設(shè)計(jì),其便捷性和靈活性得到了廣泛應(yīng)用。然而,關(guān)于Micro熱插拔是否需要斷電的問題,一直存在爭議。本文將詳細(xì)探討Micro熱插拔的原理、優(yōu)缺點(diǎn),以及在不同情況下是否需要...

關(guān)鍵字: Micro熱插拔技術(shù) 現(xiàn)代電子設(shè)備 接口設(shè)計(jì)

通信接口是指不同設(shè)備或系統(tǒng)之間進(jìn)行通信時(shí)使用的物理連接和電氣特性的規(guī)范。它定義了數(shù)據(jù)的傳輸方式、信號(hào)的傳輸速率、傳輸距離和電氣標(biāo)準(zhǔn)等。通信接口允許設(shè)備之間交換信息和進(jìn)行數(shù)據(jù)傳輸。

關(guān)鍵字: 通信接口 通信協(xié)議

常用的通信接口有以下幾種:PCI接口,這種接口的顯卡已經(jīng)不多見了,只有較老的PC上才有,廠商也很少推出此類接口的產(chǎn)品。PCIE接口,這是最新的總線和接口標(biāo)準(zhǔn),它原來的名稱為“3GIO”,是由英特爾提出的。它代表著下一代I...

關(guān)鍵字: 通信接口 PCI接口

通信接口是指中央處理器和標(biāo)準(zhǔn)通信子系統(tǒng)之間的接口,是計(jì)算機(jī)與其他設(shè)備或計(jì)算機(jī)之間進(jìn)行數(shù)據(jù)傳輸和通信的重要通道。通信接口是一種規(guī)范,用于定義通信設(shè)備之間的連接方式、電氣特性、協(xié)議等細(xì)節(jié)。它決定了不同種類通信設(shè)備之間能否互連...

關(guān)鍵字: 通信接口 RS232接口

其一,是把系統(tǒng)所需的外設(shè)和單片機(jī)連接起來,使單片機(jī)系統(tǒng)能與外界進(jìn)行信息交換。如通過鍵盤、A/D 轉(zhuǎn)換器等外部設(shè)備向單片機(jī)送入數(shù)據(jù)、命令等有關(guān)信息,去控制單片機(jī)運(yùn)行;通過顯示器、發(fā)光二極管、打印機(jī)等設(shè)備把單片機(jī)處理的結(jié)果送...

關(guān)鍵字: 單片機(jī) 外部總線 接口設(shè)計(jì)
關(guān)閉