TSl01的4個鏈路口均可使用DMA方式發(fā)送或接收數(shù)據(jù),可以實現(xiàn)鏈路口與內(nèi)部存儲器、外部存儲器或其他鏈路口之間的雙向數(shù)據(jù)傳送。處理器為每個鏈路口提供了2個專用的DMA通道,1個用于發(fā)送數(shù)據(jù),1個用于接收數(shù)據(jù)。兩個DMA通道均可以與內(nèi)部或外部存儲器接口。當接收端寄存器空且鏈路DMA通道使能時,鏈路口向發(fā)送DMA通道發(fā)出DMA請求,鏈路1:3可以繼續(xù)向緩存區(qū)寫數(shù)據(jù)。當接收寄存器滿且DMA通道使能時,鏈路口向接收DMA通道發(fā)出DMA請求。
以紅外處理系統(tǒng)中的應(yīng)用為例,如圖l所示.DSPO通過LINK口0與DSPl的LINK口1相連。如果將DSP0內(nèi)存中的數(shù)組data_tx中N個數(shù)通過鏈路口傳輸?shù)紻SPl內(nèi)存中的數(shù)組data_rx中.首先要對DSPl的LINK口l的接收DMA通道進行編程,然后對DSP0的LINK口O的發(fā)送DMA通道進行編程。
DSPl中的程序:
TCB_temp.DI=data_rx;
TCB_temp.DX=4 I(N<<16);
TCB_temp.DY=O:
TCB_temp.DP=0x47000000;
q=_buihin_compose_128((1ong long)TCB_temp.DI │
(10ng long)TCB_temp.DX<<32.(10ng ions)
(TCB_temp.DY│(10ng long)TCB_temp.DP<<321);
builtin_sysreg_write(LCTLl.0x000004D2);//設(shè)定
鏈路口的控制寄存器
builtin_sysreg_write4(DC9,cO;
DSPO中的程序:
TCB_temp.DI:data_tx;
TCB_temp.DX=4 I(N<<16);
TCB_temp.DY=0:
TCB_temp.DP=0x47000000;
q= builtin_eompose_128((10ng long)TCB_temp.DI │
(10ng long)TCB_temp.DX<<32,(1ong 1ong)
(TCB_temp.DY I(1ong long)TCB_temp.DP<<32));
buihin_sysreg_write(LCTL0,0x000004D2);
/,設(shè)定鏈路口的控制寄存器
builtin_sysreg_write4(DC4,q);
在以上編程中,將鏈路口時鐘配置成1/3核時鐘。當處理器核工作在300 MHz和鏈路口工作在100 MHz時鏈路口的吞吐率可以達到200 MB。
4.3 外存與外設(shè)間的DMA操作(飛躍傳輸)
在程序設(shè)計中,要實現(xiàn)外部存儲器與其他外部設(shè)備之間的數(shù)據(jù)傳輸,通常都需要通過處理器內(nèi)核將數(shù)據(jù)傳輸?shù)教幚砥鲀?nèi)部。在這種情況下.TSl01處理器支持全新的數(shù)據(jù)傳輸即飛躍傳(上接第60頁)輸方式.此時不必對內(nèi)部存儲器進行訪問,數(shù)據(jù)直接在外部存儲器和外部其他設(shè)備之間傳輸。在飛躍傳輸方式下?砂裈Sl01看作獨立的DMA控制器。飛躍傳輸方式與標準的DMA傳輸方式類似,程序設(shè)計也基本相同,但是數(shù)據(jù)寬度必須與外部10設(shè)備匹配。而且只能使用DMA通道0。
5 結(jié)束語
充分利用DSP的DMA功能是解決高速圖像處理器速度瓶頸的重要手段。ADSP一TS101的DMA操作功能強大,形式多樣。它可以在不中斷信號處理器算法處理工作的同時完成圖像數(shù)據(jù)的傳輸,提高處理系統(tǒng)的性能。本文分析的幾種操作在紅外圖像處理系統(tǒng)中得到具體的實踐,獲得良好的效果。





