《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于PCIe總線的衛(wèi)星導(dǎo)航信號傳輸系統(tǒng)設(shè)計
基于PCIe總線的衛(wèi)星導(dǎo)航信號傳輸系統(tǒng)設(shè)計
2015年電子技術(shù)應(yīng)用第6期
蔡曉暉1,鄭 植2,李 浩1
1.電子科技大學(xué) 電子科學(xué)技術(shù)研究院,四川 成都611731; 2.電子科技大學(xué) 通信與信息工程學(xué)院,四川 成都611731
摘要: 為了滿足高精度軟件接收機(jī)對衛(wèi)星導(dǎo)航中頻信號傳輸系統(tǒng)的新要求,設(shè)計了一種基于PCIe總線的傳輸系統(tǒng)。該系統(tǒng)以Virtex-5 FPGA為核心控制器件,以DMA方式通過4通道PCIe接口傳輸導(dǎo)航衛(wèi)星數(shù)據(jù)。詳細(xì)介紹傳輸系統(tǒng)AD模塊、DMA控制模塊、中斷模塊等核心模塊的FPGA實現(xiàn)方法。經(jīng)過測試與驗證,系統(tǒng)讀寫速率分別達(dá)到了800 MB/s和650 MB/s,可以滿足不同層次導(dǎo)航軟件接收機(jī)對原始導(dǎo)航數(shù)據(jù)的需求。
關(guān)鍵詞: 衛(wèi)星導(dǎo)航 FPGA PCIe DMA
中圖分類號: TN967;TP274
文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2015)06-0024-03
中文引用格式:蔡曉暉,鄭植,李浩.基于PCIe總線的衛(wèi)星導(dǎo)航信號傳輸系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2015,41(06):24-26+30.
Satellite navigation signal transmission system design based on PCIe bus
Cai Xiaohui1,Zheng Zhi2,Li Hao1
1.Research Institute of Electronic Science and Technology,University of Electronic Science and Technology of China, Chengdu 611731,China; 2.Institute Communication and Information Engineering,University of Electronic Science and Technology of China, Chengdu 611731,Chin
Abstract: In order to meet the new requirements on the signal transmission system of satellite navigation software receiver, a data transmission system which is based on the PCIe is designed. The system uses Virtex-5 FPGA as the core control device.The satellite navigation data can be transmitted by the 4 channel PCIe interface in the way of DMA. This paper details the transmission system of AD module,DMA control module, interrupt module of the FPGA realization method. After testing and verification, the speed of system can be reached 800 MB/s in write and 650 MB/s in read. The design can satisfy the demands of the different levels of software receiver in the data transmission.
Key words : satellite navigation;FPGA;PCIe;DMA

   

0 引言

    近年來,隨著軟件無線電技術(shù)的快速發(fā)展,GNSS軟件接收機(jī)因其高度的靈活性、通用性、開放性等優(yōu)點,成為GNSS接收機(jī)的發(fā)展主流[1]。GNSS數(shù)據(jù)傳輸系統(tǒng)作為軟件接收機(jī)的硬件部分,通過射頻接收、A/D轉(zhuǎn)換、數(shù)字采集與傳輸?shù)饶K為GNSS軟件接收機(jī)提供原始的觀察數(shù)據(jù),原始數(shù)據(jù)的質(zhì)量在一定程度上影響著軟件接收機(jī)對原始數(shù)據(jù)的要求。

    目前導(dǎo)航中頻信號的傳輸系統(tǒng)大都基于USB、PCI總線[2-3],采樣速率、數(shù)據(jù)傳輸速率都越來越無法滿足高性能軟件接收機(jī)的需求,PCIe作為第三代的高性能I/O串行總線,在總線帶寬、傳輸速率、靈活性等方面都有了較大的提升,根據(jù)實際系統(tǒng)的不同,它可以靈活配置成X1、X4、X8和X16通道,單通道在每個方向上的發(fā)送與接收速率可以達(dá)到2.5 Gb/s,可以滿足各種軟件接收機(jī)對原始導(dǎo)航數(shù)據(jù)的需求。

1 系統(tǒng)組成

    本文所設(shè)計的導(dǎo)航數(shù)字中頻信號傳輸系統(tǒng)由A/D模塊、Xilinx、PCIe IP硬核+PCIe-DMA控制模塊、數(shù)據(jù)緩存模塊組成,系統(tǒng)基本結(jié)構(gòu)如圖1所示。A/D模塊接收射頻前端產(chǎn)生的模擬中頻型號,對其進(jìn)行240 MS/s的采樣;FPGA完成A/D的控制邏輯及采樣后信號的數(shù)字處理,同時FPGA還產(chǎn)生PCIe硬核的DMA控制邏輯,將最終的導(dǎo)航數(shù)據(jù)通過PCIe接口傳輸?shù)缴衔粰C(jī)。

