一種新型DSP(TS101)中的鏈路DMA
摘要:鏈路dma是在處理器內(nèi)核不干預(yù)的情況下,后臺(tái)利用鏈路口高速傳送數(shù)據(jù)的一種機(jī)制。ts101是高性能浮點(diǎn)數(shù)字信號(hào)處理器,它有8個(gè)鏈路dma通道,可以在內(nèi)部/外部存儲(chǔ)器和鏈路口之間、鏈路口與鏈路口之間進(jìn)行多種類型的dma傳輸。文章介紹了鏈路dma及其在雷達(dá)信號(hào)處理系統(tǒng)中的實(shí)際應(yīng)用。 關(guān)鍵詞:ts101;鏈路dma;tcb;轉(zhuǎn)發(fā)1 引言雷達(dá)處理過程中大量復(fù)雜信號(hào)的處理算法要求信號(hào)處理機(jī)具有每秒超過百億次的浮點(diǎn)運(yùn)算能力,如此高的速度在目前的技術(shù)條件下無法用單片dsp實(shí)現(xiàn),需要采用多片并行處理技術(shù)才能滿足處理速度的需求。ts101處理器是analog devices公司推出的一種新型高速實(shí)時(shí)數(shù)字信號(hào)處理芯片(dsp),其峰值運(yùn)算能力可達(dá)18億次/秒。ts101采用改進(jìn)的靜態(tài)超標(biāo)量流水結(jié)構(gòu),適用于構(gòu)成各種不同的并行多處理器系統(tǒng),可以較好的滿足雷達(dá)信號(hào)處理的要求。在多片dsp組成的并行系統(tǒng)中,鏈路口應(yīng)用得到了越來越多的重視,各dsp間可通過鏈路口互連解決多處理器之間共同占用總線所產(chǎn)生的數(shù)據(jù)通信瓶頸問題,增強(qiáng)處理器之間的通信能力。鏈路dma(direct memory access)是在處理器內(nèi)核不干預(yù)情況下的后臺(tái)高速數(shù)據(jù)傳送機(jī)制,其傳輸方式靈活,不占用內(nèi)核的處理時(shí)間,因而在雷達(dá)信號(hào)的并行實(shí)時(shí)處理系統(tǒng)中尤為重要。本文對ts101中鏈路口的dma傳輸方式進(jìn)行了探討。
2 ts101的鏈路口及鏈路dma傳輸2.1 鏈路口ts101是高性能128bit浮點(diǎn)數(shù)字信號(hào)處理器(digital signal processor?dsp)?有四個(gè)鏈路口。每個(gè)鏈路口由發(fā)送器和接收器兩部分組成,每部分都有一個(gè)128bit的移位寄存器和一個(gè)128bit的緩沖寄存器,其結(jié)構(gòu)如圖1所示。每個(gè)鏈路口均有8bit數(shù)據(jù)線和lxclkin、lxclkout和lxdir(x為鏈路口序號(hào)0~3)三個(gè)控制引腳,可支持多片ts101處理器間點(diǎn)對點(diǎn)的雙向數(shù)據(jù)傳送。其中lxdir 用來指示鏈路口的數(shù)據(jù)流向。lxclkin和lxclkout為鏈路口的時(shí)鐘/確認(rèn)握手信號(hào)。數(shù)據(jù)發(fā)送時(shí),lxclkout為時(shí)鐘信號(hào),lxclkin為確認(rèn)信號(hào);數(shù)據(jù)接收時(shí),lxclkin為時(shí)鐘信號(hào),lxclkout為確認(rèn)信號(hào)。發(fā)送數(shù)據(jù)時(shí),首先傳輸四字?jǐn)?shù)據(jù)到鏈路發(fā)送緩沖寄存器lbuftx,再將其復(fù)制到移位寄存器(若移位寄存器為空,此時(shí)lbuftx可被寫入新的數(shù)據(jù)),然后以字節(jié)的形式發(fā)送出去(先發(fā)送低字節(jié)),每個(gè)字節(jié)在鏈路時(shí)鐘的上升沿和下降沿被驅(qū)動(dòng)和鎖存(sharc系列dsp只在一個(gè)時(shí)鐘沿驅(qū)動(dòng)數(shù)據(jù))。接收器的移位寄存器為空時(shí),系統(tǒng)將開始接收發(fā)送方傳輸?shù)臄?shù)據(jù)并將其送入移位寄存器,同時(shí)驅(qū)動(dòng)lxclkout為低。當(dāng)整個(gè)四字到齊后,如果接收緩沖寄存器lbufrx為空,系統(tǒng)會(huì)將四字?jǐn)?shù)據(jù)從移位寄存器復(fù)制到lbufrx,并在數(shù)據(jù)被取走后驅(qū)動(dòng)其lxclkout為高,以告訴發(fā)送方接收緩沖寄存器為空,可以準(zhǔn)備接收新數(shù)據(jù)。發(fā)送方檢測到lxclkin為高后立即進(jìn)行下一次傳輸。所有的鏈路口都可用于ts101處理器的引導(dǎo)(sharc系列只固定某個(gè)鏈路口引導(dǎo))。然而應(yīng)當(dāng)注意:ts101處理器的鏈路口與sharc系列的dsp是不兼容的。2.2 鏈路dma鏈路dma是在處理器內(nèi)核不干預(yù)的情況下,后臺(tái)通過鏈路口高速傳送數(shù)據(jù)的一種機(jī)制。ts101有4個(gè)鏈路口,每個(gè)鏈路口有兩個(gè)dma通道(一個(gè)接收dma通道和一個(gè)發(fā)送dma通道),圖2所示是ts101中dma控制器的示意圖。利用ts101的片上dma控制器能通過8個(gè)專用的鏈路dma通道進(jìn)行各處理器間多種類型的dma傳輸。要利用鏈路dma在各ts101處理器之間進(jìn)行通信,必須對鏈路口及其dma寄存器進(jìn)行正確的設(shè)置。其一般過程為:設(shè)置鏈路控制寄存器lctlx(sharc系列dsp一旦設(shè)置該寄存器就啟動(dòng)dma)使能鏈路口x接收或發(fā)送,寫鏈路dma的發(fā)送或接收tcb(傳輸控制塊)寄存器dcy(其中y=4~11,當(dāng)y=4~7時(shí),dcy分別為鏈路口0~3的發(fā)送dma通道tcb寄存器,當(dāng)y=8~11時(shí),dcy分別為鏈路口0~3