当前位置:首页 > 单片机 > 单片机
[导读]以由ADSP—TSl01型高速数字处理器和EPM3256型复杂可编程逻辑器件构成的红外图像处理系统为例,详细介绍系统中DSP的DMA通道的应用。

摘  要:以由ADSP—TSl01型高速数字处理器和EPM3256型复杂可编程逻辑器件构成的红外图像处理系统为例,详细介绍系统中DSP的DMA通道的应用。
关键词红外图像处理;ADSP-TSlOl;DMA;CPLD

1 引言
    红外图像处理系统的数据吞吐量大.处理算法复杂。由高速数字处理器和复杂可编程逻辑器件(CPLD)构成的红外图像处理系统是当前红外图像处理系统的一种发展趋势。将高速处理器从繁重的数据传输中解脱出来,专注于从事图像处理,是解决速度瓶颈的重要手段。

    直接内存存取(DMA)是在CPU无需干预的情况下自动进行数据传输的方式。它对于浮点DSP进行实时信号处理有着非常重要的作用。一方面.为了发挥DSP核心运算单元的高速运算能力.必须首先把程序和数据传输到DSP的内存中.这通常需要DMA操作来实现;另一方面.DSP系统总要跟外部信号通信,不论是数据的输入还是输出,都需要DMA来完成。否则会影响DSP核的高速运算能力。

    ADSP-TSlOl是AD公司推出的新型浮点DSP之一。其内部有专门的DMA控制器。还提供了多个DMA通道.不同的通道对应不同的外部口操作。本文首先概括介绍由ADSP一TPSl01和EPM3256型CPLD构成的红外处理系统。然后对系统中的几种典型DMA操作进行详细的分析。

2 系统结构
    本文介绍的红外处理系统主要用于320x240像素红外图像的处理.对背景中的目标进行检测、跟踪和识别。系统的硬件结构如图1所示。该系统采用2个ADSP-TS101作为处理器,2个的FIFO作为输入输出缓存,1个SDRAM作为外部存储器,1个:EPM3256型CPLD作为逻辑控制。

    在此系统之前的处理是红外图像的采集过程。采集到的红外图像数据经过外部连接首先传输到输入缓冲FIFO中。当某一帧图像数据传输完毕,使用TSl01特有的FLYBY传输方式将数据由输入缓冲FIFO传输到SDRAM中,然后DSP对图像数据进行目标检测等处理。处理结果先存储在DSP内的RAM中,最后输入到输出缓冲FIFO。其中包括FIFO到SDRAM、SDRAM到DSP及DSP间的数据传输,由于都采用了DMA传输,不占用DSP资源,大大提高了系统的处理能力。

3 ADSP—TSl01的DMA描述
    ADSP-TSl01是TigerSharc系列DSP的首个成员,具有极高的运算能力。它片内的DMA控制器允许将数据传输作为后台任务执行,从而将处理器内核释放出来。其内部具有14个DMA通道,如图2所示,分别对应着不同类型的传输操作。4个通道专用于外部存储器设备,8个。DMA通道用于链路口,还有2个通道用于自动。DMA操作。多样的传输手段使得ADSP—TSl01传输数据非常方便。利用DMA控制器,DSP处理器可以执行以下几种类型的数据传输:

    (1)内部存储器到外部存储器或与存储器映射的外设设备之间的数据传递;
    (2)外部存储器与外部外设之间的飞跃式数据传输;
    (3)外部存储器到链路口I/O的数据传输;
    (4)链路口I/O到处理器内部存储器的数据传输:
    (5)链路口I/O到外部存储器的数据传输;
    (6)链路口I/O之间的闭环数据传输。

    TSl01的DMA控制器由专用的控制器核、发送端TCB寄存器与接收端TCB寄存器等构成。DMA传送的数据流具有方向性,即从发送端(源)到接收端(目的)。若发送端或接收端是存储器,则需通过TCB寄存器来描述。TCB寄存器是128 bit寄存器,如图3所示.包括启动DMA所必需的信息。例如,1个传送TCB包括数据源的地址、传输的数据字节数、地址的增量、控制信息。若启动DMA操作,需对TCB寄存器进行编程。

    TCB寄存器由4个32位寄存器组成:DI寄存器、DX寄存器、DX寄存器和DP寄存器。DI寄存器是32 bit索引寄存器,它包含传送的源地址或者接受的目的地地址,可以指向内存、外存或者LINK口。DX寄存器包含了1个16 bit的计数值和1个16 bit的修正值,分别存储在DX的前16位(前者)和后16位。如果一个二维DMA被使能,该寄存器包含的值仅仅代表X方向。例如:如果要传输4个128 bit的字.计数值将被设置为0X10,而修正值与DP寄存器中的操作数长度相对应。如果操作数长度是长字.那么修正值将会被设置为0X2。DY寄存器与DX寄存器相对应,只有启动二维DMA时才会用到。DP寄存器包括DMA所有的控制信息,分为控制信息和DMA链信息。

