基于FPGA的總線型LVDS通信系統(tǒng)設(shè)計
發(fā)布時間:2008/5/26 0:00:00 訪問次數(shù):710
關(guān)鍵詞:blvds fpga 串化 解串 高速通信低壓差分信號lvds(low voltage differential signal)是由ansi/tia/eia-644-1995定義的用于高速數(shù)據(jù)傳輸?shù)奈锢韺咏涌跇?biāo)準(zhǔn)。它具有超高速(1.4gb/s)、低功耗及低電磁輻射的特性,是在銅介質(zhì)上實現(xiàn)千兆位級高速通信的優(yōu)先方案;可用于服務(wù)器、可堆壘集線器、無線基站、atm交換機及高分辨率顯示等等,也可用于通信系統(tǒng)的設(shè)計。blvds(bus lvds)是lvds技術(shù)在多點通信領(lǐng)域的擴展,要求附加總線仲裁設(shè)計、更大的驅(qū)動電流(10ma)和更好的阻抗匹配設(shè)計。
通常是lvds電路設(shè)計使用各種專用芯片,如美國國家半導(dǎo)體公司的ds92lv16等。我們用fpga芯片自行設(shè)計blvds內(nèi)核及擴展部分。相比之下,使用fpga可大幅減少芯片數(shù)量,降低成本,提高系統(tǒng)可靠性,同時具有更大的靈活性和向后兼容性。由于目前尚無實用的16位vlvds收發(fā)器芯片問世,本設(shè)計也填補了專用芯片(asic)的空白。
我們最終選了xilinx公司的xcv50e。此芯片屬于virtex-e系列,具有如下特性:
*0.18nm 6層金屬工藝,具有5.8萬個系統(tǒng)門;
*使用1.8v核心電壓,低功耗設(shè)計;
*130mhz同部時鐘;
*64kb的同步塊同存(blockram),可實現(xiàn)真正的雙口操作;
*支持包括lvds、blvds在內(nèi)的20種高性能接口標(biāo)準(zhǔn);
*8個全數(shù)字的延遲鎖定環(huán)dll(delay locked loops),具有時鐘移相和乘除功能;
*支持ieee 1149.1邊界掃描標(biāo)準(zhǔn),具有基于sram的在系統(tǒng)配置功能。
我們使用xilinx foudation f3.1i軟件開發(fā)xcv50e芯片。設(shè)計流程為:首先用編寫vhdl語言程序、繪制原理圖或設(shè)計狀態(tài)機的方法生成網(wǎng)絡(luò)表,功能仿真正確后,經(jīng)過翻譯、映射、放置和布線、時序優(yōu)化及配置過程,生成比特流文件。然后,進行時序仿真,仿真通過后下載到prom中。(我們用了xilinx公司的xc18v01。)
1 結(jié)構(gòu)及工作過程
1.1 系統(tǒng)結(jié)構(gòu)和fpga結(jié)構(gòu)
本通信系統(tǒng)由背板和若干通信子卡組成。背板并更有8個插槽,并布有blvds總線和其它控制、地址總線。通信子卡由ep7211芯片(負責(zé)數(shù)據(jù)處理)、xcv50e及dram、prom等外圍芯片和元件組成,系統(tǒng)結(jié)構(gòu)如圖1所示。
設(shè)計完成后的xcv50e由控制部分、發(fā)送fifo、幀編碼器、串化器、解串器、幀***、數(shù)據(jù)檢出器、接收fifo、時鐘倍頻器及輸入輸出單元等部分組成,結(jié)構(gòu)如圖2所示。
1.2 工作過程
在發(fā)送子卡中,ep7211將待發(fā)數(shù)據(jù)整理成多個長255字,字寬16位的數(shù)據(jù)幀,發(fā)至fpga內(nèi)的發(fā)送fifo中。該fpga得到總線控制權(quán)后,即發(fā)送同步幀(由同步字與填充字組成),待被尋址的接收子卡實現(xiàn)與自己的同步后,再發(fā)送數(shù)據(jù)幀。各幀數(shù)據(jù)經(jīng)串化器轉(zhuǎn)化為兩對差分信號,并從中獲得同步信息并實現(xiàn)同步,繼而檢出有效數(shù)據(jù),寫入接收fifo,同時以快中斷(fiq)通知ep7211。
2 軟件設(shè)計
2.1 ep7211程序設(shè)計
通信子卡內(nèi)的ep7211為系統(tǒng)級芯片,用來預(yù)處理和接收數(shù)據(jù)。ep7211的內(nèi)核為arm7tdmi,使用32位精簡指令。發(fā)送數(shù)據(jù)的流程如圖3所示。接收較簡單,只需在快中斷(fiq)服務(wù)程序中寫入接收fifo的讀取代碼即可。
2.2 fpga設(shè)計
fpga的設(shè)計中,發(fā)送及接收fifo的設(shè)計用了雙口快內(nèi)存(block ram),時鐘倍頻器用了延遲鎖定環(huán)(dll)。幀***由30位并行數(shù)據(jù)產(chǎn)生器、同步字檢測陣列和接收狀態(tài)機組成。以下重點介紹幀編碼器和串化器的設(shè)計。
(1)幀編碼器的vhdl語言設(shè)計
幀編碼器包括一個長為256的計數(shù)器和一個四狀態(tài)的單熱點狀態(tài)機,用以產(chǎn)生同步幀和數(shù)據(jù)幀。部分代碼如下:
process(reset,clk) //產(chǎn)生長256的計數(shù)器
if reset='1'then count<=0;
elsif clk'event and clk='1' then count<=(count+1)mod 256;
end process;
tc<='1'when count=255 else '0';
type state_type is(idle,pack1,pack2,transmit);
siganl sreg:setat_type;
rpocess(clk,r
關(guān)鍵詞:blvds fpga 串化 解串 高速通信低壓差分信號lvds(low voltage differential signal)是由ansi/tia/eia-644-1995定義的用于高速數(shù)據(jù)傳輸?shù)奈锢韺咏涌跇?biāo)準(zhǔn)。它具有超高速(1.4gb/s)、低功耗及低電磁輻射的特性,是在銅介質(zhì)上實現(xiàn)千兆位級高速通信的優(yōu)先方案;可用于服務(wù)器、可堆壘集線器、無線基站、atm交換機及高分辨率顯示等等,也可用于通信系統(tǒng)的設(shè)計。blvds(bus lvds)是lvds技術(shù)在多點通信領(lǐng)域的擴展,要求附加總線仲裁設(shè)計、更大的驅(qū)動電流(10ma)和更好的阻抗匹配設(shè)計。
通常是lvds電路設(shè)計使用各種專用芯片,如美國國家半導(dǎo)體公司的ds92lv16等。我們用fpga芯片自行設(shè)計blvds內(nèi)核及擴展部分。相比之下,使用fpga可大幅減少芯片數(shù)量,降低成本,提高系統(tǒng)可靠性,同時具有更大的靈活性和向后兼容性。由于目前尚無實用的16位vlvds收發(fā)器芯片問世,本設(shè)計也填補了專用芯片(asic)的空白。
我們最終選了xilinx公司的xcv50e。此芯片屬于virtex-e系列,具有如下特性:
*0.18nm 6層金屬工藝,具有5.8萬個系統(tǒng)門;
*使用1.8v核心電壓,低功耗設(shè)計;
*130mhz同部時鐘;
*64kb的同步塊同存(blockram),可實現(xiàn)真正的雙口操作;
*支持包括lvds、blvds在內(nèi)的20種高性能接口標(biāo)準(zhǔn);
*8個全數(shù)字的延遲鎖定環(huán)dll(delay locked loops),具有時鐘移相和乘除功能;
*支持ieee 1149.1邊界掃描標(biāo)準(zhǔn),具有基于sram的在系統(tǒng)配置功能。
我們使用xilinx foudation f3.1i軟件開發(fā)xcv50e芯片。設(shè)計流程為:首先用編寫vhdl語言程序、繪制原理圖或設(shè)計狀態(tài)機的方法生成網(wǎng)絡(luò)表,功能仿真正確后,經(jīng)過翻譯、映射、放置和布線、時序優(yōu)化及配置過程,生成比特流文件。然后,進行時序仿真,仿真通過后下載到prom中。(我們用了xilinx公司的xc18v01。)
1 結(jié)構(gòu)及工作過程
1.1 系統(tǒng)結(jié)構(gòu)和fpga結(jié)構(gòu)
本通信系統(tǒng)由背板和若干通信子卡組成。背板并更有8個插槽,并布有blvds總線和其它控制、地址總線。通信子卡由ep7211芯片(負責(zé)數(shù)據(jù)處理)、xcv50e及dram、prom等外圍芯片和元件組成,系統(tǒng)結(jié)構(gòu)如圖1所示。
設(shè)計完成后的xcv50e由控制部分、發(fā)送fifo、幀編碼器、串化器、解串器、幀***、數(shù)據(jù)檢出器、接收fifo、時鐘倍頻器及輸入輸出單元等部分組成,結(jié)構(gòu)如圖2所示。
1.2 工作過程
在發(fā)送子卡中,ep7211將待發(fā)數(shù)據(jù)整理成多個長255字,字寬16位的數(shù)據(jù)幀,發(fā)至fpga內(nèi)的發(fā)送fifo中。該fpga得到總線控制權(quán)后,即發(fā)送同步幀(由同步字與填充字組成),待被尋址的接收子卡實現(xiàn)與自己的同步后,再發(fā)送數(shù)據(jù)幀。各幀數(shù)據(jù)經(jīng)串化器轉(zhuǎn)化為兩對差分信號,并從中獲得同步信息并實現(xiàn)同步,繼而檢出有效數(shù)據(jù),寫入接收fifo,同時以快中斷(fiq)通知ep7211。
2 軟件設(shè)計
2.1 ep7211程序設(shè)計
通信子卡內(nèi)的ep7211為系統(tǒng)級芯片,用來預(yù)處理和接收數(shù)據(jù)。ep7211的內(nèi)核為arm7tdmi,使用32位精簡指令。發(fā)送數(shù)據(jù)的流程如圖3所示。接收較簡單,只需在快中斷(fiq)服務(wù)程序中寫入接收fifo的讀取代碼即可。
2.2 fpga設(shè)計
fpga的設(shè)計中,發(fā)送及接收fifo的設(shè)計用了雙口快內(nèi)存(block ram),時鐘倍頻器用了延遲鎖定環(huán)(dll)。幀***由30位并行數(shù)據(jù)產(chǎn)生器、同步字檢測陣列和接收狀態(tài)機組成。以下重點介紹幀編碼器和串化器的設(shè)計。
(1)幀編碼器的vhdl語言設(shè)計
幀編碼器包括一個長為256的計數(shù)器和一個四狀態(tài)的單熱點狀態(tài)機,用以產(chǎn)生同步幀和數(shù)據(jù)幀。部分代碼如下:
process(reset,clk) //產(chǎn)生長256的計數(shù)器
if reset='1'then count<=0;
elsif clk'event and clk='1' then count<=(count+1)mod 256;
end process;
tc<='1'when count=255 else '0';
type state_type is(idle,pack1,pack2,transmit);
siganl sreg:setat_type;
rpocess(clk,r
熱門點擊
- AD7705/7706在儀器儀表中的應(yīng)用
- 用FPGA設(shè)計軟件無線電和調(diào)制解調(diào)器
- 連續(xù)切片三維重構(gòu)繪圖過程的消隱技術(shù)
- 高分辨率指數(shù)式數(shù)字電位器的設(shè)計
- 基于VHDL語言的卷積碼編解碼器的設(shè)計
- 基于FPGA的總線型LVDS通信系統(tǒng)設(shè)計
- CMOS多頻段低噪聲放大器設(shè)計
- 在CPLD管理下實現(xiàn)高效多串口中斷源
- 零功耗超快速CPLD器件ispMACH400
- 異步FIFO結(jié)構(gòu)及FPGA設(shè)計
推薦技術(shù)資料
- 泰克新發(fā)布的DSA830
- 泰克新發(fā)布的DSA8300在一臺儀器中同時實現(xiàn)時域和頻域分析,DS... [詳細]
- AMOLED顯示驅(qū)動芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計
- GB300 超級芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究