資源描述:
《基于Altera FPGA的LVDS配置應(yīng)用》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、基于AlteraFPGA的LVDS配置應(yīng)用一例????????在特權(quán)同學(xué)發(fā)表博文《CycloneIII的LVDS接口注意事項(xiàng)》后,不少網(wǎng)友發(fā)郵件詢問LVDS具體應(yīng)用的一些問題。這些網(wǎng)友,歸根到底,估計(jì)是文檔看得太少了,或許還缺少動(dòng)手實(shí)踐的摸索。做原型開發(fā)的知識(shí)儲(chǔ)備,無(wú)外乎兩種方式,要么理論,要么實(shí)踐。理論上前面說(shuō)的文檔是一方面,但是說(shuō)理論不要被文檔框住了,以為理論就是書本和文字。其實(shí)換一個(gè)角度來(lái)理解理論,你也可以認(rèn)為是間接獲得知識(shí)的手段,包括一些可用的論壇資源、博文資源,甚至FAE資源等等。不要金口難開,發(fā)個(gè)郵件打個(gè)電話,可能那些吃這個(gè)飯的FAE們一句話就幫你搞定問題了。當(dāng)然了,在你什么
2、都沒搞明白前,還是不建議你一通瞎問。比較合適的方式是先自己去消化官方提供的文檔,然后動(dòng)手實(shí)踐過(guò)程中實(shí)在是遇到百思不得其解的問題時(shí)再通過(guò)請(qǐng)教他人的方式得以解決。????????而可能很多“菜鳥”百思不得其解的是文檔到底從哪里找,茫茫網(wǎng)絡(luò)浩如煙海,找個(gè)對(duì)口文檔豈非易事?呵呵,其實(shí),這個(gè)文檔正可謂“眾里尋他千百度,驀然回首,那人卻在燈火闌珊處”。瞧,有心的朋友早已發(fā)現(xiàn)這個(gè)不是秘密的秘密了。當(dāng)我們使用QuartusII的MegaWizard選擇并進(jìn)入某個(gè)IP核的配置界面后,如圖1所示,我們總能夠在右上角看到一個(gè)名為“Documentation”的按鈕,他就是傳說(shuō)中的“燈火闌珊處”了,點(diǎn)擊后有兩個(gè)
3、二級(jí)子按鈕,“OntheWeb”指向三級(jí)菜單的兩個(gè)網(wǎng)絡(luò)鏈接,“altlvds_txMegafunctionUserGuide”則直接鏈接打開本地的幫助文檔。圖1????????關(guān)于文檔,除此以外,特權(quán)同學(xué)比較習(xí)慣的做法是在QuartusIIhandbook或Help中搜索關(guān)鍵詞,如這里的altlvds_tx或LVDS,從而找到相關(guān)內(nèi)容的介紹說(shuō)明。在實(shí)踐前,這些理論知識(shí)的儲(chǔ)備是必須的,否則咱的“高樓”很可能就是建立在“空穴”之上,指不定哪天就像咱上海前些年那座蓮花河畔景苑一樣在風(fēng)雨過(guò)后居然樓體完整的“體面”倒下了。????????這里的altlvds_tx/altlvds_rx實(shí)際上不過(guò)是
4、一個(gè)并串/串并轉(zhuǎn)換器而已,但由于LVDS速度比較高,而且接口上使用了差分信號(hào),所以不是用戶隨便用邏輯就能“模擬”出來(lái)的,因此勢(shì)必要有官方在FPGA器件上硬件級(jí)和QuartusII上軟件級(jí)的雙重支持。那么到用戶這邊,一切都變得“傻瓜”化配置操作了,而用戶真正要關(guān)心的,只是要實(shí)現(xiàn)的LVDS接口的時(shí)序需求,并把這些需求都轉(zhuǎn)化為IP核配置上的參數(shù)。????????下面簡(jiǎn)單的說(shuō)一下整個(gè)IP核的配置和例化使用。具體的配置說(shuō)明還望大家仔細(xì)研究官方的UserGuider,特權(quán)同學(xué)這里的一些內(nèi)容充其量不過(guò)是一個(gè)簡(jiǎn)化版的快速入門教程。如圖2所示,先創(chuàng)建一個(gè)新的ALTLVDS核,然后進(jìn)入相關(guān)配置頁(yè)面。圖2??
5、??????參數(shù)設(shè)置共有3個(gè)配置頁(yè)面,分別如圖3、圖4和圖5所示。????????如圖3所示,這里選擇LVDStransmitter,然后設(shè)置3個(gè)LVDS通道(channels);每個(gè)通道對(duì)應(yīng)7個(gè)解串因子,即7并1串處理。最下面的UseExternalPLL如果勾選上,則這個(gè)IP核內(nèi)的其他兩個(gè)配置頁(yè)面不可設(shè)置,用戶的時(shí)序頻率方面的配置主要在外部的PLL時(shí)鐘上下文章了;若不勾選上,我們接著來(lái)看后面兩個(gè)配置頁(yè)面。圖3????????如圖4所示,在Frequency/PLLsettings中,需要配置好LVDS串行數(shù)據(jù)傳輸速率(此處為245Mbps),而輸入時(shí)鐘速率通常為L(zhǎng)VDS串行傳輸速率除
6、以解串因子得到(245/7=35)。其他幾個(gè)選項(xiàng)一般使用默認(rèn)設(shè)置,大家可以參考altlvds_txMegafunctionUserGuide中有詳細(xì)說(shuō)明。圖4????????如圖5所示,Transmittersettings中有多個(gè)Transmitteroutclock配置選項(xiàng),主要是LVDS輸出時(shí)鐘與輸出差分信號(hào)的時(shí)鐘以及相位設(shè)置,具體如何配置還是需要根據(jù)用戶本身這個(gè)LVDS信號(hào)的傳輸需求而定。圖5????????配置完成后,可以在工程目錄下的*_inst.v中找到新配置IP核的例化模板,本實(shí)例如下:lcdlvds?????lcdlvds_inst(????????.pll_arese
7、t(pll_areset_sig),????????.tx_in(tx_in_sig),????????.tx_inclock(tx_inclock_sig),????????.tx_out(tx_out_sig),????????.tx_outclock(tx_outclock_sig)????????);這些信號(hào)接口的簡(jiǎn)單說(shuō)明如下,方向?yàn)橄鄬?duì)于LVDS內(nèi)部模塊而言。?信號(hào)名方向位寬描述pll_aresetInput1異步復(fù)位信號(hào)