PCI总线和DSP芯片的图像处理平台的硬件设计.docx

上传人:b****5 文档编号:5707894 上传时间:2022-12-31 格式:DOCX 页数:14 大小:126.93KB
下载 相关 举报
PCI总线和DSP芯片的图像处理平台的硬件设计.docx_第1页
第1页 / 共14页
PCI总线和DSP芯片的图像处理平台的硬件设计.docx_第2页
第2页 / 共14页
PCI总线和DSP芯片的图像处理平台的硬件设计.docx_第3页
第3页 / 共14页
PCI总线和DSP芯片的图像处理平台的硬件设计.docx_第4页
第4页 / 共14页
PCI总线和DSP芯片的图像处理平台的硬件设计.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

PCI总线和DSP芯片的图像处理平台的硬件设计.docx

《PCI总线和DSP芯片的图像处理平台的硬件设计.docx》由会员分享,可在线阅读,更多相关《PCI总线和DSP芯片的图像处理平台的硬件设计.docx(14页珍藏版)》请在冰豆网上搜索。

PCI总线和DSP芯片的图像处理平台的硬件设计.docx

PCI总线和DSP芯片的图像处理平台的硬件设计

PCI总线和DSP芯片的图像处理平台的硬件设计

2007-03-0919:

03:

27作者:

杭州浙江大学电气工程学院孔祥刚诸静来源:

互联网

摘要:

介绍了基于PCI专用芯片S5933和DSP芯片TMS320C32图像处理平台的硬件设计。

该平台使用专用视频输入处理芯片SAA7113和CPLD实现了高速连续的视频帧采集,满足了后继图像处理的需要。

该平台既可以作为视频图像采集使用,也可以进行视频压缩、匹配等图像处理的算法验证,并具有使用灵活的特点。

关键词:

数字信号处理芯片视频采集图像处理随着计算机、多媒体和数据通信技术的高速发展,数字图像技术近年来得到了极大的重视和长足的发展,并在科学研究、工业生产、医疗卫生、教育、娱乐、管理和通信等方面取得了广泛的应用。

同时,人们对计算机视频应用的要求也越来越高,从而使得高速、便捷、智能化的高性能数字图像处理设备成为未来视频设备的发展方向,这必然要求产生相适应的新理论、新方法和新算法。

为了在利用这些新技术的过程中检验其可行性,研制了基于PCI总线和DSP芯片的图像处理平台,该图像处理平台是利用PHILIPS公司的视频输入处理器SAA7113、TI公司的TMS320C32高速浮点DSP和AMCC公司的S5933PCI总线接口芯片搭建的。

利用高速的PCI总线和功能强大的DSP芯片,可以进行视频压缩、图像检测、视觉定位等算法研究。

1系统功能概述根据实际应用需要,该系统的主要功能有:

(1)可以在不同输入制式PAL和NTSC之间进行自动切换和处理。

(2)能利用采集到的YUV图像信号数据进行压缩算法的验证,或转换成灰度图像数据、RGB格式图像数据等进行检测、定位等算法的检验。

(3)能将处理后的数据通过PCI接口交给上层系统(PC机)保存或进行进一步验证处理。

(4)系统具有软件修改、升级功能和灵活性,便于算法的改进验证。

系统的设计难点主要是如何实现系统数据的高速传输。

图像数据由专用集成视频解码器SAA7113采集,经A/D转换处理后传输到DSP;再经DSP处理后通过PCI接口传输到PC机。

如何实现SAA7113与DSP之间和DSP与S5933之间的高效率数据通信是解决这个问题的关键。

通过分析研究,在SAA7113与DSP之间采用CPLD控制的两帧轮换方式,实现图像的隔行信号变逐行信号以及采集和处理的同步进行;在DSP与S5933之间采用DMA传输方式,实现数据流在系统中的高速传输,以满足图像处理要求。

2系统的硬件设计整个系统由视频解码器、DSP和PCI总线专用芯片组成。

系统框图如图1所示。

DSP芯片采用TMS320C32,该芯片是在TMS320C30的基础上简化而来的,含有TMS320C30CPU核心。

它增加了一些常用的功能部件,使程序引导功能、串行接口传输和存储器均可支持8、16、32位的数据。