qrs4-t1.gif

2 系統(tǒng)關(guān)鍵模塊設(shè)計

2.1 A/D模塊設(shè)計

    模數(shù)轉(zhuǎn)換器(ADC)是采集系統(tǒng)的關(guān)鍵器件之一。系統(tǒng)采用AD9467實現(xiàn)數(shù)據(jù)轉(zhuǎn)換功能,AD9467是一款量化精度為16 bit、采樣時鐘頻率高達(dá)250 MHz的模數(shù)轉(zhuǎn)換器,具有優(yōu)異的性能。該模塊接收射頻前端模塊經(jīng)下變頻產(chǎn)生的模擬中頻信號,考慮到GNSS各頻段導(dǎo)航信號(包括GPS、GLONSS、GALILEO以及北斗)為大約210 MHz[4]的帶通信號(見表1)以及整數(shù)倍頻率抽取兩個因素,將A/D采樣頻率設(shè)置為240 MS/s,采樣后的數(shù)據(jù)經(jīng)過FPGA數(shù)字處理模塊后變成IQ數(shù)據(jù),采樣率變?yōu)?0 Mb/s,通過數(shù)據(jù)緩存,經(jīng)PCIe接口傳輸?shù)缴衔粰C(jī)。

qrs4-b1.gif

2.2 PCIe-DMA控制模塊設(shè)計

    本系統(tǒng)采用Xilinx公司的Virtex5-XC5VFX70T芯片,該芯片集成了PCIe硬核,實現(xiàn)了X4通道的PCIe接口。系統(tǒng)的DMA控制邏輯原理框圖如圖2所示,其主要包含PCIe配置空間接口設(shè)計、發(fā)送模塊、接收模塊以及中斷控制模塊。

qrs4-t2.gif

2.2.1 PCIE接口的配置空間

    PCI Express配置空間與驅(qū)動程序設(shè)計密切相關(guān),它是PCI Express傳輸卡與上位機(jī)的接口管理部分。配置寄存器空間用來與上位機(jī)進(jìn)行交流,上位機(jī)驅(qū)動程序主要通過這組寄存器對傳輸卡進(jìn)行控制。而FPGA端則根據(jù)上位機(jī)在配置寄存器中的具體參數(shù)來完成DMA傳輸。表2列出了這組寄存器的具體名稱及偏移地址。

qrs4-b2.gif

2.2.2 數(shù)據(jù)發(fā)送模塊

    在本設(shè)計中,發(fā)送數(shù)據(jù)模塊(TX_ENGING)接收經(jīng)A/D采樣、數(shù)字處理后的導(dǎo)航信號,根據(jù)上位機(jī)的DMA讀請求,將導(dǎo)航數(shù)據(jù)組織成相應(yīng)的TLP包[5]發(fā)送至上位機(jī)。其幀頭格式如圖3所示。

qrs4-t3.gif

    初始狀態(tài)下狀態(tài)機(jī)處于TX_RXT復(fù)位狀態(tài),如圖4所示,其有效轉(zhuǎn)換狀態(tài)可以概括為以下幾點:

qrs4-t4.gif

    (1)發(fā)送CPLD包:TX端帶數(shù)據(jù)的完成包主要響應(yīng)上位機(jī)對配置空間的讀請求,當(dāng)板卡RX端收到上位機(jī)的DMA讀請求后,會由開始狀態(tài)進(jìn)入發(fā)送CPLD包的狀態(tài),根據(jù)讀請求包中的地址信息,將配置空間對應(yīng)寄存器中數(shù)據(jù)返回給上位機(jī)。

    (2)發(fā)送存儲器寫數(shù)據(jù)包(MWR包):在配置寄存器中存儲著每次DMA寫操作的相關(guān)參數(shù),當(dāng)DMA寫開始后,TX端會根據(jù)上述寄存器參數(shù)來組織發(fā)送相應(yīng)的MWR包。

    (3)發(fā)送存儲器讀數(shù)據(jù)包(MRD包):該數(shù)據(jù)包用來讀取上位機(jī)的回傳數(shù)據(jù),當(dāng)DMA讀開始后,TX端會根據(jù)配置寄存器參數(shù)組織發(fā)送相應(yīng)的MRD包。

