当前位置:首页 > 电源 > 数字电源
[导读]以由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操作功能强大,形式多样。它可以在不中断信号处理器算法处理工作的同时完成图像数据的传输,提高处理系统的性能。本文分析的几种操作在红外图像处理系统中得到具体的实践,获得良好的效果。

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

北京2023年8月31日 /美通社/ -- 8月30日,由中共河曲县委、河曲县人民政府主办,中共河曲县委宣传部、河曲县文化和旅游局、保利乐享文娱科技(北京)有限公司承办的"河清盛世,曲著华章"2023...

关键字: 3D建模 BSP DMA MAPPING

北京2023年8月9日 /美通社/ -- 浪潮云海经过13年的发展,到今天形成了以服务器虚拟化、超融合、InCloudOS 为代表的云海产品家族,凭借领先的产品技术能力和丰富的行业实践,满足不同行业、场景下客户的上云需求...

关键字: DMA 虚拟化 软硬件 CPU

北京2023年2月20日 /美通社/ -- 在经济领域有着重要影响力的CFS财经峰会2023第十二届活动定于今年7月举行,活动主题为"激活高质量发展澎湃活力"。 今年的财经峰会将以线下为主,线上结合...

关键字: 数字化 智能制造 数字经济 DMA

Mixpanel现已在GoogleCloudMarketplace上提供。Mixpanel功能强大、易于使用的产品分析解决方案可向产品团队展示对于其产品有效和无效的举措,让团队更便捷地访问数据,并帮助他们优先考虑其路线图...

关键字: PANEL MIX GOOGLE DMA

高盛集团(Goldman Sachs Group)周二证实了一项全面重组计划,这是该公司历史上最大的改革举措之一。高盛将把其交易和投行业务合并为一个部门,使该行从四个部门缩减至三个部门,缩减进军零售银行业务的努力,专注于...

关键字: DMA GROUP GO AN

SWM32S单片机有1个SDIO接口,支持多媒体卡(MMC)、SD 存储卡、SDIO 卡等设备,可以使用软件方法或者 DMA 方法(SDIO 模块内部 DMA,与芯片 DMA 模块无关)进行数据传输。

关键字: SWM32S单片机 SDIO DMA

标普500指数今年迄今为止下跌22.7%,但高盛(Goldman Sachs)策略师认为估值依然太高。摩根士丹利旗下的Morgan Stanley Wealth Management称,面对高通胀环境下的利率大幅上升,股...

关键字: DMA MANAGEMENT ST

高盛集团(Goldman Sachs Group)计划将其最大的业务合并为三个部门,进行该华尔街公司历史上最大的一次业务重组。高盛将把其旗舰投行业务和交易业务合并为一个部门,同时将资产管理和财富管理业务合并为另一个部门。...

关键字: APPLE DMA GENERAL GREEN

北京2022年8月8日 /美通社/ -- 8月8日,由百事公司大中华区(简称"百事公司") 联合物美集团、多点Dmall以及中国乡村发展基金会共同发起的"物美兴农·多点乐事&q...

关键字: MIDDOT 数字化 COO DMA

武汉2022年7月27日 /美通社/ -- 7月25日,日立电梯联合越秀商投,在武汉越秀财富中心开展 "Landmark云端智同行"活动。活动上,日立电梯工程师为用户现场讲解电梯原理,并在写字楼内布置...

关键字: DMA LAN MARK 日立
关闭
关闭