《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于PXI總線的數據傳輸接口設計與實現方案[圖]
基于PXI總線的數據傳輸接口設計與實現方案[圖]
摘要: 本文采用PLX公司生產的PCI9054接口芯片以及符合PXI總線電氣化特性的物理連接器來實現PXI總線協議。使用PCI9054提供的DMA傳輸方式,并由其Local端配置和啟動DMA傳輸來完成數字頻譜數據的傳輸,達到用PXI總線實現數字頻譜分析儀與工控機的高速數據傳輸的目的。
Abstract:
Key words :
0 引言

隨著無線通信業務的飛速發展,頻譜資源顯得越來越缺乏,而實際中像廣播電視等頻段的頻譜利用率卻并不高,提高頻譜的利用率成為一種共識。認知無線電是一種按伺機方式充分利用頻譜的共享頻譜技術,因此可以用來提高頻譜利用率。快速準確的數字頻譜分析對認知無線電的頻譜感知有非常重要的影響。在認知無線電系統中,數字頻譜分析儀與下一級的處理模塊的數據傳輸速率是制約認知無線電系統處理速度的一個瓶頸,因此需要選擇一種高速穩定的數據傳輸接口技術。

本文利用PXI總線技術來實現數字頻譜分析儀與下一級處理模塊的數據傳輸接口。PXI是CompactPCI extend for Instrumentation的簡稱,即面向儀器系統的PCI擴展,由NI(美國國家儀器公司)于1997年10月率先推出。它將CompactPCI規范定義的PCI總線技術發展為適合于工業控制、測量、數據采集和試驗應用的電氣、機械和軟件規范,從而形成了新的虛擬儀器體系結構。PXI總線是一種高性能的32/64位地址數據復用總線,支持突發傳輸,是一種堅固的基于PC的測量和自動化平臺,它的數據傳輸速率的峰值于33MHz、32bit的總線上可達132MB/s;于66MHz、64bit的總線上則可高達528MB/s,遠高于GPIB(General-Purpose Interface Bus,通用接口總線)與VXI(VME bus eXtension for Instrumentation,面向儀器系統的VME總線的擴展)接口的傳輸速率。基于PCI總線發展而來的PXI系統具有較好兼容性、存取延時小、成本低等優點。PXI總線數據傳輸接口以其高傳輸速率和穩定可靠的傳輸性能得到了越來越廣泛的應用。

PXI總線協議比較復雜,工程應用中一般采用兩種方式,一是采用FPGA(FieldProgrammable Gata Array,現場可編程門陣列)來設計控制接口,缺點是控制接口難度較大、開發周期長、成本大;二是采用接口芯片,將復雜的PXI總線接口轉換為相對簡單的用戶接口,用戶只要設計轉換后的總線接口。本文采用PXI總線專用接口芯片PCI9054來實現PXI總線的數據傳輸。

1 PCI9054接口芯片

PCI9054是PLX公司提供的一款PCI專用接口芯片,它兼容PCI V2.2的協議規范。其內部結構圖如圖1所示。由圖可知,PCI9054實現的是PCI Bus端和Local Bus端的信號轉換,使得Local Bus端不需要進行復雜的PCI協議邏輯的設計,只需要進行簡單的數據傳輸邏輯的設計就能實現符合PCI協議規范的信號生成。

基于PXI總線的數據傳輸接口設計與實現方案
圖1 PCI9054內部結構示意圖

PCI9054內部狀態機給用戶提供了三種傳輸方式:PCI Initiator傳輸方式、PCI Target傳輸方式以及PCI DMA傳輸方式。PCI Initiator傳輸方式下,PCI9054成為PCI Bus端的主機,同時是Local Bus端的從機,由Local Bus端主動發起數據傳輸,PCI9054被動后再主動向PCI Bus發起傳輸。PCI Target傳輸方式下PCI9054的角色剛好與PCI Initiator方式相反,成為PCI Bus端的從機以及Local Bus端的主機。而在PCI DMA方式下PCI9054同時是PCI Bus端和Local Bus端的主機。在PCI9054內部分別提供了這三種傳輸方式下的內部寄存器,方便設計者來對每一種傳輸方式進行配置。