它可产生边沿中断和电平中断,可由用户编程设定中断向量表的地址,具有空等待和低功耗两种电源管理方式。

它具有两个DMA通道,功能强大的外部存储器接口既可以满足视频解码接口8位数据的要求,也可以实现PCI接口32位数据的的高速数据传输。

TMS320C32灵活的程序加载可以实现在系统编程。

PCI总线专用接口芯片采用S5933,它是一种功能强且使用灵活的PCI总线控制器专用芯片,该芯片符合PCI局部总线规范2.1版本,既可作为PCI总线目标设备,实现基本的传送要求;也可作为PCI总线主控设备,访问其它PCI总线设备。

S5933的峰值传送速率为132Mbps(32位PCI数据线)。

S5933提供了3个物理总线接口:

PCI总线接口、外加总线接口(ADD-ONBUS);可选的NV存储器接口。

用户可根据需要设计S5933与外加总线接口相连接的逻辑电路和配置空间的初始化,而不必考虑PCI总线规范众多的协议,从而将复杂的PCI总线接口关系转化为简单的8/16/32位外加总线(ADD-ONBUS)接口关系。

S5933芯片功能框图如图2所示。

PCI总线与外加总线之间的数据传输可以通过内部先入先出存储器(FIFO)、邮箱寄存器(Mailbox)和数据直传通道(Pass-Thru)三种通道进行。

各通道都包括两组寄存器以分别完成PCI总线和ADD-ON总线接口双向数据传输,为使用者提供较为宽松而灵活的设计空间。

可编程视频解码芯片采用SAA7113;该芯片是可编程视频处理芯片,采用CMOS工艺。

通过简单的I2C总线可以对其实现编程控制;内部包含两路模拟处理通道,能实现视频源的选择、抗混叠(去假频)滤波、模/数变换、自动嵌位、自动增益控制、时钟产生、多制式(PALBGHI、PALM、PALN、NTSCM和NTSCN)解码及亮度、对比度和饱和度控制。

本系统采用软件模拟I2C总线的控制方式,通过DSP的多功能口实现DSP对SAA7113的初始化等控制;根据SAA7113输出的同步脉冲,通过使用可编程器件CPLD,产生图像帧存储器的地址信号、读写信号以及帧切换等控制信号,实现SAA7113和DSP之间的高速数据通讯。

3DSP与SAA7113之间的无缝连接SAA7113输出的是隔行视频信号,一帧图像需要传送两次,分别记为奇场图像和偶场图像;视频处理的对象是逐行排列的图像信号,因此必须等待一帧图像(连续的奇、偶两场信号)采集完后,合成到一个图像帧中才能进行后续处理。

利用SAA7113的同步信号,使用可编程逻辑器件CPLD构建控制器,可将图像数据写入帧存储器,解决图像帧合成问题。

为了向前端处理器(DSP)提供连续的图像信号,采用两个图像帧存储器A和B交替存储的方式,来暂存采集到的图像数据和需要处理的图像数据,可实现图像的实时连续采集处理。

DSP与SAA7113之间的硬件接口如图3所示,整个接口的控制逻辑,包括两个子模块:

帧图像写入控制器和乒乓开关,由一块CPLD来完成。

CPLD芯片采用ALTERA公司的EPM9320RC208。

两组帧存储器A和B采用CYPRESS公司生产的两块CY7C1049芯片,容量为512K%26;#215;8bit,存取时间不超过15ns,能满足图像实时采集要求。

SAA7113由数字视频输出口VPO?

眼7:

0,输出视频数据。

系统设置SAA7113的输出数据为标准的ITU6564?

押2?

押2YUV格式,每一个象素的数据由两个连续的字节表示。

为了方便地存储处理图像,系统仅取一帧图像中间的512%26;#215;512个象素作为一帧,即所取图像帧为连续奇偶两场图像的中央512行,且每行取中间的512个象素的图像块。

利用SAA7113的同步信号,帧图像写入控制器模块产生帧存储器的地址信号、写信号以及帧切换信号之一(RDY1)。

SAA7113输出的同步信号包括LLC、RTS0、RTS1。

LLC是行锁定系统时钟输出,为象素时钟频率的两倍,即27MHz,用来同步数据采集,使得一个LLC周期输出一个字节的图像数据。

