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