当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]合成孔径雷达成像系统是一种全天时、全天候的高分辨率主动微波遥感成像系统,在地理遥感、地形测绘、灾情预测和军事侦察等领域有着重要应用。逆存储转置器(ICTM)是合成孔径雷达成像系统。

1.引言

合成孔径雷达成像系统是一种全天时、全天候的高分辨率主动微波遥感成像系统,在地理遥感、地形测绘、灾情预测和军事侦察等领域有着重要应用。逆存储转置器(ICTM)是合成孔径雷达成像系统的一个重要模块,它需要将上位机方位压缩模块输出的图像数据以方位线的形式依次写入外部存储器,通过数据的逆转置处理,以距离线的形式将图像数据依次输出。此外,ICTM的输出数据将经过数据I/O节点发送到下位机图像显示模块,使图像显示模块能实时的以距离线形式滚动显示雷达图像。ICTM以TI的一款高性能定点DSP芯片TMS320C6415为核心处理器,两条大容量SDRAM作为外部存储器,实现输入数据的逆存储转置操作,同时其强大的处理能力也为今后处理更多的数据提供了升级空间。

2.TMS320C6415芯片简介

TMS320C6415是TI公司生产的高性能定点DSP C6000系列中的一款,该系列的DSP都是基于VelociTITM架构的VLIW DSP,在每个时钟周期内可以执行8条32bit的指令。C6415的核心工作频率最高可以达到720MHz,峰值工作速率为5.76GIPS。C6415提供与SDRAM的无缝接口,可以有效的简化硬件设计开发难度,利用C6415的片选空间映射管理SDRAM,最多可以支持1GB的外部存储空间,完全可以满足逆存储转置处理所需的192M存储要求。

TMS320C6415的CPU结构具有2个通道,每个通道有4个功能单元(1个乘法器和3个算术逻辑单元),16个32位通用寄存器,每个通道的功能单元可以随意访问本通道的寄存器。CPU还有2个交叉单元,通过它们,一个通道的功能单元可以访问另一个通道的寄存器。另外,CPU还具有256bit宽的数据和程序通道,可以使程序寄存器在每个时钟周期提供8条并行执行指令,这种CPU结构是DSP具有VLIW结构的基本条件。

DSP的存储空间映射为内部存储器、内部外设及外部扩展存储器,其中内部存储器由64KB内部程序存储器和数据存储器构成。内部程序存储器可以映射到CPU地址空间或者作为Cache操作。内部和外部数据存储器均可以通过CPU、DMA或HPI(Host Interface)方式访问,HPI接口使上位机可以访问DSP的存储空间。

3.ICTM工作原理

ICTM模块的主要功能是将上位机方位压缩模块输出的数据重新排列顺序,使得依次沿方位向排列的数据变换成沿距离向排列,使下位机图像显示模块能实时滚动显示图像。


图1 ICTM模块工作原理示意图

ICTM模块的工作原理可用图1来表示。整个SDRAM存储空间划分为BANKA和BANKB两块存储区,两块BANK的列深度为输入的方位向点数2048点,行深度为输出的距离向点数4096点,为使两块BANK的读/写数据量平衡,需要在每个工作周期内输入两条方位线(2×2048点)数据,同时输出一条距离线(1×4096点)数据。两块存储区采用“乒乓”操作的读写方式,即如果等间隔读BANKA区域,则连续写BANKB区域,反之如果连续写BANKA区域,则等间隔读BANKB区域,读完一块存储区的同时,另一块存储区也刚好写满。这样两块存储区交替工作,充分节约了读/写SDRAM的时间开销,有利于满足整个系统的实时性要求。

4.ICTM硬件电路设计


图2 ICTM模块硬件电路结构示意图

