基于fpga的多通道異速數(shù)據(jù)發(fā)送系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于FPGA的多通道異速數(shù)據(jù)發(fā)送系統(tǒng),主要解決現(xiàn)有技術(shù)難以用單設(shè)備實現(xiàn)多路數(shù)據(jù)異速發(fā)送的問題。其包括:數(shù)據(jù)發(fā)送軟件模塊(1)、高速數(shù)據(jù)傳輸模塊(2)、通道選擇模塊(3)和組幀發(fā)送模塊(4)。數(shù)據(jù)發(fā)送軟件模塊(1)將命令和數(shù)據(jù)送入高速數(shù)據(jù)傳輸模塊(2),再由高速數(shù)據(jù)傳輸模塊(2)傳送給通道選擇模塊(3),通道選擇模塊(3)內(nèi)的仲裁器根據(jù)通道優(yōu)先級命令遍歷檢測各個通道的傳輸條件,跳轉(zhuǎn)到對應(yīng)通道,并向上一級返回數(shù)據(jù)請求命令,在數(shù)據(jù)到來時,將傳送的數(shù)據(jù)送入組幀發(fā)送模塊(4)的對應(yīng)通道,并根據(jù)設(shè)置的正逆程長度和輸出時鐘完成數(shù)據(jù)發(fā)送。本發(fā)明適應(yīng)性強(qiáng)、靈活度高,可用于異速發(fā)送多個通道的數(shù)據(jù)。
【專利說明】
基于FPGA的多通道異速數(shù)據(jù)發(fā)送系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明屬于數(shù)據(jù)傳輸領(lǐng)域,涉及一種多通道異速數(shù)據(jù)發(fā)送系統(tǒng),可用于發(fā)送多個通道不同速度的數(shù)據(jù)?!颈尘凹夹g(shù)】
[0002]在電子技術(shù)、計算機(jī)通訊技術(shù)高速發(fā)展的今天,數(shù)據(jù)傳輸技術(shù)已經(jīng)成為通訊系統(tǒng)中的關(guān)鍵技術(shù)之一。由于導(dǎo)彈、雷達(dá)、空間飛行器所產(chǎn)生的數(shù)據(jù)量和數(shù)據(jù)傳輸帶寬的不斷變化,要求相應(yīng)的數(shù)據(jù)傳輸系統(tǒng)具有多通道異速數(shù)據(jù)接收和發(fā)送的能力,以適應(yīng)不同速率數(shù)據(jù)傳輸?shù)男枰?br>[0003]但多通道異速數(shù)據(jù)傳輸對傳輸鏈路的要求很高,普通的電路芯片難以滿足要求, 專用集成電路成本過高,開發(fā)周期長,靈活性差,不適宜用來實現(xiàn)廣泛使用的數(shù)據(jù)多路異速傳輸?,F(xiàn)有基于PCI總線的多通道數(shù)據(jù)發(fā)送系統(tǒng)如圖1所示,其包含數(shù)據(jù)發(fā)送軟件模塊,高速數(shù)據(jù)傳輸模塊,DMA發(fā)送控制模塊,本地總線模塊。該系統(tǒng)主要以高速數(shù)據(jù)傳輸模塊和DMA控制模塊為核心,其中高速數(shù)據(jù)傳輸模塊以PCI9054為例,其集成了兩個相互獨立的DMA發(fā)送控制器,在需要發(fā)送數(shù)據(jù)時,首先由數(shù)據(jù)發(fā)送軟件模塊將需要發(fā)送的兩路數(shù)據(jù)送入高速數(shù)據(jù)傳輸模塊,并由PCI9054向本地總線模塊申請本地總線訪問權(quán),得到訪問權(quán)之后,由高速數(shù)據(jù)傳輸模塊將數(shù)據(jù)通過DMA發(fā)送控制模塊送入發(fā)送接口,傳輸完成后,DMA發(fā)送控制模塊向高速數(shù)據(jù)傳輸模塊發(fā)送指令,由PCI9054向DMA發(fā)送控制模塊設(shè)定DMA傳輸結(jié)束位結(jié)束傳輸。此系統(tǒng)雖然簡單易用,但是由于只能實現(xiàn)雙通道的低速數(shù)據(jù)發(fā)送,并且兩個通道不能設(shè)置不同速度,靈活性差,不能滿足大多數(shù)情況下所需要的多通道異速數(shù)據(jù)發(fā)送。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提出一種基于FPGA的多通道異速數(shù)據(jù)發(fā)送系統(tǒng),以自由配置發(fā)送速度,靈活實現(xiàn)多路數(shù)據(jù)的同時發(fā)送。
[0005]為實現(xiàn)上述目的,本發(fā)明利用FPGA具有資源豐富、使用靈活,可重新配置、開發(fā)周期短的優(yōu)點,將其作為多通道異速數(shù)據(jù)傳輸?shù)妮d體。本發(fā)明包括:
[0006]數(shù)據(jù)發(fā)送軟件模塊1,用于設(shè)置通道開關(guān)、正逆程長度、發(fā)送數(shù)據(jù)速率、各通道發(fā)送的文件,并將通道開關(guān)命令、正逆程長度命令、輸出時鐘選擇命令、通道優(yōu)先級命令傳送給高速數(shù)據(jù)傳輸模塊2;同時根據(jù)高速數(shù)據(jù)傳輸模塊2返回的數(shù)據(jù)請求命令在各通道數(shù)據(jù)文件中選擇對應(yīng)的文件每次傳送32KB的數(shù)據(jù)送給高速數(shù)據(jù)傳輸模塊,并顯示數(shù)據(jù)的發(fā)送速度和發(fā)送總量;
[0007]高速數(shù)據(jù)傳輸模塊2,包括PC1-Express高速數(shù)據(jù)接口和動態(tài)隨機(jī)存儲器DDR3,該 PC1-Express高速數(shù)據(jù)接口對數(shù)據(jù)進(jìn)行高速傳輸,將數(shù)據(jù)發(fā)送軟件模塊1傳輸?shù)臄?shù)據(jù)送入動態(tài)隨機(jī)存儲器DDR3暫時緩存,同時DDR3將數(shù)據(jù)輸出并產(chǎn)生緩存數(shù)據(jù)量指示信號;該P(yáng)C1-Express高速數(shù)據(jù)接口對命令進(jìn)行雙向傳輸,將數(shù)據(jù)發(fā)送軟件模塊1傳送的命令和DDR3輸出的緩存數(shù)據(jù)量指示信號送入通道選擇模塊3,同時將通道選擇模塊3返回的數(shù)據(jù)請求命令傳給數(shù)據(jù)發(fā)送軟件模塊1;
[0008]通道選擇模塊3,其內(nèi)部包含一個通道仲裁器,實現(xiàn)數(shù)據(jù)從高速數(shù)據(jù)傳輸模塊2到組幀發(fā)送模塊4傳輸時的通道選擇,保證各通道數(shù)據(jù)獨立異速的傳輸,同時根據(jù)通道仲裁器選擇的當(dāng)前通道及發(fā)送狀態(tài)向高速數(shù)據(jù)傳輸模塊2返回數(shù)據(jù)請求命令;
[0009]組幀發(fā)送模塊4,包括可產(chǎn)生任意大小時鐘的直接數(shù)字式頻率合成器DDS、各通道的數(shù)據(jù)緩存器FIFO和各通道的組幀器。根據(jù)通道選擇模塊3傳入的正逆程長度命令、輸出時鐘選擇命令,控制數(shù)據(jù)緩存器FIFO—次性輸出正程長度的數(shù)據(jù),間隔逆程的長度后再繼續(xù)輸出,由組幀器將輸出的數(shù)據(jù)按照固定幀格式進(jìn)行組幀并以串行或者并行的方式送給后端設(shè)備。
[0010]本發(fā)明具有如下優(yōu)點:[〇〇11]1.本發(fā)明提出的數(shù)據(jù)發(fā)送系統(tǒng)可以實現(xiàn)多通道和多速率的數(shù)據(jù)傳輸,能滿足有多個后端和需要多種發(fā)送速率的情況;
[0012]2.本發(fā)明提出的多通道異速數(shù)據(jù)傳輸機(jī)制,對比單通道的數(shù)據(jù)傳輸,可在實現(xiàn)多通道高速傳輸?shù)耐瑫r,保證數(shù)據(jù)不丟失、不出錯,不降低傳輸效率;
[0013]3.本發(fā)明提出的數(shù)據(jù)發(fā)送軟件模塊可自行判斷數(shù)據(jù)通道優(yōu)先級,能進(jìn)行各通道發(fā)送文件的選擇、各通道的開關(guān)控制及正逆程長度和輸出時鐘大小的設(shè)置,操作簡單、方便, 滿足多種情況的要求;
[0014]4.本發(fā)明提出的通道選擇模塊,只利用一個通道仲裁器對數(shù)據(jù)傳輸通道的自動遍歷和仲裁來實現(xiàn)多路數(shù)據(jù)的發(fā)送,節(jié)省了資源,提高了效率;
[0015]5.本發(fā)明提出的組幀發(fā)送模塊所發(fā)送數(shù)據(jù)的組幀格式能根據(jù)需求進(jìn)行改變,適應(yīng)性強(qiáng)、靈活度高。【附圖說明】
[0016]圖1是現(xiàn)有基于PCI總線的多通道數(shù)據(jù)發(fā)送系統(tǒng)的框圖;
[0017]圖2是本發(fā)明的多通道異速數(shù)據(jù)發(fā)送系統(tǒng)框圖;
[0018]圖3是本發(fā)明中的通道仲裁器工作示意圖;
[0019]圖4是本發(fā)明中的通道仲裁器通道選擇流程圖?!揪唧w實施方式】
[0020]下面將結(jié)合附圖和具體實例對本發(fā)明做進(jìn)一步詳細(xì)說明:
[0021]參照圖2,本發(fā)明基于FPGA的多通道異速數(shù)據(jù)發(fā)送系統(tǒng),包括數(shù)據(jù)發(fā)送軟件模塊1、 高速數(shù)據(jù)傳輸模塊2、通道選擇模塊3和組幀發(fā)送模塊4。其中:[〇〇22]所述的數(shù)據(jù)發(fā)送軟件模塊1,是基于VS2010設(shè)計的,其可以循環(huán)讀取任意大小、多種格式的文件,如:.dat、.raw、.jpg、.bmp、.png、.tif、.jpeg等格式,其具有各通道控制開關(guān)和正逆程長度的設(shè)置、待發(fā)送文件和輸出時鐘的選擇、通道優(yōu)先級的判斷以及數(shù)據(jù)發(fā)送速度和發(fā)送量顯示的功能。其中:
[0023]設(shè)置的通道開關(guān),是用來開啟或關(guān)閉某個傳輸通道,由通道選擇模塊(3)根據(jù)數(shù)據(jù)發(fā)送軟件模塊發(fā)送的該命令控制通道的開和關(guān)來實現(xiàn);
[0024]設(shè)置的正逆程長度,是以字節(jié)為單位,由組幀發(fā)送模塊(4)根據(jù)數(shù)據(jù)發(fā)送軟件模塊發(fā)送的該命令將數(shù)據(jù)持續(xù)正程的長度和間隔逆程的長度進(jìn)行發(fā)送來實現(xiàn);
[0025]設(shè)置的發(fā)送數(shù)據(jù)速率,是以Mbps或Gbps為單位,由數(shù)據(jù)發(fā)送軟件模塊(1)根據(jù)用戶設(shè)置的該參數(shù)自動計算出時鐘大小,通過組幀發(fā)送模塊(4)產(chǎn)生對應(yīng)控制字控制DDS輸出所需大小的時鐘,將其作為對應(yīng)通道FIFO的讀時鐘,實現(xiàn)數(shù)據(jù)的異速發(fā)送;
[0026]設(shè)置的各通道待發(fā)送的文件,可以是多種格式和多達(dá)8個通道,由通道選擇模塊 (3)將數(shù)據(jù)發(fā)送軟件模塊讀取的各數(shù)據(jù)文件進(jìn)行通道選擇,實現(xiàn)數(shù)據(jù)的多通道傳輸。
[0027]通道優(yōu)先級命令,是通過軟件自動計算并比較各個通道的吞吐率獲取,吞吐率由正程長度與正逆程之和的比值、輸出時鐘和輸出數(shù)據(jù)位寬三者的乘積來計算,吞吐率越大的通道優(yōu)先級越高;
[0028]數(shù)據(jù)發(fā)送速度和數(shù)據(jù)發(fā)送量顯示,是通過軟件不斷統(tǒng)計每秒發(fā)送的數(shù)據(jù)量和總的發(fā)送量,并將這兩個數(shù)值每秒刷新一次顯示在界面上。
[0029]當(dāng)各通道的控制開關(guān)、正逆程長度、發(fā)送文件、輸出時鐘分別設(shè)置后,數(shù)據(jù)發(fā)送軟件模塊1自主判斷發(fā)送通道優(yōu)先級,并且將通道開關(guān)命令、正逆程長度命令、通道優(yōu)先級命令、輸出時鐘選擇命令傳送給高速數(shù)據(jù)傳輸模塊2,再由高速數(shù)據(jù)傳輸模塊2傳送給通道選擇模塊3。
[0030]所述的高速數(shù)據(jù)傳輸模塊2,包括PC1-Express高速數(shù)據(jù)接口和動態(tài)隨機(jī)存儲器 DDR3,PC1-Express高速數(shù)據(jù)接口和DDR3的控制器程序是通過在Xilinx公司IP核的基礎(chǔ)上編寫用戶接口程序?qū)崿F(xiàn)的,其中,PC1-Express高速數(shù)據(jù)接口采用DMA直接存取方式進(jìn)行數(shù)據(jù)的高速傳輸和軟硬件的交互,它的控制程序中包含容量為128KB的FIFO緩沖器,用來將待發(fā)送的數(shù)據(jù)進(jìn)行位寬轉(zhuǎn)換和數(shù)據(jù)緩沖,當(dāng)該FIFO緩沖器的可編程滿信號有效時,反饋給數(shù)據(jù)發(fā)送軟件模塊1中斷請求信號,數(shù)據(jù)發(fā)送軟件模塊1接收到中斷請求信號之后暫停送數(shù), 以保證數(shù)據(jù)在快速傳輸?shù)耐瑫r不丟失;DDR3采用的是緩存大小為2GB的內(nèi)存顆粒,將PC1-Express 高速數(shù)據(jù)接口傳輸?shù)臄?shù)據(jù)進(jìn)行暫時緩存,其輸出的緩存數(shù)據(jù)量指示信號用來實時顯示DDR3內(nèi)部的數(shù)據(jù)量是否達(dá)到門限值;[〇〇31]同時該P(yáng)C1-Express高速數(shù)據(jù)接口對命令進(jìn)行雙向傳輸,將數(shù)據(jù)發(fā)送軟件模塊1傳送的命令和DDR3輸出的緩存數(shù)據(jù)量指示信號送入通道選擇模塊3,同時將通道選擇模塊3返回的數(shù)據(jù)請求命令傳給數(shù)據(jù)發(fā)送軟件模塊1。
[0032]所述的通道選擇模塊3,包含一個通道仲裁器,其使用的時鐘為輸出時鐘中最大的時鐘,以減少仲裁時間,保證數(shù)據(jù)傳輸效率。該仲裁器根據(jù)數(shù)據(jù)發(fā)送軟件模塊1傳送的通道優(yōu)先級命令判斷當(dāng)前通道是否滿足傳輸條件,來對通道進(jìn)行仲裁,實現(xiàn)數(shù)據(jù)傳輸時的通道選擇。其中,通道傳輸條件包括:當(dāng)前通道FIFO的可編程滿信號為低電平,S卩FIFO內(nèi)數(shù)據(jù)量未達(dá)到所設(shè)定的可編程滿值代表的數(shù)據(jù)量;高速數(shù)據(jù)傳輸模塊2傳送的當(dāng)前通道的開關(guān)命令為高電平,即當(dāng)前通道處于開啟狀態(tài);DDR3輸出的緩存數(shù)據(jù)量指示信號為低電平,即當(dāng)前 DDR3內(nèi)部有足夠緩存空間來緩存數(shù)據(jù)。[〇〇33]若當(dāng)前通道不滿足以上三個通道傳輸條件,則通道仲裁器自動檢測下一通道;若當(dāng)前通道滿足傳輸?shù)臈l件,則將通道鎖定并將該通道的32KB數(shù)據(jù)送入組幀發(fā)送模塊4的對應(yīng)FIFO中,傳輸完成后,釋放該通道,通道仲裁器開始繼續(xù)檢測下一通道是否滿足傳輸條件。[〇〇34]參照圖3和圖4,以四通道異速數(shù)據(jù)發(fā)送系統(tǒng)為例說明通道仲裁器的工作原理:
[0035]初始時,通道仲裁器處于遍歷檢測狀態(tài),各個通道處于等待狀態(tài),若用戶設(shè)置的四個通道的發(fā)送速率分別為:2Gbps、1.5Gbps、lGbps、800Mbps,則數(shù)據(jù)發(fā)送軟件模塊1首先計算出四個通道的輸出時鐘大小分別為:256MHz、192MHz、128MHz、100MHz;若四個通道的正程長度分別為1000、1100、1200、1300字節(jié),逆程長度分別為10、20、30、40字節(jié),則數(shù)據(jù)發(fā)送軟件模塊1根據(jù)吞吐率計算公式自動判斷出四個通道優(yōu)先級順序依次為:1,2,3,4。此時通道仲裁器首先開始檢測第1個通道的開關(guān)信號、可編程滿信號和DDR3緩存數(shù)據(jù)量指示信號是否都滿足條件,若這三個條件中有任意一個不滿足,則通道仲裁器直接檢測第2個通道的傳輸條件,第1個通道仍然處于等待狀態(tài);否則通道仲裁器選擇第1個通道并將該通道鎖定,將傳輸?shù)?2KB的數(shù)據(jù)送入組幀發(fā)送模塊4中對應(yīng)通道的FIFO;
[0036]當(dāng)傳輸完成后,通道仲裁器又進(jìn)入遍歷檢測狀態(tài),同時開始檢測第2個通道是否滿足傳輸條件:若有任意一個不滿足,則通道仲裁器直接檢測第3個通道的傳輸條件,第2個通道仍然處于等待狀態(tài);否則通道仲裁器選擇第2個通道并將該通道鎖定,將傳輸?shù)?2KB的數(shù)據(jù)送入組幀發(fā)送模塊4中對應(yīng)通道的FIFO;
[0037]當(dāng)傳輸完成后,通道仲裁器又進(jìn)入遍歷檢測狀態(tài),同時開始檢測第3個通道是否滿足傳輸條件:若有任意一個不滿足,則通道仲裁器直接檢測第4個通道的傳輸條件,第3個通道仍然處于等待狀態(tài);否則通道仲裁器選擇第3個通道并將該通道鎖定,將傳輸?shù)?2KB的數(shù)據(jù)送入組幀發(fā)送模塊4中對應(yīng)通道的FIFO;
[0038]當(dāng)傳輸完成后,通道仲裁器又進(jìn)入遍歷檢測狀態(tài),同時開始檢測第4個通道是否滿足傳輸條件:若有任意一個不滿足,則通道仲裁器直接檢測第1個通道的傳輸條件,第4個通道仍然處于等待狀態(tài);否則通道仲裁器選擇第4個通道并將該通道鎖定,將傳輸?shù)?2KB的數(shù)據(jù)送入組幀發(fā)送模塊4中對應(yīng)通道的FIFO;
[0039]如此循環(huán),通過通道仲裁器的循環(huán)檢測,完成四個通道數(shù)據(jù)的傳輸與發(fā)送。
[0040]所述組幀發(fā)送模塊4,包括可產(chǎn)生任意大小時鐘的直接數(shù)字式頻率合成器DDS、各通道的數(shù)據(jù)緩存器FIFO和各通道的組幀器。根據(jù)通道選擇模塊3傳入的正逆程長度命令、輸出時鐘選擇命令,控制數(shù)據(jù)緩存器FIFO—次性輸出正程長度的數(shù)據(jù),間隔逆程的長度后再繼續(xù)輸出,由組幀器將輸出的數(shù)據(jù)按照固定幀格式進(jìn)行組幀并以串行或者并行的方式發(fā)送給后端設(shè)備。其中,組幀發(fā)送模塊4中各通道數(shù)據(jù)緩存器FIFO可編程滿的值大于正程長度最大值的8倍,以保證組幀發(fā)送模塊4中各通道FIFO內(nèi)緩存的數(shù)據(jù)量始終滿足發(fā)送需求;FIFO 的容量與設(shè)置的可編程滿值之差大于32KB,以保證數(shù)據(jù)正常傳輸過程中不丟失。該模塊中輸出正程長度的數(shù)據(jù),是通過觸發(fā)輸出時鐘的上升沿,啟動計數(shù)器在1到正程值之間進(jìn)行計數(shù),并在該計數(shù)范圍內(nèi)使當(dāng)前通道FIFO的讀使能為高電平而實現(xiàn)的;按照固定幀格式進(jìn)行組幀,是通過組幀器對時鐘進(jìn)行計數(shù),并根據(jù)用戶需求在正程數(shù)據(jù)開始的地方加上所需字節(jié)的標(biāo)頭和幀計數(shù)器,在正程數(shù)據(jù)結(jié)尾的地方加上所需字節(jié)的標(biāo)尾而實現(xiàn)的。[〇〇411本發(fā)明系統(tǒng)的工作原理如下:[〇〇42]數(shù)據(jù)發(fā)送軟件模塊1設(shè)置各通道的開關(guān)、正逆程長度、輸出時鐘,選擇各通道待發(fā)送的文件,并首先將命令送入高速數(shù)據(jù)傳輸模塊2,再經(jīng)高速數(shù)據(jù)傳輸模塊2傳送給通道選擇模塊3;通道選擇模塊3內(nèi)的通道仲裁器根據(jù)數(shù)據(jù)發(fā)送軟件模塊1發(fā)送的通道優(yōu)先級命令遍歷檢測各個通道的傳輸條件,并鎖定滿足傳輸條件的對應(yīng)通道,同時向數(shù)據(jù)發(fā)送軟件模塊1返回對應(yīng)通道的數(shù)據(jù)請求命令;數(shù)據(jù)發(fā)送軟件模塊1根據(jù)數(shù)據(jù)請求命令讀取對應(yīng)數(shù)據(jù)文件中32KB的數(shù)據(jù),發(fā)送給高速數(shù)據(jù)傳輸模塊2;通道選擇模塊3將高速數(shù)據(jù)傳輸模塊2傳送的數(shù)據(jù)送入組幀發(fā)送模塊4對應(yīng)的通道,完成傳輸后通道仲裁器再次開始工作,遍歷檢測下一通道的通道傳輸條件;組幀發(fā)送模塊4,根據(jù)設(shè)置的正逆程長度和選擇的輸出時鐘,并利用時鐘計數(shù)將各通道數(shù)據(jù)按照固定幀格式進(jìn)行組幀發(fā)送給后端設(shè)備。[〇〇43]以上僅是本發(fā)明的一個實例,不構(gòu)成對本發(fā)明的任何限制,顯然在本發(fā)明的基礎(chǔ)上可以進(jìn)行適當(dāng)?shù)臄U(kuò)展和改進(jìn),但這些都屬于本發(fā)明的權(quán)利保護(hù)范圍。
【主權(quán)項】
1.一種基于FPGA的多通道異速數(shù)據(jù)發(fā)送系統(tǒng),包括:數(shù)據(jù)發(fā)送軟件模塊(1 ),用于設(shè)置通道開關(guān)、正逆程長度、發(fā)送數(shù)據(jù)速率、各通道待發(fā)送 的文件,并將通道開關(guān)命令、正逆程長度命令、輸出時鐘選擇命令、通道優(yōu)先級命令傳送給 高速數(shù)據(jù)傳輸模塊(2);同時根據(jù)高速數(shù)據(jù)傳輸模塊(2)返回的數(shù)據(jù)請求命令在各通道數(shù)據(jù) 文件中選擇對應(yīng)的文件每次傳送32KB的數(shù)據(jù)送給高速數(shù)據(jù)傳輸模塊,并顯示數(shù)據(jù)的發(fā)送速 度和發(fā)送總量;高速數(shù)據(jù)傳輸模塊(2),包括PC1-Express高速數(shù)據(jù)接口和動態(tài)隨機(jī)存儲器DDR3,該 PC1-Express高速數(shù)據(jù)接口對數(shù)據(jù)進(jìn)行高速傳輸,將數(shù)據(jù)發(fā)送軟件模塊(1)傳輸?shù)臄?shù)據(jù)送入 動態(tài)隨機(jī)存儲器DDR3暫時緩存,同時DDR3將數(shù)據(jù)輸出并產(chǎn)生緩存數(shù)據(jù)量指示信號;該P(yáng)C1-Express高速數(shù)據(jù)接口對命令進(jìn)行雙向傳輸,將數(shù)據(jù)發(fā)送軟件模塊(1)傳送的命令和DDR3輸 出的緩存數(shù)據(jù)量指示信號送入通道選擇模塊(3),同時將通道選擇模塊(3)返回的數(shù)據(jù)請求 命令傳給數(shù)據(jù)發(fā)送軟件模塊(1);通道選擇模塊(3),其內(nèi)部包含一個通道仲裁器,實現(xiàn)數(shù)據(jù)從高速數(shù)據(jù)傳輸模塊(2)到 組幀發(fā)送模塊(4)傳輸時的通道選擇,保證各通道數(shù)據(jù)獨立異速的傳輸,同時根據(jù)通道仲裁 器選擇的當(dāng)前通道及發(fā)送狀態(tài)向高速數(shù)據(jù)傳輸模塊(2)返回數(shù)據(jù)請求命令;組幀發(fā)送模塊(4),包括可產(chǎn)生任意大小時鐘的直接數(shù)字式頻率合成器DDS、各通道的 數(shù)據(jù)緩存器FIFO和各通道的組幀器。根據(jù)通道選擇模塊(3)傳入的正逆程長度命令、輸出時 鐘選擇命令,控制數(shù)據(jù)緩存器FIFO—次性輸出正程長度的數(shù)據(jù),間隔逆程的長度后再繼續(xù) 輸出,由組幀器將輸出的數(shù)據(jù)按照固定幀格式進(jìn)行組幀并以串行或者并行的方式送給后端 設(shè)備。2.根據(jù)權(quán)利要求1中所述的多通道異速數(shù)據(jù)發(fā)送系統(tǒng),其特征在于,數(shù)據(jù)發(fā)送軟件模塊 (1)中所設(shè)置的各參數(shù)功能實現(xiàn)如下:設(shè)置的通道開關(guān),是用來開啟或關(guān)閉某個傳輸通道,由通道選擇模塊(3)根據(jù)數(shù)據(jù)發(fā)送 軟件模塊發(fā)送的該命令控制通道的開和關(guān)來實現(xiàn);設(shè)置的正逆程長度,是以字節(jié)為單位,由組幀發(fā)送模塊(4)根據(jù)數(shù)據(jù)發(fā)送軟件模塊發(fā)送 的該命令將數(shù)據(jù)持續(xù)正程的長度和間隔逆程的長度進(jìn)行發(fā)送來實現(xiàn);設(shè)置的發(fā)送數(shù)據(jù)速率,是以Mbps或Gbps為單位,由數(shù)據(jù)發(fā)送軟件模塊(1)根據(jù)用戶設(shè)置 的該參數(shù)自動計算出時鐘大小,通過組幀發(fā)送模塊(4)產(chǎn)生對應(yīng)控制字控制DDS輸出所需大 小的時鐘,將其作為對應(yīng)通道FIFO的讀時鐘,實現(xiàn)數(shù)據(jù)的異速發(fā)送;設(shè)置的各通道待發(fā)送的文件,可以是多種格式和多達(dá)8個通道,由通道選擇模塊(3)將 數(shù)據(jù)發(fā)送軟件模塊讀取的各數(shù)據(jù)文件進(jìn)行通道選擇,實現(xiàn)數(shù)據(jù)的多通道傳輸。3.根據(jù)權(quán)利要求1中所述的多通道異速數(shù)據(jù)發(fā)送系統(tǒng),其特征在于,數(shù)據(jù)發(fā)送軟件模塊 (1)中的通道優(yōu)先級命令,是通過軟件自動計算并比較各個通道的吞吐率獲取,吞吐率由正 程長度與正逆程之和的比值、輸出時鐘和輸出數(shù)據(jù)位寬三者的乘積來計算,吞吐率越大的 通道優(yōu)先級越高。4.根據(jù)權(quán)利要求1中所述的多通道異速數(shù)據(jù)發(fā)送系統(tǒng),其特征在于,數(shù)據(jù)發(fā)送軟件模塊 (1)中數(shù)據(jù)發(fā)送速度和數(shù)據(jù)發(fā)送量顯示,是通過軟件不斷統(tǒng)計每秒發(fā)送的數(shù)據(jù)量和總的發(fā) 送量,并將這兩個數(shù)值每秒刷新一次顯示在界面上。5.根據(jù)權(quán)利要求1中所述的多通道異速數(shù)據(jù)發(fā)送系統(tǒng),其特征在于,高速數(shù)據(jù)傳輸模塊(2)中PC1-Express高速數(shù)據(jù)接口,是通過編寫用戶控制程序?qū)崿F(xiàn)高速無差錯傳輸功能,其 控制程序中包含容量大小為128KB的FIFO緩沖器,用來將待發(fā)送的數(shù)據(jù)進(jìn)行位寬轉(zhuǎn)換和數(shù) 據(jù)緩沖,當(dāng)FIFO的可編程滿信號有效時,向數(shù)據(jù)發(fā)送軟件模塊(1)反饋中斷請求信號,數(shù)據(jù) 發(fā)送軟件模塊(1)接收到中斷請求信號之后暫停送數(shù),以保證數(shù)據(jù)在快速傳輸?shù)耐瑫r不丟失。6.根據(jù)權(quán)利要求1中所述的多通道異速數(shù)據(jù)發(fā)送系統(tǒng),其特征在于,通道選擇模塊(3) 中的通道傳輸條件包括:當(dāng)前通道FIFO的可編程滿信號為低電平,S卩FIFO內(nèi)數(shù)據(jù)量未達(dá)到 所設(shè)定的可編程滿值代表的數(shù)據(jù)量;高速數(shù)據(jù)傳輸模塊(2)傳送的當(dāng)前通道的開關(guān)命令為 高電平,即當(dāng)前通道處于開啟狀態(tài);DDR3輸出的緩存數(shù)據(jù)量指示信號為低電平,即當(dāng)前DDR3 內(nèi)部有足夠緩存空間來緩存數(shù)據(jù)。7.根據(jù)權(quán)利要求1中所述的多通道異速數(shù)據(jù)發(fā)送系統(tǒng),其特征在于,通道選擇模塊(3) 中通道仲裁器是根據(jù)數(shù)據(jù)發(fā)送軟件模塊(1)傳送的通道優(yōu)先級對通道進(jìn)行循環(huán)遍歷和仲 裁,并根據(jù)仲裁結(jié)果選擇傳輸通道:若當(dāng)前通道不滿足傳輸條件,則通道仲裁器自動檢測下 一通道;若當(dāng)前通道滿足傳輸?shù)臈l件,則將通道鎖定并將該通道的32KB數(shù)據(jù)送入組幀發(fā)送 模塊(4)的對應(yīng)FIFO中,傳輸完成后,釋放該通道,通道仲裁器開始繼續(xù)檢測下一通道是否 滿足傳輸條件。8.根據(jù)權(quán)利要求1中所述的多通道異速數(shù)據(jù)發(fā)送系統(tǒng),其特征在于,組幀發(fā)送模塊(4) 中各通道的數(shù)據(jù)緩存器FIFO,其可編程滿的值大于正程長度最大值的8倍,以保證組幀發(fā)送 模塊(4)中各通道FIFO內(nèi)緩存的數(shù)據(jù)量始終滿足發(fā)送需求;FIFO的容量與設(shè)置的可編程滿 值之差大于32KB,以保證數(shù)據(jù)正常傳輸過程中不丟失。9.根據(jù)權(quán)利要求1中所述的多通道異速數(shù)據(jù)發(fā)送系統(tǒng),其特征在于,組幀發(fā)送模塊(4) 中輸出正程長度的數(shù)據(jù),是通過觸發(fā)輸出時鐘的上升沿,啟動計數(shù)器在1到正程值之間進(jìn)行 計數(shù),并在該計數(shù)范圍內(nèi)使當(dāng)前通道FIFO的讀使能為高電平而實現(xiàn)的。10.根據(jù)權(quán)利要求1中所述的多通道異速數(shù)據(jù)發(fā)送系統(tǒng),其特征在于,組幀發(fā)送模塊(4) 中按照固定幀格式進(jìn)行組幀,是通過組幀器對時鐘進(jìn)行計數(shù),并根據(jù)用戶需求在正程數(shù)據(jù) 開始的地方加上所需字節(jié)的標(biāo)頭和幀計數(shù)器,在正程數(shù)據(jù)結(jié)尾的地方加上所需字節(jié)的標(biāo)尾 而實現(xiàn)的。
【文檔編號】G06F13/38GK105975416SQ201610273516
【公開日】2016年9月28日
【申請日】2016年4月28日
【發(fā)明人】王海, 張敏, 賈祖琛, 劉巖, 趙偉, 秦紅波
【申請人】西安電子科技大學(xué)