在图像数据有效时,其上升沿反相后作为帧存储器的WE#信号。

RTS0、RTS1的功能是通过编程设置SAA7113功能寄存器确定的。

RTS0被设置为水平输出参考信号(行有效信号),RTS0高电平时表示采集一行有效象素,低电平时表示场消隐信号?

熏在RTSO上升沿后,帧图像写入控制器控制采集一行中间的512个象素数据,将其余的象素数据丢弃。

RTS1被设置为垂直输出参考信号和奇偶场信号,RTS1高电平时表示采集奇场图像所需要的有效数据,在RTS1上升沿时,开始采集奇场图像数据,同时它也被用来作为帧图像开始的信号;RTS1低电平时表示采集偶场中所需要的图像数据,在RTS1下降沿时,开始采集偶场图像数据。

在RTS1上升沿时,帧图像写入控制器控制采集256行象素数据作为奇场图像;在RTS1下降沿时,顺次采集下面的256行象素数据作为偶场图像,其余的图像行数据丢弃。

使用512K%26;#215;8bit的静态存储器(SRAM),恰好可以存放一帧512%26;#215;512%26;#215;2%26;#215;8bit的图像。

在合成一帧图像时,对应的奇场图像的第n个象素和偶场图像的第n个象素在存储器内位置相差512%26;#215;2%26;#215;8bit,帧图像写入控制器通过把RTS1(奇偶场有效)信号作为写入图像数据的帧存储器地址信号中的A1,把场中有效行的计数输出信号作为帧存储器地址信号中的A1[18:

12],把行中有效象素的计数输出信号作为帧存储器地址信号中的A1[10:

0],从而实现隔行信号变逐行信号存储在一图像帧存储器中。

图4为图像采集同步信号时序图。

当采集完一帧图像数据时,帧图像写入控制器产生RDY1信号,通知乒乓开关。

在CPLD内部构造一个乒乓开关控制模块,自动完成帧间读写两个通道接口的切换。

其中帧图像写入控制器产生的写图像帧的地址信号A1[18:

0]、写控制信号WR#和SAA7113的VPO[7:

0]组成了图像帧写通道的始端接口;DSP读图像帧的地址线信号A2[18:

0]、读控制信号R/W#和数据线的低8位信号DI[7:

0]组成了图像帧读通道的终端接口;RDY1、RDY2(FX0)作为帧切换就绪信号触发通道的切换。

开始采集图像数据时,帧切换就绪信号RDY1、RDY2同时为假,图像帧写通道的始端接口信号与图像帧A的接口信号RD、WE#、A[18:

0]和D[7:

0]连接;SAA7113的当前帧图像数据写入帧存储器A;同时,图像帧读通道的终端接口与图像帧B的接口信号连接,DSP从帧B中取出前一帧图像数据进行处理;当前帧的图像数据采集完时,帧图像写入控制器停止采集数据,置RDY1为真;同理,当DSP在处理完前一帧图像时,设置引脚FXO置RDY2为真。

乒乓开关模块在检测到RDY1、RDY2同时为真时,切换通道的接口,此时图像帧写通道的始端接口与图像帧B的接口连接;SAA7113的当前帧图像数据写入帧存储器B;图像帧读通道的终端接口与图像帧存储器A的接口信号连接,DSP从帧存储器A中取出前一帧图像数据进行处理。

这样两帧轮换进行,实现了图像的实时连续处理。

在DSP和SAA7113之间所有控制信号的接口逻辑和时序转换都由CPLD来完成,增加了可靠性,简化了PCB的版面,并且可以编程修改,提高了使用的灵活性。

图4图像数据采集同步信号时序图4S5933与DSP之间的接口设计S5933的三种数据传输方式有不同的特点,应用于不同的场合。

S5933信箱方式不支持猝发(Burst)传输,由8个32位信箱寄存器组成,可从两个方向进行访问。

它们平均分为两类,分别用于PCI接口和ADD-ON接口之间的双向信息传输。

主机和扩展逻辑都可以通过查询或中断方式获悉任一信箱寄存器的任一字节的空满状态,并通过相应地址访问该字节。

