安利!PCI总线接口芯片PCI9054介绍及电视图像仿真系统设计
随着电视图像处理系统性能的提高,设计人员需要不断采纳新的数字图像处理算法,如何对这些新算法进行评估,如何将理论设计转化成工程应用成为设计人员关心的首要问题。 实现电视图像信号处理需要设计一套复杂的电路系统,且硬件电路的设计应综合考虑高速DSP芯片的开发、超大规模集成电路设计、视频转换、接口等复杂电路。设计印刷电路板和调试将占用设计人员较多的工作时间,较长的研制周期和较高的研制经费均不利于图像处理新思路、新算法向工程应用的转化。仿真系统能较大程度降低硬件电路设计的复杂性,缩短研制周期,有利于科研设计人员集中精力对新算法进行评估和测试。 能否实时采集和实时处理电视图像信号是设计仿真系统的关键问题。鉴于微型计算机运算速度的提高和PCI总线的高速特性,基于PCI总线设计电视图像处理系统的实时仿真系统成为了可能。本系统使用微型计算机仿真电视图像处理系统来对图像进行处理,使用PCI插卡电路,实现图像数据采集数据的实时采集和发送。PCI总线的发展,打破了传统微型计算机数据传送的瓶颈,传统微型计算机总线的最大缺点是传输速率太低,不能实现图像数据的实时传输,更不能满足图像处理系统和大型应用程序的要求。PCI总线作为一种同步,且独立于处理器的32位局部总线,其最高工作频率为33 MHz,数据传输峰值吞吐率可达132Mb/s。因而用PCI总线传送1场(256*TImes;256*TImes;32位数据)信号的时间不大于20 ms。由于电视信号存在空间和时间上的冗余,如对信号进行压缩,则传送一场信号所需的时间将会更短。因此,在仿真系统中,利用PCI总线将数据图像信息直接传输到系统内存中,对数据进行实时传输、存储和处理是可能的。 1 系统的结构与功能 由于采用了微型计算机作为数据处理系统,因而可使硬件电路设计的工作量大大降低,仿真系统仅需要设计一PCI插卡,就可实现图像数据的适时采集和处理。系统的原理框图如图1所示。 采用PCI总线视频处理卡对图像进行预处理和视频A/D转换,再通过PCI总线将数字图像信息写入计算机系统内存,使用高级语言编程,实现数字图像的预处理、分割、目标图像处理、匹配等算法。 2 PCI总线视频信号处理卡 PCI总线视频处理卡由模拟视频信号处理、视频信号A/D转换、PCI总线数据采集和信号传输等部分组成。 2.1 视频处理和视频A/D转换 视频信号经过电缆传输后有一定的衰减并且迭加上噪声信号,对A/D转换前的原始视频信号进行放大和滤波处理,可以有效增强视频信息,降低噪声干扰。视频A/D转换芯片可供选择的种类比较多,如SAA7111,BT218等。 2.2 PCI总线数据采集和信号传输 PCI总线是成组数据的瘁发传输,每组数据是由一个地址信号和一系列的数据信号组成,PCI总线采用地址和数据复用结构,大大减少了信号数量,但PCI总线规范仍然十分复杂,其接口的实现比传统ISA、EISA总线困难,连接到PCI总线上的设备可分为主控设备和目标设备两类,目标设备最少需要47个信号,主控设备最少需要49个信号,其中包括数据/地址复用总线、接口控制线、仲裁、总线命令、系统线等。在设计中,可采用以下两种方案实现PCI总线的接口设计: 2.2.1 采用可编程逻辑器件实现PCI接口设计 目前几乎所有的可编程逻辑器件厂商均有用于微型计算机接口的典型的PLD产品。多数厂家还提供用VHDL、Verilog、AHDL编制的PCI总线接口核心设计模块。利用这些模块可编程逻辑器件可以实现简单的PCI总线接口设计。由于可编程逻辑器件自身的特点,设计人员实现PCI接口设计时有更多的思维想象空间。 虽然使用可编程逻辑器件设计PCI接口具有灵活的特点,但在设计中仍存在以下需要关注的问题: (1)PCI具有顺从性的特点,几乎所有包含高性能数据和控制路径中的逻辑都需要1个PCI系统时间的拷贝,这与PCI苛刻的负载要求相矛盾。另外,在完成某些功能如数据突发传送时,往往需要很多时钟负载,而时钟上升沿到输出有效时间必须小于11 ns,这进一步加重时钟扇出问题。 (2)PCI规范对传输数据的7 ns建立时间要求苛刻,有时在设计中要使用模拟延迟来解决。 (3)任何完善的PCI接口器件都必须提供PCI配置空间,实现PCI规定功能需要完成逻辑校验、地址译码、实现配置所需的各类寄存器等基本要求,选用的可编程器件对其逻辑门的容量有较大的要求。 此外,在使用可编程逻辑器件设计插卡电路时还需加入FIFO、用户寄存器、后端设备接口等电路,在一定程度上增大了电路设计的难度。 2.2.2 选用PCI总线控制器专用芯片 采用专用芯片放置在插卡电路与PCI总线之间,提供传递数据和控制信号。如PLX公司开发的PLX9080和PLX9054系列芯片,AMCC公司的S59xx系列等。AMCC公司的S5933是一种功能强、使用灵活的PCI总线控制器接口芯片,采用160PQFP和208TQFP 两种封装形式,符合PCI局部总线规范,即可作为PCI总线目标设备(Slave),实现基本的传送要求,也可作为PCI总线主控设备(Master)访问其他总线设备。原理框图如图2所示。 S5933提供了3种物理总线接口:PCI总线接口、ADD-ON总线接口及外部配置存储器(BIOS-ROM)接口,数据传输可以在PCI总线与 ADD-ON总线之间或与外部配置存储器之间进行。PCI总线与ADD-ON总线之间的传输可以使用3种通道:信箱寄存器通道、FIFO通道和PASS- THRU通道。 (1)信箱寄存器通道。S5933的信箱寄存器(MAILBOXES)提供双向数据通路,主要用于多路/分路器与AD-DON总线之间传输命令和状态信息,并可基于指定MAILBOX事件,可在PCI总线或ADD-ON总线产生中断。 (2)FIFO通道。FIFO通道主要包括2个32*TImes;8FIFO,分别实现从PCI到ADD-ON和ADD-0N到PCI的数据传输。这2个FIFO均支持PCI总线主设备操作,支持突发传输。 (3)PASS-THRU通道。PASS-THRU传输通道为PCI总线提供一种寄存的访问端口,通过握手协议访问ADD-ON上的资源。PASS-THRU通道只能作为目标设备,支持突发传输。 比较以上2种实现PCI接口的方案可知,用可编程逻辑器件能够较灵活地实现所需要的功能。针对本系统PCI接口电路设计,并非要实现PCI规范中的所有功能,用可编程逻辑器件也可以提供解决问题的方案。但为了达到PCI指标的苛刻要求,需要做大量的逻辑验证和时序分析工作,采用S5933等PCI专用芯片,可以比较容易地实现PCI接口设计,大大缩短研制周期。 3 计算机数据处理 为了实现仿真功能,还需要开发相关的图像处理和控制接口软件。Windows下的驱动程序包括硬件的驱动程序和文件系统等非物理设备的虚拟设备驱动程序。由于Windows操作系统为了保证系统的安全性、稳定性和可移植性,对应用程序访问硬件资源加以限制,因此无论采用可编程逻辑器件或者使用专用接口芯片实现PCI接口设计,都需要开发相关设备驱动程序,实现计算机软件对PCI硬件设备的访问。 3.1 设备驱动程序的开发 开发设备驱动程序有多种开发工具可以选择。主要包括:微软的软件包(device drtver K6t,ddK);Numega公司的VtoolsS;KRF-Tech公司的WinDriver。 在开发设备驱动程序之前首先要对硬件设备特性、总线结构、中断设置、数据传输机制及设备内存等进行分析。驱动程序要完成的基本功能包括设备的初始化、对端口的读写操作、中断的设置、响应和调用以及对内存的直接读写等。 3.2 仿真系统驱动程序的开发 使用微软公司功能强大的VC 高级编程语言编写图像处理软件。在计算机系统内存中开辟一段空间,存储通过PCI总线传输的数字图像信息和受控系统反馈量,使用VC 编程实现计算机内存的读写操作,凭借计算机高速运算功能,实现图像的数字滤波、直方图统计、二值化处理、边缘检测、目标特征选择等图像处理算法,并将采集到的图像、反馈量和处理过的图像、反馈量显示到计算机监视器上,设计人员可以直接获得图像处理中间过程的各种数据,通过对图像处理中间过程的监控,设计人员可以较方便发现不同图像处理算法的优缺点,从而进行各种图像处理算法的优化改进。 4 结语 采用本文方法设计的电视图像仿真系统已在某武器系统对目标的红外图像识别、处理和控制的研制中获得成功运用。本系统充分利用PCI总线的高速特性和微型计算机的数据处理自由度大,灵活可靠的特点,有效地解决了电视图像的实时采集、传输、存储和实时处理等问题,同时为设计人员的技术储备和系统前期设计提供帮助,具有很强的应用价值。 |