ICTM模块的硬件电路设计框图如图2所示。根据ICTM模块的工作需要,主存储器采用两页式工作结构,每页集成256MBytes大小的SDRAM,分别配置在C6415的两个CE空间。SDRAM和作为输入/输出缓存的同步FIFO都连接在C6415 64Bit位宽的EMIFA接口,以保证较高的数据传输带宽。

4.1 SDRAM存储电路

主存储器类型选择为SDRAM,即标准的144pin笔记本内存条(标准SODIMM封装),目前选用256M容量大小。由于ICTM模块的SDRAM接口采用可扩充接法,因此可以扩充到512MB容量。即如果SDRAM Module的容量为256MB,则列地址为A0~A8 ,如果SDRAM Module容量为512MB,则列地址为A0~A9。DSP的EMIFA口CE0、CE1输出信号分别接SDRAM的BANK选择管脚S0、S1。即如果SDRAM的BANK只有一个,则只有S0有效,这样SDRAM只占用DSP的EMIFA口CE0空间,如果SDRAM的BANK有两个,则占用DSP的EMIFA口CE0、CE1空间。

4.2 输入/输出FIFO

DSP的EMIFA口CE2/CE3空间分别控制输入FIFO和输出FIFO。输入FIFO采用IDT公司的IDT72V3670(8K×36Bit),输出FIFO采用IDT公司的IDT72V3680(16K×36 Bit),封装形式为TQFP,128pin。FIFO的设计采用同步方式读写,但是利用0Ω电阻等效的短接线设计方式,也可以工作在异步模式下,FIFO控制信号通过CPLD做译码。

ICTM模块用于读写操作的64bit FIFO采用用两个32bit的FIFO并连实现,利用FIFO深度来做等效的输入、输出“乒乓”操作。其中输出只用到一片FIFO,另外一片为将来大数据量的处理预留空间。

4.3 CPLD和HPI

ICTM模块各功能单元的电路状态、时序控制以及I/O接口控制都由CPLD完成。此外,通过C6415的主机接口(HPI)可以直接访问DSP映射管理下的所有片内和片外存储单元。因此,在电路设计中将DSP的HPI接口通过CPLD与系统控制总线相连,从而使主控能够直接访问DSP的HPI接口,进而满足处理程序实时下载和指令数据实时传输的要求。

ICTM模块的硬件设计充分考虑了结构化的设计要求,为合成孔径雷达实时成像处理系统提供了高性能的逆存储转置硬件平台,结合配置的控制软件就可以实现实时成像处理所需的逆存储转置功能。

5.软件设计与实现

TMS320C6415是面向C结构的DSP芯片,支持标准C/C++编程,其开发工具Code Composer Studio(CCS2.21)内嵌C编译器的编译效率可达汇编的85%。另外,C编程可提高DSP程序的可维护性、可移植性、可继承性,便于缩短软件开发周期,因此本DSP程序选择采用C语言编写。


图3 程序层次结构和模块划分

5.1软件模块划分

软件层次结构和模块划分如图3所示。DSP软件的主要部分是底层的四个功能模块,这四个功能模块分别完成以下操作:1. 从输入FIFO中读取两条方位线数据(每条方位线2048点,每点数据类型为短整型)到DSP内存中;2. 将读入的数据按顺序存储到SDRAM中;3. 把SDRAM中的数据沿距离线顺序读到DSP内存中,即完成转置操作;4. 把转置后的数据送至输出FIFO。

5.2软件各模块间关系

l 上电初始化模块:在DSP上电后,完成与硬件工作有关的各控制寄存器的初始化,以及与软件工作有关的各内部变量和存储区的初始化;
l 主处理模块:调用其它功能模块,完成整个逆存储转置流程;
l 数据输入模块:受主处理模块调用,利用EDMA完成数据输入;
l 写SDRAM模块:受主处理模块调用,利用EDMA完成数据写操作;
l 读SDRAM模块:受主处理模块调用,利用EDMA完成数据读操作;
l 数据输出模块:受主处理模块调用,利用EDMA完成数据输出。

