《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 基于NI PCI Express數字I/O卡的高速數據傳輸實現
基于NI PCI Express數字I/O卡的高速數據傳輸實現
來源:微型機與應用2013年第3期
王 婧,王 榮,周 雪,易 鳴
(中國人民解放軍信息工程大學,河南 鄭州 450001)
摘要: 針對軟件無線電系統中數據實時處理和高速傳輸的要求,設計了一種基于NI PCI Express接口的高速數據傳輸方案。利用NI公司的數字I/O卡以及配套驅動開發軟件搭建開發平臺。信號調理設備和微機間的數據通過PCI Express接口以DMA方式進行傳輸。數字I/O卡的32通道雙向并行數據傳輸速率高達50 Mb/s。該方案實現了靈活的數據傳輸控制、精確的時鐘同步以及可靠的數據容錯功能。工程實踐驗證了該方案的有效性和可靠性。
Abstract:
Key words :

摘  要: 針對軟件無線電系統中數據實時處理和高速傳輸的要求,設計了一種基于NI PCI Express接口的高速數據傳輸方案。利用NI公司的數字I/O卡以及配套驅動開發軟件搭建開發平臺。信號調理設備和微機間的數據通過PCI Express接口以DMA方式進行傳輸。數字I/O卡的32通道雙向并行數據傳輸速率高達50 Mb/s。該方案實現了靈活的數據傳輸控制、精確的時鐘同步以及可靠的數據容錯功能。工程實踐驗證了該方案的有效性和可靠性。
關鍵詞: 數據采集;NI PCI Express;高速數據傳輸;DMA;實時處理

 軟件無線電系統只在天線到A/D轉換和D/A轉換環節的射頻段存在模擬信號,其中頻和基帶的處理全部采用數字邏輯運算實現,數據處理量大,實時性要求較高。某些情況下高速傳輸又是實時處理的前提,因此,軟件無線電實現的關鍵是需要有高速的數據處理與傳輸設備。為了將數據處理結果通過數據采集設備實時傳送給微機,信號調理設備和微機之間必須具有高速的互聯總線。作為第三代高性能I/O總線,PCI Express接口具有雙通道、高帶寬、傳輸快、低功耗以及傳輸可靠等優點,正逐漸取代原有PCI接口。PCI Express2.0標準實現了x1的單向速率5 Gb/s,因此PCI Express總線接口特別適合于高速的數據傳送。同時,現在絕大多數電腦可以使用直接內存訪問DMA(Direct Memory Access)傳送方式,它使用專門的硬件把數據直接傳送到計算機內存,從而提高了系統的數據吞吐量。采用這種方式后,處理器不需要控制數據的傳送,因此它就可以用來處理更復雜的工作。因此,基于PCI Express總線并采用DMA方式進行數據傳輸可以充分發揮PCI Express總線高速的優勢[1-2]。
 美國國家儀器NI(National Instruments)公司在信號調理和數據采集領域有著豐富的產品生產和設計經驗,已經成功為各行業的用戶提供了優秀的解決方案。其中基于PCI Express接口系列的數字I/O卡可以滿足高速數據傳輸的要求。作為某軟件無線電系統的子課題,本文基于該系列硬件和配套的軟件進行開發,實現了信號調理設備和微機之間進行實時高速數據傳輸的功能。實踐表明,該方案無論在數據傳輸還是實時控制方面都有較好的性能,對于搭建應用越來越廣泛的高速數據傳輸平臺具有一定的借鑒意義[3]。
1 NI PCIe-6537數字I/O卡簡介
 NI PCIe-6537是NI公司生產的一款高速數字I/O系列數據采集卡[4],具有32個可進行雙向并行數據傳輸的通道(Port0~Port3,每個Port由8個通道組成)和6個可編程函數接口PFI(Programmable Function Interface),即PFI0~PFI6,并行速率可達50 MHz;支持同步輸出,時鐘各項指標精度高,可以接受外部時鐘作為工作時鐘源;所有通道和接口具有獨立的ADC,保證了良好的動態性能;支持多種同步、異步握手模式,其中包含豐富的定時和事件觸發功能;板載2 048個32 bit基于FIFO的內存單元,可以作為信號調理設備和計算機之間進行DMA傳輸的高速緩存,并且具有錯誤檢測及自我恢復機制。該數字I/O卡可以實現高速的雙向數據傳輸,具有靈活的控制功能,并可以通過控制可編程函數接口保證數據傳輸的可靠性。板卡結構如圖1所示。

 隨著數據采集硬件、計算機和軟件復雜程度的增加,好的驅動軟件就顯得尤為重要。合適的驅動軟件可以最佳地結合靈活性和高性能,同時還能極大地降低開發數據采集程序所需的時間。NI公司為其數據采集卡開發了豐富的應用軟件和驅動。本方案采用NI專有的Measurement Studio開發軟件和DAQ驅動。為了讓用戶能開發出完整的數據采集和控制程序,NI提供了可以支持C、Visual C++、Visual Basic和C#調用驅動函數的應用軟件Measurement Studio。結合工程項目需要,本方案采用C#作為調用驅動函數的語言,同時使用HP DL180機架式服務器,以保證穩定、高效的數據傳輸和存取性能。