S5933的信箱寄存器映射在DSP的I/O空间中,从而可以实现DSP对信箱的直接操作,数据速率较低,故系统中只使用这种方式传输命令和状态信息,例如PC机通知DSP设备关闭;DSP通知上层已经传送完数据(处理完的数据的大小不是固定的)等。

S5933的FIFO方式主要由两个接口共用的两个32%26;#215;8比特的FIFO、读或写地址寄存器以及读或写计数器组成。

两个FIFO分别作为PCI和ADD-ON接口之间的双向缓冲区。

S5933提供了快捷方式:

一组专门用于FIFO方式传输的控制及状态信号,包括FIFO寄存器的直接读、写以及状态信号等,用以提高数据传输速度,但此信号组只能工作在S5933为主控设备的情况下。

S5933作为目标设备时,内部FIFO只是作为一般的寄存器,PCI总线如同访问信箱寄存器那样访问它们,操作比较直观,但不支持猝发传输,极大地限制了传输速度;S5933作为主控设备时,FIFO方式可进行DMA方式的猝发传输,S5933可以通过FIFO接口启动DMA传输周期,传输过程不需要CPU的干预,传输的速率与外部设备的数据传输速率有关,可以得到很高的数据传输速率。

S5933的DMA数据传输启动方式有两种:

PCI总线接口启动和ADD-ON总线接口启动。

启动方式决定于由哪个接口设置读或写地址寄存器以及读或写计数器:

PCI总线接口启动方式是由PCI总线主设备(一般是PC机的客户程序)设置DMA相关寄存器发起DMA传输的;ADD-ON总线接口启动方式是由外部逻辑电路(一般是外部插卡上的CPU)设置DMA相关寄存器发起DMA传输的。

S5933的PASS-THRU方式使主机以内存映射方式访问ADD-ON接口的存储空间,只能工作在S5933是目标设备的情况下,且外部接口需要逻辑电路的支持,故不常用。

本系统是图像处理的一个实验平台,既要求数据传输率高,又要求有一定的升级功能和灵活性。

因此,系统采用FIFO数据传输方式。

当采集的图像数据量大且要求传输速度高时,可以采用FIFO方式中的PCI总线接口启动DMA方式,使用DMA传输;有一些应用场合,要传送的数据个数不明确,例如图像压缩后的数据量是不一定的,可以使用外加总线接口启动DMA的传输方式传送压缩图像,而用信箱方式传送命令和图像状态信息。

在这种方式下,S5933的外加总线操作寄存器全部映射在TMS320C32DSP的选通控制信号IOSTRB#控制的空间中,使DSP对PCI接口传输的数据的控制十分简单,就象操作自身的外围接口一样。

S5933与DSP之间的硬件接口的具体连接方式如图5所示。

S5933和DSP之间的硬件连接,就是利用DSP的读写信号R/W#、地址选通控制信号IOSTRB#、外部设备就绪信号RDY#和部分地址信号以及S5933的FIFO状态信号WRFULL进行简单的时序和逻辑组合,生成对S5933的外加总线接口的读写控制信号:

WR#、RD#、SELECT#、ADR[6:

2]、BE[3:

0]、WRFIFO#。

S5933的数据总线与DSP的数据总线相连接,数据线宽度为32位,以便提供尽可能高的传输速率。

本文采用PCI接口芯片S5933、DSP芯片TMS320C32和视频输入处理芯片SAA7113设计实现的视频图像处理实验平台系统可以实现图像的高速连续采集,进行图像压缩、图像处理等算法的验证,达到了系统设计的目标。

本系统具有使用灵活、升级方便等特点。

考虑到DSP芯片的内部RAM有限,程序不能完全在片内运行,在进行一些复杂的图像处理运算时,速度会受到限制,故本系统仅适用于静态图像的处理算法研究。

