欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于千兆以太網(wǎng)的嵌入式設(shè)備高速數(shù)據(jù)傳輸系統(tǒng)的制作方法

文檔序號:7710135閱讀:271來源:國知局
專利名稱:基于千兆以太網(wǎng)的嵌入式設(shè)備高速數(shù)據(jù)傳輸系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及嵌入式系統(tǒng)數(shù)據(jù)傳輸技術(shù)領(lǐng)域,更特別的,涉及一種基于千兆以太網(wǎng)和高速數(shù)據(jù)接口 ,實現(xiàn)下位的基于FPGA或DSP的嵌入式系統(tǒng)及上位機之間雙向高速數(shù)據(jù)傳輸?shù)姆椒ㄅc系統(tǒng)。
背景技術(shù)
近年來,隨著處理器的處理能力的迅速發(fā)展,單位時間的數(shù)據(jù)處理和吞吐能力越來越強,處理器越來越多地被應(yīng)用于高速數(shù)據(jù)處理場合,系統(tǒng)內(nèi)部的傳輸接口具有很高的速率,但如何對嵌入式設(shè)備生成的數(shù)據(jù)進行通用輸出則成為一個重要的研究課題。千兆以太網(wǎng)在目前主流的工控機及先進的數(shù)據(jù)采集設(shè)備上都有所配備,它具有連接方便,傳輸距離遠,通用性好,可靠性高,成本相對低廉等優(yōu)勢。千兆以太網(wǎng)憑借上述優(yōu)勢,成為嵌入式數(shù)據(jù)處理設(shè)備與外界的重要數(shù)據(jù)交互接口之一。 目前,國內(nèi)外各機構(gòu)針對該問題進行了不少的研究,但大都處于起步階段,缺乏系統(tǒng)性的研究,很少將其真正應(yīng)用到實際的高速數(shù)據(jù)傳輸領(lǐng)域。部分已經(jīng)實現(xiàn)的百兆以上的數(shù)據(jù)傳輸方法,都要求生成數(shù)據(jù)的芯片本身能夠提供千兆以太網(wǎng)的功能,這類方法有以下弊端 1、在單芯片或單系統(tǒng)環(huán)境下,兼顧高速數(shù)據(jù)處理及千兆以太網(wǎng)的芯片成本昂貴;
2、而在多芯片或多系統(tǒng)環(huán)境下,每個芯片及系統(tǒng)都需要千兆以太網(wǎng)的支持,一方面多個端口不便于數(shù)據(jù)接收,另一方面進一步大大提高了系統(tǒng)成本;
3、不適用于已有的不支持千兆以太網(wǎng)的一些設(shè)備。

