好了,進(jìn)入正是,說說lvds調(diào)試。如下圖,采用軟硬結(jié)合板設(shè)計,左側(cè)為FPGA主板部分,右側(cè)主要是一些接口,包括Camlink、VGA,中間采用柔性電路板相連。
按照連載3的程序調(diào)試lvds接口,使用bank5的差分管腳輸出lvds信號,結(jié)果采集卡采不到圖,這下壞了,開始懷疑引腳分配不正確,一番檢查,問題不在這;
接著覺得走線可能不對,看了看PCB,5對差分信號,對內(nèi)線長差控制在0.254mm內(nèi),對間線長差控制在2mm內(nèi),走線沒有問題;
再懷疑Camlink位分配不正確,Camlink在base模式下包含11對差分線(4對數(shù)據(jù),1對時鐘,2對串口,4對相機控制),Camlink協(xié)議中有詳細(xì)的位分配表,
下表說明了在base模式下,各種圖像模式(24bit RGB、8bit、10bit、14bit、16bit灰度等)下位分配情況。
查看287手冊,就可得到位分配信息。
又是一番檢查,位分配完全正確。
datain3 datain2 datain1 datain0 經(jīng)過同學(xué)的點撥,發(fā)現(xiàn)了問題,原來在于時鐘的串行化問題,我使用的是lvds_tx核的tx_outclock作為差分時鐘,而287的手冊上7倍時鐘串化對應(yīng)的時鐘信號分別為1,1,0,0,0,1,1,問題已經(jīng)比較明白了,clk差分通道數(shù)據(jù)如下,使用5個channels,如下圖所示。
cl_clk
重新編譯,下載,圖像輸出正常,lvds調(diào)試完成!!
由于lvds_tx核使用了一個ip核,邏輯中使用一個,qsys中使用一個,這樣總共4個ip核就用了3個,相關(guān)使用外用pll,結(jié)果出來的數(shù)據(jù)又不對了,至今沒有解決這個問題,后面有進(jìn)展了再行吧。