PCI9054的本地端支持可編程的特點,通過兩個模式選擇管腳MODE[1:0]來設置LocalBus端分別工作在C模式、J模式、M模式。這樣可以使得PCI9054的Local Bus可以掛載不同類型的其他設備。

PCI9054提供了兩個獨立的可編程DMA(Direct Memory Access,直接存儲器存取)控制器;每個通道均支持塊和分散/集中的DMA方式;在PCI總線端支持32位的數據位寬,時鐘速率達到33MHz;本地端可以編程實現8、16或32位的數據寬度;傳輸速率最高可達132MB/s;本地總線端時鐘最高可達50MHz支持復用/非復用的32位地址數據。

2 接口電路設計

PXI總線接口電路的設計主要是對PCI9054芯片的外圍電路進行設計,主要包括四個部分:電源方案的設計、時鐘方案的設計、EEPROM電路的設計,Local端的連線方案設計。

PCI9054芯片的正常工作電壓是3.3V,而在上位機的PXI接口中,提供了三種電壓,3.3V、5V和12V,因此PCI9054的供電完全可以由上位機來提供。設計中,可以增加一個外部電壓的接入接口,方便開發過程中的調試。

PCI9054芯片需要兩個工作時鐘,一個是PCI Bus端的工作時鐘,一個是Local Bus端的工作時鐘,這兩個工作時鐘是獨立的,均需要外部邏輯輸入。PCI Bus端的工作時鐘由上位機的PXI接口提供,主要在PCB(Printed Circuit Board,印刷電路板);布線的時候需要對該時鐘線進行蛇形走線處理。Local Bus端的工作時鐘由晶振提供,本方案中采用50MHz的晶振。

EEPROM電路的設計中需要注意EEDI和EEDO兩個管腳的連接,電路原理圖如圖2所示。注意在沒有掛載Local端的設備同時又沒有EEPROM時,EEDI和EEDO需要通過一個1KΩ的電阻拉低。設計中,往往需要加上一個EEPROM用來存儲對PCI9054芯片的內部寄存器的設置。這些設置在每次上電時自動進行加載,對PCI9054芯片的內部寄存器進行配置,使得每次上電后,PCI9054能按事先所配置的方式工作。因此,在設計電路完成之后還需要對EEPROM的內容進行設置,并通過PlxMon工具寫入。

基于PXI總線的數據傳輸接口設計與實現方案
圖2 EEPROM電路設計原理圖

在Local端的連線方案設計中,需要注意兩點:一是本地時鐘的接入,本地時鐘作為PCI9054識別Local端是否有設備的依據,若在EEPROM的EEDI和EEDO沒有下拉的情況下,一定要接入本地時鐘,不然連接上位機后,上位機進入不了系統。二是若需要用到PCI Initiator傳輸方式,則必須將LBE[3:0]#全部拉低,否則就會造成讀寫出現上位機死機現象。

3 接口程序設計

由于數據傳輸接口涉及到數字頻譜儀和上位機,其程序設計也包括兩個部分:一部分是數字頻譜儀端的程序設計,即PCI9054 Local端的程序設計,由于本項目中在PCI9054的Local端掛載的是FPGA芯片,需要在FPGA中進行Local端的接口邏輯程序設計;另一部分是上位機端的程序設計,主要是基于操作系統的驅動程序以及上層應用程序設計。

3.1 FPGA程序設計

FPGA程序的設計主要是對PCI9054的Local端時序邏輯進行設計。由圖2可知,在PCI9054內部的Local端存在三種傳輸方式狀態機:PCI Initiator方式、PCI Target方式、PCIDMA方式。因此,在對Local端的控制進行設計時,可以用不同的狀態機來匹配PCI9054的內部狀態機,達到實現各種方式的數據傳輸。

