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