国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種采集端啟動pci-e總線dma上傳數(shù)據(jù)的方法

      文檔序號:6379559閱讀:213來源:國知局
      專利名稱:一種采集端啟動pci-e總線dma上傳數(shù)據(jù)的方法
      —種采集端啟動PC1-E總線DMA上傳數(shù)據(jù)的方法技術領域
      本發(fā)明高速串行總線互聯(lián)及數(shù)據(jù)采集技術領域。具體涉及一種采集端啟動PC1-E 總線DMA上傳數(shù)據(jù)的方法。
      背景技術
      隨著科學的發(fā)展和技術的進步,目前的PCI總線和PC1-X總線在許多情況下已經(jīng) 不能滿足數(shù)據(jù)傳輸速度的要求,特別是在高速數(shù)據(jù)采集系統(tǒng)中數(shù)據(jù)上傳給上位機的技術需 求,因此PC1-E總線逐步代替PCI總線,并在各個場合得到廣泛的應用。在高速數(shù)據(jù)采集 中,數(shù)據(jù)的上傳通常要用PC1-E總線的DMA傳輸模式才能數(shù)據(jù)傳輸?shù)囊?。在一般的傳?過程中,都是一臺PC機作為上位機設備,利用FPGA作為數(shù)據(jù)采集的終端設備,負責數(shù)據(jù)采 集的控制、數(shù)據(jù)整理、數(shù)據(jù)預處理、數(shù)據(jù)上傳等操作,上位機需要讀取數(shù)據(jù)時,都是上位機通 過PC1-E總線主動發(fā)送命令給FPGA,即給采集端,然后FPGA送數(shù)據(jù),在高速數(shù)據(jù)采集中,要 及時的把采集的數(shù)據(jù)進行上傳,也是采用該方法,上位機先寫命令給FPGA,然后再讀取上傳 的數(shù)據(jù)。這樣做存在許多的缺點由于PC1-E總線的特殊性,不能準確的判斷數(shù)據(jù)采集系統(tǒng) 中采集端中的存儲器中是否有數(shù)據(jù)或者數(shù)據(jù)是否具備讀取的條件,經(jīng)常讀不到數(shù)據(jù)或者讀 取的數(shù)據(jù)一直是同一個,造成空讀以及誤讀;操作復雜,不方便;對上位機及數(shù)據(jù)采集系統(tǒng) 中采集端的資源不能很好的利用,造成資源浪費。針對上述缺點,本發(fā)明提出并設計了一種 采集端啟動PC1-E總線DMA上傳數(shù)據(jù)的方法。
      中國專利文獻庫公布了一種名稱為《一種基于PC1-E接口的LTE基帶終端模擬系 統(tǒng)》(專利申請?zhí)?01010619073. O)的發(fā)明專利申請技術,該發(fā)明專利申請技術公開了一種 基于PC1-E接口的LTE基帶終端模擬系統(tǒng),該模擬系統(tǒng)包括PC主機,用于根據(jù)測試模式和 配置參數(shù)來控制基帶終端仿真器,并轉(zhuǎn)發(fā)上行和下行數(shù)據(jù);基帶終端仿真器,用于對模擬系 統(tǒng)的物理層進行測試,包括數(shù)字信號處理器,用于處理LTE基帶終端通信協(xié)議和相關的應 用協(xié)議;現(xiàn)場可編程門陣列,用于并行處理高速數(shù)字信號和高重復性的數(shù)據(jù)運算;PCI_E接 口,用于連接PC主機和基帶終端仿真器;eN0deB板,用于將下行數(shù)據(jù)發(fā)送至基帶終端仿真 器,并接收來自基帶終端仿真器的數(shù)據(jù)和性能反饋統(tǒng)計。與現(xiàn)有技術相比,本發(fā)明的模擬系 統(tǒng)既保證eNodeB設備的各項測試指標,提高測試的效率,又可節(jié)約測試成本和占用空間。 其不足之處在于該發(fā)明專利沒有解決數(shù)據(jù)高速上傳的時候的PC機負荷過重、資源浪費、數(shù) 據(jù)的空讀與誤讀等問題,PC1-E總線通信操作復雜,同時在PC主機通過PC1-E總線讀取數(shù) 據(jù)的時候還得發(fā)送相應指令,造成傳輸效率的降低。發(fā)明內(nèi)容
      為了解決高速數(shù)據(jù)采集系統(tǒng)中通過PC1-E總線實現(xiàn)大量數(shù)據(jù)上傳給PC機需要PC 機啟動而造成的空讀、誤讀,操作復雜,資源浪費,使得PC機負載增加等缺點,提升高速數(shù) 據(jù)采集系統(tǒng)中數(shù)據(jù)上傳的效率,避免空讀與誤讀,提升FPGA及PC機的資源利用率,減輕PC 機的負載,使采集的數(shù)據(jù)上傳簡單易用,本發(fā)明提供一種采集端啟動PC1-E總線DMA上傳數(shù)據(jù)的方法。
      本發(fā)明的采集端啟動PC1-E總線DMA上傳數(shù)據(jù)的方法包括硬件部分和控制軟件, 硬件部分中的FPGA、DDR對、數(shù)據(jù)采集接口、高速A/D轉(zhuǎn)換器組成了數(shù)據(jù)采集系統(tǒng)的采集端; PC機通過PC1-E接口與FPGA相連,F(xiàn)PGA通過IO 口分別與DDR對、數(shù)據(jù)采集接口相連,高速 A/D轉(zhuǎn)換器把采集到的信號轉(zhuǎn)換成數(shù)字信號,并通過數(shù)據(jù)采集接口送給FPGA,在FPGA里預 處理后,這些數(shù)據(jù)存儲到DDR對或FPGA內(nèi)部存儲空間里,存儲到一定數(shù)量后上傳給PC機; 控制軟件由FPGA內(nèi)部軟件及PC機中的上位機組成,F(xiàn)PGA內(nèi)部軟件中的PC1-E硬核執(zhí)行代 碼實現(xiàn)PC1-E通信,把采集到的數(shù)據(jù)上傳給PC機中的上位機或把上位機傳遞的指令及數(shù)據(jù) 下發(fā)給FPGA ;DMA寫模塊分別與PC1-E內(nèi)部存儲空間和DMA控制寄存器連接,PC1-E內(nèi)部存 儲空間與DDR對狀態(tài)接口模塊分別與PC1-E內(nèi)部存儲空間或DDR對的狀態(tài)寄存器、DMA控 制寄存器連接,PC1-E內(nèi)部存儲空間與DDR對狀態(tài)接口模塊讀取PC1-E內(nèi)部存儲空間和DDR 對狀態(tài)寄存器的值,并把這個值送給PC1-E終端控制模塊,PC1-E終端控制模塊由這個值來 控制DMA控制寄存器,利用DMA控制寄存器控制DMA寫模塊,從而控制PC1-E內(nèi)部存儲空間 或DDR對把數(shù)據(jù)通過PC1-E總線上傳給PC機中的內(nèi)存空間。
      所述的采集端啟動DMA上傳數(shù)據(jù)的過程有如下步驟a)先利用上位機對高速數(shù)據(jù)采集系統(tǒng)中采集端的控制值進行寫配置;b)上位機啟動高速數(shù)據(jù)采集系統(tǒng)進行數(shù)據(jù)采集;c)在數(shù)據(jù)采集的過程中,利用PC1-E內(nèi)部存儲空間與DDR對狀態(tài)接口模塊對PC1-E內(nèi) 部存儲空間或者DDR對的狀態(tài)進行監(jiān)控,并讀取狀態(tài)值;d)PC1-E內(nèi)部存儲空間與DDR對狀態(tài)接口模塊把該實時讀取的狀態(tài)信息傳遞給PC1-E 終端控制模塊,PC1-E終端控制模塊判斷該狀態(tài)是否是達到DMA模式上傳數(shù)據(jù)的狀態(tài),若是 則寫相應的DMA模式上傳的寄存器值給DMA控制寄存器,DMA控制寄存器控制DMA寫模塊進 而實現(xiàn)PC1-E內(nèi)部存儲空間或者給DDR對中的某個DDR數(shù)據(jù)利用DMA模式上傳給PC機;e)此次DMA模式數(shù)據(jù)上傳完畢后,上傳一個結束標志給PC機中上位機任意指定的內(nèi)存 地址位置,該結束標志是一個32bit數(shù)據(jù);f)上位機(8)獲取該標志后對內(nèi)存中的數(shù)據(jù)進行讀??;g)如果上位機沒有給出結束命令則返回C),如果要從新設置狀態(tài)則返回a)。
      所述的PC1-E內(nèi)部存儲空間或DDR對的狀態(tài)寄存器可以選擇設置,其設置值可以 根據(jù)存入PC1-E內(nèi)部存儲空間或DDR對的個數(shù)進行判定,判斷該狀態(tài)寄存器的狀態(tài)與上位 機給出的狀態(tài)一樣,則開始上傳,不同則保持當前狀態(tài)。
      所述的DDR對主要用來掛在FPGA上,為二個或者四個或八個,PC機中的上位機讀 取DDR對中的數(shù)據(jù)時采用乒乓操作。
      所述的PC1-E的硬核執(zhí)行代碼形成FPGA內(nèi)部符合PC1-E技術指標的接口邏輯與 協(xié)議,實現(xiàn)PC1-E的通信。
      本發(fā)明中的FPGA是指Xilinx公司或者Altera公司產(chǎn)品中具有PC1-E總線IP核 的FPGA,主要對PC1-E接口、DDR對、數(shù)據(jù)采集接口、高速A/D轉(zhuǎn)換器進行控制。
      本發(fā)明中的PC機一般是指X86架構、具有存儲器、內(nèi)存等單元的主控系統(tǒng),可以在 該系統(tǒng)中對高速數(shù)據(jù)采集系統(tǒng)進行操作與處理。
      本發(fā)明中的PC1-E接口還包括電氣相同而物理結構不同的CPC1-E接口,一般是四通道或八通道,目前特指PC1-E1. O和PC1-E2. O,總線頻率為1. 25GHz或者2. 5GHz。
      本發(fā)明中的DDR對主要用來掛在FPGA上,為二個或者四個或八個,對高速數(shù)據(jù)采 集系統(tǒng)多采集的數(shù)據(jù)進行快速存取,中快速存取的過程中,F(xiàn)PGA中任意設置一個內(nèi)部狀態(tài) 寄存器,針對DDR對中的DDR的狀態(tài)進行描述,描述的實現(xiàn)方法可以對存儲的數(shù)據(jù)個數(shù)進行 計數(shù),其狀態(tài)為空、半滿、滿。PC機中的上位機讀取DDR對中的數(shù)據(jù)時可以進行乒乓操作, 來避免丟數(shù)等問題的出現(xiàn)。
      本發(fā)明中所述的PC1-E內(nèi)部存儲空間或DDR對的狀態(tài)寄存器可以隨便設置,其值 可以根據(jù)存入PC1-E內(nèi)部存儲空間或DDR對個數(shù)進行判定,舉例gPC1-E內(nèi)部存儲空間或 DDR對存儲空間為1024個16bit寬,此處狀態(tài)寄存器可以設置成3bit,則存儲數(shù)據(jù)為O時 為空,狀態(tài)寄存器可以為001,數(shù)據(jù)為512時為半滿,狀態(tài)寄存器可以為010,為1023時為滿 狀態(tài),狀態(tài)寄存器可以為100,此處的狀態(tài)寄存器可以根據(jù)實際的存儲空間設置成任意模式 的寄存器,只要能表達出各個狀態(tài)不一樣即可,在PC1-E終端控制模塊進行狀態(tài)判定時,只 需要把上位機首先給的狀態(tài)進行解析,最后解析成與此處狀態(tài)寄存器的格式一樣即可,判 斷時狀態(tài)寄存器的狀態(tài)與上位機給出并解析過的狀態(tài)一樣,則開始上傳,不同則默認。
      本發(fā)明中的數(shù)據(jù)采集接口主要指高速并行A/D接口,用來連接一個或者多個并行 接口的高速A/D轉(zhuǎn)換器。
      本發(fā)明中的PC機中的上位機中VC平臺上編寫,采用C語言編寫而成。
      本發(fā)明中的PC1-E的硬核執(zhí)行代碼是用來編譯產(chǎn)生FPGA與PC機進行數(shù)據(jù)交換的 PC1-E總線的。
      本發(fā)明中的PC1-E內(nèi)部存儲空間是指FPGA中為少數(shù)數(shù)據(jù)DMA傳輸所用的FIFO, 該FIFO的狀態(tài)接口對外接出,如半滿、空、滿等狀態(tài)都能讀出,用來作為采集數(shù)據(jù)的緩存, 等FIFO有一定數(shù)據(jù)后,再進行上傳。
      本發(fā)明中的DMA寫模塊主要是利用該模塊控制PC1-E內(nèi)部存儲空間或者DDR對中 的某個DDR,控制其讀出時序,使其數(shù)據(jù)通過PC1-E輸出,送給PC機中的內(nèi)存中。
      本發(fā)明中的DMA控制寄存器主要是用來驅(qū)動DMA寫模塊的,從而產(chǎn)生進行整個DMA 傳輸。
      本發(fā)明中的PC1-E內(nèi)部存儲空間與DDR對狀態(tài)接口模塊主要對PC1-E內(nèi)部存儲空 間、DDR對、高速A/D轉(zhuǎn)換器的狀態(tài)進行讀取,并把這些狀態(tài)送給PC1-E終端控制模塊,從而 對DMA控制寄存器進行控制。
      本發(fā)明的一種采集端啟動PC1-E總線DMA上傳數(shù)據(jù)的方法,能夠?qū)崿F(xiàn)從高速數(shù)據(jù) 采集系統(tǒng)中采集端自動上傳數(shù)據(jù),不用上位機每次都進行命令操作,中設計過程中PC1-E 內(nèi)部存儲空間或DDR對可以二選其一,也可以兩者都選擇,然后實現(xiàn)的時候根據(jù)實際情況 進行設置狀態(tài),本發(fā)明操作性強、避免了數(shù)據(jù)的空讀與誤讀、減輕了 PC機的負載、減少了 FPGA資源的利用。


      圖1為本發(fā)明的采集端啟動PC1-E總線DMA上傳數(shù)據(jù)的方法硬件結構框圖;圖2為本發(fā)明的采集端啟動PC1-E總線DMA上傳數(shù)據(jù)的方法軟件結構框圖;圖3為本發(fā)明的采集端啟動PC1-E總線DMA上傳數(shù)據(jù)的方法程序流程框圖;圖中,1. PC 機 2. PC1-E 接口 3.采集端 4. FPGA 5. DDR 對 6. 數(shù)據(jù)采集接口 7.高速A/D轉(zhuǎn)換器 8.上位機 9. PC1-E的硬核執(zhí)行代碼 10. PC1-E內(nèi)部存儲空間 11. DMA寫模塊 12. DMA控制寄存器 13. PC1-E 終端控制模塊 14. PC1-E內(nèi)部存儲空間與DDR對狀態(tài)接口模塊。
      具體實施方式
      下面結合附圖和實施例對本發(fā)明作進一步描述。
      圖1為本發(fā)明的一種采集端啟動PC1-E總線DMA上傳數(shù)據(jù)的方法硬件結構框圖, 圖2為本發(fā)明的一種采集端啟動PC1-E總線DMA上傳數(shù)據(jù)的方法軟件結構框圖。
      本發(fā)明的采集端啟動PC1-E總線DMA上傳數(shù)據(jù)的方法包括硬件部分和軟件部分, 硬件部分含有PC機1、PC1-E接口 2、FPGA4、DDR對5、數(shù)據(jù)采集接口 6、高速A/D轉(zhuǎn)換器7,其 中FPGA4、DDR對5、數(shù)據(jù)采集接口 6、高速A/D轉(zhuǎn)換器7組成了數(shù)據(jù)采集系統(tǒng)的采集端3,PC 機I通過PC1-E接口 2與FPGA4相連,DDR對5通過FPGA4的IO 口與FPGA4相連,數(shù)據(jù)采集 接口 6通過IO 口與FPGA4相連,高速A/D轉(zhuǎn)換器7與數(shù)據(jù)采集接口 6連接,高速A/D轉(zhuǎn)換器 7采集輸入的信號,把這些采集的信號轉(zhuǎn)換成數(shù)字信號通過數(shù)據(jù)采集接口 6送給FPGA4,然 后FPGA4把這些數(shù)據(jù)經(jīng)過預處理等操作后送給DDR對5或FPGA內(nèi)部存儲空間10,然后又將 這些數(shù)據(jù)讀出送給PC機I ;軟件部分含有FPGA4內(nèi)部的軟件及PC機I中的上位機8,F(xiàn)PGA4 內(nèi)部的軟件包含PC1-E的硬核執(zhí)行代碼9、PC1-E內(nèi)部存儲空間10、DMA寫模塊11、DMA控制 寄存器12、PC1-E終端控制模塊13、PC1-E內(nèi)部存儲空間與DDR對狀態(tài)接口模塊14,PC1-E 的硬核執(zhí)行代碼9形成FPGA4內(nèi)部符合PC1-E總線技術指標的接口邏輯與協(xié)議,實現(xiàn)PC1-E 的通信,把采集到的數(shù)據(jù)利用PC1-E總線上傳給PC機I中的上位機8或把上位機8傳遞的 指令及數(shù)據(jù)發(fā)給FPGA4內(nèi)部的各個模塊,DMA寫模塊11連接著PC1-E內(nèi)部存儲空間10與 DMA控制寄存器12,PC1-E內(nèi)部存儲空間與DDR對狀態(tài)接口模塊14連接PC1-E內(nèi)部存儲空 間10或DDR對5的狀態(tài)寄存器,還連接到DMA控制寄存器12,從而PC1-E內(nèi)部存儲空間與 DDR對狀態(tài)接口模塊14讀取PC1-E內(nèi)部存儲空間10與DDR對5狀態(tài)寄存器的值,并把這個 值送給PC1-E終端控制模塊13,PC1-E終端控制模塊13根據(jù)PC1-E內(nèi)部存儲空間與DDR對 狀態(tài)接口模塊14的所送的值來控制DMA控制寄存器12,利用DMA控制寄存器12控制DMA 寫模塊11,從而控制PC1-E內(nèi)部存儲空間10或DDR對5把數(shù)據(jù)通過PC1-E總線上傳給PC 機I中的內(nèi)存空間,需要的時候直接讀取即可。
      如圖3所示,圖3為本發(fā)明的高速數(shù)據(jù)采集系統(tǒng)中采集端啟動PC1-E總線DMA上 傳數(shù)據(jù)的實現(xiàn)方法程序流程框圖,本發(fā)明所提供的高速數(shù)據(jù)采集系統(tǒng)中采集端啟動PC1-E 總線DMA上傳數(shù)據(jù)的實現(xiàn)方法包含如下幾步O先利用上位機8對高速數(shù)據(jù)采集系統(tǒng)中采集端3的控制值進行寫配置,即由上位 機8確定數(shù)據(jù)采集系統(tǒng)中采集的狀態(tài)并把這個狀態(tài)值送給PC1-E終端控制模塊13,確定對 PC1-E內(nèi)部存儲空間10還是對DDR對5進行狀態(tài)監(jiān)控(即讀取哪個存儲器的狀態(tài)值),確定 這些存儲空間是滿狀態(tài)進行上傳還是半滿上傳;2)上位機8啟動高速數(shù)據(jù)采集系統(tǒng)進行數(shù)據(jù)采集;3)在數(shù)據(jù)采集的過程中,利用PC1-E內(nèi)部存儲空間與DDR對狀態(tài)接口模塊14對PC1-E 內(nèi)部存儲空間10或者DDR對5的狀態(tài)進行監(jiān)控,并讀取狀態(tài)值;4)PC1-E內(nèi)部存儲空間與DDR對狀態(tài)接口模塊14把該實時讀取的狀態(tài)信息傳遞給 PC1-E終端控制模塊13,PC1-E終端控制模塊13判斷該狀態(tài)是否是達到DMA模式上傳數(shù)據(jù) 的狀態(tài),若是則寫相應的DMA模式上傳的寄存器值給DMA控制寄存器12,DMA控制寄存器12 控制DMA寫模塊11進而實現(xiàn)PC1-E內(nèi)部存儲空間10或者給DDR對5中的某個DDR數(shù)據(jù)利 用DMA模式上傳給PC機;5)此次DMA模式數(shù)據(jù)上傳完畢后,上傳一個結束標志給PC機I中上位機8任意指定的 內(nèi)存地址位置,該結束標志是一個32bit數(shù)據(jù);6)上位機8獲取該標志后對內(nèi)存中的數(shù)據(jù)進行讀??;7)如果上位機沒有給出結束命令則返回3),如果要從新設置狀態(tài)則返回I)。
      本發(fā)明中的FPGA4是指Xilinx公司或者Altera公司產(chǎn)品中具有PC1-E總線IP 核的FPGA,主要對PC1-E接口 2、DDR對5、數(shù)據(jù)采集接口 6、高速A/D轉(zhuǎn)換器7進行控制,同 時接收上位機8給出的命令。
      本發(fā)明中的PC機I 一般是指X86架構、具有存儲器、內(nèi)存等單元的主控系統(tǒng),可以 在該系統(tǒng)中對高速數(shù)據(jù)采集系統(tǒng)進行操作與處理。
      本發(fā)明中的PC1-E接口 2還包括電氣相同而物理結構不同的CPC1-E接口,一般是 四通道或者八通道,目前特指PC1-E1.0和PC1-E2. 0,總線頻率為1. 25GHz或者2. 5GHz。
      本發(fā)明中的DDR對5主要用來掛在FPGA4上,為二個或者四個或八個,對高速數(shù)據(jù) 采集系統(tǒng)多采集的數(shù)據(jù)進行快速存取,首先FPGA4要把采集的數(shù)據(jù)放入DDR對5或者PC1-E 內(nèi)部存儲空間10中進行緩存,然后再快速上傳,在快速存取的過程中,F(xiàn)PGA4中任意設置一 個內(nèi)部狀態(tài)寄存器,針對DDR對中的DDR的狀態(tài)進行描述,描述的實現(xiàn)方法可以對存儲的數(shù) 據(jù)個數(shù)進行計數(shù),根據(jù)計數(shù)個數(shù)來表示其狀態(tài)為空、半滿、滿。PC機I中的上位機8讀取 DDR對5中的數(shù)據(jù)時可以進行乒乓操作,來避免丟數(shù)等問題的出現(xiàn)。
      本發(fā)明中的數(shù)據(jù)采集接口 6主要指高速并行A/D接口,用來連接一個或者多個并 行接口的高速A/D轉(zhuǎn)換器7。
      本發(fā)明中的PC機I中的上位機8在VC平臺上采用C語言編寫而成。
      本發(fā)明中的PC1-E的硬核執(zhí)行代碼9是用來編譯產(chǎn)生FPGA與PC機進行數(shù)據(jù)交換 的PC1-E總線的,可以直接用FPGA中的IP Core產(chǎn)生。
      本發(fā)明中的PC1-E內(nèi)部存儲空間10是指FPGA4中為少數(shù)數(shù)據(jù)DMA傳輸所用的 FIFO,該FIFO的狀態(tài)接口對外接出,如半滿、空、滿等狀態(tài)都能讀出,用來作為采集數(shù)據(jù)的 緩存,等FIFO有一定數(shù)據(jù)后,再進行上傳。
      本發(fā)明中所述的PC1-E內(nèi)部存儲空間10或DDR對5的狀態(tài)寄存器可以隨便設置, 其值可以根據(jù)存入PC1-E內(nèi)部存儲空間10或DDR對5個數(shù)進行判定,舉例若PC1-E內(nèi)部 存儲空間10或DDR對5存儲空間為1024個16bit寬,此處狀態(tài)寄存器可以設置成3bit, 則存儲數(shù)據(jù)為O時為空,狀態(tài)寄存器可以為001,數(shù)據(jù)為512時為半滿,狀態(tài)寄存器可以為 010,為1023時為滿狀態(tài),狀態(tài)寄存器可以為100,此處的狀態(tài)寄存器可以根據(jù)實際的存儲 空間設置成任意模式的寄存器,只要能表達出各個狀態(tài)不一樣即可,在PC1-E終端控制模 塊13進行狀態(tài)判定時,只需要把上位機8首先給的狀態(tài)進行解析,最后解析成與此處狀態(tài) 寄存器的格式一樣即可,判斷時狀態(tài)寄存器的狀態(tài)與上位機8給出并解析過的狀態(tài)一樣, 則開始上傳,不同則默認。
      本發(fā)明中的DMA寫模塊11主要是利用該模塊控制PC1-E內(nèi)部存儲空間10或者 DDR對5中的某個DDR,控制其讀出時序,使其數(shù)據(jù)通過PC1-E輸出,送給PC機中的內(nèi)存中。
      本發(fā)明中的DMA控制寄存器12主要是用來驅(qū)動DMA寫模塊11的,從而產(chǎn)生進行 整個DMA傳輸,實現(xiàn)過程中只需要在DMA控制寄存器12填入PC1-E的IP Core需要的寄存 器值,然后DMA控制寄存器12啟動DMA寫模塊11,從而控制PC1-E內(nèi)部存儲空間10或者 DDR對5的讀信號控制有效。
      本發(fā)明中的PC1-E內(nèi)部存儲空間與DDR對狀態(tài)接口模塊14主要對PC1-E內(nèi)部存儲 空間10、DDR對5的狀態(tài)寄存器的值進行讀取,并把這些狀態(tài)送給PC1-E終端控制模塊13, 從而對DMA控制寄存器12進行控制。
      權利要求
      1.一種采集端啟動PC1-E總線DMA上傳數(shù)據(jù)的方法,包括硬件部分和控制軟件,硬件部分中的FPGA (4 )、DDR對(5 )、數(shù)據(jù)采集接口( 6 )、高速A/D轉(zhuǎn)換器(7 )組成了數(shù)據(jù)采集系統(tǒng)的采集端(3);PC機(I)通過PC1-E接口(2)與FPGA (4)相連,F(xiàn)PGA (4)通過IO 口分別與DDR對(5)、數(shù)據(jù)采集接口(6)相連,高速A/D轉(zhuǎn)換器(7)把采集到的信號轉(zhuǎn)換成數(shù)字信號,并通過數(shù)據(jù)采集接口(6)送給FPGA (4),在FPGA (4)里預處理后,這些數(shù)據(jù)存儲到DDR 對(5)或FPGA內(nèi)部存儲空間(10)里,存儲到一定數(shù)量后上傳給PC機(I);控制軟件含有FPGA (4)內(nèi)部軟件及PC機(I)中的上位機(8),F(xiàn)PGA (4)內(nèi)部軟件中的PC1-E硬核執(zhí)行代碼(9)實現(xiàn)PC1-E通信,把采集到的數(shù)據(jù)上傳給PC機(I)中的上位機(8)或把上位機⑶傳遞的指令及數(shù)據(jù)下發(fā)給FPGA (4);DMA寫模塊(11)分別與PC1-E內(nèi)部存儲空間(10)和DMA控制寄存器(12)連接,PC1-E內(nèi)部存儲空間與DDR對狀態(tài)接口模塊 (14)分別與PC1-E內(nèi)部存儲空間(10)或DDR對(5)的狀態(tài)寄存器、DMA控制寄存器(12) 連接,PC1-E內(nèi)部存儲空間與DDR對狀態(tài)接口模塊(14)讀取PC1-E內(nèi)部存儲空間(10)和 DDR對(5)狀態(tài)寄存器的值,并把這個值送給PC1-E終端控制模塊(13),PC1-E終端控制模塊(13)由這個值來控制DMA控制寄存器(12),利用DMA控制寄存器(12)控制DMA寫模塊(11),從而控制PC1-E內(nèi)部存儲空間(10)或DDR對(5)把數(shù)據(jù)通過PC1-E總線上傳給PC機 (O中的內(nèi)存空間。
      2.根據(jù)權利要求1所述的一種采集端啟動PC1-E總線DMA上傳數(shù)據(jù)的方法,其特征在于所述的采集端啟動DMA上傳數(shù)據(jù)的過程有如下步驟a)先利用上位機(8)對高速數(shù)據(jù)采集系統(tǒng)中采集端(3)的控制值進行寫配置;b)上位機(8)啟動高速數(shù)據(jù)采集系統(tǒng)進行數(shù)據(jù)采集;c)在數(shù)據(jù)采集的過程中,利用PC1-E內(nèi)部存儲空間與DDR對狀態(tài)接口模塊(14)對 PC1-E內(nèi)部存儲空間(10)或者DDR對(5)的狀態(tài)進行監(jiān)控,并讀取狀態(tài)值;d)PC1-E內(nèi)部存儲空間與DDR對狀態(tài)接口模塊(14)把該實時讀取的狀態(tài)信息傳遞給 PC1-E終端控制模塊(13),PC1-E終端控制模塊(13)判斷該狀態(tài)是否是達到DMA模式上傳數(shù)據(jù)的狀態(tài),若是則寫相應的DMA模式上傳的寄存器值給DMA控制寄存器(12),DMA控制寄存器(12)控制DMA寫模塊(11)進而實現(xiàn)PC1-E內(nèi)部存儲空間(10)或者給DDR對(5)中的某個DDR數(shù)據(jù)利用DMA模式上傳給PC機;e)此次DMA模式數(shù)據(jù)上傳完畢后,上傳一個結束標志給PC機(I)中上位機(8)任意指定的內(nèi)存地址位置,該結束標志是一個32bit數(shù)據(jù);f)上位機(8)獲取該標志后對內(nèi)存中的數(shù)據(jù)進行讀??;g)如果上位機沒有給出結束命令則返回C),如果要從新設置狀態(tài)則返回a)。
      3.根據(jù)權利要求1所述的一種采集端啟動PC1-E總線DMA上傳數(shù)據(jù)的方法,其特征在于所述的PC1-E內(nèi)部存儲空間(10)或DDR對(5)的狀態(tài)寄存器可以選擇設置,其設置值可以根據(jù)存入PC1-E內(nèi)部存儲空間(10)或DDR對(5)的個數(shù)進行判定,判斷該狀態(tài)寄存器的狀態(tài)與上位機(8)給出的狀態(tài)一樣,則開始上傳,不同則保持當前狀態(tài)。
      4.根據(jù)權利要求1所述的一種采集端啟動PC1-E總線DMA上傳數(shù)據(jù)的方法,其特征在于所述的DDR對(5)主要用來掛在FPGA (4)上,數(shù)量為兩個、四個或八個,PC機(I)中的上位機(8)讀取DDR對(5)中的數(shù)據(jù)時采用乒乓操作。
      全文摘要
      本發(fā)明提供了一種采集端啟動PCI-E總線DMA上傳數(shù)據(jù)的方法,包含硬件部分和軟件部分,硬件部分含有PC機、PCI-E接口,及由FPGA、DDR對、數(shù)據(jù)采集接口、高速A/D轉(zhuǎn)換器組成的采集端,采集端通過PCI-E接口與PC機相連,而采集端內(nèi)部各個組成部分協(xié)同工作進行數(shù)據(jù)的高速采集并完成數(shù)據(jù)的DMA高速上傳;軟件部分含有FPGA內(nèi)部的軟件及PC機中的上位機,F(xiàn)PGA內(nèi)部的軟件完成PCI-E總線的協(xié)議控制、時序控制,并設計了數(shù)據(jù)存儲的狀態(tài)監(jiān)控機制與采集端啟動DMA模式上傳數(shù)據(jù)的機制,通過對數(shù)據(jù)存儲狀態(tài)的監(jiān)控判斷是否滿足DMA上傳條件,若滿足則進行DMA上傳。本發(fā)明操作性強、避免了數(shù)據(jù)的空讀與誤讀、減輕了PC機的負載、減少了FPGA資源的利用。
      文檔編號G06F13/40GK103019990SQ20121040782
      公開日2013年4月3日 申請日期2012年10月24日 優(yōu)先權日2012年10月24日
      發(fā)明者嚴發(fā)寶, 陳剛, 張京, 陳先玉, 陳航, 周勇 申請人:綿陽市維博電子有限責任公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1