(本文转自电子工程世界:

NEC电子发布用于汽车安全系统图像处理器的图像识别芯片“IMAPCAR2”

上网时间:

2008年12月23日

所属类别:

汽车电子I控制技术I热点产品

窗体顶端

窗体底端

关键字:

IMAPCAR2  汽车安全系统  图像处理器

NEC电子运用NEC中央研究所的并行处理技术,完成了4款用于汽车辅助驾驶系统等的图像识别芯片的开发,并以“IMAPCAR2”的产品名从2009年上半期开始提供样品。

早在2006年8月,NEC电子推出了用于图像识别的并行处理器“IMAPCAR”产品,该产品可在100MHz下并行处理128个运算单元,识别速度为30桢/秒。

此次推出的新产品是IMAPCAR的后续产品。

新产品的主要特征有:

(1)128个内核一次性可处理的数据宽度从8位增长到16位增长了一倍,内核可同时处理的最大指令数(VIEW指令数)由4条增加到5条,具有更快的运算能力;

(2)较之以前产品,所有内核只能进行相同的运算,而新产品新增了SIMD(SingleInstructionMultipleData)功能,可并行进行多种演算进而实现高效能;(3)新产品中,有的处理性能比以前产品提高3倍,还有的价格下降到以往的1/5,同系列的4款产品可满足从高端系统到低端系统的各种需求。

使用该系列的新产品,尤其是采用了该系列的高端产品,用户可轻松开发一个路况实时自动分析系统。

该系统拥有复杂运算功能、识别高分辨率的画面功能以及整合多个摄像头图像功能。

而采用低端产品的用户则可以开发出比以往的系统价格更低、更易推广的系统。

如今,汽车正向多功能、高性能方向发展,除行驶、转弯、制动等基本需求之外,人们对“环境”及“安全”的关注度也日益增加。

在安全方面,预防事故发生的系统,即主动安全系统,已在全球范围展开研发工作。

在此背景下,NEC电子于2006年8月推出了用于汽车图像处理的车载IMAPCAR,该图像处理器能够通过车载摄像头传来的画面实时侦测附近的行人、障碍物及标识白线。

之后,在包括主动安全系统在内的辅助驾驶系统的产品领域,NEC电子为推进实现“环保”、“安全”的用车社会的目标,积极展开研发,提供图像处理产品,图像识别技术等各种应用产品及方案。

调查表明,用户从高运算性能的产品到能在更多车辆中使用的低端产品各有所需。

作为系统的核心部分,半导体器件也应该从价格、性能上满足不同层次的需求。

面对此类需求,NEC电子的IMAPCAR2系列产品应运而生,该系列中4款产品将依次投放市场,并将为实现环保、安全的用车社会贡献力量。

NEC电子和NEC集团将图像处理技术视为可广泛应用于各种领域的重点技术,今后将继续推进研发工作,在安全、机器人、工厂自动化等领域开发新的应用技术。

此外,随着系统的高速发展,软件开发规模随之增加,为缩短软件开发周期,NEC电子将携手全球的合作伙伴不断促进图像处理技术的提升,强化全球化软件开发支持体系。

新产品的主要规格如下表所示:

从网上发现的一篇文章,讲的较全面,让初级入门的朋友们共享:

1、TIDSP的选型主要考虑处理速度、功耗、程序存储器和数据存储器的容量、片内的资源,如定时器的数量、I/O口数量、中断数量、DMA通道数等。

DSP的主要供应商有TI,ADI,Motorola,Lucent和Zilog等,其中TI占有最大的市场份额。

  TI公司现在主推四大系列DSP

  1)C5000系列(定点、低功耗):

C54X,C54XX,C55X相比其它系列的主要特点是低功耗,所以最适合个人与便携式上网以及无线通信应用,如手机、PDA、GPS等应用。

处理速度在80MIPS--400MIPS之间。

C54XX和C55XX一般只具有McBSP同步串口、HPI并行接口、定时器、DMA等外设。

值得注意的是C55XX提供了EMIF外部存储器扩展接口,可以直接使用SDRAM,而C54XX则不能直接使用。

两个系列的数字IO都只有两条。

  2)C2000系列(定点、控制器):

C20X,F20X,F24X,F24XX,C28x该系芯片具有大量外设资源,如:

A/D、定时器、各种串口(同步和异步),WATCHDOG、CAN总线/PWM发生器、数字IO脚等。

是针对控制应用最佳化的DSP,在TI所有的DSP中,只有C2000有FLASH,也只有该系列有异步串口可以和PC的UART相连。

  3)C6000系列:

C62XX,C67XX,C64X该系列以高性能著称,最适合宽带网络和数字影像应用。

32bit,其中:

C62XX和C64X是定点系列,C67XX是浮点系列。

该系列提供EMIF扩展存储器接口。