2 基于NI PCIe-6537數字I/O卡高速數據傳輸設計
 NI PCIe-6537數字I/O卡具有高速的數據傳輸能力,Measurement Studio和Visual Studio安裝融合之后的開發環境中包含了豐富的驅動函數,可以滿足實際工程各種應用需求。但是由于其內部封裝不可見,用戶必須使用專門的驅動函數進行設計。本方案分為數據采集部分和控制信號輸出部分的設計,功能實現程序以C#動態鏈接庫(DLL)的形式提供給項目主程序使用。圖2給出了數據采集和控制信號輸出流程圖,下面以此為基礎介紹本方案各部分功能的設計。

2.1 數據采集的主要功能及其設計方案
 本方案使用25 Mb/s的傳輸速率同時進行雙向數據傳輸,使用Port0、Port1和Port2 3個端口共計24條數據通道用來進行連續數據采集。為保證數據傳輸過程中的時鐘和數據精確同步,采用可編程函數接口PFI5接收外部時鐘作為板卡工作時鐘。下面首先對定時設置進行簡要說明。定時設置參數與工作模式和采樣長度有關,在初始化設備資源之前就要設置完畢。對于連續工作模式,采樣長度一般為計算機內存中緩沖區的大小,實際中取較大的值即可;對于有限采樣工作模式,采樣長度與當前傳輸數據長度有關,若下一次的采樣長度與當前采樣長度不同,就要重新設置定時參數。根據項目要求,設定調理設備每20 ms發一包數據,數據采集部分的定時參數相應設置為連續工作模式。每包數據到達的同時還有一個和包長度相同的握手信號(Pause Trigger)到達板卡,即以握手信號的有無和長短決定是否接收數據和接收數據的長度,這里用PFI1接收觸發信號。由于設置為連續工作模式,因此所有的參數只需設置一次,服務器程序即可對相應設備資源進行初始化,之后通過C#事件觸發的方式自動進入循環接收數據包的狀態,同時可以通過委托把數據包實時傳遞給主調函數。
 在對數據進行高速采集的同時,應考慮實際工作中不可預知的軟硬件錯誤。錯誤一般有兩種類型:一種是由微機未能及時從板卡FIFO中讀取數據造成FIFO溢出,從而造成數據包傳輸出錯;另一種情況是由于信號調理設備由眾多設備組成,如果其中某個環節發生傳輸延誤,導致某一包數據未能連續傳輸,進而造成FIFO采集不到完整的數據包。實際中經過反復測試發現,雖然錯誤的種類可能會比較多,但是對于服務器來說,錯誤檢測只能依賴于包頭數據檢測。因此,針對可能出現的軟硬件錯誤,制定解決方案如下:在數據包的固定位置插入一個標志數據,每一包數據接收完畢之后對標志數據進行檢測,如果標志數據正確,則可以認為當前數據包已正確接收;如果標志數據出錯,則立即清空FIFO,直到檢測結果正確為止。另外,由于數據傳輸速率較高,有效數據只占20 ms中的小部分時間,從而保證板卡FIFO有充足的時間自我清空。
2.2 發送控制信號方案設計
 為了控制信號調理設備,服務器還需要通過PCI Express卡發送控制信號給信號調理設備,本方案使用Port3的8條數據通道輸出控制信號,時鐘通過PFI4接口輸出給信號調理設備。由于控制信號只在必要的情況下發出,因此相應的定時參數設置為有限工作模式。設定控制信號精度為16 bit,并且不同控制信號有著不同功能。本方案使用Port3的高4位標識不同功能的控制信號,低4位傳輸控制信號,每個控制信號在4個時鐘周期內輸出給信號調理設備。與數據采集部分類似,板卡輸出控制信號時需要一個握手信號(Date Active Event),外部信號調理設備根據該握手信號決定是否接收控制信號以及信號長度。但與數據采集部分不同的是,由于控制部分為有限工作模式,每次發送控制信號均需要重新初始化設備資源,因此會造成一定的時延。實際測試發現,如果某段時間內發送控制信號過多或者過于頻繁,這種時延就會造成控制信號發送錯誤。經過反復試驗證明,每次控制信號發送完畢之后暫不釋放硬件資源,重新初始化時只需用一條語句重新設置定時參數,大大降低了時延并保證了控制信號輸出的可靠性。
