當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于PXI總線的數(shù)據(jù)傳輸接口設(shè)計(jì)與實(shí)現(xiàn)方案

使用PCI9054 提供的DMA 傳輸方式,并由其Local 端配置和啟動(dòng)DMA 傳輸來(lái)完成數(shù)字頻譜數(shù)據(jù)的傳輸,達(dá)到用PXI 總線實(shí)現(xiàn)數(shù)字頻譜分析儀與工控機(jī)的高速數(shù)據(jù)傳輸的目的。

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

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

  PXI 總線協(xié)議比較復(fù)雜, 工程應(yīng)用中一般采用兩種方式, 一是采用FPGA(FieldProgrammable Gata Array,現(xiàn)場(chǎng)可編程門(mén)陣列)來(lái)設(shè)計(jì)控制接口, 缺點(diǎn)是控制接口難度較大、開(kāi)發(fā)周期長(zhǎng)、成本大; 二是采用接口芯片, 將復(fù)雜的PXI 總線接口轉(zhuǎn)換為相對(duì)簡(jiǎn)單的用戶(hù)接口, 用戶(hù)只要設(shè)計(jì)轉(zhuǎn)換后的總線接口。本文采用PXI 總線專(zhuān)用接口芯片PCI9054 來(lái)實(shí)現(xiàn)PXI總線的數(shù)據(jù)傳輸。

  PCI9054 是PLX 公司提供的一款PCI 專(zhuān)用接口芯片,它兼容PCI V2.2 的協(xié)議規(guī)范。其內(nèi)部結(jié)構(gòu)圖如圖1 所示。由圖可知,PCI9054 實(shí)現(xiàn)的是PCI Bus 端和Local Bus端的信號(hào)轉(zhuǎn)換,使得Local Bus 端不需要進(jìn)行復(fù)雜的PCI 協(xié)議邏輯的設(shè)計(jì),只需要進(jìn)行簡(jiǎn)單的數(shù)據(jù)傳輸邏輯的設(shè)計(jì)就能實(shí)現(xiàn)符合PCI 協(xié)議規(guī)范的信號(hào)生成。

  傳輸方式、PCI Target 傳輸方式以及PCI DMA 傳輸方式。PCI Initiator 傳輸方式下,PCI9054 成為PCI Bus 端的主機(jī),同時(shí)是Local Bus 端的從機(jī),由Local Bus 端主動(dòng)發(fā)起數(shù)據(jù)傳輸,PCI9054 被動(dòng)后再主動(dòng)向PCI Bus 發(fā)起傳輸。PCI Target 傳輸方式下PCI9054 的角色剛好與PCI Initiator 方式相反,成為PCI Bus端的從機(jī)以及Local Bus端的主機(jī)。而在PCI DMA方式下PCI9054同時(shí)是PCI Bus端和Local Bus 端的主機(jī)。在PCI9054 內(nèi)部分別提供了這三種傳輸方式下的內(nèi)部寄存器,方便設(shè)計(jì)者來(lái)對(duì)每一種傳輸方式進(jìn)行配置。

  PCI9054 的本地端支持可編程的特點(diǎn),通過(guò)兩個(gè)模式選擇管腳MODE[1:0]來(lái)設(shè)置LocalBus 端分別工作在C 模式、J 模式、M 模式。這樣可以使得PCI9054 的Local Bus 可以?huà)燧d不同類(lèi)型的其他設(shè)備。

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

  2 接口電路設(shè)計(jì)

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

  PCI9054 芯片的正常工作電壓是3.3V,而在上位機(jī)的PXI 接口中,提供了三種電壓,3.3V、5V 和12V,因此PCI9054 的供電完全可以由上位機(jī)來(lái)提供。設(shè)計(jì)中,可以增加一個(gè)外部電壓的接入接口,方便開(kāi)發(fā)過(guò)程中的調(diào)試。

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

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

  

 

  圖 2 EEPROM 電路設(shè)計(jì)原理圖

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

  3 接口程序設(shè)計(jì)

  由于數(shù)據(jù)傳輸接口涉及到數(shù)字頻譜儀和上位機(jī),其程序設(shè)計(jì)也包括兩個(gè)部分:一部分是數(shù)字頻譜儀端的程序設(shè)計(jì),即PCI9054 Local 端的程序設(shè)計(jì),由于本項(xiàng)目中在PCI9054 的Local端掛載的是FPGA 芯片,需要在FPGA 中進(jìn)行Local 端的接口邏輯程序設(shè)計(jì);另一部分是上位機(jī)端的程序設(shè)計(jì),主要是基于操作系統(tǒng)的驅(qū)動(dòng)程序以及上層應(yīng)用程序設(shè)計(jì)。

  3.1 FPGA 程序設(shè)計(jì)

  FPGA 程序的設(shè)計(jì)主要是對(duì)PCI9054 的Local 端時(shí)序邏輯進(jìn)行設(shè)計(jì)。由圖2 可知,在PCI9054 內(nèi)部的Local 端存在三種傳輸方式狀態(tài)機(jī):PCI Initiator 方式、PCI Target 方式、PCIDMA 方式。因此,在對(duì)Local 端的控制進(jìn)行設(shè)計(jì)時(shí),可以用不同的狀態(tài)機(jī)來(lái)匹配PCI9054的內(nèi)部狀態(tài)機(jī),達(dá)到實(shí)現(xiàn)各種方式的數(shù)據(jù)傳輸。

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

  

 

  圖3 FPGA程序結(jié)構(gòu)圖

  上述 FPGA 程序中主要包括了兩個(gè)狀態(tài)機(jī)的設(shè)計(jì),一個(gè)PCI DMA 數(shù)據(jù)傳輸方式的狀態(tài)機(jī)設(shè)計(jì),一個(gè)是PCI 9054 內(nèi)部寄存器讀寫(xiě)操作的狀態(tài)機(jī)設(shè)計(jì)。它們的狀態(tài)轉(zhuǎn)移圖分別如圖4和圖5 所示。

  

