日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]以由ADSP—TSl01型高速數(shù)字處理器和EPM3256型復(fù)雜可編程邏輯器件構(gòu)成的紅外圖像處理系統(tǒng)為例,詳細(xì)介紹系統(tǒng)中DSP的DMA通道的應(yīng)用。

摘  要:以由ADSP—TSl01型高速數(shù)字處理器和EPM3256型復(fù)雜可編程邏輯器件構(gòu)成的紅外圖像處理系統(tǒng)為例,詳細(xì)介紹系統(tǒng)中DSP的DMA通道的應(yīng)用。
關(guān)鍵詞紅外圖像處理;ADSP-TSlOl;DMA;CPLD

1 引言
    紅外圖像處理系統(tǒng)的數(shù)據(jù)吞吐量大.處理算法復(fù)雜。由高速數(shù)字處理器和復(fù)雜可編程邏輯器件(CPLD)構(gòu)成的紅外圖像處理系統(tǒng)是當(dāng)前紅外圖像處理系統(tǒng)的一種發(fā)展趨勢(shì)。將高速處理器從繁重的數(shù)據(jù)傳輸中解脫出來,專注于從事圖像處理,是解決速度瓶頸的重要手段。

    直接內(nèi)存存取(DMA)是在CPU無(wú)需干預(yù)的情況下自動(dòng)進(jìn)行數(shù)據(jù)傳輸?shù)姆绞健K鼘?duì)于浮點(diǎn)DSP進(jìn)行實(shí)時(shí)信號(hào)處理有著非常重要的作用。一方面.為了發(fā)揮DSP核心運(yùn)算單元的高速運(yùn)算能力.必須首先把程序和數(shù)據(jù)傳輸?shù)紻SP的內(nèi)存中.這通常需要DMA操作來實(shí)現(xiàn);另一方面.DSP系統(tǒng)總要跟外部信號(hào)通信,不論是數(shù)據(jù)的輸入還是輸出,都需要DMA來完成。否則會(huì)影響DSP核的高速運(yùn)算能力。

    ADSP-TSlOl是AD公司推出的新型浮點(diǎn)DSP之一。其內(nèi)部有專門的DMA控制器。還提供了多個(gè)DMA通道.不同的通道對(duì)應(yīng)不同的外部口操作。本文首先概括介紹由ADSP一TPSl01和EPM3256型CPLD構(gòu)成的紅外處理系統(tǒng)。然后對(duì)系統(tǒng)中的幾種典型DMA操作進(jìn)行詳細(xì)的分析。

2 系統(tǒng)結(jié)構(gòu)
    本文介紹的紅外處理系統(tǒng)主要用于320x240像素紅外圖像的處理.對(duì)背景中的目標(biāo)進(jìn)行檢測(cè)、跟蹤和識(shí)別。系統(tǒng)的硬件結(jié)構(gòu)如圖1所示。該系統(tǒng)采用2個(gè)ADSP-TS101作為處理器,2個(gè)的FIFO作為輸入輸出緩存,1個(gè)SDRAM作為外部存儲(chǔ)器,1個(gè):EPM3256型CPLD作為邏輯控制。

    在此系統(tǒng)之前的處理是紅外圖像的采集過程。采集到的紅外圖像數(shù)據(jù)經(jīng)過外部連接首先傳輸?shù)捷斎刖彌_FIFO中。當(dāng)某一幀圖像數(shù)據(jù)傳輸完畢,使用TSl01特有的FLYBY傳輸方式將數(shù)據(jù)由輸入緩沖FIFO傳輸?shù)絊DRAM中,然后DSP對(duì)圖像數(shù)據(jù)進(jìn)行目標(biāo)檢測(cè)等處理。處理結(jié)果先存儲(chǔ)在DSP內(nèi)的RAM中,最后輸入到輸出緩沖FIFO。其中包括FIFO到SDRAM、SDRAM到DSP及DSP間的數(shù)據(jù)傳輸,由于都采用了DMA傳輸,不占用DSP資源,大大提高了系統(tǒng)的處理能力。

