ADSP TS201鏈路口通信的FPGA實現(xiàn)
O 引 言
隨著電子技術(shù)的飛速發(fā)展,在實際應(yīng)用中數(shù)據(jù)高速傳輸有著越來越高的要求,鏈路口為數(shù)據(jù)傳送提供了高速、獨立的通信機(jī)制,得到廣泛應(yīng)用。AD公司生產(chǎn)的TS201 DSP就具備這種端口。為了使不具備此接口的器件同樣也能通過鏈路口與TS201進(jìn)行高速通信,引入FPGA進(jìn)行設(shè)計。
FPGA器件因其集成度高、功能強(qiáng)大、現(xiàn)場可編程等優(yōu)點被廣泛應(yīng)用于各種場合。通過在FPGA上參照鏈路口通信協(xié)議編寫VHDL程序,完成數(shù)據(jù)傳送方式的轉(zhuǎn)換,實現(xiàn)此接口與其他設(shè)備通信,以滿足系統(tǒng)的高速通信要求。
本文設(shè)計了一種基于Xilinx公司Virtex4系列的FPGA的128位并行數(shù)據(jù)與ADSP TS201的鏈路口通信方式。
l ADSP TS20l鏈路口協(xié)議
ADSP TS201有4個鏈路口均采用LVDS(Low
Voltage Differential Signaling)電路,每個鏈路口都是由4位雙向差分?jǐn)?shù)據(jù)線和另外3個控制信號構(gòu)成。接收控制信號包括:Lxclkinp/n,Lxacko,Lxbcmpi;發(fā)送控制信號包括:Lxclkoutp/n,Lxacki和Lxbcmpo。其中,Lxclkoutp/n和Lxclkinp/n用于描述輸出或輸入信號的時鐘,Lxacko和Lxacki則表示接收端發(fā)出的信號和發(fā)送端接收的信號表明是否可以繼續(xù)發(fā)送,Lxbcmpi和Lxbcmpo說明塊傳輸已經(jīng)完成。鏈路口每個方向(Rx或Tx)均可通過1位或4位數(shù)據(jù)總線通信,發(fā)送端發(fā)送數(shù)據(jù)到外部設(shè)備,接收通端從外部設(shè)備獲取數(shù)據(jù)。這里主要討論4位數(shù)據(jù)總線通信模式的具體實現(xiàn)。
在鏈路口通訊協(xié)議的時序上采用一些通用規(guī)則,具體規(guī)則如下:
①第一個數(shù)據(jù)(1位或4位)必須在鏈路口時鐘(Lxclkoutp)的第一個上升沿發(fā)送。
②后一個數(shù)據(jù)(1位或4位)必須在鏈路口時鐘(Lxclkoutp)最后一個下降沿發(fā)送。
③當(dāng)鏈路口停止收發(fā)后Lxclkoutp被置為低。
④每次至少傳送4個字(128位)。傳送需要用16個名車略口周期,如圖1所示。
當(dāng)Lxacki被置為高,即接收緩沖是空的,發(fā)送通道被初始化,發(fā)送端可以繼續(xù)發(fā)送數(shù)據(jù)。如圖2所示,第一個數(shù)據(jù)在第一個Lxclkoutp上升沿有效,最后一個數(shù)據(jù)在最后一個鏈路口時鐘下降沿之前發(fā)送。當(dāng)鏈路口停止時Lxclkoutp被置為低。
圖3表示當(dāng)Lxacki被置為低時,說明接收端沒有準(zhǔn)備好接收更多數(shù)據(jù)的情況。此時若仍有數(shù)據(jù)傳送,則會造成數(shù)據(jù)的丟失。
當(dāng)發(fā)送數(shù)據(jù)長度可變時發(fā)送方用Lxbcmpo信號通告接收數(shù)據(jù)塊傳輸已完成。Lxbcmpo與接收端的Lxbcmpi輸入信號連接,當(dāng)接收端識別該信息,就通知DMA通道數(shù)據(jù)塊傳送完畢。
Lxbcmpo信號通過在塊的最后4個字傳輸?shù)牡谝粋€Lxclkout上升沿變低,指示塊傳輸完成。而在同一4個字的最后一個Lxclkout下降沿置位。若LTCTLx寄存器中的TBCMPE位被清除或當(dāng)鏈路口傳輸由處理器核執(zhí)行,Lxbcmpo無效。
評論