互聯網技術
責任編輯:nanlihui
2012-03-19
摘要:2.3基于FPGA的TS201鏈路口設計由于TS201的握手信號較多,所以相對TS101的鏈路口設計容易些。本設計FPGA時鐘50MHz,TS101核時鐘500MHz,鏈路口時鐘為DSP核時鐘的4分頻,采用4bit方式,單向實際數據傳輸速率為125MBps.TS201的鏈路口數據和時鐘采LVDS信號,具有速率高、功耗低、噪聲小的優點。Cyclone系列芯片不僅支持LVDS信號,還集成了
2.3 基于FPGA的TS201鏈路口設計
由于TS201的握手信號較多,所以相對TS101的鏈路口設計容易些。本設計FPGA時鐘50MHz,TS101核時鐘500MHz,鏈路口時鐘為DSP核時鐘的4分頻,采用4bit方式,單向實際數據傳輸速率為125MBps.
TS201的鏈路口數據和時鐘采LVDS信號,具有速率高、功耗低、噪聲小的優點。Cyclone系列芯片不僅支持LVDS信號,還集成了LVDS轉換模塊,這給設計提供了很大方便。應該注意的是,在硬件設計時LVDS信號兩極的PCB走線要匹配,并且注意匹配電阻網絡的接入。具體請參考文獻[6]-9 Implementing LVDS in Cyclone De-vices.
由于TS201的收發做成了兩個單獨的通道,FPGA的設計也應該相應地設計為兩個通道,真正做到全雙工通信,收發互不影響。接收與發送部分與TS101的設計基本相同,發送部分也采用外部中斷方式通知DSP接收鏈路口數據。TS201的通信握手信號有ACK和BCMP#信號。其中ACK信號用來通知接收準備好,在實時信號處理中,一般不允許數據傳輸的等待,故將這個信號置為準備好。BCMP#信號用于通知數據塊傳輸的結束,當能確定DMA傳輸數據個數時,可以將此引腳懸空。
L1_IRQ是FPGA發給DSP的外部中斷,用來通知DSP收數據;L1_ACKI是DSP的接收準備好信號;R_BUF_EN是讀發送緩存使能信號 ;鏈路口時鐘L1_CLKOUT是以讀緩存時鐘R_CLK下降沿的二次分頻,對應從緩存中讀出的4bit鏈路口數據L1_DA-To.注意這里讀緩存及時鐘分頻時會有納秒級的延遲。
3 DSP的相應設置
TS101和TS201的鏈路口都配置了控制寄存器(LCTLX)和狀態奇存器(LSTATx)兩組寄存器。LCTLx用來控制鏈路口的傳輸,LSTATx用來通知鏈路口的工作狀態。TS101鏈路口時鐘頻率可以是核時鐘的8、4、3 或2分頻,通過設置LCTLx中的SPD位米完成,本文設計將SPD位置000,即為核時鐘8分頻。由于TS201的接收發送通道獨立,所以其控制寄存器分為接收控制寄存器(LRCTLx)和發送控制寄存器(LTCTLx)。 TS101鏈路口發送時鐘頻率可以與核時鐘相同或為其4、2、1.5分頻,通過設置LTCTLx中SPD位來完成。本文設計將SPD位置100,即為核時鐘4分頻,并將LRCTLx/LTCTLx中(接TDSIZE位置1,設置成4bit傳輸 方式。如果BCMP#信號懸空,注意一定要將LRCTLx巾RBCMPE位置0.
有兩種方法啟動DSP的鏈路口DMA傳輸:利用鏈路中斷和利用DSP的四個外部中斷(IRQ0~IRQ3)。兩種中斷方式都需要在中斷服務程序中對DMA的TCB寄存器進行配置來啟動鏈路口的接收DMA通道。鑒于外部中斷的優先級高于鏈路口中斷,可以避免數據丟失,本文設計的通信方式均以外部中斷方式通知DSP接收數據。在DMA的TCB寄存器配置過程中,為了保證程序不被其他中斷打斷,可以在中斷服務程序開始時就把所有其他中斷屏蔽掉,存中斷服務程序返回之前再把屏蔽掉的中斷位還原。
本文對TigerSHARC系列的兩種典型DSP芯片的鏈路口進行了分析和比較,并給出了FPGA與這兩種DSP芯片進行鏈路口通倍的具體方法。在FPGA內部實現了DSP鏈路口的設計,同時給出了DSP進行鏈路口通信的具體設置方法。
通信設計沒有對所傳輸的數據進行校驗。本文給出的基于FPGA路口設計具有很強的通用性,可以應用于基于TS101/TS201的多種應用系統中,提高系統內部的通信能力;也可用于板間DSP的數據傳輸,提高系統外部的通信能力。
[1] [2] [3] [4]
溫馨提示:因考試政策、內容不斷變化與調整,本網站提供的以上信息僅供參考,如有異議,請考生以權威部門公布的內容為準!