《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于PCIe總線的衛星導航信號傳輸系統設計
基于PCIe總線的衛星導航信號傳輸系統設計
2015年電子技術應用第6期
蔡曉暉1,鄭 植2,李 浩1
1.電子科技大學 電子科學技術研究院,四川 成都611731; 2.電子科技大學 通信與信息工程學院,四川 成都611731
摘要: 為了滿足高精度軟件接收機對衛星導航中頻信號傳輸系統的新要求,設計了一種基于PCIe總線的傳輸系統。該系統以Virtex-5 FPGA為核心控制器件,以DMA方式通過4通道PCIe接口傳輸導航衛星數據。詳細介紹傳輸系統AD模塊、DMA控制模塊、中斷模塊等核心模塊的FPGA實現方法。經過測試與驗證,系統讀寫速率分別達到了800 MB/s和650 MB/s,可以滿足不同層次導航軟件接收機對原始導航數據的需求。
關鍵詞: 衛星導航 FPGA PCIe DMA
中圖分類號: TN967;TP274
文獻標識碼: A
文章編號: 0258-7998(2015)06-0024-03
中文引用格式:蔡曉暉,鄭植,李浩.基于PCIe總線的衛星導航信號傳輸系統設計[J].電子技術應用,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 引言

    近年來,隨著軟件無線電技術的快速發展,GNSS軟件接收機因其高度的靈活性、通用性、開放性等優點,成為GNSS接收機的發展主流[1]。GNSS數據傳輸系統作為軟件接收機的硬件部分,通過射頻接收、A/D轉換、數字采集與傳輸等模塊為GNSS軟件接收機提供原始的觀察數據,原始數據的質量在一定程度上影響著軟件接收機對原始數據的要求。

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

1 系統組成

    本文所設計的導航數字中頻信號傳輸系統由A/D模塊、Xilinx、PCIe IP硬核+PCIe-DMA控制模塊、數據緩存模塊組成,系統基本結構如圖1所示。A/D模塊接收射頻前端產生的模擬中頻型號,對其進行240 MS/s的采樣;FPGA完成A/D的控制邏輯及采樣后信號的數字處理,同時FPGA還產生PCIe硬核的DMA控制邏輯,將最終的導航數據通過PCIe接口傳輸到上位機。

qrs4-t1.gif

2 系統關鍵模塊設計

2.1 A/D模塊設計

    模數轉換器(ADC)是采集系統的關鍵器件之一。系統采用AD9467實現數據轉換功能,AD9467是一款量化精度為16 bit、采樣時鐘頻率高達250 MHz的模數轉換器,具有優異的性能。該模塊接收射頻前端模塊經下變頻產生的模擬中頻信號,考慮到GNSS各頻段導航信號(包括GPS、GLONSS、GALILEO以及北斗)為大約210 MHz[4]的帶通信號(見表1)以及整數倍頻率抽取兩個因素,將A/D采樣頻率設置為240 MS/s,采樣后的數據經過FPGA數字處理模塊后變成IQ數據,采樣率變為20 Mb/s,通過數據緩存,經PCIe接口傳輸到上位機。

qrs4-b1.gif

2.2 PCIe-DMA控制模塊設計

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

qrs4-t2.gif

2.2.1 PCIE接口的配置空間

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

qrs4-b2.gif

2.2.2 數據發送模塊

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

qrs4-t3.gif

    初始狀態下狀態機處于TX_RXT復位狀態,如圖4所示,其有效轉換狀態可以概括為以下幾點:

qrs4-t4.gif

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

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

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

2.2.3 數據接收模塊

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

qrs4-t5.gif

    (1)接收完成包(CPLD包):當TX端發出對上位機的讀請求后,RX端會收到上位機發出的CPLD完成包,其中包內的數據即為所要讀取的PC端數據,此時狀態機進入CPLD狀態,開始接收PC端的數據。

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

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

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

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

qrs4-t6.gif

2.2.4 中斷控制模塊

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

qrs4-t7.gif

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

qrs4-b3.gif

3 實驗與測試

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

qrs4-t8.gif

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

qrs4-t9.gif

qrs4-t10.gif

4 結論

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

參考文獻

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

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

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

[4] 鄧仕海,姚錚.全頻段多系統全球導航衛星系統數據采集系統的設計與實現[J].科學技術與工程,2014(1):191-194.

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

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

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 青春草在线 | 丝袜国产在线 | 男男1v1高h猛烈做哭bl强制 | www.av一区 | 欧美性猛片xxxxⅹ免费 | 国产国产成人精品久久 | 免费人成在线蜜桃视频 | 国内一级野外a一级毛片 | 海天翼精品一区二区三区 | 97人人人人 | 精品在线免费观看视频 | 黄色免费网站视频 | 神马啪啪| 日韩高清一区二区三区不卡 | 大学生一级毛片全黄真人 | 天天操天天射天天 | 男女爱视频免费高清在线观看 | 欧美成人免费一区在线播放 | 免费亚洲视频 | 人人澡人人透人人爽 | 久草干| 中文黄色片 | 动漫精品一级毛片动漫 | 成人影院高清在线观看免费网站 | 国精品日韩欧美一区二区三区 | 中国一级特黄特色真人毛片 | 人人爱天天做夜夜爽 | 欧美亚洲综合另类成人 | 成人免费视频在线观看 | 亚洲日韩视频免费观看 | 免费欧美黄色 | 国产欧美日韩一区 | 蝌蚪网在线观看 | 久久99精品久久久久久欧洲站 | 免费在线日韩 | 19国产精品麻豆免费观看 | 一本大道香蕉高清视频在线 | 日日夜夜天天人人 | 日韩视频免费在线 | 中文字幕第8页 | 蜜桃丶麻豆91制片厂 |