DSP鏈路口在并行處理系統(tǒng)中的應(yīng)用(精)_第1頁(yè)
DSP鏈路口在并行處理系統(tǒng)中的應(yīng)用(精)_第2頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、DSP 鏈路口在并行處理系統(tǒng)中的應(yīng)用 隨著數(shù)字信號(hào)處理技術(shù)的快速發(fā)展,數(shù)字信號(hào)處理技術(shù)在多個(gè)領(lǐng)域 ( 如通信、雷 達(dá)、聲納等 ) 得到了廣泛應(yīng)用。在很多情況下,由于對(duì)信號(hào)要求實(shí)時(shí)處理并且數(shù) 據(jù)量不斷增加,單片 DSPS片已不能滿足要求。AD 公司推出的 ADSP2106;系 列,由于采用了超級(jí)哈佛結(jié)構(gòu),適用于構(gòu)成各種不同的并行多處理器系統(tǒng),較 好地滿足了上述要求,因此在國(guó)內(nèi)外得到廣泛應(yīng)用。在多片并行 ADSP2106)處 理系統(tǒng)中,鏈路口的應(yīng)用得到了越來(lái)越多的重視。在這方面,如何充分 隨著數(shù)字信號(hào)處理技術(shù)的快速發(fā)展,數(shù)字信號(hào)處理技術(shù)在多個(gè)領(lǐng)域 ( 如通信、雷 達(dá)、聲納等 ) 得到了廣泛應(yīng)用。在

2、很多情況下,由于對(duì)信號(hào)要求實(shí)時(shí)處理并且數(shù) 據(jù)量不斷增加,單片 DSP 芯片已不能滿足要求。AD 公司推出的 ADSP206X 系 列,由于采用了超級(jí)哈佛結(jié)構(gòu),適用于構(gòu)成各種不同的并行多處理器系統(tǒng),較 好地滿足了上述要求,因此在國(guó)內(nèi)外得到廣泛應(yīng)用。在多片并行 ADSP2106)處 理系統(tǒng)中,鏈路口的應(yīng)用得到了越來(lái)越多的重視。在這方面,如何充分、有效 地利用鏈路口進(jìn)行數(shù)據(jù)傳輸,已成為廣大 DSP 應(yīng)用者首先要解決的一個(gè)問(wèn)題。 本文根據(jù)筆者在工程中應(yīng)用和調(diào)試 ADSP2106XS 件的經(jīng)驗(yàn),著重討論鏈路口的 適用場(chǎng)合、使用方法,并對(duì)使用過(guò)程中常見問(wèn)題進(jìn)行分析,給出解決方法。 1 ADSP2106X

3、及其鏈路口的特點(diǎn)和功能 ADSP2106X 采用超級(jí)哈佛結(jié)構(gòu),具有體積小、速度高、 內(nèi)存大、訪問(wèn)靈活等特 點(diǎn),適用于構(gòu)成各種不同的并行多處理器系統(tǒng),完成各種實(shí)時(shí)信號(hào)的處理功 能,特別適用于雷達(dá)信號(hào)處理和聲納信號(hào)處理。 ADSP2106XI 供了 6 個(gè)鏈路口,每個(gè)鏈路口包括 4 位數(shù)據(jù)線、一個(gè)雙向時(shí)鐘信 號(hào)、一個(gè)雙向確認(rèn)信號(hào)。鏈路握手信號(hào)包括 LxCLK 和 LxACK 鏈路口以四位碼 一組的方式傳送 32 位或 48 位字。發(fā)送方在時(shí)鐘 LxCLK 的上升沿送出 4 位碼, 接收方利用時(shí)鐘下降沿鎖存 4 位碼,并且使 LxACK 有效,表示已準(zhǔn)備接收下一 個(gè)字。在每個(gè)字開始發(fā)送時(shí),發(fā)送方如果

4、看到 LxACK 無(wú)效,將使 LxCLK 變高, 并等待 LxACK 有效后發(fā)送新字。當(dāng)發(fā)送緩存為空時(shí),LxCLK 將保持低。如果接 收時(shí)鐘不超過(guò)主時(shí)鐘(40MHz), LCOM 寄存器的 LCLKX2)位應(yīng)設(shè)為 0;若接收時(shí)鐘 為主時(shí)鐘的 2 倍,則置為 1。兩個(gè)用于數(shù)據(jù)通信的鏈路口之間的連接關(guān)系如圖 1 所示。 每個(gè)鏈路口還可以按 2 倍時(shí)鐘頻率的速率進(jìn)行數(shù)據(jù)傳輸。 鏈路口有以下功能和特點(diǎn) : 各鏈路口可以獨(dú)立工作或同時(shí)工作 ; 鏈路數(shù)據(jù)可以打包成 32 位或 48 位數(shù)據(jù),可以被處理器核訪問(wèn),可以與片內(nèi) 存儲(chǔ)器進(jìn)行 DMA 專送; 外部主機(jī)可以直接訪問(wèn)鏈路口 具有雙緩沖的發(fā)送和接收寄存器