[!--empirenews.page--]圖4 PCI DMA 數(shù)據(jù)傳輸狀態(tài)轉(zhuǎn)移圖

 

  圖 4 中,S0 為空閑狀態(tài);S1 若在PCI9054 對(duì)Local Bus 進(jìn)行寫(xiě)的操作中為數(shù)據(jù)接收狀態(tài),若在PCI9054 讀Local Bus 的操作中為數(shù)據(jù)準(zhǔn)備狀態(tài);S2 為PCI 9054 讀Local Bus 的操作中的數(shù)據(jù)發(fā)送狀態(tài);S3 為讀寫(xiě)操作的終止?fàn)顟B(tài)。圖中各狀態(tài)轉(zhuǎn)移觸發(fā)信號(hào)均為PCI 9054Local Bus 端的控制信號(hào)。

  

 

  圖 5 PCI 9054 內(nèi)部寄存器讀寫(xiě)操作的狀態(tài)轉(zhuǎn)移圖

  圖 5 中,S0為空閑狀態(tài),在讀寫(xiě)啟動(dòng)信號(hào)en_rwreg=1的情況下進(jìn)入工作狀態(tài);S1為讀寫(xiě)周期開(kāi)始狀態(tài),有效Local Bus 端的讀寫(xiě)周期開(kāi)始信號(hào);S2 為讀寫(xiě)周期等待狀態(tài),等待PCI9054 的LREADY#有效;S3 為突發(fā)讀寫(xiě)方式下的響應(yīng)狀態(tài),突發(fā)讀寫(xiě)方式下,PCI9054的LREADY#有效后,使能內(nèi)部邏輯進(jìn)行相應(yīng)的響應(yīng);S4 為讀寫(xiě)周期響應(yīng)狀態(tài),在非突發(fā)讀寫(xiě)方式下或者突發(fā)讀寫(xiě)的終止周期中的響應(yīng)狀態(tài)。

  在實(shí)現(xiàn)了上述兩個(gè)狀態(tài)機(jī)模塊后,F(xiàn)PGA的程序還需要包括對(duì)FFT處理器的輸出數(shù)據(jù)進(jìn)行數(shù)據(jù)幀封裝,即給每一次FFT 處理器根據(jù)相應(yīng)的配置參數(shù)進(jìn)行處理輸出的數(shù)據(jù)加上幀頭,幀頭中包含了此次傳輸?shù)腇FT 數(shù)據(jù)所覆蓋的頻段以及數(shù)據(jù)的長(zhǎng)度信息。這樣做的好處是上位機(jī)不需要額外的同步信息,只需要根據(jù)幀頭中的頻段信息以及長(zhǎng)度信息就可以判斷當(dāng)前數(shù)據(jù)幀所表示的頻譜信息。利用PCI9054 內(nèi)部寄存器中的MailBox 寄存器組來(lái)實(shí)現(xiàn)數(shù)字頻譜儀與上位機(jī)之間的參數(shù)傳遞。由于數(shù)字頻譜儀需要的參數(shù)信息比較少,只需要頻段選擇信息,以及開(kāi)始和結(jié)束數(shù)字頻譜儀的控制信號(hào),選擇MailBox 寄存器組中的第七個(gè)位寬為32 位的寄存器來(lái)傳遞控制信息。

  整個(gè) FPGA 程序的流程示意圖如圖6 所示。

  

 

  圖6 FPGA程序流程示意圖

  3.2 接口驅(qū)動(dòng)程序的設(shè)計(jì)

  接口驅(qū)動(dòng)程序的設(shè)計(jì)可以通過(guò)兩種方式實(shí)現(xiàn),一種是通過(guò)專(zhuān)用的驅(qū)動(dòng)程序開(kāi)發(fā)工具進(jìn)行驅(qū)動(dòng)程序的設(shè)計(jì),如DDK、DriverStudio 和WinDriver 等,另外一種方式是通過(guò)PLX 公司提供的PCI軟件工具包SDK(Software Development Kit)實(shí)現(xiàn)接口的驅(qū)動(dòng)設(shè)計(jì),它提供了能夠?qū)崿F(xiàn)各種傳輸方式所需要的基本API 函數(shù)。

  為了縮短開(kāi)發(fā)周期,本文采用由PLX 公司提供的SDK 工具包進(jìn)行驅(qū)動(dòng)程序的開(kāi)發(fā)。運(yùn)用其SDK 提供的工作API 函數(shù)實(shí)現(xiàn)Block DMA 模式下的Burst Forever(無(wú)限突發(fā))方式的數(shù)據(jù)傳輸。主要用到的函數(shù)如表1 所示。

  由于本系統(tǒng)的特殊應(yīng)用,還需要增加一些上層的應(yīng)用程序,才能實(shí)現(xiàn)整個(gè)數(shù)字頻譜儀數(shù)據(jù)的正常工作,主要包括數(shù)字頻譜儀的參數(shù)控制字的生成和寫(xiě)PCI9054 內(nèi)部寄存器MailBoxReg7,以及對(duì)接收的數(shù)據(jù)幀進(jìn)行解封裝的相關(guān)程序開(kāi)發(fā)。

  表1 Block DMA 模式下的SDK API 函數(shù)應(yīng)用列表

  

 

    本文使用了 PCI9054 的DMA傳輸方式,并且在Local端發(fā)起DMA傳輸,在上位機(jī)上采用中斷的形式進(jìn)行響應(yīng),可以減少占用上位機(jī)CPU 處理時(shí)間,使得上位機(jī)在進(jìn)行數(shù)據(jù)傳輸?shù)耐瑫r(shí)可以進(jìn)行其他的操作。PXI 接口加上PCI9054 的開(kāi)發(fā)模式,使得開(kāi)發(fā)周期縮短了很多,避免了復(fù)雜的PXI 總線協(xié)議的邏輯設(shè)計(jì)和驗(yàn)證工作。本系統(tǒng)采用的PXI 總線的傳輸位寬32 位,采用無(wú)限突發(fā)的傳輸方式,在數(shù)據(jù)傳輸周期中的數(shù)據(jù)傳輸速率為132MB/s,但是由于增加了額外的控制周期以及其他的一些控制邏輯,使得數(shù)據(jù)的平均傳輸速率并沒(méi)有達(dá)到這個(gè)值,但是完全可以匹配目前FFT 處理器的處理速率,可以保證數(shù)據(jù)傳輸的實(shí)時(shí)性。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