3 ADSP—TSl01的DMA描述
    ADSP-TSl01是TigerSharc系列DSP的首個(gè)成員,具有極高的運(yùn)算能力。它片內(nèi)的DMA控制器允許將數(shù)據(jù)傳輸作為后臺(tái)任務(wù)執(zhí)行,從而將處理器內(nèi)核釋放出來。其內(nèi)部具有14個(gè)DMA通道,如圖2所示,分別對(duì)應(yīng)著不同類型的傳輸操作。4個(gè)通道專用于外部存儲(chǔ)器設(shè)備,8個(gè)。DMA通道用于鏈路口,還有2個(gè)通道用于自動(dòng)。DMA操作。多樣的傳輸手段使得ADSP—TSl01傳輸數(shù)據(jù)非常方便。利用DMA控制器,DSP處理器可以執(zhí)行以下幾種類型的數(shù)據(jù)傳輸:

    (1)內(nèi)部存儲(chǔ)器到外部存儲(chǔ)器或與存儲(chǔ)器映射的外設(shè)設(shè)備之間的數(shù)據(jù)傳遞;
    (2)外部存儲(chǔ)器與外部外設(shè)之間的飛躍式數(shù)據(jù)傳輸;
    (3)外部存儲(chǔ)器到鏈路口I/O的數(shù)據(jù)傳輸;
    (4)鏈路口I/O到處理器內(nèi)部存儲(chǔ)器的數(shù)據(jù)傳輸:
    (5)鏈路口I/O到外部存儲(chǔ)器的數(shù)據(jù)傳輸;
    (6)鏈路口I/O之間的閉環(huán)數(shù)據(jù)傳輸。

    TSl01的DMA控制器由專用的控制器核、發(fā)送端TCB寄存器與接收端TCB寄存器等構(gòu)成。DMA傳送的數(shù)據(jù)流具有方向性,即從發(fā)送端(源)到接收端(目的)。若發(fā)送端或接收端是存儲(chǔ)器,則需通過TCB寄存器來描述。TCB寄存器是128 bit寄存器,如圖3所示.包括啟動(dòng)DMA所必需的信息。例如,1個(gè)傳送TCB包括數(shù)據(jù)源的地址、傳輸?shù)臄?shù)據(jù)字節(jié)數(shù)、地址的增量、控制信息。若啟動(dòng)DMA操作,需對(duì)TCB寄存器進(jìn)行編程。

    TCB寄存器由4個(gè)32位寄存器組成:DI寄存器、DX寄存器、DX寄存器和DP寄存器。DI寄存器是32 bit索引寄存器,它包含傳送的源地址或者接受的目的地地址,可以指向內(nèi)存、外存或者LINK口。DX寄存器包含了1個(gè)16 bit的計(jì)數(shù)值和1個(gè)16 bit的修正值,分別存儲(chǔ)在DX的前16位(前者)和后16位。如果一個(gè)二維DMA被使能,該寄存器包含的值僅僅代表X方向。例如:如果要傳輸4個(gè)128 bit的字.計(jì)數(shù)值將被設(shè)置為0X10,而修正值與DP寄存器中的操作數(shù)長(zhǎng)度相對(duì)應(yīng)。如果操作數(shù)長(zhǎng)度是長(zhǎng)字.那么修正值將會(huì)被設(shè)置為0X2。DY寄存器與DX寄存器相對(duì)應(yīng),只有啟動(dòng)二維DMA時(shí)才會(huì)用到。DP寄存器包括DMA所有的控制信息,分為控制信息和DMA鏈信息。