3 高速數據傳輸方案實現和測試
 本文設計的高速數據傳輸方案為某軟件無線電系統的重要組成部分。因此,本文以該系統在實際當中的運行結果對設計方案進行測試,下面分別介紹測試平臺并說明測試結果。
3.1 高速數據傳輸方案測試平臺
 硬件平臺為HP DL180 機架式服務器、NI PCIe-6537數字I/O卡以及信號調理設備;操作系統為Windows Server 2003 R2(32 bit);軟件平臺為Visual Studio 2005.NET、Measurement Studio 2009和DAQ 9.1.7。
其中,Visual Studio和Measurement Studio版本必須一致,操作系統和DAQ驅動軟件的版本需要一致。并且由于驅動軟件的限制,Windows Server 2003操作系統下可用內存資源受到限制[5]。
3.2 高速數據傳輸方案實現結果

 


 系統數據采集和控制信號的傳輸速率均為25 Mb/s,數據循環采集的收包間隔時間為20 ms、包長為10 016、數據為32 bit整形數。圖3為軟件界面顯示的某時刻數據采集結果。其中,包循環號表示信號調理設備發送數據包的編號,收包計數表示數字I/O卡成功接收并驗證正確的數據包,計數差值正常情況下為上述兩個指標的差值,丟包計數為發生錯誤的數據包。數據接收結果顯示,該時刻已接收2 610包數據并且所有數據包均正確無誤。控制信號定為如下十六進制數:0x400D和0x400F,每個十六進制數在4個時鐘周期內發送完畢。在FPGA中,用SignalTap II觀察信號調理設備發送的數據,如圖4所示。其中,pc_clk、pc_control和pc_data分別為PCIe-6537輸出給FPGA的時鐘、握手信號和輸出信號。設備長期運行結果表明,本設計可以通過PCIe-6537實現FPGA與服務器之間穩定的高速數據傳輸。

 數據采集接口是計算機系統與外部數據聯系的一個橋梁,設計的關鍵是提高數據采集系統的速度和可靠性。本文以某軟件無線電系統的實際需求出發,充分利用PCI Express接口通過DMA傳輸方式實現了信號調理設備與服務器之間進行高速數據傳輸的功能。方案通過對NI PCIe-6537數字I/O卡性能的了解和挖掘,以及對驅動函數的合理調用,保證了數據傳輸的高效率和可靠性。實際應用中還可以根據工程需要實現更多的功能。同時,NI公司基于PCI Express接口的高速數據I/O卡在高速數據通信以及實時信號處理領域有著良好的應用前景,而本方案作為一個典型案例,對工程實踐人員有較好的參考價值。