2.2.3 數(shù)據(jù)接收模塊

    接收端(RX_ENGING)接收上位機(jī)經(jīng)PCIe IP硬核傳輸過來的TLP包,其狀態(tài)機(jī)設(shè)計如圖5所示,可以大致分為以下幾種狀態(tài)跳轉(zhuǎn):

qrs4-t5.gif

    (1)接收完成包(CPLD包):當(dāng)TX端發(fā)出對上位機(jī)的讀請求后,RX端會收到上位機(jī)發(fā)出的CPLD完成包,其中包內(nèi)的數(shù)據(jù)即為所要讀取的PC端數(shù)據(jù),此時狀態(tài)機(jī)進(jìn)入CPLD狀態(tài),開始接收PC端的數(shù)據(jù)。

    (2)接收存儲器寫數(shù)據(jù)包(MWR包)和存儲器讀數(shù)據(jù)包(MRD包):PC端能夠讀寫板卡的范圍只能是配置空間的配置寄存器,并且每次讀寫只能是一個雙字。PC端通過讀寫B(tài)AR空間來實現(xiàn)板卡與上位機(jī)的“交流”,大致可以概括為以下兩點:

    ①對于DMA寫操作:PC端通過MWR包來設(shè)置相應(yīng)寄存器的值,主要包含:WriteDMATLPAddress、WriteDMATLPSize、WriteDMATLPCount、DCSR2、INT。通過MRD包來讀取相應(yīng)寄存器的值,在DMA寫過程中主要讀取DMA寫結(jié)束寄存器來判斷DMA寫是否結(jié)束。

    ②對于DMA讀操作:PC端通過MWR包來設(shè)置相應(yīng)寄存器的值,主要包含:ReadDMATLPAddress、ReadDMATLPSize、WriteDMATLPCount、DCSR2、INT。通過MRD包來讀取相應(yīng)寄存器的值,在DMA讀過程中主要讀取DMA讀結(jié)束寄存器來判斷DMA讀是否結(jié)束。

    其操作配置空間寄存器流程如圖6所示。

qrs4-t6.gif

2.2.4 中斷控制模塊

    中斷是為計算機(jī)處理緊急事件或非預(yù)測事件而設(shè)計的,也是PCIe傳輸系統(tǒng)設(shè)計的重要組成部分[6],優(yōu)良的中斷設(shè)計可以有效提高整個系統(tǒng)的性能。在Xilinx平臺中,發(fā)出中斷主要操作核的4個信號,其時序圖如圖7所示,cfg_interrupt_n為中斷信號,在整個中斷周期內(nèi)拉低兩次,第一次表示發(fā)出中斷,第二次表示清除中斷。

qrs4-t7.gif

    設(shè)置配置空間偏移地址0x50為中斷寄存器,其具體格式如表3所示。當(dāng)DMA讀或者寫完成后,F(xiàn)PGA發(fā)出相應(yīng)的讀寫完成中斷到上位機(jī),同時將中斷寄存器中的中斷有效位和讀/寫位置1,上位機(jī)驅(qū)動收到該中斷后,讀取BAR空間中斷寄存器的值,判斷中斷類型,進(jìn)入相應(yīng)中斷處理程序,此后FPGA端發(fā)出清除中斷信號,同時將中斷寄存器各位置0,當(dāng)上位機(jī)收到該信號后,跳出中斷控制程序,數(shù)據(jù)傳輸結(jié)束。

qrs4-b3.gif

3 實驗與測試

    數(shù)據(jù)采集傳輸卡設(shè)計完成后,在基于PCIe的總線的上位機(jī)上進(jìn)行測試,A/D端接入射頻前端的模擬中頻信號,經(jīng)數(shù)據(jù)處理、緩存后送入PCIe總線并傳入上位機(jī),F(xiàn)PGA程序使用Verilog語言編寫,在ISE開發(fā)環(huán)境進(jìn)行設(shè)計和測試,上位機(jī)驅(qū)動采用微軟的驅(qū)動開發(fā)環(huán)境WDF(Windows Driver Foundation)。系統(tǒng)集成后首先利用ISE ChipScope工具對硬件邏輯設(shè)計部分進(jìn)行驗證,圖8所示為一次導(dǎo)航數(shù)據(jù)DMA傳輸?shù)臅r序圖,為了便于觀察時序,設(shè)置一次傳輸DMA的包個數(shù)為100。時序分析可知,中斷控制信號cfg_interrupt_n在數(shù)據(jù)發(fā)送端口trn_td發(fā)送完數(shù)據(jù)包后,連續(xù)兩次有效,最終完成一次DMA的傳輸。