4 系統(tǒng)中的典型DMA操作
    在本文介紹的紅外圖像系統(tǒng)中,主要使用以下幾種DMA操作:內(nèi)存與外存(內(nèi)存與SDRAM間的數(shù)據(jù)傳輸)、內(nèi)存與LINK口間的數(shù)據(jù)傳輸、外設(shè)與外存的數(shù)據(jù)傳輸(FIFO與SDRAM間的數(shù)據(jù)傳輸)。

4.1 內(nèi)存與外存間的DMA操作

    TSl01處理器有4個(gè)專用DMA通道,用于內(nèi)部存儲(chǔ)器與外部存儲(chǔ)器之間的數(shù)據(jù)傳輸。每個(gè)通道有2個(gè)TCB DP寄存器、1個(gè)發(fā)送TCB和1個(gè)接收。TCB.其中發(fā)送端用來驅(qū)動(dòng)數(shù)據(jù),接收端用來接收數(shù)據(jù)。DP寄存器的TY域指定了要執(zhí)行的DMA傳送的類型。

    實(shí)現(xiàn)外部存儲(chǔ)器與內(nèi)部存儲(chǔ)器的數(shù)據(jù)傳輸有2種途徑:一是對(duì)4個(gè)DMA通道中的1個(gè)進(jìn)行編程,將數(shù)據(jù)塊從一個(gè)存儲(chǔ)器移人另一個(gè)存儲(chǔ)器。此時(shí).發(fā)送和接收TCB都需要進(jìn)行配置:二是使用2個(gè)AutoDMA通道中的一個(gè),此時(shí),外設(shè)首先對(duì)通道的2個(gè)TCB寄存器編程,然后向目標(biāo)AutoDMA數(shù)據(jù)寄存器寫人數(shù)據(jù)。向這個(gè)地址進(jìn)行寫操作,激活相應(yīng)的DMA。

    下面以在紅外處理系統(tǒng)中的應(yīng)用為例說明第一種用法。如要將SDRAM內(nèi)地址為0x400000~
Ox4003FF中的1024個(gè)數(shù)用DMA通道0傳送到內(nèi)存地址0xS0000~0x803FF中.可用下面的

編程來實(shí)現(xiàn):
XR0=0x400000:← DI Register
XRl=OxO4D00004:← DX Register
XR2=0x00000000;← DY Register
XR3=Ox87000000:←DP Register
DCS0=XR3:0:
XR8=0x80000; ← DI Rester
XR9=ox04000004;←DX ReRister
XRl0=0x0000000;← DY Re西sler
XRll=ox47000000;← DP Register
DCD0=XRll:8:

4.2  內(nèi)存與LINK口間的DM_A操作

    TSl01的鏈路口為處理器內(nèi)部或外部的數(shù)據(jù)傳輸提供了快速、獨(dú)立的通信機(jī)制,它為系統(tǒng)中的DSP之間提供了點(diǎn)對(duì)點(diǎn)的通信方法。每個(gè)DSP有4個(gè)鏈路口,每個(gè)鏈路口都由8位雙向數(shù)據(jù)線和另外3條控制線構(gòu)成。鏈路口的結(jié)構(gòu)如圖4所示。每個(gè)鏈路口有2個(gè)端口(發(fā)送端和接收端)和2個(gè)緩沖區(qū)。緩沖區(qū)用于打包或解包鏈路口數(shù)據(jù),與內(nèi)部存儲(chǔ)器進(jìn)行數(shù)據(jù)交換。

    TSl01的4個(gè)鏈路口均可使用DMA方式發(fā)送或接收數(shù)據(jù),可以實(shí)現(xiàn)鏈路口與內(nèi)部存儲(chǔ)器、外部存儲(chǔ)器或其他鏈路口之間的雙向數(shù)據(jù)傳送。處理器為每個(gè)鏈路口提供了2個(gè)專用的DMA通道,1個(gè)用于發(fā)送數(shù)據(jù),1個(gè)用于接收數(shù)據(jù)。兩個(gè)DMA通道均可以與內(nèi)部或外部存儲(chǔ)器接口。當(dāng)接收端寄存器空且鏈路DMA通道使能時(shí),鏈路口向發(fā)送DMA通道發(fā)出DMA請(qǐng)求,鏈路1:3可以繼續(xù)向緩存區(qū)寫數(shù)據(jù)。當(dāng)接收寄存器滿且DMA通道使能時(shí),鏈路口向接收DMA通道發(fā)出DMA請(qǐng)求。

    以紅外處理系統(tǒng)中的應(yīng)用為例,如圖l所示.DSPO通過LINK口0與DSPl的LINK口1相連。如果將DSP0內(nèi)存中的數(shù)組data_tx中N個(gè)數(shù)通過鏈路口傳輸?shù)紻SPl內(nèi)存中的數(shù)組data_rx中.首先要對(duì)DSPl的LINK口l的接收DMA通道進(jìn)行編程,然后對(duì)DSP0的LINK口O的發(fā)送DMA通道進(jìn)行編程。

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);

    在以上編程中,將鏈路口時(shí)鐘配置成1/3核時(shí)鐘。當(dāng)處理器核工作在300 MHz和鏈路口工作在100 MHz時(shí)鏈路口的吞吐率可以達(dá)到200 MB。