5、 ; 可通過(guò)時(shí)鐘 / 確認(rèn)信號(hào)在鏈路口通信時(shí)握手,每個(gè)鏈路口均可收 /發(fā)數(shù)據(jù),并 分別有一個(gè)DMA通道支持; 利用鏈路連接可以組成一維到多維的各種形式處理器網(wǎng)絡(luò)。 鏈路口有三種中斷形式 : DMA 使能時(shí),DMA 完成后將產(chǎn)生一個(gè)可屏蔽中斷 DMA 禁止時(shí),處理器核可以對(duì)存儲(chǔ)器映射的 LBUF 進(jìn)行讀寫,當(dāng)接收緩沖不空 或發(fā)送緩沖不滿時(shí),可產(chǎn)生可屏蔽中斷 ; 當(dāng)外部設(shè)備訪問(wèn)一個(gè)未指定的鏈路口,或者訪問(wèn)一個(gè)已指定但對(duì)應(yīng) LBUF 被禁 止的鏈路口時(shí),將產(chǎn)生可屏蔽的 LSRQ 中斷。 鏈路口有三個(gè)重要的寄存器:LAR 寄存器、LCTL 寄存器、LCOMJ 存器,它們都 是32 位寄存器。LAR 寄

6、存器(3x3x+2 位)代表了 LBUFx 的指定鏈路口,x 取 05,其它位保留。LCTL 寄存器主要用來(lái)對(duì)各個(gè) LBUF 進(jìn)行設(shè)置(是否使能、是 否用 DMA方式、是否用鏈?zhǔn)?DMA 發(fā)送還是接收數(shù)據(jù))。LCOM 寄存器包含每個(gè) LBUF 的狀態(tài)位(空還是滿),設(shè)置各 LBUF 專送數(shù)據(jù)的速率以及其它功能。 ADSP2106XT 6 個(gè)獨(dú)立的鏈路緩沖 LBUF0,每個(gè) LBUF 由一個(gè)內(nèi)部寄存器和一 個(gè)外部寄存器組成的 2 級(jí) FIFO 構(gòu)成。當(dāng) LBUF 用于發(fā)送時(shí),內(nèi)部寄存器接收片 內(nèi)存儲(chǔ)器送來(lái)的數(shù)據(jù),外部寄存器將數(shù)據(jù)字展開成 4 位碼,并且最高位先發(fā) 送。當(dāng) DMA 或處理核送來(lái)的數(shù)

7、據(jù)占滿這 2 級(jí) FIFO 時(shí),將送出一個(gè)“滿”標(biāo)志。 每當(dāng)一個(gè)字展開發(fā)送后,F(xiàn)IFO 中將空出一個(gè)位置并發(fā)出一個(gè) DMA 青求。當(dāng) FIFO 空時(shí),LxCLK 無(wú)效。當(dāng)LBUF 用于接收時(shí),外部寄存器用于數(shù)據(jù)打包,然后數(shù)據(jù) 經(jīng)內(nèi)部寄存器以 DMA 方式送到片內(nèi)存儲(chǔ)器。通過(guò)鏈路指定寄存器 LAR 確定 LBUF0 與 LINK50 的連接關(guān)系。存儲(chǔ)器之間傳送數(shù)據(jù)時(shí)可以把一個(gè) LINK 指 定給兩個(gè) LBUF 利用 DMA 通信。 直接數(shù)據(jù)傳輸(DMA)可以承擔(dān)數(shù)據(jù)傳輸任務(wù)而無(wú)需運(yùn)算控制單元干預(yù),從而提高 了程序執(zhí)行效率。ADSP2106 提供了 10 條 DMA 通道,其中只有 LBUF(3

8、支持 二維DMA 即以行主模式訪問(wèn)一個(gè)二維陣列元素)。LBUF0 與 6 個(gè) DMA 通道的 對(duì)應(yīng)關(guān)系如下 : DMA 通道 1 鏈路緩沖 LBUF0(與串口 1 接收共享) DMA 通道 3 鏈路緩沖 LBUF1(與串口 1 發(fā)送共享) DMA 通道 4 鏈路緩沖 LBUF2 DMA 通道 5 鏈路緩沖 LBUF3 DMA 通道 6 鏈路緩沖 LBUF4 與外部口 0 EPBO 共享) DMA 通道 7 鏈路緩沖 LBUF5 與外部口 1 EPB1 共享) 2 鏈路口的設(shè)置及應(yīng)用中需要注意的問(wèn)題 對(duì)于多 DSP 系統(tǒng),為了克服多處理器之間占用總線的瓶頸問(wèn)題,增強(qiáng)處理器之 間的通信能力,一般利

