当前位置:首页 > 嵌入式 > 嵌入式硬件

1.引言

  随着红外焦平面阵列技术的快速发展,红外成像系统实现了高帧频、高分辨率、高可靠性及微型化,在目标跟踪、智能交通监控中得到了越来越多的应用,并向更加广泛的军事及民用领域扩展。实时红外图像处理系统一般会包括非均匀校正、图像增强、图像分割、区域特征提取、目标检测及跟踪等不同层次的实时图像处理算法,由于图像处理的数据量大,数据处理相关性高,因此实时红外图像处理系统必须具有强大的运算能力。目前有些红外图像处理系统使用FPGA实现可重构计算系统[1],运算速度快,但对于复杂算法的实现难度比较高,且灵活性差。大多数红外图像处理系统则采用DSP+FPGA的硬件架构[2],其中DSP负责实现图像处理算法,FPGA负责实现各种接口电路,但诸如图像多级滤波等处理算法复杂度高,只使用DSP处理会耗费大量时间,一般采用并行多DSP系统以满足实时性要求[3],但系统比较复杂,体积和功耗也不好控制,实现成本高。因此需要在硬件结构上合理分配处理任务,比如FPGA可以完成输入图像的预处理工作,减轻DSP的负担,本实验室自主研制的ASIC芯片可以对输入红外图像进行多级滤波处理,进一步解放DSP。本文针对红外图像处理系统的实时性要求,提出了基于DSP+FPGA+ASIC的图像处理架构。

  2.实时红外图像处理系统

  由于实时红外小目标检测算法的前端处理数据量大、实时性强且算法复杂度高,我们的系统结构需要保证灵活性,能够适应各种复杂的算法,同时又要保证高速处理能力,因此实时红外图像处理系统采用DSP+ FPGA+ASIC的架构来满足设计的要求。其中,DSP具有高度的可编程性,可以完成比较复杂的任务。FPGA的处理速度稍逊于ASIC,但具有一定的灵活性,它可以实时接收红外小目标检测算法前端的数据,完成输入图像的一些预处理工作。ASIC芯片处理速度快、性能强且可靠性好,可以完成图像滤波等特定的任务。

  一种实时红外图像处理系统结构框图如图1所示:

FPGA采用ALTERA公司的Stratix系列的EP1S10芯片。该芯片提供多达10,570个逻辑单元(LEs),存储器容量为920,448016 bits,同时提供了高速DSP模块以及乘法器,专用乘法器适合于作协处理器,可以分担DSP复杂和耗时的算术运算,提升系统的性能。

  DSP选用TI公司的TMS320C6414芯片[4]。该芯片主频为600MHz,数据处理能力峰值可达4800MIPS(每秒48亿条指令)。由8个相互独立的功能单元构成。包含两组通用寄存器组,每组含有32个32位寄存器。片内采用2级存储器结构。

  ASIC使用本实验室自主研制的多级滤波芯片[5]。该芯片采用SMIC 0.35mm工艺,芯片内部工作频率可达50MHz。有三个数据通道,分别级连不同数量的1*3基本滤波模板,每路数据通道采用流水线结构。采用定点运算,计算精度为8位二进制小数,可处理位宽为8-16位的数据,吞吐量为5M-10M像素/秒,支持128*128,256*256,320*240三种帧格式的图像滤波。

  3.处理任务的合理分配

  红外探测器输出图像数据到信号处理板,先进入FPGA进行预处理,预处理包括非均匀性校正和图像增强等。ASIC对输入图像数据进行多级滤波处理。FPGA在后续算法中也能协同DSP工作,算法中对运行速度要求很高,而算法结构不太复杂的处理均可在FPGA 中实现,从而使得该FPGA 成为DSP 的协处理器。经过预处理后的红外图像数据输出到DSP中进行后续算法处理,DSP的处理包括红外潜在小目标检测算法。DSP 处理后的潜在小目标和图像数据通过FPGA传输到DPRAM中存储。

  该实时红外图像处理系统主要由三部分组成:FPGA模块,DSP模块和ASIC模块。在满足红外图像数据处理的实时性和高速可靠性要求的前提下,各处理模块所处理的任务要尽量达到平衡。

  从资源角度看,算法用硬件处理速度快,占内存空间小,但灵活性差;用软件刚好相反,处理速度慢,但灵活性好。由于设计要满足实时性要求,希望硬件承担的任务越多越好。PGA作为一种可编程的硬件资源,虽然它有相当强的设计灵活性,但是考虑到设计、实现调试的难度,不适合做全局、复杂的操作。ASIC芯片处理速度快,但灵活性差,只适合处理一些特定的占用大量处理器资源的运算。DSP作为软件资源,特点是灵活性好,适合复杂的算法,但速度慢。

  从算法角度考虑,一个完整的算法在处理上是有层次的,算法对原始数据的操作是简单的、规则的,对后续数据的处理往往比较复杂,同时算法在实现前会被预先分成几个相互独立的功能模块。因此低层的、简单的操作可以由FPGA中的逻辑单元模块或ASIC芯片硬件来完成,高层的、复杂的操作则由DSP软件来完成。


  根据上述分析,本设计中FPGA主要完成与各个外部设备的接口控制逻辑,同时完成一些数据量大、运算结构简单、速度要求高的算法;DSP完成后续结构复杂的目标检测算法;ASIC芯片对输入图像进行多级滤波处理。此方案保证了系统有足够的处理速度,能够达到红外图像处理系统的实时性要求。

  3.1 FPGA模块

  FPGA内部逻辑结构框图如图2所示。