4.3  外存與外設(shè)間的DMA操作(飛躍傳輸)

    在程序設(shè)計(jì)中,要實(shí)現(xiàn)外部存儲(chǔ)器與其他外部設(shè)備之間的數(shù)據(jù)傳輸,通常都需要通過處理器內(nèi)核將數(shù)據(jù)傳輸?shù)教幚砥鲀?nèi)部。在這種情況下.TSl01處理器支持全新的數(shù)據(jù)傳輸即飛躍傳(上接第60頁(yè))輸方式.此時(shí)不必對(duì)內(nèi)部存儲(chǔ)器進(jìn)行訪問,數(shù)據(jù)直接在外部存儲(chǔ)器和外部其他設(shè)備之間傳輸。在飛躍傳輸方式下??砂裈Sl01看作獨(dú)立的DMA控制器。飛躍傳輸方式與標(biāo)準(zhǔn)的DMA傳輸方式類似,程序設(shè)計(jì)也基本相同,但是數(shù)據(jù)寬度必須與外部10設(shè)備匹配。而且只能使用DMA通道0。

5 結(jié)束語(yǔ)
    充分利用DSP的DMA功能是解決高速圖像處理器速度瓶頸的重要手段。ADSP一TS101的DMA操作功能強(qiáng)大,形式多樣。它可以在不中斷信號(hào)處理器算法處理工作的同時(shí)完成圖像數(shù)據(jù)的傳輸,提高處理系統(tǒng)的性能。本文分析的幾種操作在紅外圖像處理系統(tǒng)中得到具體的實(shí)踐,獲得良好的效果。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

《帶得走的智能制造》暑期課程圓滿落幕 北京2025年7月25日 /美通社/ -- 近日,由國(guó)際獨(dú)立第三方檢測(cè)、檢驗(yàn)和認(rèn)證機(jī)構(gòu)德國(guó)萊茵TÜV大中華區(qū)(以下簡(jiǎn)稱"TÜV萊茵")與北京...

關(guān)鍵字: 智能制造 BSP DMA 信息安全

在實(shí)時(shí)控制系統(tǒng)、高速通信協(xié)議處理及高精度數(shù)據(jù)采集等對(duì)時(shí)間敏感的應(yīng)用場(chǎng)景中,中斷響應(yīng)延遲的優(yōu)化直接決定了系統(tǒng)的可靠性與性能上限。STM32系列微控制器憑借其靈活的嵌套向量中斷控制器(NVIC)、多通道直接內(nèi)存訪問(DMA)...

關(guān)鍵字: STM32 DMA

