亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于多核DSP的以太網(wǎng)通信接口設(shè)計

        2016-01-12 08:59:08焦淑紅,焦壯
        電子科技 2015年9期

        基于多核DSP的以太網(wǎng)通信接口設(shè)計

        焦淑紅,焦壯

        (哈爾濱工程大學(xué) 信息與通信工程學(xué)院,黑龍江 哈爾濱150001)

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

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

        收稿日期:2015-01-30

        作者簡介:焦淑紅(1968—),女,教授,博士生導(dǎo)師。研究方向:數(shù)字圖像。焦壯(1988—),男,碩士研究生。研究方向:寬帶系統(tǒng)的信號檢測與識別。E-mail:1228484248@qq.com

        doi:10.16180/j.cnki.issn1007-7820.2015.09.028

        中圖分類號TP393.11

        Design of Ethernet Communication Interface Based on Multi-core DSP

        JIAO Shuhong,JIAO Zhuang

        (College of Information and Communication,Harbin Engineering University,Harbin 150001,China)

        AbstractFor the demand of data communications between TMS320C6678 and external devices,a gigabit Ethernet communication interface hardware circuit is designed with on-chip Gigabit Ethernet switching subsystem as the core and 88E1111 as the PHY device.Under embedded operating system SYS/BIOS and network development environment NDK,the Ethernet underlying driver programming and TCP/IP protocol is completed.The communication tests between DSP and PC verify the correctness and practicability of the Ethernet interface circuit hardware and software.

        KeywordsTMS320C6678;gigabit Ethernet;SYS/BIOS;TCP/IP protocol

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

        TI公司的8核處理器TMS320C6678(以下簡稱C6678)提供豐富的片上接口資源用于處理器與外設(shè)之間的通信,這些接口都可以用于DSP與外設(shè)之間的通信,但是靈活性有差異,使用SGMII接口來實現(xiàn)千兆以太網(wǎng)通信,可使得通信接口一般化,能夠適用于眾多的設(shè)備連接。本文針對C6678的芯片特點(diǎn)以及含有的接口資源,設(shè)計實現(xiàn)了千兆以太網(wǎng)通信,主要設(shè)計了以太網(wǎng)接口電路、網(wǎng)絡(luò)底層硬件驅(qū)動、TCP/IP協(xié)議的用戶程序,并完成了與上位機(jī)以太網(wǎng)通信測試,實現(xiàn)了數(shù)字信號高速有效地網(wǎng)絡(luò)傳輸。

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

        C6678是基于KeyStone I構(gòu)架的8核高性能、定點(diǎn)/浮點(diǎn)處理器[2],單核最高工作頻率可達(dá)1.25 GHz。C6678的以太網(wǎng)交換子系統(tǒng)包括2個以太網(wǎng)媒體訪問控制(Ethernet Media Access Controller,EMAC)、2個SGMII、1個管理數(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)部信號轉(zhuǎn)換為GMII信號傳遞給SGMII模塊;MDIO控制物理層芯片執(zhí)行對多數(shù)據(jù)流的控制輸入輸出[3]。

        2PHY芯片88E1111

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

        圖1 C6678網(wǎng)絡(luò)交換子系統(tǒng)構(gòu)架

        圖2 88E1111內(nèi)部結(jié)構(gòu)圖

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

        3硬件接口設(shè)計

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

        3.1 C6678與88E1111芯片連接

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

        圖3 C6678與88E1111連接電路

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

        MDIO_CLK:管理數(shù)據(jù)時鐘。該時鐘信號由C6678片上的MDIO模塊提供,該時鐘頻率通過配置MDIO的控制寄存器CONTROL中的CLKDIV位來控制實現(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ù)時鐘信號。

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

        MDIO:管理數(shù)據(jù)I/O??勺疃噙B接32個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ù)等。

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

        圖4 MDIO接口的電壓轉(zhuǎn)換電路

        3.2 88E1111芯片配置

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

        圖5 88E1111的硬件配置

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

        3.3 88E1111芯片與RJ45連接

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

        圖6 88E1111和RJ45的接口

        4軟件程序設(shè)計

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

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

        SYS/BIOS為整個軟件提供集成開發(fā)環(huán)境,不僅擁有適合實時系統(tǒng)的多線程優(yōu)先搶占機(jī)制,還可添加需要的封裝庫,使得編寫程序時可以更加方便地調(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ū)動和協(xié)議。

        圖7 基于NDK和SYS/BIOS的網(wǎng)絡(luò)通信結(jié)構(gòu)

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

        4.1 底層硬件驅(qū)動的實現(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ū)動層用于控制底層硬件驅(qū)動的配置,這些操作和配置均可在網(wǎng)絡(luò)工具庫中找到相應(yīng)的驅(qū)動函數(shù),并可直接由用戶應(yīng)用程序來調(diào)用實現(xiàn)[10]。

        這些功能主要包括:

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

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

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

        DSP軟件設(shè)計是基于SYS/BIOS實時多任務(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中建立兩個同步線程任務(wù),即數(shù)據(jù)接收和發(fā)送任務(wù),分別用來接收TCP服務(wù)器發(fā)送過來的數(shù)據(jù)和發(fā)送處理后的數(shù)據(jù)到PC上位機(jī)中進(jìn)行處理、存儲和顯示。

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

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

        圖8 C6678端TCP協(xié)議通信軟件流程圖

        圖9 上位機(jī)通信數(shù)據(jù)動態(tài)顯示

        5結(jié)束語

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

        參考文獻(xiàn)

        [1]馮琛華,別紅霞.基于DM642的以太網(wǎng)通信接口設(shè)計[J].信號處理,2007,23(5):783-785.

        [2]Texas Instruments.TMS320C6678 multi-core fixed floating point digital signal processor datasheet[EB/OL].(2012-12)[2014-12]http://www.ti.com.cn.

        [3]Texas Instruments.KeyStone architecture gigabit ethernet switch subsystem[EB/OL].(2013-07)[2014-12]http://www.ti.com.cn.

        [4]Marvell Semiconductor.88E1111 datasheet integrated 10/100/1000 ultra gigabit ethernet transceiver[EB/OL].(2012-12-15)[2014-12-20]http://www.marvell.com.

        [5]劉德保,汪安民,韓道文.八核浮點(diǎn)型DSP的千兆網(wǎng)接口設(shè)計[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2014(1):54-56.

        [6]梁迅.基于NDK的DSP網(wǎng)絡(luò)編程[J].計算技術(shù)與自動化,2005,24(3):79-81.

        [7]陳巍,宋華偉,金粱.基于DSP的UDP協(xié)議棧的設(shè)計與實現(xiàn)[J].計算機(jī)工程,2011(11):248-250.

        [8]岳世為,尹為民.基于DSP/BIOS的以太網(wǎng)通信接口程序設(shè)計[J].科學(xué)技術(shù)與工程,2010,10(2):445-449.

        [9]吳濤,周有慶,姚東曉.DSP/BIOS在以太網(wǎng)通信節(jié)點(diǎn)中的應(yīng)用[J].儀表技術(shù)與傳感器,2009(4):38-40.

        [10]湯宏萍,王竹平.嵌入式TCP/IP協(xié)議棧的設(shè)計與實現(xiàn)[J].微電子學(xué)與計算機(jī),2008,25(6):168-174.

        国产精品三级在线专区1| 欧美成免费a级毛片| 国产精品国产午夜免费看福利 | 欧美奶涨边摸边做爰视频 | 麻豆精品导航| 特级做a爰片毛片免费看无码| 国产a级午夜毛片| 日韩精品夜色二区91久久久| 亚洲男人av天堂久久资源| 欧美午夜刺激影院| 欧美成aⅴ人高清免费| 日本成人三级视频网站| 男女射黄视频网站在线免费观看| 专干老肥熟女视频网站300部| 国产午夜精品电影久久| 最新国产av网址大全| 亚洲女优中文字幕在线观看 | 无码av免费一区二区三区| 亚洲欧洲久久久精品| 在线高清亚洲精品二区| 亚洲av色欲色欲www| 性xxxx视频播放免费| 国产精品中文第一字幕| 人日本中文字幕免费精品| 日本一区二区在线播放| 亚洲精品永久在线观看| 亚洲一区二区成人在线视频| 国产女同舌吻1区2区| 精品国产一二三产品区别在哪| 精品国产一级毛片大全| 一本之道加勒比在线观看| 美女露出粉嫩小奶头在视频18禁| 国产99久久久久久免费看| 亚洲欧美成人中文在线网站| 日韩精品免费视频久久| 国产精品久久久久精品一区二区 | 亚洲人成电影在线无码| 亚洲中文字幕高清乱码毛片| 色综合久久中文字幕综合网| 国产av电影区二区三区曰曰骚网| 丰满熟妇人妻无码区|