參考文獻
[1] BUDRUK R, ANDERSON D, SHANLEY T. PCI Express系統體系結構標準教材[M].田玉敏,王崧,張波,等,譯.北京:電子工業出版社,2005.
[2] 許軍,李玉山.PCI Express總線技術研究[J].計算機工程與科學,2006,28(5):20~40.
[3] NI.數據采集技術文摘[EB/OL].http://sine.ni.com,2010-09-01.
[4] NI.PCI Express接口的50M數字I/O[EB/OL].http://sine.ni.com,2010-09-01.
[5] NI.NI-DAQmx Specifications[EB/OL].http://sine.ni.com,2010-09-01.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲日本精品国产第一区| 99精品久久久| 亚洲黄色大片| 亚洲国产精品激情在线观看| 蜜臀av国产精品久久久久| 久久福利视频导航| 在线国产精品播放| 欧美激情 亚洲a∨综合| 这里是久久伊人| 亚洲校园激情| 国语精品一区| 亚洲欧洲99久久| 欧美一区二区视频在线观看2020| 韩国精品一区二区三区| 国产伦精品一区二区三区| 久久阴道视频| 99riav国产精品| 亚洲一区二区综合| 一区二区三区精品久久久| 国产一区二区电影在线观看| 免费在线日韩av| 亚洲色诱最新| 一本色道久久88精品综合| 亚洲综合好骚| 1000部精品久久久久久久久| 欧美日韩午夜| 久久久久国产一区二区三区四区| 亚洲欧洲在线一区| 亚洲一区成人| 亚洲午夜国产成人av电影男同| 在线亚洲自拍| 亚洲欧美日本国产有色| 亚洲激情亚洲| 国产日韩视频一区二区三区| 欧美大色视频| 欧美一级理论片| 亚洲乱码国产乱码精品精天堂 | 在线日韩av片| 亚洲国产日韩欧美在线动漫| 亚洲美女视频网| 国产字幕视频一区二区| 黄色免费成人| 亚洲精品国久久99热| 韩国久久久久| 亚洲国产一区二区在线| 一区二区三区www| 午夜日本精品| 亚洲天堂偷拍| 亚洲欧洲一区| 一区二区三区精密机械公司| 新片速递亚洲合集欧美合集 | 亚洲精品1区2区| 中文av一区二区| 欧美专区福利在线| 日韩一级不卡| 久久精品国产视频| 香蕉av福利精品导航| 亚洲国产欧美日韩另类综合| 亚洲靠逼com| 亚欧美中日韩视频| 欧美国产乱视频| 国产免费观看久久黄| 亚洲福利视频一区| 亚洲影院免费| 日韩一级二级三级| 久久精品国产99国产精品澳门| 欧美高清视频在线| 国产精品视频第一区| 欧美日韩精品免费观看视频完整| 美女尤物久久精品| 国产精品swag| 欧美性色综合| 激情另类综合| 国产一区二区三区四区| 亚洲欧洲视频在线| 欧美亚洲综合另类| 亚洲一区三区视频在线观看| 一区二区三区**美女毛片| 最新热久久免费视频| 亚洲一区二区三区777| 久久综合成人精品亚洲另类欧美| 久久精品国亚洲| 欧美日韩国产一级片| 激情校园亚洲| 亚洲欧美一区二区三区极速播放| 亚洲美女精品久久| 久久久国产精品一区二区三区| 欧美视频精品在线观看| 国产精品国产一区二区| 国产精品99免视看9| 尤物99国产成人精品视频| 亚洲一区二区三区免费在线观看| 亚洲精品免费网站| 日韩午夜一区| 久久久噜噜噜久久中文字幕色伊伊 | 亚洲欧美美女| 亚洲欧美日韩中文视频| 欧美福利一区二区| 激情亚洲成人| 欧美自拍偷拍| 久久精品免费看| 国产毛片一区| 亚洲一区二区在线观看视频| 亚洲少妇一区| 欧美日韩精品国产| 亚洲区在线播放| 亚洲日韩欧美视频一区| 久久亚洲一区二区三区四区| 国产日韩欧美一区二区三区在线观看| 亚洲午夜激情网页| 亚洲一区二区不卡免费| 欧美亚洲日本国产| 国产精品国产a级| 99热这里只有成人精品国产| 亚洲精品偷拍| 欧美极品影院| 欧美视频一区二区三区四区| 亚洲国产精品久久久久婷婷老年 | 午夜精品电影| 国产精品久久久久久亚洲调教| 国产欧美精品日韩| 国内偷自视频区视频综合| 午夜精品www| 欧美亚洲专区| 国产精品一卡二| 亚洲欧美经典视频| 久久不射2019中文字幕| 欧美不卡高清| 亚洲丁香婷深爱综合| 亚洲人久久久| 欧美精品黄色| 亚洲精品小视频| 中文一区字幕| 国产精品一区免费观看| 午夜国产精品视频免费体验区| 欧美一级免费视频| 国内外成人在线视频| 亚洲高清在线精品| 亚洲在线网站| 欧美午夜视频网站| 亚洲欧美精品| 久久综合成人精品亚洲另类欧美| 亚洲国产成人porn| 一区二区三区蜜桃网| 国产精品久久久久久久7电影 | 欧美黄色成人网| 一本色道久久综合亚洲精品婷婷| 欧美一区二区三区四区在线观看地址| 欧美一区国产一区| 韩国久久久久| 999亚洲国产精| 国产精品美女诱惑| 欧美在线亚洲一区| 欧美精品久久99久久在免费线| 一本一本久久a久久精品牛牛影视| 午夜视频久久久| 国内不卡一区二区三区| 亚洲人成网站777色婷婷| 欧美日韩色综合| 香蕉av777xxx色综合一区| 美日韩在线观看| 99视频精品| 欧美主播一区二区三区| 在线观看亚洲| 亚洲欧美国产视频| 精东粉嫩av免费一区二区三区| 一本久道久久综合狠狠爱| 国产精品一级二级三级| 亚洲精品久久久久久久久| 国产精品久久91| 久久精品色图| 久久精品一本久久99精品| 亚洲电影在线免费观看| 亚洲欧美日韩一区二区三区在线观看 | 亚洲国产精彩中文乱码av在线播放| 亚洲视频精品在线| 国产亚洲精品bt天堂精选| 亚洲精品午夜精品| 国产精品一二三| 亚洲精品欧美极品| 国产噜噜噜噜噜久久久久久久久| 最近看过的日韩成人| 国产精品青草综合久久久久99| 久久狠狠婷婷| 国产精品高潮呻吟久久av无限| 亚洲国产精品美女| 国产精品麻豆成人av电影艾秋| 亚洲福利视频一区二区| 国产精品嫩草99a| 亚洲精品一区二区三区99| 国产精品一区在线观看你懂的| 亚洲乱码国产乱码精品精天堂| 国产热re99久久6国产精品| 在线视频亚洲一区| 在线电影一区| 久久精品国产在热久久| 亚洲视频电影在线| 欧美高清一区二区| 亚洲电影激情视频网站| 国产精品自拍网站|