微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > IEEE1394视频视觉系统中DSP软硬件设计

IEEE1394视频视觉系统中DSP软硬件设计

时间:10-07 来源:3721RD 点击:

介绍了用数字信号处理器实现视频流控制处理功能的软硬件设计方案。重点论述了如何设计DSP的软件及外围硬件,完成IEEE1394设备自标识及数据传输的详细过程。同时还提出了一种用于运动目标检测的变加权背景恢复算法及其DSP实现方案。这种用DSP实现数字视觉算法的成功尝试,对于实现其他视觉功能具有一定的借鉴意义。

本文介绍了一种以DSP为核心、基于IEEE1394总线的图像实时采集处理系统的软硬件设计。此外还提出了一种易于用DSP实现且存储器资源占用率小的运动目标检测算法。据了解,目前国内外大多数的计算机视觉研究都是用计算机软件处理实现的,因此在实时性和成本方面受计算机平台的制约。本文讨论了一种计算机视觉系统的硬件平台设计方案,并在此平台上实现了运行目标检测。可以说,这是一次用DSP实现计算机视觉算法的成功尝试,对于其它算法的硬件实现有一定的借鉴意义。

\

图1 硬件系统框图

采用IEEE1394总线作为传输接口是实现实时图像采集的根本保证。IEEE1394是由国际电气和电子工程师协会(IEEE)制定的一种高速串行总线协议。1394总线具有以下优点:

支持热插拔和即插即用:

提供统一的通用接口,并且具有总线供电能力(每一端口的最大输出电流为1.5A,输出电压8~33Vdc);

·传输速率高100~400Mbps;

·不依赖计算机,支持1394设备间的点对点传输。

其中第四点是目前常用的USB2.0总线无法实现的,也正是这一优点使得1394不仅是一种计算机外设连接总线,更是多种消费类电子产品的连接方案。

\

图2 帧缓存访问次序

另外,为了实现数字视频图像的实时采集和处理,充分发挥1394总线的高速传输速率,笔者选用了TI公司的TMS320VC33数字信号处理器作为主控制器。这是一款高性能浮点DSP,它具有17ns的指令周期和60MIPS的处理能力。

下面将分别介绍这套DSP系统的工作原理,软、硬件设计以及运动目标检测算法的改进和实现。

系统组成及工作原理

本系统是为验证并实现各种计算机视觉算法而搭建的一个硬件平台,用五片512K×8bit的SRAM分别作为帧缓冲和DSP的扩展RAM。还有一片20万门的FPGA用作系统的逻辑控制及以后机器视觉算法的硬件实现。系统的结构框图如图1所示。

系统的工作原理如下:系统上电或复位后,DSP首先从FlashROM中自动装入代码并开始运行,等待1394电缆插入。当电缆插入后,DSP通过解析根节点发来的请求包发出对应的内容作为应答,直至根节点发现该设备。之后,只要根节点发出读数据请求,DSP就根据请求包的内容从帧缓冲RAM中取出 数据,通过1394链路层和物理层芯片将其送到1394总线上。

图像数据的采集、处理和传输三个步骤以流水线的方式,在同一时刻各掌握一片帧缓存RAM的访问权,并行工作。当各个步骤都完成后,在FPGA的控制下同时切换各片帧缓存的控制权,开始流水线的下一个周期。各个步骤对三片帧缓存RAM的控制次序如图2所示。

这种流水线式的电路结构实现了图像采集、图像处理、图像传输三个步骤并行工作,极大地提高了处理的连续性和实时性。

\

图3 DSP软件流程图

DSP硬件设计

DSP在本系统中的任务有三个:首先是通过链路层和物理层芯片与根节点通信,完成自标识过程;其二是处理采集好的一帧图像,并把它再存回帧缓存;其三是自标识完成后,响应根节点发来的数据读请求,从帧缓冲RAM中读出处理过重的图像数据并送到总线上。整个系统由一片TMS320VC33、一片20万门的 FPGA(EP20k200EBC356)、五片512KB高速SRAM(IS61LV5128AL)、一片Flash(AM29LV400B)、一片 1394链路层芯片(TSB12LV32)、一片1394物理层芯片(TSB41LV04a)以及DSP电源看门狗芯片(PS767D301)组成。其中 TMS320VC33作为主控制器与TSB12LV32的主控制器接口相连。FPGA在DSP的控制下向1394链路层芯片的DataMover端口发送数据。此外FPGA还有地址译码、时序调整以及帧缓存切换等功能。三片SRAM作为帧缓冲存,另外两片作为DSP的扩展RAM,每片RAM内存放一帧图像(300K字节),其访问时间为12ns,因此完全适合TMS320VC33以零等待方式访问。物理层芯片TSB12LV04a只与链路层芯片通信,与 DSP无关,它负责进行总线上的差分模拟信号与系统的数字信号之间的转换。Flash用来存放DSP代码,它经过地址译码直接与DSP相连。DSP复位后由BootLoader将代码从Flash加载到DSP片内RAM中开始运行。可以通过DSP的JTAG接口方便地进行Flash的在系统擦写。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top