在嵌入式系統(tǒng)、網(wǎng)絡(luò)通信等對(duì)數(shù)據(jù)傳輸效率要求極高的場(chǎng)景中,零拷貝技術(shù)能夠顯著減少數(shù)據(jù)在內(nèi)存中的拷貝次數(shù),降低CPU負(fù)載,提高系統(tǒng)性能。DMA(直接內(nèi)存訪問)環(huán)形緩沖區(qū)與內(nèi)存池相結(jié)合的雙重優(yōu)化策略,為實(shí)現(xiàn)高效的零拷貝數(shù)據(jù)傳輸...

關(guān)鍵字: 零拷貝 DMA 嵌入式系統(tǒng)

STM32單片機(jī)憑借其高性能、低功耗、豐富的外設(shè)資源等優(yōu)勢(shì),在工業(yè)控制、消費(fèi)電子、汽車電子等領(lǐng)域得到了廣泛應(yīng)用。在嵌入式系統(tǒng)開發(fā)中,高效的數(shù)據(jù)處理和傳輸至關(guān)重要。中斷技術(shù)和DMA技術(shù)作為STM32單片機(jī)中重要的數(shù)據(jù)處理和...

關(guān)鍵字: STM32 DMA

在嵌入式系統(tǒng)中,隨著數(shù)據(jù)量的不斷增加和實(shí)時(shí)性要求的提高,傳統(tǒng)的CPU直接控制數(shù)據(jù)傳輸?shù)姆绞街饾u暴露出效率低下的問題。為了應(yīng)對(duì)這一挑戰(zhàn),直接內(nèi)存訪問(Direct Memory Access,DMA)技術(shù)應(yīng)運(yùn)而生,成為實(shí)現(xiàn)...

關(guān)鍵字: DMA 嵌入式系統(tǒng) 高速數(shù)據(jù)傳輸

廣州2025年1月21日 /美通社/ -- 在數(shù)字營(yíng)銷領(lǐng)域快速發(fā)展的今天,每一場(chǎng)行業(yè)盛會(huì)都預(yù)示著新的轉(zhuǎn)折與機(jī)遇。2025年1月10日,由DMAA數(shù)字營(yíng)銷獎(jiǎng)主辦,廣州4A聯(lián)合主辦,廣州市廣告行業(yè)協(xié)會(huì)指導(dǎo)的第八屆DMAA國(guó)際...

關(guān)鍵字: DMA AI AI技術(shù) 創(chuàng)始人

在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,直接內(nèi)存訪問(DMA)技術(shù)被廣泛應(yīng)用于高速數(shù)據(jù)傳輸,其核心理念在于讓數(shù)據(jù)傳輸不再依賴CPU的參與,從而釋放CPU資源以處理其他任務(wù)。然而,在DMA操作完成后,系統(tǒng)需要一種機(jī)制來檢測(cè)DMA傳輸是否已完成...

關(guān)鍵字: DMA CPU 輪詢檢測(cè)

之前有個(gè)同事因?yàn)橛么诓樵兎绞桨l(fā)送數(shù)據(jù),被我說了一頓,明明有DMA資源,竟然放著不用,對(duì)于魚鷹這種性能強(qiáng)迫癥來說,肯定無(wú)法忍受,所以當(dāng)時(shí)就和他說,有時(shí)間你把它改一下。誰(shuí)知道過了好幾個(gè)月他才有時(shí)間弄這個(gè),然后還是出了問題,...

關(guān)鍵字: DMA 串口

UART(Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)器)是一種常用的串行通信協(xié)議,廣泛應(yīng)用于單片機(jī)或各種嵌入式設(shè)備之間的通信。

關(guān)鍵字: UART DMA

轉(zhuǎn)移數(shù)據(jù)(尤其是轉(zhuǎn)移大量數(shù)據(jù))是可以不需要CPU參與。比如希望外設(shè)A的數(shù)據(jù)拷貝到外設(shè)B,

關(guān)鍵字: CPU DMA 數(shù)據(jù)通路
關(guān)閉