5.3 C6415的EDMA控制寄存器

EDMA是C621x/671x/641x特有的数据存取方式。在C621x/671x/641x中,EDMA控制寄存器负责片内二级存储器与其它外设之间的数据传输。EDMA控制寄存器和DMA控制寄存器在结构上有很大不同。其增强之处包括:

l 提供了64个传输通道;
l 通道间优先级可设置;
l 支持不同结构数据传输的链接。

EDMA控制寄存器主要由事件(中断)处理寄存器、事件编码器、参数RAM以及硬件地址发生器构成。其中,事件(中断)处理寄存器负责对EDMA事件进行捕获。一个事件相当于一个同步信号,由它触发一个EDMA通道开始数据传输。如果多个事件同时发生,则由事件编码器对它们进行分辨,将同时发生的事件进行排序,并决定事件的处理顺序。EDMA的参数RAM中存放了有关的传输参数,这些参数会被送往硬件地址发生器,进而产生读写操作所需的地址。

5.4 ICTM软件设计流程


图4 ICTM软件设计流程

ICTM模块软件设计流程可用图4来表示。首先完成上电复位,初始化EMIFA和EMIFB配置寄存器、中断控制寄存器和EDMA控制寄存器,之后在主程序中完成各常量和变量的定义及初始化。完成上述初始化定义后就可以使能外部中断控制寄存器和EDMA控制寄存器,等待外部中断INT4的触发。INT4的触发源来自脉冲PRF,该脉冲的到来说明两条待输入的方位线数据已送至输入FIFO,此时CPU可以将这两条方位线数据读到DSP内存,并送至SDRAM的相应存储区。

由于输入/输出数据结构相对简单,读输入FIFO、写SDRAM、读SDRAM以及写输出FIFO四个过程可以采用“EDMA链(EDMA Chain)”的方式进行。即第一个EDMA传输完成后,紧接着启动第二个EDMA传输,直到最后一个EDMA传输完成,这样可以在不受CPU干预的情况下完成数据的搬移,有利于提高数据传输效率。

5.5 软件并行设计问题

由于EDMA不受CPU干预,因此在使用EDMA传输数据的同时,CPU可并行执行其它指令,这样可极大提高代码的执行效率。举例如下:

if(EDMA_intTest(22))
{
*ifoeoff=0;
EDMA_intClear(22);
EDMA_setChannel(hEdmaCha25);// trigger EDMA to reading data from SDRAM
#pragma MUST_ITERATE(32,,8);
for(i=0;i {
headwriteaddr[ i]=inputa[ i];
}
WORD_ALIGNED(inputb);
WORD_ALIGNED(inputc);
WORD_ALIGNED(inputa);
#pragma MUST_ITERATE(64,,8);
for(i=0;i {
inputb[ i]=inputa[2*i+64];
inputc[ i]=inputa[2*i+65];
}
}

其中EDMA_setChannel(hEdmaCha25)语句用来启动EDMA25通道的传输,完成从SDRAM读取转置数据的任务。EDMA在进行数据传输的同时,CPU则继续执行之后的三条语句headwriteaddr[ i]=inputa[ i]、inputc[ i]=inputa[2*i+65]、inputb[ i]=inputa[2*i+64],直到EDMA传输完成并发出中断,CPU才响应EDMA中断。

显然,采用上述并行处理的方式,CPU工作周期得到充分利用,提高了代码的执行效率,有利于满足系统的实时性要求。

6.结束语

逆存储转置器(ICTM)是合成孔径雷达(SAR)实时成像处理系统的一个重要模块。本文选择TI的一款高性能定点DSP芯片TMS320C6415为核心处理器,两条大容量SDRAM作为外部存储器,实现输入数据的逆存储转置操作。软件编程采用并行处理方式,提高了代码执行效率。单板测试和系统联调表明,设计的逆存储转置器满足各项性能指标,已通过项目组验收,即将投入实际应用。

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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