新聞中心

EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的LVDS高速數(shù)據(jù)通信卡設(shè)計(jì)

基于FPGA的LVDS高速數(shù)據(jù)通信卡設(shè)計(jì)

作者: 時(shí)間:2012-05-23 來(lái)源:網(wǎng)絡(luò) 收藏

1.4 內(nèi)部結(jié)構(gòu)
內(nèi)部結(jié)構(gòu)的邏輯是本板卡的核心部分,圖3所示為本系統(tǒng)內(nèi)部結(jié)構(gòu)框圖。

本文引用地址:http://m.butianyuan.cn/article/154880.htm

c.jpg


信號(hào)接收器接收外部的數(shù)據(jù)幀,檢出幀頭,并將幀數(shù)據(jù)傳送給雙口RAM進(jìn)行處理,一個(gè)數(shù)據(jù)幀包含32 bit的幀頭和256×32 bit的幀數(shù)據(jù)。接收的雙口RAM實(shí)現(xiàn)數(shù)據(jù)的乒乓存儲(chǔ),寫(xiě)數(shù)據(jù)的寬度為1 bit,讀數(shù)據(jù)的寬度為32 bit,以此來(lái)實(shí)現(xiàn)數(shù)據(jù)的串并轉(zhuǎn)換,同時(shí)實(shí)現(xiàn)數(shù)據(jù)時(shí)鐘域的轉(zhuǎn)換。接收數(shù)據(jù)控制模塊用于產(chǎn)生雙口RAM和SDRAM控制器的地址總線、數(shù)據(jù)總線和控制總線,實(shí)現(xiàn)各接收模塊聯(lián)合控制和數(shù)據(jù)轉(zhuǎn)移,同時(shí)它還負(fù)責(zé)從SDRAM控制器讀取數(shù)據(jù)送至FPGA內(nèi)的FIFO緩沖區(qū),用于PCI總線交互。
LVDS信號(hào)發(fā)送部分由LVDS發(fā)送數(shù)據(jù)控制、雙口RAM、FIFO緩沖、LVDS信號(hào)發(fā)送器和DDS控制器組成。LVDS發(fā)送數(shù)據(jù)控制用于產(chǎn)生各模塊的地址、數(shù)據(jù)和控制總線,實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)移和交互。雙口RAM實(shí)現(xiàn)并串轉(zhuǎn)換和乒乓存儲(chǔ)。LVDS信號(hào)發(fā)送器為數(shù)據(jù)幀添加包頭,并連同幀數(shù)據(jù)以AD98 51產(chǎn)生的發(fā)送頻率串行發(fā)送出去。
另外,SDRAM控制器是FPGA內(nèi)用于外部SDRAM控制的模塊,PCI本地總線控制器是FPGA內(nèi)用于控制PCI9054本地總線交互的模塊,DDS控制器是FPGA內(nèi)用于外部AD9851控制的模塊。PLL是Ahera FPGA內(nèi)提供的模擬延遲鎖相環(huán)模塊,可以實(shí)現(xiàn)系統(tǒng)時(shí)鐘的倍頻、分頻及延遲等時(shí)鐘控制操作。通過(guò)該模塊可以實(shí)現(xiàn)系統(tǒng)內(nèi)不同時(shí)鐘域的時(shí)鐘分配。

2 軟件設(shè)計(jì)
系統(tǒng)設(shè)備的驅(qū)動(dòng)程序采用Windows下的WDM(Windows Driver Model)驅(qū)動(dòng)程序。目前開(kāi)發(fā)WDM驅(qū)動(dòng)程序通常有3種工具,即Windows DDK、DriverStudio和WinDriver。由于DriverStudio包含完善的源代碼生成工具以及相應(yīng)的類庫(kù)和驅(qū)動(dòng)程序樣本,提供了在VC++下進(jìn)行驅(qū)動(dòng)程序開(kāi)發(fā)的支持,因此設(shè)計(jì)中使用DdverStudio來(lái)開(kāi)發(fā)WDM驅(qū)動(dòng)程序。
設(shè)計(jì)的上層應(yīng)用程序采用Microsoft Virtual Studio作為開(kāi)發(fā)平臺(tái),通過(guò)MFC設(shè)計(jì)了人機(jī)交互界面,主要用于完成接收數(shù)據(jù)顯示存儲(chǔ)、發(fā)送數(shù)據(jù)載入、發(fā)送頻率控制字以及PCI控制命令等功能。其程序面板如圖4所示。

d.jpg



3 結(jié)果測(cè)試
在Ahium Designer 2009平臺(tái)上進(jìn)行板卡硬件原理圖和PCB圖設(shè)計(jì),F(xiàn)PGA芯片采用Altera公司的EP1C6Q240C6,使用Quartus II 9.0開(kāi)發(fā)系統(tǒng)實(shí)現(xiàn)編程和仿真,完成對(duì)電路設(shè)計(jì)的功能仿真和時(shí)序仿真。
在Quartus II中進(jìn)行引腳分配并編譯完工程后,將設(shè)計(jì)文件下載到FPGA的配置芯片中。在硬件上將LVDS的發(fā)送端和接收端連接以實(shí)現(xiàn)自發(fā)自收。在PC機(jī)的應(yīng)用程序中設(shè)置發(fā)送頻率為50 MHz,然后點(diǎn)擊“發(fā)送頻率控制字”按鈕發(fā)送頻率控制字,載入從0開(kāi)始的連續(xù)累加數(shù)字,點(diǎn)擊“開(kāi)始發(fā)送”按鈕發(fā)送數(shù)據(jù),然后點(diǎn)擊“開(kāi)始接收”按鈕接收數(shù)據(jù)。從圖4所示的發(fā)送與接收數(shù)據(jù)顯示可以發(fā)現(xiàn),接收到的LVDS數(shù)據(jù)與發(fā)送的LVDS數(shù)據(jù)完全一致,系統(tǒng)的發(fā)送功能與接收功能符合設(shè)計(jì)要求。

4 結(jié)束語(yǔ)
介紹了基于FPGA和PCI9054的LVDS卡的設(shè)計(jì),通過(guò)FPGA實(shí)現(xiàn)了LVDS數(shù)據(jù)的接收發(fā)送控制、PCI9054實(shí)現(xiàn)了與上位機(jī)的數(shù)據(jù)交互,實(shí)現(xiàn)了10~200 Mbit·s-1速率的LVDS數(shù)據(jù)接收以及10~50 Mbit·s-1任意速率的LVDS數(shù)據(jù)發(fā)送。此板卡的設(shè)計(jì),可以有效地應(yīng)用于某遙測(cè)模擬信號(hào)源,并對(duì)待測(cè)設(shè)備的LVDS總線協(xié)議進(jìn)行全面測(cè)試。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