9、用各處理器的鏈路口兩兩互聯(lián)進(jìn)行高速、點(diǎn)到點(diǎn)通信。 處理器間的數(shù)據(jù)連接可以根據(jù)需要進(jìn)行設(shè)置,多個(gè)鏈路口數(shù)據(jù)通路可以同時(shí)并 行工作而互不干擾。每個(gè)鏈路口的 LxCLK 和 LxACK 提供了處理器之間進(jìn)行異步 數(shù)據(jù)傳輸?shù)奈帐中盘?hào)。因?yàn)椴捎面溌房谕ㄐ?,所以允許發(fā)送和接收端的長(zhǎng)距離 互聯(lián)。鏈路口采用的是自同步方式,這樣時(shí)鐘和數(shù)據(jù)均只有相對(duì)延時(shí),不存在 絕對(duì)延時(shí),這對(duì)印制板布線很重要。 要利用鏈路口進(jìn)行通信,首先必須對(duì)鏈路口及 DMA 寄存器進(jìn)行正確的設(shè)置。一 般的DMA 設(shè)置是:對(duì) DMA 參數(shù)寄存器的起始地址 IIx、地址修正 IMx 及傳輸次數(shù) Cx 進(jìn)行設(shè)置,然后設(shè)置相應(yīng)的 DMA 控制器中的

10、DMA 使能位,這樣就啟動(dòng)了 DMA 設(shè)置鏈路口操作時(shí),應(yīng)按照 LAR LCOM LCTL 的次序設(shè)置寄存器,在對(duì) LAR 重新指定前,必須禁止鏈路口所要指定的 LBUF 一旦設(shè)置 LCTL,就啟動(dòng)了 DMA 如果已打開中斷服務(wù)程序屏蔽位,則收/發(fā)數(shù)據(jù)完后就進(jìn)入相應(yīng)的 LBUF 的 中斷服務(wù)程序。在鏈路口中斷服務(wù)程序中,通過(guò)檢驗(yàn) LCOM 勺相應(yīng)位判斷收/發(fā) 數(shù)據(jù)是否完成,進(jìn)而利用中斷服務(wù)程序來(lái)完成其它功能。要注意的是,在中斷 服務(wù)程序開始,要啟動(dòng)備用寄存器,退出時(shí)一定關(guān)閉。也就是說(shuō)在中斷服務(wù)程 序中使用備用寄存器,以保護(hù)正常程序中的寄存器。 如果傳輸?shù)臄?shù)據(jù)在內(nèi)存中不是一段數(shù)據(jù),而是多段數(shù)據(jù),

11、就可以利用鏈?zhǔn)?DMA 先禁止鏈路口所要指定的 LBUF 對(duì) LAR 指定,依次設(shè)置 LCOM 和 LCTL(置 LxCHEh 位為 1),向 CP 寄存器寫入 DMA 空制塊(每個(gè)控制塊包含了相應(yīng)收/發(fā)數(shù) 據(jù)段的信息)在內(nèi)存中的首地址,就可啟動(dòng)鏈?zhǔn)?DMA 而向 CP 寫入 0 則禁止鏈?zhǔn)?DMA當(dāng)前 DM 毗成后,由 DMA 空制器自動(dòng)裝入下一套參數(shù),放在存儲(chǔ)器中的 (DMA)參數(shù)寄存器,建立下一個(gè) DMA CP 的位 17 為 1 時(shí)表示當(dāng)前 DMA 完成后產(chǎn) 生一個(gè)中斷請(qǐng)求。DMA 參數(shù)有 4 個(gè): IIx 地址(存儲(chǔ)器起始地址 ) IMx 地址修改量 Cx 計(jì)數(shù)指針 CPx 鏈指針