發(fā)明內(nèi)容
為了實現(xiàn)下位嵌入式設(shè)備與上位機(如工控機、數(shù)據(jù)記錄儀等設(shè)備)的高速數(shù)據(jù)交互,將下位嵌入式設(shè)備(稱為下位機)生成的數(shù)據(jù)實時且準確無誤的傳輸至上位機,同時實時響應(yīng)上位機的各種控制命令或從上位機獲取數(shù)據(jù),本發(fā)明提供一種有效的基于千兆以太網(wǎng)的嵌入式設(shè)備高速數(shù)據(jù)傳輸系統(tǒng),該系統(tǒng)的總體工作框架如圖1所示,該系統(tǒng)的下位機可以是基于FPGA或DSP等的多種嵌入式平臺。 本發(fā)明實現(xiàn)的一種基于千兆以太網(wǎng)及高速數(shù)據(jù)接口的嵌入式設(shè)備高速數(shù)據(jù)傳輸系統(tǒng)包括上位通信模塊、下位通信模塊、數(shù)據(jù)流控制模塊三個模塊,三個模塊的關(guān)系及功能如下 (1)、上位通信模塊,它基于運行于FPGA的TEMAC IP核及運行于PowerPC的Lwip網(wǎng)絡(luò)協(xié)議棧,實現(xiàn)與上位機之間的通信; 上位通信模塊采用TCP或UDP單播的模式與單個上位機通信,或者采用UDP組播的模式與多個上位機通信。 (2)、下位通信模塊,它基于FPGA編程實現(xiàn)的高速數(shù)據(jù)接口 ,通過FPGA的自定義10口與下位機通信;
在下位通信模塊中,其中的高速數(shù)據(jù)接口的FPGA的程序?qū)崿F(xiàn)包括頂層數(shù)據(jù)接口子模塊、協(xié)議控制及處理子模塊、狀態(tài)控制子模塊、FIFO子模塊,其中
頂層數(shù)據(jù)接口子模塊,用于定義下位通信模塊與下位機的接口以及下位通信模塊與數(shù)據(jù)流控制模塊的接口 ,并管理協(xié)議控制及處理子模塊、狀態(tài)控制子模塊和FIFO子模塊的結(jié)構(gòu)及信號流向; 協(xié)議控制及處理子模塊,用于定義實現(xiàn)協(xié)議及狀態(tài)控制需要的信號,并根據(jù)協(xié)議需要對數(shù)據(jù)位寬進行轉(zhuǎn)換; 狀態(tài)控制子模塊,用于實現(xiàn)運行協(xié)議需要的狀態(tài)機;
FIFO子模塊,用于FIFO的實現(xiàn)與控制。 下位通信模塊中的高速數(shù)據(jù)接口 ,可以是基于Ti公司提出的Communi cat ionPort (Comport)接口。 (3)、數(shù)據(jù)流控制模塊,它基于PowerPC核來實現(xiàn)對上位通信模塊發(fā)送到下位通信
模塊的數(shù)據(jù)流和下位通信模塊發(fā)送到上位通信模塊的數(shù)據(jù)流進行控制。 下位通信模塊與數(shù)據(jù)流控制模塊之間的連接方式采用下列兩種方式之一 (301)、下位通信模塊與PowerPC核通過PLB總線相連,數(shù)據(jù)流控制模塊通過讀取
PLB總線上的FIFO入口地址從下位通信模塊中獲取數(shù)據(jù); (302)、下位通信模塊通過LocalLink接口與PowerPC相連,數(shù)據(jù)流控制模塊采用DMA及中斷機制從下位通信模塊中獲取數(shù)據(jù)。
數(shù)據(jù)流控制模塊,包括以下三個子模塊 (31)、上位數(shù)據(jù)處理子模塊,用于實現(xiàn)數(shù)據(jù)流控制模塊與上位通信模塊的數(shù)據(jù)收發(fā); (32)、下位數(shù)據(jù)處理子模塊,用于實現(xiàn)數(shù)據(jù)流控制模塊與下位通信模塊的數(shù)據(jù)收發(fā); (33)、數(shù)據(jù)調(diào)度子模塊,用于根據(jù)數(shù)據(jù)流中的標志位或者命令位實現(xiàn)數(shù)據(jù)流向或者數(shù)據(jù)打包格式的處理。 在數(shù)據(jù)調(diào)度子模塊中,上位通信模塊按如下步驟發(fā)送數(shù)據(jù)流到下位通信模塊
(3311)、有數(shù)據(jù)從上位通信模塊傳入時,數(shù)據(jù)流控制模塊中的上位數(shù)據(jù)處理子模塊中的中斷響應(yīng)函數(shù)被觸發(fā); (3312)、數(shù)據(jù)被存放到緩存中,根據(jù)數(shù)據(jù)中的標志位,選擇是否發(fā)送給下位通信模塊; (3313)、將數(shù)據(jù)寫入下位通信模塊的FIFO中。 在數(shù)據(jù)調(diào)度子模塊中,下位通信模塊按如下步驟發(fā)送數(shù)據(jù)流到上位通信模塊 (3321)、有數(shù)據(jù)從下位通信模塊傳入時,按如下方式之一進行處理 a.當下位通信模塊與PowerPC核通過PLB總線相連,數(shù)據(jù)流控制模塊通過讀取
PLB總線上的FIFO入口地址從下位通信模塊中獲取數(shù)據(jù)時,PowerPC判斷FIF0的數(shù)據(jù)量寄
存器,如果FIFO中的數(shù)據(jù)量達到預(yù)先設(shè)定的數(shù)值,將其取出并進入步驟(3322); b.當下位通信模塊通過LocalLink接口與PowerPC相連,數(shù)據(jù)流控制模塊采用
DMA及中斷機制從下位通信模塊中獲取數(shù)據(jù)時,PowerPC通過基于LocalLink的中斷響應(yīng)函
數(shù)進行基于DMA的數(shù)據(jù)讀取,將其取出并進入步驟(3322);
(3322)、數(shù)據(jù)被存放到緩存中,并判斷其標志位,選擇是否發(fā)送給上位通信模塊;
(3323)、將數(shù)據(jù)緩存指針交給上位通信模塊的Lwip網(wǎng)絡(luò)協(xié)議棧。
在該數(shù)據(jù)流控制模塊中,其中的緩存大小根據(jù)Lwip協(xié)議棧特性及MTU大小,選擇為1440bit以實現(xiàn)最優(yōu)性能。 與現(xiàn)有技術(shù)相比,本發(fā)明的系統(tǒng)具有如下優(yōu)點 1、對于單芯片或單系統(tǒng)環(huán)境,可以將高速數(shù)據(jù)處理及千兆網(wǎng)傳輸?shù)男酒珠_,各自采用針對特點的芯片,有效降低成本; 2、對于多芯片或多系統(tǒng)環(huán)境,除了具有前述1中的優(yōu)勢外,還可以將多芯片及多系統(tǒng)采用單塊千兆網(wǎng)傳輸芯片,方便接收的同時進一步降低成本; 3、對于已有的不支持千兆以太網(wǎng)以及不支持以太網(wǎng)的嵌入式設(shè)備,大部分情況下
都可以通過編程并通過通用10 口與本系統(tǒng)連接從而實現(xiàn)高速數(shù)據(jù)傳輸。 本發(fā)明通用性好、可靠性高、實現(xiàn)方便,為各種嵌入式系統(tǒng)與工控機設(shè)備之間的數(shù)
據(jù)傳輸提供了一種簡單、高效的方案。


