ADSP TS201鏈路口通信的FPGA實現(xiàn)
發(fā)送模塊:當(dāng)外部接收到128位并行數(shù)據(jù)Datain(127:0)及FIFO寫控制信號Datan_we后,將數(shù)據(jù)按以下規(guī)則重新組合排序:本文引用地址:http://m.butianyuan.cn/article/192061.htm
數(shù)據(jù)整理后,同時送入4個32位FIFO 32中,寫時鐘為sysclk。當(dāng)FIFO 32不為空且Lxacki信號為高電平時,接收端允許傳送數(shù)據(jù)。數(shù)據(jù)由FIFO 32中讀出,分別放入4個32位寄存器中,準備發(fā)送。
發(fā)送緩沖:此部分由狀態(tài)機和雙數(shù)據(jù)率(DDR)寄存器組成。當(dāng)發(fā)送條件成立,數(shù)據(jù)放入寄存器后,由state信號控制寄存器,每個Txclk周期從4個寄存器中各讀出2位數(shù)據(jù)Data_tx(7:O)共8位,為了滿足鏈路口通信協(xié)議,發(fā)送出的數(shù)據(jù)應(yīng)如圖4所示。因此,將Data_tx兩兩分組(0和4,1和5,2和6,3和7),4對數(shù)據(jù)分別由4個雙數(shù)據(jù)率(DDR)寄存器經(jīng)差分轉(zhuǎn)換送出,根據(jù)協(xié)議同時送出相應(yīng)的時鐘控制信號Lxclk p/n(與Tkclk相同頻率)。按照協(xié)議,Lxclk的第一個上升沿必須在第一位數(shù)據(jù)傳送中建立,因此,這里引入時鐘信號Txclk90(Txclk相移90°),用來控制Lxelk p/n信號。數(shù)據(jù)傳送結(jié)束前的最后一個時鐘周期內(nèi)將Lxbcompo信號置低(低有效)。發(fā)送(Tx)流程如圖7所示。結(jié)構(gòu)如圖8所示。
綜合后此電路的主時鐘Txclk頻率最快可達到280 MHz。分析后發(fā)現(xiàn)此結(jié)構(gòu)制約速度的瓶頸為高頻計數(shù)器,此計數(shù)器產(chǎn)生控制信號。因此,為了提高速度優(yōu)化結(jié)構(gòu)。將此計數(shù)器改為原時鐘的二分頻信號clkd2控制計數(shù)。此時每當(dāng)clkd2上升沿從FIFO 32讀出32位數(shù)據(jù)放入寄存器,該寄存器同樣由clkd2控制,時鐘的上升沿來到時讀出4位數(shù)據(jù),組成連續(xù)的16位數(shù)據(jù),這些數(shù)據(jù)經(jīng)過子模塊fast的處理,按照鏈路口協(xié)議要求輸出數(shù)據(jù)dataout。綜合后此電路的主時鐘Txclk頻率最快可達到400 MHz。
子模塊fast的結(jié)構(gòu)如圖9所示。
評論