qrs4-t8.gif

    考慮到上位機(jī)對FPGA發(fā)出的PCIe的中斷處理需要一定時間,而這個時間在DMA傳輸數(shù)據(jù)量較小時對系統(tǒng)性能影響較大,因此在速度測試時參考了3個速度,分別是傳輸卡、設(shè)備驅(qū)動以及應(yīng)用程序,傳輸卡速度為PCIe傳輸接口上的總線速度,不考慮上位機(jī)的中斷響應(yīng)時間,測試結(jié)果如圖9、圖10所示。結(jié)果表明,在傳輸數(shù)據(jù)較小時由于上位機(jī)中斷處理所需時間,驅(qū)動層與應(yīng)用層讀寫速度較慢;當(dāng)傳輸數(shù)據(jù)逐漸增大后,三者傳輸速度趨于一致,DMA寫速度為800 MB/s,DMA讀速度為630 MB/s。

qrs4-t9.gif

qrs4-t10.gif

4 結(jié)論

    本文設(shè)計了一種基于Virtex-5 FPGA的4通道PCIe導(dǎo)航中頻信號傳輸系統(tǒng),經(jīng)過測試與驗證,該系統(tǒng)能夠滿足了高精度軟件接收機(jī)對導(dǎo)航原始數(shù)據(jù)的需求,與目前主流的基于USB、PCI總線的導(dǎo)航中頻信號傳輸系統(tǒng)相比,本系統(tǒng)在信號采集速率、傳輸速度方面都具有明顯的優(yōu)勢。同時該系統(tǒng)的設(shè)計方法也可以推廣到雷達(dá)、通信、圖像處理等高速數(shù)據(jù)傳輸領(lǐng)域。

參考文獻(xiàn)

[1] 謝鋼.GPS原理與接收機(jī)設(shè)計[M].北京:電子工業(yè)出版社,2009.

[2] 胡濱,王慶,嚴(yán)偉.基于USB和FPGA的GPS中頻信號采集平臺設(shè)計[J].艦船電子對抗,2009(9):63-66.

[3] 賈志宏,崔曉偉.室內(nèi)GPS的數(shù)字化采集設(shè)計[J].科學(xué)技術(shù)與工程,2012(9):7031-7034.

[4] 鄧仕海,姚錚.全頻段多系統(tǒng)全球?qū)Ш叫l(wèi)星系統(tǒng)數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)[J].科學(xué)技術(shù)與工程,2014(1):191-194.

[5] 候杭呈,王憶文,李輝.一種基于PCI Express總線的DMA高速傳輸系統(tǒng)[J].微電子學(xué),2013(6):383-386.

[6] 唐雷雷,賀占莊.PCI Express總線中消息中斷的研究[J].微電子學(xué)與計算機(jī),2013(7):137-140.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 久久精品国内一区二区三区| 人人妻久久人人澡人人爽人人精品| 久久精品国产四虎| 国内精品伊人久久久久网站| 一本大道在线无码一区| 日本xxxx裸体bbbb| 久久精品国产亚洲av电影| 欧美videos另类极品| 亚洲成人黄色网| 波多野结衣教师在线观看| 免费国产成人午夜在线观看| 经典三级四虎在线观看| 国产99久久久国产精品~~牛| 青青草原国产视频| 国产成人综合洲欧美在线| 色噜噜视频影院| 国产精品亚洲综合天堂夜夜| 44luba爱你啪| 国产精品视频在| 91色综合久久| 国内精品久久久久影院一蜜桃| 99精品无人区乱码在线观看| 女主调教贱女m视频| а√天堂资源官网在线8| 岳打开双腿让我进挺完整篇| 中文亚洲av片不卡在线观看| 无翼日本全彩漫画大全全彩| 久久久男人天堂| 日本特黄特色特爽大片老鸭| 久久精品久久久久观看99水蜜桃| 极品美女一级毛片免费| 亚洲人成无码www久久久| 欧美午夜性视频| 亚洲国产亚洲综合在线尤物| 欧美成年黄网站色视频| 亚洲天堂一区二区三区| 欧美成人免费午夜全| 亚洲国产成人精品久久| 欧美性猛交xxxxx按摩国内| 亚洲成a人片在线观看中文动漫 | 猫咪免费人成网站地址|