本文根據系統的特點,選擇使用PCI DMA的傳輸方式。在FPGA端的程序采用層次化和模塊化的設計,分為上下兩層結構:下層是鏈路層,實現PCI DMA方式下,長字(4Bytes)數據流的雙向傳輸鏈路的建立;上層是鏈路適配層,實現數字頻譜儀的數據按照一定的幀格式封轉成幀。PCI DMA方式的設置和啟動也在FPGA中完成,程序采用模塊化的設計方式,將數據傳輸模塊與控制模塊區分。在控制模塊中,分成三層:第一層是寄存器讀寫層,實現對PCI9054內部寄存器的讀寫操作;第二層是參數獲取與PCI DMA方式配置層,實現從PCI9054內部消息寄存器獲取數字頻譜儀的控制參數以及對PCI DMA方式進行配置與啟動控制;第三層是上層控制層,用來解析控制參數以及控制生成數據幀。整個程序結構圖如圖3所示。

基于PXI總線的數據傳輸接口設計與實現方案
圖3 FPGA程序結構圖

上述FPGA程序中主要包括了兩個狀態機的設計,一個PCI DMA數據傳輸方式的狀態機設計,一個是PCI 9054內部寄存器讀寫操作的狀態機設計。它們的狀態轉移圖分別如圖4和圖5所示。

基于PXI總線的數據傳輸接口設計與實現方案
圖4 PCI DMA數據傳輸狀態轉移圖

圖4中,S0為空閑狀態;S1若在PCI9054對Local Bus進行寫的操作中為數據接收狀態,若在PCI9054讀Local Bus的操作中為數據準備狀態;S2為PCI 9054讀Local Bus的操作中的數據發送狀態;S3為讀寫操作的終止狀態。圖中各狀態轉移觸發信號均為PCI 9054Local Bus端的控制信號。

基于PXI總線的數據傳輸接口設計與實現方案
圖5 PCI 9054內部寄存器讀寫操作的狀態轉移圖

圖5中,S0為空閑狀態,在讀寫啟動信號en_rwreg=1的情況下進入工作狀態;S1為讀寫周期開始狀態,有效Local Bus端的讀寫周期開始信號;S2為讀寫周期等待狀態,等待PCI9054的LREADY#有效;S3為突發讀寫方式下的響應狀態,突發讀寫方式下,PCI9054的LREADY#有效后,使能內部邏輯進行相應的響應;S4為讀寫周期響應狀態,在非突發讀寫方式下或者突發讀寫的終止周期中的響應狀態。

在實現了上述兩個狀態機模塊后,FPGA的程序還需要包括對FFT處理器的輸出數據進行數據幀封裝,即給每一次FFT處理器根據相應的配置參數進行處理輸出的數據加上幀頭,幀頭中包含了此次傳輸的FFT數據所覆蓋的頻段以及數據的長度信息。這樣做的好處是上位機不需要額外的同步信息,只需要根據幀頭中的頻段信息以及長度信息就可以判斷當前數據幀所表示的頻譜信息。利用PCI9054內部寄存器中的MailBox寄存器組來實現數字頻譜儀與上位機之間的參數傳遞。由于數字頻譜儀需要的參數信息比較少,只需要頻段選擇信息,以及開始和結束數字頻譜儀的控制信號,選擇MailBox寄存器組中的第七個位寬為32位的寄存器來傳遞控制信息。

整個FPGA程序的流程示意圖如圖6所示。

基于PXI總線的數據傳輸接口設計與實現方案
圖6 FPGA程序流程示意圖

3.2 接口驅動程序的設計

接口驅動程序的設計可以通過兩種方式實現,一種是通過專用的驅動程序開發工具進行驅動程序的設計,如DDK、DriverStudio和WinDriver等,另外一種方式是通過PLX公司提供的PCI軟件工具包SDK(Software Development Kit)實現接口的驅動設計,它提供了能夠實現各種傳輸方式所需要的基本API函數。