12、它們?cè)趦?nèi)存中的位置關(guān)系如圖 2 所示 鏈?zhǔn)?DMA 方式只是對(duì)同一個(gè) LBUF 口而言,多個(gè) LBUF 不存在相互之間的鏈?zhǔn)?DMA 勺情況。 如果兩個(gè)鏈路口之間是單次傳輸數(shù)據(jù),那么先設(shè)置接收方 DMA 還是先設(shè)置發(fā)送 方 DMA 都沒關(guān)系;但是,如果是多次循環(huán)的收發(fā)數(shù)據(jù),一定要保證接收方的 DMA 設(shè)置早于發(fā)送方 DMA 否則每次傳輸數(shù)據(jù)時(shí)都會(huì)丟掉前兩個(gè) 32 位字。這是因?yàn)?發(fā)送方一旦準(zhǔn)備好,就往接收方的緩存預(yù)先打入兩個(gè) 32 位字。而當(dāng)接收方設(shè)置 DM/接收數(shù)據(jù)時(shí),首先要清除這個(gè)將要用到的緩存,因此這兩個(gè) 32 位字就丟掉 了。在實(shí)際 DMA 專輸數(shù)據(jù)過(guò)程中,一定不能對(duì)正在用的 LBUF

13、 進(jìn)行其它操作。 當(dāng)鏈路口禁止時(shí),其數(shù)據(jù)線 LxDATA 0 及 LxCLK LxACK 都是三態(tài)。為了允許收 發(fā)雙方在被使能的時(shí)間上有先后,在鏈路口禁止時(shí)要對(duì) LPDPD 青 0,以使 LxDATA 0 及 LxCLK LxACK 被內(nèi)部下拉(50k Q)。要注意的是,這些信號(hào)線如 果懸空,則必須用內(nèi)部或外部下拉 電阻。 通過(guò) LINK 口對(duì) DSP 進(jìn)行程序加載,一般用 host(主機(jī))或 EPRO 加載模式。 3 鏈路口應(yīng)用實(shí)例分析 筆者在實(shí)際工作中曾用到某型雷達(dá)信號(hào)處理系統(tǒng)。該系統(tǒng)包括 4 塊運(yùn)算板和一 塊后處理板,這 5 塊板子結(jié)構(gòu)完全相同。單塊 DSP 板包括 20 片ADSP21

14、06,同 時(shí)處理同一個(gè)周期的 4 個(gè)通道(和通道、輔助通道 1、輔助通道 2 和差通道 )的 數(shù)據(jù),每 5 片處理一個(gè)通道, 4 個(gè)通道連線關(guān)系原則上基本相同。實(shí)際工作中 根據(jù)重頻來(lái)改變運(yùn)算板的個(gè)數(shù),運(yùn)算板處理完數(shù)據(jù)通過(guò)鏈路口分時(shí)向后處理板 傳送數(shù)據(jù)。因?yàn)樵趯?shí)際中將出現(xiàn)多個(gè)鏈路口同時(shí)工作,為了避免各鏈路口工作 時(shí)之間的高頻干擾,對(duì)印制板設(shè)計(jì)的要求非常高。限于篇幅,下面只給出和通 道的原理框圖,如圖 3 所示。 LINK0 和 LINK3 分別接收輔助通道的數(shù)據(jù),LINK2 和 LINK5 把處理后的數(shù)據(jù)傳送 到后處理板, 4 塊板子分時(shí)向后處理板匯總數(shù)據(jù)。通過(guò)調(diào)試發(fā)現(xiàn),在同一塊運(yùn) 算板內(nèi)部,各鏈路口之間的數(shù)據(jù)以 80MHZ 的速率傳送(系統(tǒng)時(shí)鐘工作頻率為 40MHz:時(shí),同時(shí)工作,相互之間幾乎沒有干擾,可以保證數(shù)據(jù)傳送的準(zhǔn)確性, 大大提高了并行傳輸?shù)哪芰Α6?4 塊運(yùn)算板和后處理板之間傳送數(shù)據(jù) (即板子 之間傳送數(shù)據(jù)),如果采取 80MHz 的速率同時(shí)傳送,則相互之間干擾比較大,很 難保證傳輸?shù)恼_性;用 1倍速(40MHz)的速率傳送就可減少干擾,而且在接收 板(即后處理板 )鏈路口的握手信號(hào)上采取加 濾波電容或下拉電阻的措施可以減 少信號(hào)中的毛刺。本系統(tǒng)本來(lái)設(shè)計(jì)為同時(shí)由和通道、輔助通道 1 和差通

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論