基于FPGA的LVDS內(nèi)核設(shè)計(jì)及其外圍電路設(shè)計(jì)
低壓差分信號(hào)LVDS(Low Voltage Differential Signal)是由ANSI/TIA/EIA-644-1995定義的用于高速數(shù)據(jù)傳輸?shù)奈锢韺咏涌跇?biāo)準(zhǔn)。它具有超高速(1.4Gb/s)、低功耗及低電磁輻射的特性,是在銅介質(zhì)上實(shí)現(xiàn)千兆位級(jí)高速通信的優(yōu)先方案;可用于服務(wù)器、可堆壘集線器、無(wú)線基站、ATM交換機(jī)及高分辨率顯示等等,也可用于通信系統(tǒng)的設(shè)計(jì)。BLVDS(Bus LVDS)是LVDS技術(shù)在多點(diǎn)通信領(lǐng)域的擴(kuò)展,要求附加總線仲裁設(shè)計(jì)、更大的驅(qū)動(dòng)電流(10mA)和更好的阻抗匹配設(shè)計(jì)。
本文引用地址:http://m.butianyuan.cn/article/177585.htm通常是LVDS電路設(shè)計(jì)使用各種專用芯片,如美國(guó)國(guó)家半導(dǎo)體公司的DS92LV16等。我們用FPGA芯片自行設(shè)計(jì)BLVDS內(nèi)核及擴(kuò)展部分。相比之下,使用FPGA可大幅減少芯片數(shù)量,降低成本,提高系統(tǒng)可靠性,同時(shí)具有更大的靈活性和向后兼容性。由于目前尚無(wú)實(shí)用的16位VLVDS收發(fā)器芯片問(wèn)世,本設(shè)計(jì)也填補(bǔ)了專用芯片(ASIC)的空白。
我們選了Xilinx公司的XCV50E。此芯片屬于Virtex-E系列,具有如下特性: *0.18nm 6層金屬工藝,具有5.8萬(wàn)個(gè)系統(tǒng)門;
*使用1.8V核心電壓,低功耗設(shè)計(jì);
*130MHz同部時(shí)鐘;
*64KB的同步塊同存(BlockRAM),可實(shí)現(xiàn)真正的雙口操作;
*支持包括LVDS、BLVDS在內(nèi)的20種高性能接口標(biāo)準(zhǔn);
*8個(gè)全數(shù)字的延遲鎖定環(huán)DLL(Delay Locked Loops),具有時(shí)鐘移相和乘除功能;
*支持IEEE 1149.1邊界掃描標(biāo)準(zhǔn),具有基于SRAM的在系統(tǒng)配置功能。
我們使用Xilinx Foudation F3.1i軟件開發(fā)XCV50E芯片。設(shè)計(jì)流程為:首先用編寫VHDL語(yǔ)言程序、繪制原理圖或設(shè)計(jì)狀態(tài)機(jī)的方法生成網(wǎng)絡(luò)表,功能仿真正確后,經(jīng)過(guò)翻譯、映射、放置和布線、時(shí)序優(yōu)化及配置過(guò)程,生成比特流文件。然后,進(jìn)行時(shí)序仿真,仿真通過(guò)后下載到PROM中。(我們用了Xilinx公司的XC18V01。)
1 結(jié)構(gòu)及工作過(guò)程
1.1 系統(tǒng)結(jié)構(gòu)和FPGA結(jié)構(gòu)
本通信系統(tǒng)由背板和若干通信子卡組成。背板并更有8個(gè)插槽,并布有BLVDS總線和其它控制、地址總線。通信子卡由EP7211芯片(負(fù)責(zé)數(shù)據(jù)處理)、XCV50E及DRAM、PROM等外圍芯片和元件組成,系統(tǒng)結(jié)構(gòu)如圖1所示。
設(shè)計(jì)完成后的XCV50E由控制部分、發(fā)送FIFO、幀編碼器、串化器、解串器、幀解碼器、數(shù)據(jù)檢出器、接收FIFO、時(shí)鐘倍頻器及輸入輸出單元等部分組成,結(jié)構(gòu)如圖2所示。
1.2 工作過(guò)程
在發(fā)送子卡中,EP7211將待發(fā)數(shù)據(jù)整理成多個(gè)長(zhǎng)255字,字寬16位的數(shù)據(jù)幀,發(fā)至FPGA內(nèi)的發(fā)送FIFO中。該FPGA得到總線控制權(quán)后,即發(fā)送同步幀(由同步字與填充字組成),待被尋址的接收子卡實(shí)現(xiàn)與自己的同步后,再發(fā)送數(shù)據(jù)幀。各幀數(shù)據(jù)經(jīng)串化器轉(zhuǎn)化為兩對(duì)差分信號(hào),并從中獲得同步信息并實(shí)現(xiàn)同步,繼而檢出有效數(shù)據(jù),寫入接收FIFO,同時(shí)以快中斷(FIQ)通知EP7211。
2 軟件設(shè)計(jì)
2.1 EP7211程序設(shè)計(jì)
通信子卡內(nèi)的EP7211為系統(tǒng)級(jí)芯片,用來(lái)預(yù)處理和接收數(shù)據(jù)。EP7211的內(nèi)核為ARM7TDMI,使用32位精簡(jiǎn)指令。發(fā)送數(shù)據(jù)的流程如圖3所示。接收較簡(jiǎn)單,只需在快中斷(FIQ)服務(wù)程序中寫入接收FIFO的讀取代碼即可。
評(píng)論