為了縮短開發周期,本文采用由PLX公司提供的SDK工具包進行驅動程序的開發。運用其SDK提供的工作API函數實現Block DMA模式下的Burst Forever(無限突發)方式的數據傳輸。主要用到的函數如表1所示。

由于本系統的特殊應用,還需要增加一些上層的應用程序,才能實現整個數字頻譜儀數據的正常工作,主要包括數字頻譜儀的參數控制字的生成和寫PCI9054內部寄存器MailBoxReg7,以及對接收的數據幀進行解封裝的相關程序開發。

表1 Block DMA模式下的SDK API函數應用列表
基于PXI總線的數據傳輸接口設計與實現方案

4 結論

本文使用了PCI9054的DMA傳輸方式,并且在Local端發起DMA傳輸,在上位機上采用中斷的形式進行響應,可以減少占用上位機CPU處理時間,使得上位機在進行數據傳輸的同時可以進行其他的操作。PXI接口加上PCI9054的開發模式,使得開發周期縮短了很多,避免了復雜的PXI總線協議的邏輯設計和驗證工作。本系統采用的PXI總線的傳輸位寬32位,采用無限突發的傳輸方式,在數據傳輸周期中的數據傳輸速率為132MB/s,但是由于增加了額外的控制周期以及其他的一些控制邏輯,使得數據的平均傳輸速率并沒有達到這個值,但是完全可以匹配目前FFT處理器的處理速率,可以保證數據傳輸的實時性。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
一区二区三区|亚洲午夜| 久久av资源网| 新狼窝色av性久久久久久| 日韩视频在线一区二区| 亚洲第一天堂av| 国产亚洲欧洲997久久综合| 国产欧美日韩一区二区三区在线 | 国产欧美一区二区精品性色 | 国产精品视频网站| 国产精品第一页第二页第三页| 欧美片在线观看| 欧美伦理视频网站| 欧美日本精品一区二区三区| 欧美日韩精品欧美日韩精品一 | 亚洲精品久久| 亚洲精品久久久久久久久久久| 亚洲国产成人不卡| 亚洲国产精品久久久久婷婷884| 欧美制服丝袜第一页| 久久超碰97中文字幕| 久久精品国产第一区二区三区最新章节| 午夜免费电影一区在线观看| 欧美在线三区| 久久精品论坛| 亚洲精品免费看| 一本久久精品一区二区| 国产精品99久久久久久久女警| 亚洲天天影视| 欧美在线看片a免费观看| 久久精品免费观看| 欧美+日本+国产+在线a∨观看| 欧美成年网站| 欧美日韩亚洲视频| 国产精品美女www爽爽爽| 国产日韩精品在线| 极品尤物久久久av免费看| 亚洲激情成人在线| 正在播放亚洲一区| 亚洲欧美日韩中文视频| 亚洲第一页在线| 亚洲最新在线| 欧美一级理论性理论a| 久久午夜精品一区二区| 欧美.www| 国产精品久久91| 国内成+人亚洲| 亚洲人在线视频| 亚洲免费中文| 91久久久亚洲精品| 亚洲伊人色欲综合网| 久久久亚洲人| 欧美日韩成人一区| 国产日韩欧美高清免费| 亚洲高清不卡在线观看| 亚洲视频在线一区观看| 久久精品国产999大香线蕉| 一区二区三区精品视频| 久久gogo国模裸体人体| 欧美大片在线观看| 国产精品色午夜在线观看| 激情偷拍久久| 一区二区三区国产在线观看| 欧美一区亚洲二区| 在线午夜精品自拍| 久久精品91久久香蕉加勒比| 欧美激情麻豆| 国产欧美日韩一级| 亚洲精品在线视频观看| 欧美制服丝袜| 亚洲一区二区黄色| 久久色中文字幕| 国产精品久久久久毛片软件| 亚洲电影在线| 午夜精品久久久久久久99热浪潮 | 先锋影音一区二区三区| 免费成人高清在线视频| 国产精品视频不卡| 最新国产成人在线观看| 亚洲欧美日韩在线| 亚洲视频一起| 欧美77777| 国产日本欧美一区二区三区在线| 91久久久国产精品| 久久精品99国产精品日本| 亚洲综合首页| 欧美电影免费观看高清| 国产一区二区高清不卡| 亚洲深夜影院| 99精品视频免费观看视频| 久久久91精品国产一区二区三区 | 一个色综合av| 日韩视频在线你懂得| 久久婷婷丁香| 国产三区精品| 亚洲一区二区视频| 中文精品视频一区二区在线观看| 毛片av中文字幕一区二区| 国产日韩精品在线观看| 亚洲视频每日更新| 夜夜嗨av色综合久久久综合网| 久久夜色撩人精品| 国产亚洲成精品久久| 亚洲午夜免费视频| 亚洲午夜精品久久久久久app| 欧美—级高清免费播放| 影音先锋日韩精品| 欧美在线free| 久久精品国产99精品国产亚洲性色| 国产精品www| 99riav1国产精品视频| 日韩午夜中文字幕| 欧美mv日韩mv国产网站app| 伊人久久婷婷| 亚洲国产免费| 麻豆精品网站| 亚洲国产精品成人一区二区| 亚洲黑丝一区二区| 欧美aa在线视频| 亚洲国产另类久久精品| 亚洲精品1区| 欧美国产精品日韩| 亚洲国产天堂久久综合网| 亚洲精品一区二区三区99| 欧美va亚洲va香蕉在线| 亚洲大胆av| 亚洲精品久久久久久下一站 | 亚洲精品一区中文| 一区二区三区精品视频在线观看| 欧美精品三区| 夜夜躁日日躁狠狠久久88av| 亚洲天堂第二页| 国产精品久久久久毛片软件| 亚洲一区二区不卡免费| 新67194成人永久网站| 国产精品一页| 久久精品一本| 免费欧美视频| 亚洲日本中文字幕区| 中日韩高清电影网| 国产精品美女久久久| 午夜久久美女| 美女图片一区二区| 亚洲免费成人av| 亚洲影视综合| 国产视频不卡| 久久精品一区蜜桃臀影院| 欧美成人免费小视频| 日韩一区二区精品视频| 亚洲欧美激情视频| 国产亚洲亚洲| 亚洲日本欧美日韩高观看| 欧美日韩福利在线观看| 亚洲一区二区久久| 久久久亚洲午夜电影| 亚洲国产精品久久人人爱蜜臀 | 欧美在线视频播放| 欧美丰满高潮xxxx喷水动漫| 亚洲国产精品999| 亚洲视频在线一区| 国产日韩精品一区二区浪潮av| 亚洲福利视频专区| 欧美日本精品| 亚洲欧美一区二区三区在线| 另类av一区二区| 亚洲美女中出| 久久精品视频网| 亚洲日本va午夜在线影院| 亚洲男人的天堂在线aⅴ视频| 国产亚洲网站| 夜夜爽99久久国产综合精品女不卡 | 久久av资源网站| 欧美日韩久久不卡| 久久9热精品视频| 欧美日韩成人在线观看| 亚洲欧美激情视频| 欧美国产第二页| 新67194成人永久网站| 欧美女同视频| 久久国产精品免费一区| 欧美日韩亚洲一区三区| 久久成人精品视频| 欧美日韩精品一区视频| 久久av一区二区| 国产精品免费一区二区三区在线观看 | 国产精品久久77777| 亚洲激情视频网站| 国产精品视频大全| 日韩亚洲欧美综合| 国产一区二区三区久久| 亚洲影音一区| 亚洲国内自拍| 久久国产欧美日韩精品| av72成人在线| 欧美电影免费网站| 欧美一级电影久久| 国产精品成人v| 99成人在线| 伊人天天综合| 久久国产成人| 亚洲一二三区精品|