该系列只提供BGA封装,只能制作多层PCB。

且功耗较大。

同为浮点系列的C3X中的VC33现在虽非主流产品,但也仍在广泛使用,但其速度较低,最高在150MIPS。

  4)OMAP系列:

OMAP处理器集成ARM的命令及控制功能,另外还提供DSP的低功耗实时信号处理能力,最适合移动上网设备和多媒体家电。

  其他系列的DSP曾经有过风光,但现在都非TI主推产品了,除了C3X系列外,其他基本处于淘汰阶段,如:

C3X的浮点系列:

C30,C31,C32C2X和C5X系列:

C20,C25,C50每个系列的DSP都有其主要应用领域.

  2、设计中如何得到技术参考资料以及如何得到相关源码

  原则是碰到问题就去

  1)在TI网站的搜索中用keyword搜索资料,主要要注意的就是ApplicationNotes,userguides比如不知道怎样进行VC5402的McBSP编程,搜McBSP和VC5402如果不知道如何设计VC5402和TLV320AIC23的接口以及编程,搜TLV320AIC23和VC5402;这样可以搜到一堆的资料,这些资料一般均有PDF文档说明和相应的源程序包提供,download后做少许改动即可

  2)版上发问

  3)google搜

  4)再不济,找技术支持,碰运气了

  3、如何看待TIDSP庞杂的技术文档

  

  新手进行DSP开发学习之时,常常感觉技术文档太多,哪本都有用,哪本都想看,无从下手。

此时原则是只看入门必须的、只看和芯片相关的。

根据经验,如下的资料必看不可:

  

  1)讲述DSP的CPU,memory,programmemoryaddressing,datamemoryaddressing的资料都需要看、外设资源的资料可以只看自己用到的部分;

  2)C和汇编的编程指南需要看

  3)汇编指令和C语言的运行时间支持库、DSPLIB等资料需要看其他的如:

ApplicationsGuide,OptimizingCC++CompilerUser'sGuide,AssemblyLanguageToolsUser'sGuide等资料留待入门之后再去看体会会更深一些。

  4、如何高效开始TIDSP的硬件开发

  1)根据应用领域选择TI推荐的DSP类型

  2)参考选定的DSP之EVM板,DSK等原理图,完成DSP最小系统的搭建(包括外扩内存空间、电源复位系统、各控制信号管脚的连接、JTAG口的连接等);

  3)根据具体应用需要,选择外围电路的扩展,一般如语音、视频、控制等领域均有成熟的电路可以从TI网站得到。

外围电路与DSP的接口可参看EVM或DSK,以及所选外围电路芯片的典型接口设计原理图;最好外围电路芯片也选择TI的,这样的话不管硬件接口有现成原理图、很多连DSP与其接口的基本控制源码都有。

  4)地址译码、IO扩展等用CPLD或者FPGA来做,将DSP的地址线、数据线、控制信号线如IS/PS/DS等都引进去有利于调试

  5、如何高效开始TIDSP的软件开发

  如果你不是纯做算法,而是在一个目标版上进行开发,需要使用DSP的片上外设,需要控制片外接口电路,那么建议在写程序前先好好将这个目标版的电路设计搞清楚。

最重要的是程序、数据、I/O空间的译码。

不管是否纯做算法还是软硬结合,DSP的CPU,memory,programmemoryaddressing,datamem.oryaddressing的资料都需要看.

1)看CCS的使用指南

2)明白CMD文件的编写

3)明白中断向量表文件的编写,并定位在正确的地方

4)运行一个纯simulator的程序,了解CCS的各个操作

5)到TI网站下相关的源码,参考源码的结构进行编程

6)不论是C编程还是ASM编程,模块化是必须的

  6、选择C还是选择ASM进行编程

  记住一条原则,TI的工程师在不断改进CCS的C程序优化编译器,现在C优化的效率可达到手工汇编的90%甚至更高。

当然有的时候如果计算能力和内存资源是瓶颈,ASM还是有优势,比如G.729编解码。

但是针对一般的应用开发,C是最好的选择。

新手编程则选择C和汇编混合编程更有利一些

  7、选择什么仿真器

  一般来说,买个并口的EPP就够了,价格便宜又稳定

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 临床医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1