上海婦科疾病研究所 上海女性不孕醫(yī)院 上海引產(chǎn)醫(yī)院 無痛引產(chǎn)痛不痛 上海人流醫(yī)院 白癜風(fēng)治療醫(yī)院 上海小兒腦癱醫(yī)院 上海女子醫(yī)院
君子以泽,神武八荒 一颗 小说,小说网

国产精品无码毛片AV_亚洲毛片精品在线_全球黄色短视频在线免费观看_亚洲一区二区爱av_成年人免费观看网址_欧美美女性爱喷水网址_亚洲毛片av无码不卡_国产无码视频在线观看_高清国语自产拍在线播放_女人午夜免费黄片

用戶名: 密碼:
主頁 設(shè)為首頁 加入收藏
      產(chǎn)品中心       技術(shù)中心       下載中心        社區(qū)新聞        誠聘英才       大學(xué)計(jì)劃        關(guān)于我們       技術(shù)論壇
  您的當(dāng)前位置:ADSP開源社區(qū) >> 技術(shù)中心 >> TigerSAHRC 今天是:
技術(shù)中心  
SigmaDSP
SHARC
A2B音頻總線
Blackfin
ADI操作系統(tǒng)
ADSP-218X
TigerSAHRC
ADI DSP仿真器
產(chǎn)品導(dǎo)航
ADI DSP仿真器
SigmaDSP開發(fā)板
ADI A2B總線開發(fā)板
SHARC DSP開發(fā)板
銷售網(wǎng)絡(luò)
TigerSAHRC  
ADSP-TSl01的DMA在紅外圖像處理系統(tǒng)中應(yīng)用
[ 作者:admin ] [ 來源:ADSP開源社區(qū) ] [ 發(fā)布時間:2011-5-28 ]
1 引言

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

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

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

  2 系統(tǒng)結(jié)構(gòu)

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

ADSP-TSl01的DMA在紅外圖像處理系統(tǒng)中應(yīng)用

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

3 ADSP—TSl01的DMA描述

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

  (1)內(nèi)部存儲器到外部存儲器或與存儲器映射的外設(shè)設(shè)備之間的數(shù)據(jù)傳遞;

  (2)外部存儲器與外部外設(shè)之間的飛躍式數(shù)據(jù)傳輸;

  (3)外部存儲器到鏈路口I/O的數(shù)據(jù)傳輸;

  (4)鏈路口I/O到處理器內(nèi)部存儲器的數(shù)據(jù)傳輸:

  (5)鏈路口I/O到外部存儲器的數(shù)據(jù)傳輸;

  (6)鏈路口I/O之間的閉環(huán)數(shù)據(jù)傳輸。

ADSP-TSl01的DMA在紅外圖像處理系統(tǒng)中應(yīng)用

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

ADSP-TSl01的DMA在紅外圖像處理系統(tǒng)中應(yīng)用

  TCB寄存器由4個32位寄存器組成:DI寄存器、DX寄存器、DX寄存器和DP寄存器。DI寄存器是32 bit索引寄存器,它包含傳送的源地址或者接受的目的地地址,可以指向內(nèi)存、外存或者LINK口。DX寄存器包含了1個16 bit的計(jì)數(shù)值和1個16 bit的修正值,分別存儲在DX的前16位(前者)和后16位。如果一個二維DMA被使能,該寄存器包含的值僅僅代表X方向。例如:如果要傳輸4個128 bit的字.計(jì)數(shù)值將被設(shè)置為0X10,而修正值與DP寄存器中的操作數(shù)長度相對應(yīng)。如果操作數(shù)長度是長字.那么修正值將會被設(shè)置為0X2。DY寄存器與DX寄存器相對應(yīng),只有啟動二維DMA時才會用到。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個專用DMA通道,用于內(nèi)部存儲器與外部存儲器之間的數(shù)據(jù)傳輸。每個通道有2個TCB DP寄存器、1個發(fā)送TCB和1個接收。TCB.其中發(fā)送端用來驅(qū)動數(shù)據(jù),接收端用來接收數(shù)據(jù)。DP寄存器的TY域指定了要執(zhí)行的DMA傳送的類型。

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

  下面以在紅外處理系統(tǒng)中的應(yīng)用為例說明第一種用法。如要將SDRAM內(nèi)地址為0x400000~

  Ox4003FF中的1024個數(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)對點(diǎn)的通信方法。每個DSP有4個鏈路口,每個鏈路口都由8位雙向數(shù)據(jù)線和另外3條控制線構(gòu)成。鏈路口的結(jié)構(gòu)如圖4所示。每個鏈路口有2個端口(發(fā)送端和接收端)和2個緩沖區(qū)。緩沖區(qū)用于打包或解包鏈路口數(shù)據(jù),與內(nèi)部存儲器進(jìn)行數(shù)據(jù)交換。

ADSP-TSl01的DMA在紅外圖像處理系統(tǒng)中應(yīng)用

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

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

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

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

  5 結(jié)束語

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

聯(lián)系我們 | 關(guān)于我們 | 免責(zé)聲明 | 誠征英才 | 友情鏈接
Copyright 2019 All rights reserved  本網(wǎng)頁版權(quán)屬Open ADSP所有
北京海淀區(qū)中關(guān)村大街32號新中發(fā)市場3659 郵編100100
電話 18611096839 
粵ICP備14035876號-1