4 系统中的典型DMA操作
    在本文介绍的红外图像系统中,主要使用以下几种DMA操作:内存与外存(内存与SDRAM间的数据传输)、内存与LINK口间的数据传输、外设与外存的数据传输(FIFO与SDRAM间的数据传输)。

4.1 内存与外存间的DMA操作

    TSl01处理器有4个专用DMA通道,用于内部存储器与外部存储器之间的数据传输。每个通道有2个TCB DP寄存器、1个发送TCB和1个接收。TCB.其中发送端用来驱动数据,接收端用来接收数据。DP寄存器的TY域指定了要执行的DMA传送的类型。

    实现外部存储器与内部存储器的数据传输有2种途径:一是对4个DMA通道中的1个进行编程,将数据块从一个存储器移人另一个存储器。此时.发送和接收TCB都需要进行配置:二是使用2个AutoDMA通道中的一个,此时,外设首先对通道的2个TCB寄存器编程,然后向目标AutoDMA数据寄存器写人数据。向这个地址进行写操作,激活相应的DMA。

    下面以在红外处理系统中的应用为例说明第一种用法。如要将SDRAM内地址为0x400000~
Ox4003FF中的1024个数用DMA通道0传送到内存地址0xS0000~0x803FF中.可用下面的

编程来实现:
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  内存与LINK口间的DM_A操作

    TSl01的链路口为处理器内部或外部的数据传输提供了快速、独立的通信机制,它为系统中的DSP之间提供了点对点的通信方法。每个DSP有4个链路口,每个链路口都由8位双向数据线和另外3条控制线构成。链路口的结构如图4所示。每个链路口有2个端口(发送端和接收端)和2个缓冲区。缓冲区用于打包或解包链路口数据,与内部存储器进行数据交换。

    TSl01的4个链路口均可使用DMA方式发送或接收数据,可以实现链路口与内部存储器、外部存储器或其他链路口之间的双向数据传送。处理器为每个链路口提供了2个专用的DMA通道,1个用于发送数据,1个用于接收数据。两个DMA通道均可以与内部或外部存储器接口。当接收端寄存器空且链路DMA通道使能时,链路口向发送DMA通道发出DMA请求,链路1:3可以继续向缓存区写数据。当接收寄存器满且DMA通道使能时,链路口向接收DMA通道发出DMA请求。

    以红外处理系统中的应用为例,如图l所示.DSPO通过LINK口0与DSPl的LINK口1相连。如果将DSP0内存中的数组data_tx中N个数通过链路口传输到DSPl内存中的数组data_rx中.首先要对DSPl的LINK口l的接收DMA通道进行编程,然后对DSP0的LINK口O的发送DMA通道进行编程。

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);//设定

链路口的控制寄存器
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);
/,设定链路口的控制寄存器
builtin_sysreg_write4(DC4,q);

    在以上编程中,将链路口时钟配置成1/3核时钟。当处理器核工作在300 MHz和链路口工作在100 MHz时链路口的吞吐率可以达到200 MB。

4.3  外存与外设间的DMA操作(飞跃传输)

    在程序设计中,要实现外部存储器与其他外部设备之间的数据传输,通常都需要通过处理器内核将数据传输到处理器内部。在这种情况下.TSl01处理器支持全新的数据传输即飞跃传(上接第60页)输方式.此时不必对内部存储器进行访问,数据直接在外部存储器和外部其他设备之间传输。在飞跃传输方式下。可把TSl01看作独立的DMA控制器。飞跃传输方式与标准的DMA传输方式类似,程序设计也基本相同,但是数据宽度必须与外部10设备匹配。而且只能使用DMA通道0。

5 结束语
    充分利用DSP的DMA功能是解决高速图像处理器速度瓶颈的重要手段。ADSP一TS101的DMA操作功能强大,形式多样。它可以在不中断信号处理器算法处理工作的同时完成图像数据的传输,提高处理系统的性能。本文分析的几种操作在红外图像处理系统中得到具体的实践,获得良好的效果。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