FPGA主要完成以下几方面的工作:图像数据接收逻辑,图像数据预处理模块,输入缓存FIFO,DSP接口控制逻辑,ASIC接口控制逻辑,DPRAM接口控制逻辑,算法处理模块。

  (1) 图像数据接收逻辑:根据探测器输出的数字视频信号的场同步,行同步以及时钟信号,发送控制信号接收图像数据。

  (2) 图像数据预处理模块:对接收的图像数据进行非均匀性校正和图像增强等预处理。

  (3) 输入缓存FIFO:由FPGA内部配置输入缓冲存储器FIFO。预处理后的图像数据可以连续不间断地写入FIFO中,以供DSP读取进行后续的图像处理。

  (4) DSP接口控制逻辑:DSP 接口时序控制逻辑必须严格按照TMS320C6414的EMIFA

  可编程同步接口的时序来编写,并且满足相应的建立保持时间要求。DSP启动EDMA通道

  读取红外图像数据,通过FPGA的内部FIFO进行连续的图像传输。

  (5) ASIC接口控制逻辑:按照ASIC芯片的时序编写其控制逻辑,将图像数据导入ASIC

  芯片进行图像多级滤波处理。

  (6) DPRAM接口控制逻辑:编写DPRAM的控制逻辑,将DSP 处理后的数据通过FPGA传输到DPRAM中存储。

  (7) 算法处理模块:根据具体算法的需要,协同DSP完成算法中速度要求高,结构不太复杂的运算。

  3.2 DSP模块

  DSP主要完成红外小目标的检测和跟踪算法,功能如下:

  (1) 启动EDMA通道不断读取FPGA输出的红外图像数据。

  (2) 对输入的红外图像数据,运行目标检测和跟踪算法,检测运动目标,并确定其方位。

  (3) 与FPGA建立连接,将算法中比较规则的运算交给FPGA处理。

  (4) DSP将处理后的运算结果通过FPGA传输至DPRAM中存储。

  3.3 ASIC模块

  ASIC芯片从FPGA中接收预处理后的图像数据进行处理,处理后的三路数据同步写入内部三个同步FIFO,DSP可以根据需要选择输出多级滤波处理后的结果,进行后续算法的处理。

  4.实验结果与分析

  实时红外图像处理板已成功应用于多个红外探测系统中,效果良好。图3为实验时采用

  高德IR108D探测器获得的原始红外图像,图4为经过多级滤波处理后标识的图像,图5为经过目标检测算法处理后输出的跟踪图像。可以看到,该系统能够实时检测并跟踪红外图像中的运动小目标。

5.结语

  本文使用高性能的DSP(TMS320C6414),可编程逻辑器件FPGA (Stratix系列的EP1S10)和专用ASIC多级滤波芯片,提出了DSP + FPGA + ASIC的图像处理平台架构,设计了处理能力强、接口可靠稳定的红外图像处理系统,并在系统中实现了非均匀性校正、小目标检测等算法。实验测试表明,该实时红外图像处理系统对每场320×240有效像素,每个像素14bit,场频50Hz的输出数字视频信号能够进行实时处理,对视场中的运动小目标完成检测和跟踪功能,满足系统主要性能指标要求,成功应用于红外探测系统中。

  本文作者创新点:采用自主研制的ASIC芯片对红外图像进行多级滤波处理,速度快,可靠性好,为DSP后续的目标检测跟踪算法节约时间。

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

数字信号处理器(DSP)在通信、控制、图像处理等多个领域扮演着越来越重要的角色。TMS320F2808PZA作为德州仪器(Texas Instruments)推出的一款高性能DSP控制器,其独特的架构和强大的功能使其在众...

关键字: tms320f2808pza 数字信号处理器 DSP

从世界上第一颗DSP诞生至今30年来,国际一线老牌芯片厂商长期占据领先技术和市场地位,国内芯片厂商在DSP上的声量很小。然而经过了6年的沉心打磨之后,湖南进芯电子开始在这一领域崭露头角。凭借着更贴近中国本土特色的差异化产...

关键字: DSP MCU 电机控制 进芯电子

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM
关闭
关闭