圖1為本發(fā)明系統(tǒng)實施例的總體工作框架示意 圖2為本發(fā)明系統(tǒng)上位通信模塊實施例的結(jié)構(gòu)示意 圖3為本發(fā)明系統(tǒng)下位通信模塊實施例的結(jié)構(gòu)示意圖; 圖4為本發(fā)明系統(tǒng)下位通信模塊中的狀態(tài)控制子模塊用于實現(xiàn)協(xié)議的狀態(tài)機實施例結(jié)構(gòu)示意圖; 圖5為本發(fā)明系統(tǒng)數(shù)據(jù)流控制模塊實施例結(jié)構(gòu)示意圖; 圖6a、圖6b為本發(fā)明系統(tǒng)數(shù)據(jù)流控制模塊實施例工作流程示意圖; 圖7a、圖7b為本發(fā)明系統(tǒng)實施例的工作流程示意圖。 具體實施說明 下面,結(jié)合附圖和具體實施例進一步說明本發(fā)明。本實施例系統(tǒng)的總體實施思路如下在基于Virtex5-FX(帶有PowerPC核)系列的FPGA架構(gòu)的系統(tǒng)上,如AvNet公司的Virtex5-FX30開發(fā)板或任何滿足以下要求的電路板1、具有千兆以太網(wǎng)接口 ;2、具有自定義10 口 ;3、板載Virtex5-FX系列FPGA,通過Xilinx的EDK開發(fā)套件在其上構(gòu)建基于standlaone架構(gòu)的嵌入式系統(tǒng),并基于該嵌入式系統(tǒng)實現(xiàn)本系統(tǒng)的三大模塊。如圖l所示,具體構(gòu)建方法如下 1、上位通信模塊千兆以太網(wǎng)口由物理接口收發(fā)器(PHY)和以太網(wǎng)媒體接入控制器(MAC)兩部分組成。其中PHY是網(wǎng)絡(luò)信號的AD/DA轉(zhuǎn)換部分,由外部硬件接口和芯片實現(xiàn),例如HALO的HFJ11-1G01E千兆網(wǎng)接口和Marvel 1的88E111 l-RCJl芯片,這部分實現(xiàn)了物理層的功能。Virtex5-FX系列的FPGA的內(nèi)部邏輯預(yù)先內(nèi)置了千兆網(wǎng)的MAC控制器,用于實現(xiàn)數(shù)據(jù)鏈路層的功能,在整體的嵌入式系統(tǒng)中,只需要添加TEMAC的IP核,使之對內(nèi)置的MAC控制器具有控制權(quán)限,并通過該IP核與PowerPC以LocalLink接口相連,就可以將數(shù)據(jù)交給上層的PowerPC,由PowerPC進行較為上層的數(shù)據(jù)處理。 在PowerPC中,通過在EDK工程中加載系統(tǒng)內(nèi)置的TEMAC上層驅(qū)動及Lwip網(wǎng)絡(luò)協(xié)議棧,就可以建立起上位通信模塊與數(shù)據(jù)流控制模塊之間的連接。上述的整個上位通信模塊的結(jié)構(gòu)關(guān)系如圖2所示。 2、下位通信模塊這部分通過在FPGA中編寫與下位嵌入式系統(tǒng)通信的高速數(shù)據(jù) 接口邏輯程序來實現(xiàn)。其中,與下位機的接口部分連接至FPGA的外部自定義10管腳,與 數(shù)據(jù)流控制模塊通過以下兩種方法之一相連a.下位通信模塊與PowerPC核通過PLB總線 相連,數(shù)據(jù)流控制模塊通過讀取PLB總線上的FIFO入口地址從下位通信模塊中獲取數(shù)據(jù); b.下位通信模塊通過LocalLink接口與PowerPC相連,數(shù)據(jù)流控制模塊采用DMA及中斷機 制從下位通信模塊中獲取數(shù)據(jù)。 在下位通信模塊中,其中的高速數(shù)據(jù)接口 ,具體的FPGA的程序?qū)崿F(xiàn)包括頂層數(shù)據(jù) 接口子模塊、協(xié)議控制及處理子模塊、狀態(tài)控制子模塊、FIFO子模塊,頂層數(shù)據(jù)接口負責提 供與下位機及數(shù)據(jù)流控制模塊的接口,并且定義了下層三個子模塊的結(jié)構(gòu)和內(nèi)部信號流, 它們之間的結(jié)構(gòu)關(guān)系如圖3所示,其中協(xié)議控制及處理子模塊與FIFO子模塊字節(jié)與頂層數(shù) 據(jù)接口相連,狀態(tài)控制子模塊與協(xié)議控制及處理子模塊相連。該高速通信接口可以是Ti公 司提出的Comport接口 ,該接口的具體協(xié)議可以查閱TMS320C40x系列DSP的用戶手冊。下 面以Comport接口為例,介紹各子模塊的實現(xiàn)方法。 在頂層數(shù)據(jù)接口子模塊中,定義了兩個類型的外部連接1、頂層信號到FPGA的自 定義10的連接,用于與下位機的高速通信接口相連,在Comport接口中,這包括5個控制信 號及8個數(shù)據(jù)信號;2、頂層信號到PowerPC的連接方式,用于與數(shù)據(jù)流控制模塊連接。頂層 數(shù)據(jù)模塊還定義了另三個內(nèi)部數(shù)據(jù)子模塊的信號連接方式,并進行了狀態(tài)的初始化設(shè)置。
頂層信號到PowerPC的連接方式可以選擇下列兩種方式之一
a) Local 1 ink方式:LocalLink協(xié)議是Xi 1 inx公司定義的 一 種自定義外設(shè)與 PowerPC的通信協(xié)議,PowerPC440上提供了 4個LocalLink接口 ,通過這種協(xié)議可以將數(shù)據(jù) 直接掛載到PowerPC上,可以用DMA及中斷的方式進行讀取,速度較快,缺點是只能連接三 個或三個以下的下位機(實現(xiàn)以太網(wǎng)的TEMAC IP核需要占用一個LocalLink接口 )。這種 方式的實現(xiàn)需要將ComPort數(shù)據(jù)編寫成符合Local link協(xié)議的模式。 b)PLB總線接口方式這種方式將數(shù)據(jù)掛載到PLB總線上,再由PowerPC從PLB總
線上取數(shù)據(jù)。這種方式速度較慢,但是可以實現(xiàn)三個以上的下位機連接,連接的下位機數(shù)量
僅僅與用于實現(xiàn)的FPGA IO口數(shù)量有關(guān)。這種方式的實現(xiàn)將Comport的內(nèi)部讀寫使能信號
及數(shù)據(jù)信號與EDK提供的自定義IP模板中的PLB總線信號相連來實現(xiàn)。 在協(xié)議控制及處理子模塊中,定義了實現(xiàn)協(xié)議及狀態(tài)控制需要的信號,并根據(jù)協(xié)
議需要對數(shù)據(jù)位寬進行轉(zhuǎn)換。 在狀態(tài)控制子模塊中,實現(xiàn)了協(xié)議運行需要的狀態(tài)機,基于不同高速協(xié)議的狀態(tài) 機不完全相同,但框架類似,以Comport接口為例,該狀態(tài)機的具體流程如圖4所示,具體說 明如下 根據(jù)Comport協(xié)議約定,每個Comport 口必須初始化為發(fā)送或者接收中的某一個 狀態(tài),兩個狀態(tài)互異的Comport 口才能完成握手,并根據(jù)通信需求改變當前狀態(tài)。因此,狀 態(tài)機中的兩個環(huán)分別代表發(fā)送和接收狀態(tài)。其中狀態(tài)的變化主要由i—req和i_ack兩個信 號完成,這兩個信號分別代表雙方握手的請求和相應(yīng)信號,在Comport協(xié)議文檔中有詳細 描述。結(jié)合整個協(xié)議,就實現(xiàn)了整個數(shù)據(jù)的發(fā)送或接收狀態(tài)流程。 FIFO子模塊通過調(diào)用EDK套件中的Core Generator生成的FIFO來實現(xiàn),深度為512個字。 3、數(shù)據(jù)流控制模塊,它基于PowerPC核來實現(xiàn)對上位通信模塊發(fā)送到下位通信模 塊的數(shù)據(jù)流和下位通信模塊發(fā)送到上位通信模塊的數(shù)據(jù)流進行控制,通過在PowerPC上進 行基于standalone環(huán)境的C語言編程來實現(xiàn)。 該數(shù)據(jù)流控制模塊,包括三個子模塊上位數(shù)據(jù)處理子模塊、下位數(shù)據(jù)處理子模 塊、數(shù)據(jù)調(diào)度子模塊。三個子模塊的結(jié)構(gòu)和關(guān)系如圖5所示。其中,上位數(shù)據(jù)處理子模塊位 于上位通信模塊與數(shù)據(jù)調(diào)度子模塊之間,用于實現(xiàn)數(shù)據(jù)流控制模塊與上位通信模塊的數(shù)據(jù) 收發(fā);下位數(shù)據(jù)處理子模塊位于下位通信模塊與數(shù)據(jù)調(diào)度子模塊之間,用于實現(xiàn)數(shù)據(jù)流控 制模塊與下位通信模塊的數(shù)據(jù)收發(fā);數(shù)據(jù)調(diào)度子模塊位于上位數(shù)據(jù)處理子模塊與下位數(shù)據(jù) 處理子模塊之間,用于根據(jù)數(shù)據(jù)流中的標志位或者命令位實現(xiàn)數(shù)據(jù)流向或者數(shù)據(jù)打包格式 的處理。 三個子模塊的具體實現(xiàn)如下所述 對于上位通信模塊的數(shù)據(jù),通過上位數(shù)據(jù)處理子模塊來實現(xiàn),在EDK工程中加入 系統(tǒng)提供的中斷控制器xpsjntc,調(diào)用系統(tǒng)驅(qū)動通過啟用中斷響應(yīng)。如圖6a所示,中斷響 應(yīng)的啟用包括以下幾個步驟初始化中斷(XIntc—Initialize)、啟動中斷(XIntc_Start)、 啟動中斷控制器(XIntcjnMasterEnable)、啟動響應(yīng)的中斷信號(XIntcjnEnablelntr)。當 有數(shù)據(jù)從上位通信模塊發(fā)送至數(shù)據(jù)流控制模塊或數(shù)據(jù)流控制模塊將數(shù)據(jù)發(fā)送給上位通信 模塊時,中斷響應(yīng)函數(shù)會觸發(fā)Lwip協(xié)議棧中的響應(yīng)發(fā)送或接收程序,進行數(shù)據(jù)的收發(fā)。
對于下位通信模塊的數(shù)據(jù),通過下位數(shù)據(jù)處理子模塊來實現(xiàn),對于采用Locallink 模式的接口,可以采用前述相同的方法來啟用中斷,然后通過中斷響應(yīng)函數(shù)來調(diào)用DMA來 實現(xiàn)。DMA的具體實現(xiàn)方式可以參見Xilinx提供的DMA實現(xiàn)樣例。對于采用PLB模式的接 口 在接收模式下,可以通過XI0—In32系統(tǒng)函數(shù)實現(xiàn)數(shù)據(jù)量寄存器的查詢,當寄存器指示 Comport的接收FIF0中的數(shù)據(jù)達到一定的數(shù)量時,將其通過XI0_In32函數(shù)從FIFO的入口 地址讀出,并將數(shù)據(jù)寫入緩存,交給上位數(shù)據(jù)處理子模塊;在發(fā)送模式下,通過中斷控制器 提供的用戶中斷服務(wù)對數(shù)據(jù)進行判斷,如果有數(shù)據(jù)從上位數(shù)據(jù)處理子模塊送入數(shù)據(jù)調(diào)度子 模塊,則通過XI0_In32系統(tǒng)函數(shù)查詢FIFO數(shù)據(jù)量寄存器,判斷Comport的發(fā)送FIFO是否 已滿,在未滿的情況下,將數(shù)據(jù)通過XI0_0ut32系統(tǒng)函數(shù)寫入Comport的發(fā)送FIF0。這種模 式的工作流程如圖6b所示。 對于數(shù)據(jù)調(diào)度子模塊,則通過上位機發(fā)送過來的命令判斷當前工作狀態(tài),將下位 數(shù)據(jù)處理子模塊發(fā)送來的數(shù)據(jù)按一定的規(guī)則存入當前的緩存,交給上位數(shù)據(jù)處理子模塊發(fā) 送;或者將上位數(shù)據(jù)處理子模塊發(fā)送來的數(shù)據(jù),按一定的規(guī)則存入當前的緩存,例如奇偶存 儲方式,交給下位數(shù)據(jù)處理子模塊發(fā)送。 數(shù)據(jù)調(diào)度子模塊中的緩存大小的選擇,由下列幾個因素綜合選擇得到
1)、以太網(wǎng)中的單位最大傳輸單元MTU為1500,發(fā)送的數(shù)據(jù)包如果超過這個大小 就需要拆包,這回大大降低發(fā)送性能,而在1500bit范圍內(nèi),發(fā)送的數(shù)據(jù)包越大,則效率越 高; 2) 、 IP包及TCP包的包頭大小均為20bit, UDP的包頭為8bit,因此,綜合1)的情 況單個數(shù)據(jù)包中實際可用的數(shù)據(jù)區(qū)域大小為1460bit,在這個范圍內(nèi),發(fā)送的數(shù)據(jù)包越大, 則效率越高;
3) 、 Lwip協(xié)議棧在TCP模式下,傳送超過1440bit的數(shù)據(jù)包會出錯,因此綜合1)、2)中的情況,選定緩存大小為1440bit,也就是最終以太網(wǎng)的數(shù)據(jù)包的大小為1440bit。
下面,用三個具體實施實例來進一步說明本發(fā)明的應(yīng)用。在這三個實施實例中,下位數(shù)據(jù)處理子模塊都采用了 Comport協(xié)議,根據(jù)應(yīng)用的不同,分別實施了下位設(shè)備是DSP或FPGA的情況,以及下位設(shè)備數(shù)量為1個,2個及4個的情況,并根據(jù)設(shè)備數(shù)量及帶寬需求不同,分別實施了下位通信模塊與數(shù)據(jù)流控制模塊之間采用PLB總線或LocalLink連接方式。
圖7a、圖7b分別描述了下位通信模塊與數(shù)據(jù)流控制模塊之間采用PLB總線或LocalLink連接方式的兩種工作流程。如圖7a所示,在PLB總線模式下,由于數(shù)據(jù)流控制模塊從下位通信模塊中讀取數(shù)據(jù)沒有中斷模式,具體工作流程如下
1)系統(tǒng)處于ComPort的接收FIFO寄存器的判斷模式; 2)每做一次判斷都需要對命令接收程序的中斷響應(yīng)提供執(zhí)行時間,以便實時接收命令; 3)判斷是否有命令到達,如果有則進入4),若沒有,則回到1);
4)發(fā)送命令給下位機; 5)判斷ComPort的接收FIFO中的數(shù)據(jù)是否達到一定值,如果是,則進入6),如果否則回到1); 6)讀取ComPort接收FIFO中的數(shù)據(jù); 7)將接收到的數(shù)據(jù)寫入緩存; 8)將數(shù)據(jù)通過上位數(shù)據(jù)通信模塊發(fā)送給上位機。 如圖7b所示,在LocalLink模式下,由于數(shù)據(jù)流控制模塊從上位通信模塊及下位模塊讀取數(shù)據(jù)均采用了中斷模式,具體工作流程如下
1)啟用中斷并提供命令接收程序的中斷; 2)判斷是否有命令到達,如果有,則進入3),如果無則回到1);
3)將命令發(fā)送給下位機;
4)提供數(shù)據(jù)接收程序的中斷; 5)采用DMA的方式從LocalLink 口獲取ComPort中的數(shù)據(jù); 6)將接收到的數(shù)據(jù)寫入緩存; 7)將數(shù)據(jù)通過上位數(shù)據(jù)通信模塊發(fā)送給上位機。 實施例1 本實施例以下位通信模塊與數(shù)據(jù)流控制模塊之間采用PLB總線方式連接,與DSP通信為例 1 、將本系統(tǒng)與一路Sundance公司的基于TMS6713系列DSP嵌入式板卡SMT374 (內(nèi)嵌Comport 口 )相連,工控機通過網(wǎng)絡(luò)命令控制DSP啟動,DSP啟動之后發(fā)送用于測試的順序數(shù)列給本系統(tǒng),本系統(tǒng)將數(shù)據(jù)通過千兆網(wǎng)傳送給工控機。 2、將本系統(tǒng)與兩路Sundance公司的基于TMS6713系列DSP嵌入式板卡SMT374 (內(nèi)
嵌Comport 口 )相連,工控機通過網(wǎng)絡(luò)命令控制DSP啟動,DSP啟動之后發(fā)送用于測試的順
序數(shù)列給本系統(tǒng),本系統(tǒng)將數(shù)據(jù)合成一路并通過千兆網(wǎng)傳送給工控機。 經(jīng)過驗證,傳輸?shù)臄?shù)據(jù)準確無誤,可以穩(wěn)定實現(xiàn)一路數(shù)據(jù)105Mbit/s的有效數(shù)據(jù)
傳輸速率,兩路數(shù)據(jù)總共140Mbit/s的有效數(shù)據(jù)傳輸速率,證明該系統(tǒng)可以有效地實現(xiàn)高速DSP數(shù)據(jù)傳輸。
實施例2 本實施例以下位通信模塊與數(shù)據(jù)流控制模塊之間采用Locallink方式連接,采用 DMA方式搬移數(shù)據(jù),與DSP通信為例 將本系統(tǒng)與兩路Sundance公司的基于TMS6713系列DSP嵌入式板卡SMT374 (內(nèi)
嵌Comport 口 )相連,工控機通過網(wǎng)絡(luò)命令控制DSP啟動,DSP啟動之后發(fā)送用于測試的順
序數(shù)列給本系統(tǒng),本系統(tǒng)將數(shù)據(jù)合成一路并通過千兆網(wǎng)傳送給工控機。 經(jīng)過驗證,傳輸?shù)臄?shù)據(jù)準確無誤,兩路數(shù)據(jù)總工193Mbit/s的有效數(shù)據(jù)傳輸速率,
證明連接的下位設(shè)備個數(shù)在三個或三個以下時,下位通信模塊與數(shù)據(jù)流控制模塊之間采用
Locallink及DMA的模式能實現(xiàn)更高的速率。 實施例3 本實施例以下位通信模塊與數(shù)據(jù)流控制模塊之間采用PLB總線方式連接,與FPGA 通信為例 1、將本系統(tǒng)與本發(fā)明人開發(fā)的一塊基于Sparten-3的FPGA的AD系統(tǒng)相連,工控 機通過網(wǎng)絡(luò)命令控制FPGA啟動,并傳送一些初始化的參數(shù),實現(xiàn)將FPGA采集的采樣率為 20k的128路AD原始數(shù)據(jù)傳送至工控機。數(shù)據(jù)通過兩路Comport進行傳送,利用本發(fā)明實 現(xiàn)的系統(tǒng)將該路數(shù)據(jù)通過上位通信模塊發(fā)送至工控機。 2、將本系統(tǒng)與本發(fā)明人開發(fā)的兩塊基于Sparten-3的FPGA的AD系統(tǒng)相連,工控
機通過網(wǎng)絡(luò)命令控制FPGA啟動,并傳送一些初始化的參數(shù),實現(xiàn)將FPGA采集的采樣率為
16k的128路AD原始數(shù)據(jù)傳送至工控機。數(shù)據(jù)通過兩路Comport進行傳送,利用本發(fā)明實
現(xiàn)的系統(tǒng)將兩路數(shù)據(jù)合并成一路數(shù)據(jù)流,通過上位通信模塊發(fā)送至工控機。 3、將本系統(tǒng)與本發(fā)明人開發(fā)的四塊基于Sparten-3的FPGA的AD系統(tǒng)相連,工控
機通過網(wǎng)絡(luò)命令控制FPGA啟動,并傳送一些初始化的參數(shù),實現(xiàn)將FPGA采集的采樣率為8k
的128路AD原始數(shù)據(jù)傳送至工控機。數(shù)據(jù)通過兩路Comport進行傳送,利用本發(fā)明實現(xiàn)的
系統(tǒng)將四路數(shù)據(jù)合并成一路數(shù)據(jù)流,通過上位通信模塊發(fā)送至工控機。 經(jīng)過驗證,傳輸?shù)臄?shù)據(jù)準確無誤,一路數(shù)據(jù)可以實現(xiàn)70Mbit/s的傳輸速率,可以
穩(wěn)定實現(xiàn)兩路或四路均為總共140Mbit/s的有效數(shù)據(jù)傳輸速率。證明本方法可以實現(xiàn)高速
的FPGA數(shù)據(jù)傳輸,并且在掛載多個嵌入式系統(tǒng)的時候仍然可以保持高速的數(shù)據(jù)傳輸,下位
通信模塊與數(shù)據(jù)流控制模塊之間采用PLB總線的連接方式具有可掛載三個及以上的下位設(shè)備。
權(quán)利要求
一種基于千兆以太網(wǎng)及高速數(shù)據(jù)接口的數(shù)據(jù)傳輸系統(tǒng),在具有PowerPC核的FPGA中實現(xiàn),用于在上位機及下位機之間實現(xiàn)雙向高速數(shù)據(jù)傳輸,其特征在于該系統(tǒng)包括以下三個模塊上位通信模塊,它基于運行于FPGA的TEMAC IP核及運行于PowerPC的Lwip網(wǎng)絡(luò)協(xié)議棧,實現(xiàn)與上位機之間的通信;下位通信模塊,它基于FPGA編程實現(xiàn)的高速數(shù)據(jù)接口,通過FPGA的自定義IO口與下位機通信;數(shù)據(jù)流控制模塊,它基于PowerPC核來控制上位通信模塊與下位通信模塊之間的數(shù)據(jù)流。
2. 如權(quán)利要求1所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于所述數(shù)據(jù)流控制模塊包括上位數(shù)據(jù)處理子模塊、下位數(shù)據(jù)處理子模塊和數(shù)據(jù)調(diào)度子模塊,其中上位數(shù)據(jù)處理子模塊位于上位通信模塊與數(shù)據(jù)調(diào)度子模塊之間,用于實現(xiàn)數(shù)據(jù)流控制模塊與上位通信模塊的數(shù)據(jù)收發(fā);下位數(shù)據(jù)處理子模塊位于下位通信模塊與數(shù)據(jù)調(diào)度子模塊之間,用于實現(xiàn)數(shù)據(jù)流控制模塊與下位通信模塊的數(shù)據(jù)收發(fā);數(shù)據(jù)調(diào)度子模塊位于上位數(shù)據(jù)處理子模塊與下位數(shù)據(jù)處理子模塊之間,用于根據(jù)數(shù)據(jù)流中的標志位或者命令位實現(xiàn)數(shù)據(jù)流向或者數(shù)據(jù)打包格式的處理。
3. 如權(quán)利要求2所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于所述上位通信模塊采用TCP或UDP單播的模式與單個上位機通信,或者采用UDP組播的模式與多個上位機通信。
4. 如權(quán)利要求2所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于所述下位通信模塊包括頂層數(shù)據(jù)接口子模塊,用于定義下位通信模塊與下位機的接口以及下位通信模塊與數(shù)據(jù)流控制模塊的接口,并管理協(xié)議控制及處理子模塊、狀態(tài)控制子模塊和FIFO子模塊的結(jié)構(gòu)及信號流向;協(xié)議控制及處理子模塊,用于定義實現(xiàn)協(xié)議及狀態(tài)控制需要的信號,并根據(jù)協(xié)議需要對數(shù)據(jù)位寬進行轉(zhuǎn)換;狀態(tài)控制子模塊,用于實現(xiàn)運行協(xié)議需要的狀態(tài)機;FIFO子模塊,用于FIFO的實現(xiàn)與控制。
5. 如權(quán)利要求2所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于下位通信模塊與數(shù)據(jù)流控制模塊之間的連接方式采用下列兩種方式之一 a. 下位通信模塊與PowerPC核通過PLB總線相連,數(shù)據(jù)流控制模塊通過讀取PLB總線上的FIFO入口地址從下位通信模塊中獲取數(shù)據(jù);b. 下位通信模塊通過LocalLink接口與PowerPC相連,數(shù)據(jù)流控制模塊采用DMA及中斷機制從下位通信模塊中獲取數(shù)據(jù)。
6. 如權(quán)利要求2中所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于所述上位通信模塊按如下步驟發(fā)送數(shù)據(jù)流到下位通信模塊1) 數(shù)據(jù)從上位通信模塊傳入時,數(shù)據(jù)流控制模塊中的上位數(shù)據(jù)處理子模塊中的中斷響應(yīng)函數(shù)被觸發(fā);2) 數(shù)據(jù)被存放到緩存中,根據(jù)數(shù)據(jù)中的標志位,選擇是否發(fā)送給下位通信模塊;3) 將數(shù)據(jù)寫入下位通信模塊的FIFO中。
7. 如權(quán)利要求2中所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于所述下位通信模塊按如下步驟發(fā)送數(shù)據(jù)流到上位通信模塊1) 數(shù)據(jù)從下位通信模塊傳入時,按如下方式之一進行處理a. 當下位通信模塊與PowerPC核通過PLB總線相連,數(shù)據(jù)流控制模塊通過讀取PLB總線上的FIFO入口地址從下位通信模塊中獲取數(shù)據(jù)時,PowerPC判斷FIFO的數(shù)據(jù)量寄存器,如果FIFO中的數(shù)據(jù)量達到預(yù)先設(shè)定的數(shù)值,將其取出并進入步驟2);b. 當下位通信模塊通過LocalLink接口與PowerPC相連,數(shù)據(jù)流控制模塊采用DMA及中斷機制從下位通信模塊中獲取數(shù)據(jù)時,PowerPC通過基于LocalLink的中斷響應(yīng)函數(shù)進行基于DMA的數(shù)據(jù)讀取,將其取出并進入步驟2);2) 數(shù)據(jù)被存放到緩存中,并判斷其標志位,選擇是否發(fā)送給上位通信模塊;3) 將數(shù)據(jù)緩存指針交給上位通信模塊的Lwip網(wǎng)絡(luò)協(xié)議棧。
8. 如權(quán)利要求6或7所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于緩存大小為1440bit。
9. 如權(quán)利要求2所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于所述高速數(shù)據(jù)接口為基于Ti公司提出的Co匪nication Port接口。
全文摘要
本發(fā)明提供了一種基于千兆以太網(wǎng)及高速數(shù)據(jù)接口的數(shù)據(jù)傳輸系統(tǒng),該系統(tǒng)在具有PowerPC核的FPGA中實現(xiàn),用于在上位工控機及下位機之間實現(xiàn)雙向高速數(shù)據(jù)傳輸,該系統(tǒng)包括以下三個模塊上位通信模塊,它基于運行于FPGA的TEMAC IP核及運行于PowerPC的Lwip網(wǎng)絡(luò)協(xié)議棧,實現(xiàn)與上位機之間的通信;下位通信模塊,它基于FPGA編程實現(xiàn)的高速數(shù)據(jù)接口,通過FPGA的自定義IO口與下位機通信;數(shù)據(jù)流控制模塊,它基于PowerPC核來控制上位通信模塊與下位通信模塊之間的數(shù)據(jù)流。本發(fā)明具有通用性好、可靠性高、實現(xiàn)方便等特點,為各種嵌入式系統(tǒng)與工控機設(shè)備之間的數(shù)據(jù)傳輸提供了一種簡單、高效的方案。
文檔編號H04L12/56GK101778038SQ20091015667
公開日2010年7月14日 申請日期2009年12月30日 優(yōu)先權(quán)日2009年12月30日
發(fā)明者姜哲圣, 徐文, 李建龍, 潘翔, 章惠全 申請人:浙江大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
通渭县| 前郭尔| 德化县| 灵宝市| 宾阳县| 平顶山市| 崇礼县| 灵武市| 灵宝市| 江孜县| 陕西省| 恩平市| 安徽省| 奎屯市| 乐东| 陆河县| 固原市| 玉田县| 芦溪县| 永川市| 岳普湖县| 泾源县| 溆浦县| 贡觉县| 科技| 平顺县| 洪洞县| 新丰县| 都兰县| 海口市| 兴和县| 临江市| 织金县| 广宁县| 海原县| 贵港市| 麻城市| 湖州市| 江山市| 荥经县| 公主岭市|