图象采集系统FIFO帧存储与USB接口电路设计

上传人:痛*** 文档编号:86603430 上传时间:2022-05-08 格式:DOC 页数:27 大小:712.50KB
收藏 版权申诉 举报 下载
图象采集系统FIFO帧存储与USB接口电路设计_第1页
第1页 / 共27页
图象采集系统FIFO帧存储与USB接口电路设计_第2页
第2页 / 共27页
图象采集系统FIFO帧存储与USB接口电路设计_第3页
第3页 / 共27页
资源描述:

《图象采集系统FIFO帧存储与USB接口电路设计》由会员分享,可在线阅读,更多相关《图象采集系统FIFO帧存储与USB接口电路设计(27页珍藏版)》请在装配图网上搜索。

1、 毕业论文设计题目:图象采集系统FIFO帧存储及USB接口电路设计 图象采集系统FIFO帧存储及USB接口电路设计摘 要:高速数字图像采集系统是研究瞬间发生的物理现象的一种有效工具,高速运动物体数字图像的获得,是对瞬间发生的物理现象研究的基础。随着数字多媒体技术的不断发展,数字图像处理技术被广泛应用于可视、电视会议、监控系统等各种民用、商业及工业生产领域中。本文以CMOS数字图像传感器为图像采集器件,以及PIC16F87x系列单片机和CY7C68013AUSB接口芯片,再加上CPLD逻辑控制和FIFO帧存储器,构建一个静态图像采集系统。CMOS图像传感器主要用来对敏感景物产生像素,FIFO帧存

2、储器用来存储一帧这样的像素,CPLD用来控制像素从图像传感器到FIFO传输的时序逻辑,单片机将像素发送到USB接口,并控制整个电路工作,USB接口的任务是将像素传到计算机,以便进行后续处理。关键字:图象采集;FIFO;USB Design of High-Image 目录1 绪论11绪论数字图像处理技术的飞速发展使得所有图像处理的问题都可以用数字信号处理的形式来解决,这为实时图像处理的应用提供了广阔的空间。首先,数字信号处理中存在大量成熟的快速算法,这些算法已经大量的应用于图像处理中。其次,几个技术发展趋势进一步促使此领域的发展,随着超大规模集成电路的高速发展,包括低价位DSP数字信号处理器,

3、微处理器支持的并行处理技术,用于图像数字化的低成本的电荷耦合器件,低成本存储阵列的新存储技术,以及低成本、高分辨的彩色显示系统的发展为高速的实现信号处理、为达到系统的实时性提供了可能1。这些发展都使得图像处理技术广泛的运用于科学研究、工农业生产、资源的遥感探测、医疗卫生、空间探索等各个领域 ,如今随着信息高速公路的建设,各种网络的发展非常迅速。因而,图像的传输也得到了极大的关注。另一方面,图像传输可使不同的系统共享图像数据资源,也极推动了图像在各个领域的广泛应用。高速数字图像采集系统是研究瞬间发生的物理现象的一种有效工具,高速运动物体数字图像的获得,是对瞬间发生的物理现象研究的基础。目前高速图

4、像采集系统主要应用在军事领域。在军工靶场测量中,需要对快速飞行目标的飞行实况进行跟踪、测量,事后要对测量数据进行分析、处理,为了提高测量精度,普遍采用高帧频数字图像采集系统2。考虑到高速实时处理及实用化两方面的具体要求,需要开发一种具有高速、高集成度等特点的视频图象信号采集系统,为此系统采用专用视频解码芯片和复杂可编程逻辑器件构成前端图象采集部分。设计上采用专用视频解码芯片,以CPLD器件作为控制单元和外围接口,以FIFO为缓存结构,能够有效地实现视频信号的采集与读取的高速并行,具有整体电路简单、可靠性高、集成度高、接口方便等优点,无需更改硬件电路,就可以应用于各种视频信号处理系统中3。使得原

5、来非常复杂的电路设计得到了极大的简化,并且使原来纯硬件的设计,变成软件和硬件的混合设计,使整个系统的设计增加柔韧性。本次毕业设计,我以CMOS数字图像传感器为图像采集器件,以及PIC16F87x系列单片机和CY7C68013AUSB接口芯片,再加上CPLD逻辑控制和FIFO帧存储器,构建一个静态图像采集系统。CMOS图像传感器主要用来对敏感景物产生像素,FIFO帧存储器用来存储一帧这样的像素,CPLD用来控制像素从图像传感器到FIFO传输的时序逻辑,单片机将像素发送到USB接口,并控制整个电路工作,USB接口的任务是将像素传到计算机,以便进行后续处理。2. 图象采集系统概述2.1系统组成部分系

6、统主要由图象采集模块、存储模块、处理模块和传输模块组成。高帧频CMOS 成像单元主要由CMOS 图像传感器和控制芯片FPGA 组成,它是系统的成像部件,用以捕获高速运动物体的图像,其电路输出为数字图像数据。图像存储单元主要由FIFO帧存储器组成,负责对成像单元输出的图像数据进行实时存储,供计算机采集、处理图像数据。因图像传输的数据量大,要求较高的传输速度,本系统采用了usB总线上传到PC,实际中速度可以达到400 Kbps,能满足CIF格式图像的实时传输。系统结构框图如图1所示。单片机主机USB接口CMOS图象传感器CPLD逻辑控制光学镜头FIFO帧存储图1 系统结构框图系统选用OminiVi

7、sion公司生产的CMOS芯片OV7620,它是一款集成了一个640 480 图像矩阵的彩色摄像芯片,在隔行扫描模式下工作频率可达60Hz,逐行扫描时为30帧/ s。其像面大小为1 /3英寸,支持8位或16位数字信号从单通道或双通道输出,输出信号的类型可在YCrCb和RGB 之间选择,图像矩阵支持VGA或CIF 规定, 数字输出格式遵循CCIR601, ZVPorts, CCIR656等标准4。OV7620有很强的摄像和控制功能,如暴光控制,校正,增益,色彩矩阵,窗口选择等,所有这些功能都可以通过I2C接口进行编程控制。CPLD选用ALTERA公司的芯片EPM7128S,它在系统中处于核心地位

8、,既要负责将OV7620输出的视频数据存入FIFO帧存储器,又要与MCU配合完成视频数据的USB 传输。MCU 是Cygnal 公司的高性能单片机C8051F020,它通过I2C总线控制CMOS芯片的工作方式和状态, C8051F020自带SMBUS总线接口,可以把I2 C的时钟线SCL和数据线SDA通过交叉开关分配到端口引脚,MCU作为I2 C总线通讯的主机,OV7620用42H 、43H 作为从机地址与MCU进行通信。另外MCU还控制USB 通信,负责USB芯片的初始化和与PC的通信连接,其64KB 的flash程序存储空间足以存放USB 通信固件5。USB 接口芯片采用EZ-USB FX

9、2 芯片CY7C68013A,该芯片支持USB 2.0标准协议和DMA传输模式。2.2硬件模块设计2.2.1 图象采集模块CCDCharge Coupled Device 电荷耦合器件和CMOSComplementary Metal Oxide Semiconductor 互补金属氧化物半导体传感器是当前被普遍采用的两种图像传感器,两者都是利用感光二极管photodiode进行光电转换,将光像转换为电子数据。CCD于1969年研制成功,发展于20世纪八、九十年代,现在被广泛应用于广播电视领域。COMS传感器是上世纪80 年代为克服CCD 生产工艺复杂、功耗较大、价格高、不能单片集成和有光晕、拖

10、尾等不足之处而研制出的一种新型图像传感器,CMOS传感器已成为消费类数码相机、电脑摄像头、可视等多功能产品的理想之物,随着技术的发展,已逐步应用于高端数码相机和电视领域。一.CCD 与CMOS 的对比CCD和CMOS之间的主要差异是数据传送的方式不同。CCD传感器中每一行中每一个像素的电荷数据都会依次传送到下一个像素中,由最底端部分输出,再经由传感器边缘的放大器进行放大输出;而在CMOS传感器中,每个像素都会邻接一个放大器及A/D转换电路,用类似存电路的方式将数据输出,如图1。造成这种差异的原因在于:CCD 的特殊工艺可保证数据在传送时不会失真,因此各个像素的数据可汇聚至边缘再进行放大处理;而

11、CMOS工艺的数据在传送距离较长时会产生噪声,因此,必须先放大,再整合各个像素的数据6。正是由于数据传送方式的不同,造成了两者之间的本质差别。 CCD CMOS 图2 CCD和CMOS的数据传送方式不同1. 成本由于CMOS 传感器采用半导体电路最常用的CMOS 工艺,可以轻易地将周边电路如AGC、CDS、时钟、DSP等集成到传感器芯片中,因此可以节省外围芯片的成本;而CCD传感器采用电荷传递的方式传送数据,其中有一个像素不能运行,将会导致一整排的数据不能传送,控制CCD传感器的成品率会比CMOS传感器困难的多,因此,CCD传感器的成本要高于CMOS 传感器。2. 灵敏度CCD的感光信号以行为

12、单位传输,电路占据像素的面积比较小,这样像素点对光的感受就高些;而CMOS传感器的每个像素由多个晶体管与一个感光二极管构成含放大器与A/D 转换电路,使得每个像素的感光区域只占据像素本身很小的表面积,像素点对光的感受就低;因此在像素尺寸相同的情况下,CCD 传感器的灵敏度要高于CMOS 传感器。3. 分辨率CMOS传感器上集成有放大器、定时、ADC等电路,每个像素都比CCD 传感器复杂,因而电路所占像素的面积也大,所以相同尺寸的传感器,CCD可以做得更密。通常CCD传感器的分辨率会优于CMOS 传感器的水平。4. 噪声CCD的特色在于充分保持信号在传输时不失真有专属通道设计,透过每一个像素集合

13、至单一放大器上做统一处理,可以保持资料的完整性;相对地,CMOS 的设计中每个像素旁就直接连着ADC放大兼模拟/数字信号转换器,信号直接放大并转换成数字信号。CMOS 的制造工艺较简单,没有专属通道的设计,因此必须先放大再整合各个像素的资料。所以CMOS 计算出的噪点要比CCD 多,这将会影响到图像品质。5. 功耗CMOS 传感器的图像采集方式为主动式,即感光二极管所产生的电荷会直接由晶体管放大输出;而CCD 传感器为被动式采集,需外加电压让每个像素中的电荷移动,除了在电源管理电路设计上的难度更高之外,高驱动电压更使其功耗远高于CMOS 传感器。6. 响应速度由于CCD采用串行连续扫描的工作方

14、式,必须一次性读出整行或整列的像素数据。而COMS 由于采用单点信号传输,通过简单的X-Y 寻址技术,允许从整个排列、部分甚至单元来读出数据,从而提高寻址速度,实现更快的信号传输。二.CCD 和CMOS 发展趋势综上所述,CCD在多个方面都占据着一定的优势,而且CCD技术还处在发展当中,如富士公司的超级CCD SRSuper Dynamic Range,超级动态围,相对于同等数量像素的传统CCD而言,它有更高的灵敏度、更高的信噪比和更大的动态围。但是CMOS传感器的低功耗、可集成性及快速响应是它的最大优点,虽然CMOS的早期产品应用情况并不十分理想,生成的图片质量差,噪波也大,而且图像处理性能

15、也不好。但经过多年发展,CMOS 技术得到了充足发展。去年业界发展了CMOS图像传感器新技术C3D,这项技术的最大特点就是像素反应的均一性,提高了CMOS图像传感器在均一性和暗电流反应的标准性能。日本佳能公司的顶级单反数码相机EOS-1Ds使用的就是一款1100 万像素的CMOS 图像传感器。特别是在20XX2 月,美国FOVEON 公司展示了最新发展的FOVEON X3 技术,这是全球第一款可以在一个像素上捕捉全部彩色信息的图像传感器阵列。传统的CCD 只能感应光的强度,彩色信息是通过RGB 滤镜来实现的,使用单片CCD马赛克形式,将会降低图像的分辨率,使用3 片CCD分光棱镜形式,不仅结构

16、复杂,而且成本大幅增加。而FOVEON X3技术可以在一个像素上通过不同的深度来感应色彩信息,它是根据硅对不同波长光线的吸收效应来实现一个像素感应全部色彩信息的。利用这项革新技术可以使CMOS传感器提供更加锐利的图像,更好的色彩和更低的设备成本。目前CMOS图像传感器在图像噪声和成像质量方面还存在着一定的问题,如能解决好这两个问题,则CMOS 图像传感器技术将会更加趋于成熟,相信未来会有更加广阔的前景。三.器件性能OV7620是一种带A/D转换的CMOS图像传感器,它包括一个664*492元像素的感光阵列,同时集成了帧行控制电路、视频时序产生电路、模拟信号处理电路、A/D转换电路、I2C编程接

17、口等部件,可根据需要输出多种标准的视频信号7。图3 图象采集信号时序OV7620工作方式和输出格式非常多,可以适应不同的应用场合,针对我们的较小系统,采用了单通道Y输出,以及逐行扫描的工作方式。这些工作方式的实现是通过MCU 的I2 C编程控制的。当OV7620 设置工作方式稳定后,它就会输出视频数据,同时还有3个重要的参考信号输出:帧同步信号SYNC,水平同步信号HREF,和像素时钟信号PCLK8。参见图3,每一个帧同步信号SYNC 周期包含480 个水平同步信号HREF脉冲,而每一个HREF周期包含640个PCLK时钟脉冲。每一个PCLK时钟输出一个像素的视频数据 。2.2.2 图象存储模

18、块一FIFO存储器简介FIFO简单说就是指先进先出。由于微电子技术的飞速发展,新一代FIFO芯片容量越来越大,体积越来越小,价格越来越便宜。作为一种新型大规模集成电路,FIFO芯片以其灵活、方便、高效的特性,逐渐在高速数据采集、高速数据处理、高速数据传输以及多机处理系统中得到越来越广泛的应用。 在系统设计中,以增加数据传输率、处理大量数据流、匹配具有不同传输率的系统为目的而广泛使用FIFO存储器,从而提高了系统性能。FIFO存储器是一个先入先出的双口缓冲器,即第一个进入其的数据第一个被移出,其中一个存储器的输入口,另一个口是存储器的输出口。对于单片FIFO来说,主要有两种结构:触发导向结构和零

19、导向传输结构。触发导向传输结构的FIFO是由寄存器阵列构成的,零导向传输结构的FIFO是由具有读和写地址指针的双口RAM构成9。因此,选择合适的存储芯片对于提高系统性能很重要,在以往的设计中经常采用的是乒乓型存储方式,这种方式就是采用两片存储器,数据首先进入其中一片,当数据满时再让数据进入第二片存储器,同时通过逻辑控制,将第一片存储器中的数据取走,以此类推,两片轮流对数据进行缓存。这种方式有着较明显的缺点,首先是控制复杂,要有专门的逻辑来维护这种轮流机制;其次,数据流的流向要不断变化,限制了数据流的速率,还容易产生干扰。从数据传输上说,缓存芯片容量越大,对后续时序要求就越低,可减少总线操作的频

20、次;但从数据存储上说,就意味着需要开辟更大的存空间来进行进行缓冲,会增加计算机的存开销,而且容量越大,成本也越高。因此,在综合考虑系统性能和成本的基础上,选择满足系统需要的芯片即可。FIFO存储器是系统的缓冲环节,如果没有FIFO存储器,整个系统就不可能正常工作,它主要有几方面的功能10: 1对连续的数据流进行缓存,防止在进机和存储操作时丢失数据; 2数据集中起来进行进机和存储,可避免频繁的总线操作,减轻CPU的负担; 3允许系统进行DMA操作,提高数据的传输速度。这是至关重要的一点,如果不采用DMA操作,数据传输将达不到传输要求,而且大大增加CPU的负担,无法同时完成数据的存储工作。FIFO

21、又可以分为基于动态存储的DRAM和基于静态的SRAM。基于静态SRAM的优点是不需要刷新电路,但容量小,需要多片才能存储一帧数据;基于DRAM的优点是容量大,只需一片就能存储一帧数据;缺点是必须有刷新电路。高帧频CMOS成像系统在全分辨率下最高工作帧频为250ftp,图像大小为640480像素,因此它的数据率约为768Mbit/s,我们采用FIFO存储器对CMOS相机输出的数据进行实时的存储,这样做不会影响CMOS相机的工作速度,适合于对图像数据进行事后处理和分析。这里所用的FIFO 不能理解为传统意义的FIFO ,因为数据的处理是针对每一帧数据,而不是每一个数据。使用FIFO 的关键在于FI

22、FO 的读和写使能的控制,而在控制FIFO 的过程中,不能使用FIFO 本身的full 和empty 标志信息来产生控制信息,需要自己设计控制信息。本文根据MPEG- 2 码流的实际处理,提出了一种FIFO 控制的巧妙设计,从而完成整帧数据处理的FIFO 设计。FIFO 是一种在电子系统得到广泛应用的器件,通常用于数据的缓存和用于容纳异步信号的频率或相位的差异。FIFO 的实现通常是利用双口RAM 和读写地址产生模块来实现的11。FIFO 的接口信号包括异步的写时钟 和读时钟 、与写时钟同步的写有效 和写数据 、与读时钟同步的读有效 和读数据 。为了实现正确的读写和避免FIFO 的上溢或下溢,

23、通常还应该给出与读时钟和写时钟同步的FIFO 的空标志和满标志以禁止读写操作。二FIFO的功能描述Datain dataoutWr-clk fullWr-en emptyRd-clk almost-full Rd-en almost-empty图4 FIFO的信号接口图4为FIFO 的信号接口,如果利用双口RAM和读写地址产生模块来实现FIFO ,则在FIFO 的部需要用wr - clk 和rd - clk 控制读写地址,写地址根据写时钟和写有效信号产生递增的写地址,读地址根据读时钟和读有效信号产生递增的读地址。FIFO的操作如下:在写时钟wr - clk 的上升沿,当wr - en有效时,将

24、datain 写入双口RAM 中写地址对应的位置中;在读时钟rd-clk 的上升沿,当rd- en 有效时,dataout 输出双口RAM 中读地址对应的位置中的数据,始终将读地址对应的双口RAM中的数据输出到读数据总线上。这样就实现了先进先出的功能。FIFO 的设计根据读地址和写地址关系产生FIFO 的满标志和空标志。当FIFO 的满标志有效时, FIFO禁止写操作;当FIFO 的空标志有效时,FIFO 禁止读操作。如果我们自己用FPGA 实现FIFO 的设计,可以适当加大读写地址的差值关系,从而使得FIFO 产生的满标志和空标志能够正确的指示FIFO 的状态,而不产生错误指示。文献 1 采

25、用了格雷码对地址编码的方式,避免读写时钟完全异步而产生错误的满标志和空标志,并给出了具体的实现方法,这种方法比适当加大读写地址的差值的方法多用了12个地址位。三存储器芯片类型的选择构成帧存储器一般可采用静态存储器SRAM、动态存储器DRAM、先进先出FIFO 存储器、双端口RAM等几种芯片. 作为信号发生器使用的帧存储器, 不需要随机存取, 只需顺序读写, 因此可以选择FIFO 存储器, 从而避免了复杂的读写地址. FIFO 有独立的数据输入、输出端口, 操作方便, 因此选择FIFO 存储芯片构成帧存储器要比其它类型更为合理。选择存取速度满足要求的大容量FIFO 存储芯片构成帧存器,AverL

26、ogic 公司的FIFO 存储芯片AL422B是一个较好的选择, 其基本参数: 存储容量为393 216 字节8 位; 读写周期为20 ns. 所有的寻址、刷新等操作都由集成在芯片部的控制系统完成, 因此外部连接与使用非常简单,而且具有独立的读、写操作, 写入与读出速率可以不同. 具有以上特点的AL422B 非常适合在视频图象信号发生器中应用。 采样频率13. 5MHz和12MHz 时, NTSC 制、PAL 制有关的取样参数及存储一帧电视图象所需的容量如表1 所示。 参数 13.5MHZ采样频率 12MHZ采样频率NTSC制 PAL制 NTSC制 PAL制每行有效素数 720 720 640

27、 640有效行数 480 575 484 575每个基色所需存储容量 348480 41400 309760 36800每个基色所需AL422B 1 2 1 1表1 取样参数及存储容量 Tab.1 The sample parameter and memory capacity从电路简化和成本考虑, 用一片AL422B 存储一个基色的一帧较为理想, 在一般场合应用时, PAL制采用12MHz 的采样时钟, NTSC 制使用13. 5MHz 采样时钟, 一片AL422B 就可以满足一个基色的存储容量要求, 整个系统共需3 片AL422B.。AL422B 的引脚功能如表2 所示. AL422B 有

28、独立的数据写入和读出端口, 读写操作独立进行。名称 引脚 功能DI0-DI7 1-4,11-14 /WE允许时,数据在WCK的上升沿写入存储体WCK 9 写数据同步的时钟信号/WE 5 写数据允许,低有效/WRST 8 /WRST低有效时,写指针复位,指向零地址DO0-DO7 15-28,25-28 /RE和/OE都允许时,数据在RCK的上升沿读出RCK 20 读数据同步的时钟信号/RE 24 控制读数据的允许与否,低有效/RRST 21 /RRST低有效时,读指针复位,指向零地址 /OE 22 /OE允许时,数据输出到DO0-DO7引脚TST 7 出厂测试用,设计应用时应接地VDD 10 接

29、3V或3.3VDEC/VDD 19 5V或3.3V选择GND 6,23 接地线表2 AL422B引脚功能 Tab2 The pin function of AL422BPWE控制写数据的允许与否, PWE 低有效, 此时数据在WCK上升沿同步写入存储体, 并且写指针自动指向下一地址. PWE 高无效, 此时FIFO 不接受数据, 写指针不变. PWRST 低有效时, 写指针复位,指向地址为零的存储单元。PRE 控制读数据的允许与否, PRE 低有效, 此时数据在RCK上升沿由存储体同步读出, 并且读指针自动指向下一地址. PRE 高无效, 此时不能读取数据, 读指针不变. PRRST 低有效时

30、, 读指针复位, 指向地址为零的存储单元。四FIFO的控制设计从FIFO 的功能描述可以看出,普通FIFO 适合处理一般数据,但普通FIFO 设计仍然会产生错误,当满标志有效时,即使FIFO 的wr - en 有效,FIFO 不会进行写操作,而是产生错误;当空标志有效时,即使FIFO 的rd - en 有效,FIFO 也不会进行读操作,同样也是产生错误12。如果我们在FIFO 外加以逻辑控制,用FIFO 的满标志full 和空标志empty 分别控制FIFO 的写有效和读有效,就可以避免上述情况的发生。但在处理整帧的数据过程中,如果不能巧妙地设计FIFO 的控制,则很容易引起数据的混乱错误。原

31、因在于FIFO 的空间大小常常不是N M,M 代表一帧数据的长度,N 为正整数。所以当普通FIFO 的满标志有效时,FIFO 最后的一帧数据就不完整,随着时间的推移,就不能保证FIFO 的读出数据是一些完整的帧数据。从FIFO 读出的数就变得杂乱无章,产生数据混乱错误。从以上的分析可以看出,处理整帧数据时,容易发生帧结构的错误,原因在于FIFO 的空间不是帧长的整数倍。为了避免这种情况,本文提出了一种巧妙的设计,使得FIFO 读入和读出的数据都是整帧数据。也就是说,当FIFO 的满标志full 有效时,此时当写入FIFO 的数据刚好是一帧数据的结束,使得FIFO 的wr - en 无效,从而禁

32、止向FIFO 写入数据;如果FIFO 的full 满标志无效,等下一帧数据开始时,再次使得FIFO 的wr - en 有效,数据能够写入FIFO ,从而保证FIFO 的写入和读出数据都是完整的帧数据13。同样,当FIFO 的空标志empty 有效时,此时当FIFO 的读出数据的一帧刚刚结束时,rd- en 无效,从而禁止FIFO 输出;如果FIFO 空标志empty 无效,当FIFO下一帧的数据要读出时,使得rd- en 再次有效;rd en 两次有效的时间间隔恰好是n 个数据帧的间隔,这样有利于帧数据的处理。五FIFO控制的关键技术和仿真结果FIFO 控制技术的关键在于用于控制模块的满标志和

33、空标志不是采用FIFO 本身的full 和empty ,而是我们特别加上的。所以当满标志有效时,此时不代表FIFO 真正已满,所以仍然可以向FIFO 写入数据,当此帧数据写入完毕,满标志仍然有效时,写使能wr en 无效,禁止FIFO 写入。同样当空标志有效时,也不代表FIFO 一定是空,一般情况下是非空,但FIFO 的数据开始少于一帧,所以仍然可以输出数据,当此帧结束时,若empty 仍然有效,此时rd- en无效,禁止从FIFO 读出数据。通过用我们自己设计的空、满标志控制FIFO 的读、写使能,使得读、写使能的有效时间或无效时间的间隔都是帧长的整数倍,从而达到控制FIFO 适合处理整帧数

34、据的目的。因为处理的数据为整帧数据,故可利用帧头产生一个帧头同步信息,本文所列举的例子的写入和读出的帧头同步信息分别为psync 和outpsync 。当写入帧头psync 有效时,表明要开始写入数据,如果此时full 无效,则输出wr en 有效;如果此时full 有效,则输出wr en 无效,控制FIFO 禁止写入,图5为其仿真图。当读出帧头outpsync 有效时,表明要开始读出数据。图5 : 写帧头psync 有效,full 无效,输出写wr en 有效,控制FIFO 可以写入数据;因有数据写入,empty 变成无效,FIFO 不空;图5 : number1 控制,使得full 有效,

35、但此时wr en 仍有效,所以不代表FIFO 真正满;图5I :写帧头psync 有效,full 有效,输出写wr en 无效,控制FIFO 禁止写入;如果此时empty 无效,则输出读rd- en 有效;如果此时empty 有效,则输出rd- en 无效,控制FIFO 禁止读出,图3 为其仿真图。图6 :读帧头outpsync 有效,empty 无效,输出读rd en 有效;控制FIFO 可读;图6 :number2 控制,使得empty 有效,但此时rd en 仍有效,所以不代表FIFO 真正空;图6 I :读帧头outpsync 有效,empty 有效,输出写rd en 无效,控制FIF

36、O 禁止读出;图6 :读帧头outpsync 有效,如果full 有效, 因开始读出一帧数据,而没有写入一帧数据,full 变成无效,表明FIFO 处于可读可写状态。 图5 写入数据控制仿真结果图图6 读出数据控制仿真结果图2.2.3图象传输模块在工业生产和科学技术研究的各行业中,常常利用PC或工控机对各种数据进行采集。这其中有很多地方需要对各种数据进行采集,如液位、温度、压力、频率等。现在常用的采集方式是通过数据采集板卡,常用的有A/D卡以及422、485等总线板卡。采用板卡不仅安装麻烦、易受机箱环境的干扰,而且由于受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备。而通用串行总线U

37、niversal Aerial Bus,简称USB的出现,很好地解决了以上这些冲突,很容易就能实现低成本、高可靠性、多点的数据采集。五 USB简介 USB是一些PC大厂商,如Microsoft、Intel等为了解决日益增加的PC外设与有限的主板插槽和端口之间的矛盾而制定的一种串行通信的标准,自1995年在Comdex上亮相以来至今已广泛的为各PC厂家所支持。现在生产的PC几乎都配备了USB接口,Microsft的Windows98、NT以及MacOS、Linux、FreeBSD等流行操作系统都增加了对USB的支持。五 USB系统的构成USB系统主要由主控制器Host Controller、US

38、B HUB和USB外设Peripherals Node组成系统拓扑结构。主控制器负责主机和USB设备间数据流的传输。这些传输数据被当作连续的比特流。每个设备提供了一个或多个可以与客户程序通信的接口,每个接口由0个或多个管道组成,它们分别独立地在客户程序和设备的特定终端间传输数据。USBD为主机软件的现实需求建立了接口和管道,当提出配置请求时,主控制器根据主机软件提供的参数提供服务。USB支持四种基本的数据传输模式:控制传输,等时传输,中断传输及数据块传输。每种传输模式应用到具有相同名字的终端,则具有不同的性质。控制传输类型:支持外设与主机之间的控制,状态,配置等信息的传输,为外设与主机之间提供

39、一个控制通道。每种外设都支持控制传输类型,这样主机与外设之间就可以传送配置和命令/状态信息。 等时传输类型:支持有周期性,有限的时延和带宽且数据传输速率不变的外设与主机间的数据传输。该类型无差错校验,故不能保证正确的数据传输,支持像计算机集成系统CTI和音频系统与主机的数据传输。中断传输类型:支持像游戏手柄,鼠标和键盘等输入设备,这些设备与主机间数据传输量小,无周期性,但对响应时间敏感,要求马上响应。数据块传输类型:支持打印机,扫描仪,数码相机等外设,这些外设与主机间传输的数据量大,USB在满足带宽的情况下才进行该类型的数据传输。USB采用分块带宽分配方案,若外设超过当前带宽分配或潜在的要求,

40、则不能进入该设备。同步和中断传输类型的终端保留带宽,并保证数据按一定的速率传送。集中和控制终端按可用的最佳带宽来传输传输数据。USB的主要优点 速度快。USB有高速和低速两种方式,主模式为高速模式,速率为12Mbps,另外为了适应一些不需要很大吞吐量和很高实时性的设备,如鼠标等,USB还提供低速方式,速率为1.5Mb/s。 设备安装和配置容易。安装USB设备不必再打开机箱,加减已安装过的设备完全不用关闭计算机。所有USB设备支持热拔插,系统对其进行自动配置,彻底抛弃了过去的跳线和拨码开关设置。 易于扩展。通过使用Hub扩展可拨接多达127个外设。标准USB电缆长度为3m5m低速。通过Hub或中

41、继器可以使外设距离达到30m。 能够采用总线供电。USB总线提供最大达5V电压、500mA电流。 使用灵活。USB共有种传输模式:控制传输、同步传输、中断传输、批量传输,以适应不同设备的需要。二.采用USB传输的数据采集设备硬件组成 一个实用的USB数据采集系统包括A/D转换器、微控制器以及USB通信接口。为了扩展其用途,还可以加上多路模拟开关和数字I/O端口。 系统的A/D、数字I/O的设计可沿用传统的设计方法,根据采集的精度、速率、通道数等诸元素选择合适的芯片,设计时应充分注意抗干扰的性能,尤其对A/D采集更是如此。 在微控制器和USB接口的选择上有两种方式,一种是采用普通单片机加上专用的

42、USB通信芯片。现在的专用芯片中较流行的有National Semiconductor公司的USBN9602、ScanLogic公司的SL11等。笔者曾经采用Atmel公司的89c51单片机和USBN9602芯片构成系统,取得了良好的效果。这种方案的设计和调试比较麻烦,成本相对而言也比较高。 另一种方案是采用具备USB通信功能的单片机。随着USB应用的日益广泛,Intel、SGS-Tomson、Cypress、Philips等芯片厂商都推出了具备USB通信接口的单片机。这些单片机处理能力强,有的本身就具备多路A/D,构成系统的电路简单,调试方便,电磁兼容性好,因此采用具备USB接口的单片机是构

43、成USB数据采集系统较好的方案。不过,由于具备了USB接口,这些芯片与过去的开发系统通常是不兼容的,需要购买新的开发系统,投资较高。 USB的一大优点是可以提供电源。在数据采集设备中耗电量通常不大,因此可以设计成采用总线供电的设备。 软件构成 Windows98 提供了多种USB设备的驱动程序,但好象还没有一种是专门针对数据采集系统的,所以必须针对特定的设备来编制驱动程序。尽管系统已经提供了很多标准接口函数,但编制驱动程序仍然是USB开发中最困难的一件事情,通常采用Windows DDK来实现。目前有许多第三方软件厂商提供了各种各样的生成工具,象Compuware的driver works,B

44、lue Waters的Driver Wizard等,它们能够很容易地在几分钟之生成高质量的USB的驱动程序。设备中单片机程序的编制也同样困难,而且没有任何一家厂商提供了自动生成的工具。编制一个稳定、完善的单片机程序直接关系到设备性能,必须给予充分的重视。 以上两个程序是开发者所关心的,用户不大关心。用户关心的是如何高效地通过鼠标来操作设备,如何处理和分析采集进来的大量数据,因此还必须有高质量的用户软件。用户软件必须有友好的界面,强大的数据分析和处理能力以及为用户提供进行再开发的接口。 三实现USB远距离采集数据传输传输距离是限制USB在工业现场应用的一个障碍,即使增加了中继或Hub,USB传输

45、距离通常也不超过几十米,这对工业现场而言显然是太短了。 现在工业现场有大量采用RS485传输数据的采集设备。RS485有其固有的优点,即它的传输距离可以达到1200米以上,并且可以挂接多个设备。其不足之处在于传输速度慢,采用总线方式,设备之间相互影响,可靠性差,需要板卡的支持,成本高,安装麻烦等。RS485的这些缺点恰好能被USB所弥补,而USB传输距离的限制恰好又是RS485的优势所在。如果能将两者结合起来,优势互补,就能够产生一种快速、可靠、低成本的远距离数据采集系统。这种系统的基本思想是:在采集现场,将传感器采集到的模拟量数字化以后,利用RS485协议将数据上传。在PC端有一个双向RS4

46、85USB的转换接口,利用这个转接口接收485的数据并通过USB接口传输至PC机进行分析处理。而主机向设备发送数据的过程正好相反:主机向USB口发送数据,数据通过485USB转换口转换为485协议向远端输送。 在方案中,关键设备是485USB转换器。这样的设备在国外都已经面市。笔者也曾经用National Semiconductor公司的USBN9602+89c51+MAX485实现过这一功能,在实际应用中取得了良好的效果。 需要特别说明的是,在485USB转换器中,485接口的功能和通常采用485卡的接口性能速率、驱动能力等完全一样,也就是说,一个485USB转换器就能够完全取代一块485卡

47、,成本要低许多,同时具有安装方便、不受插槽数限制、不用外接电源等优点,为工业和科研数据采集提供了一条方便、廉价、有效的途径。四综合式采集数据传输系统的实现现在的数据采集系统通常有分布式和总线两种。采用USB接口易于实现分布式,而485接口则易于实现总线式,如果将这两者结合起来,则能够实现一种综合式的数据采集系统。实现方法是:仍然利用上面提到过的USB485转换器实现两种协议的转换。由于USB的数据传输速率大大高于485,因此在每条485总线上仍然可以挂接多个设备。 这种传输系统适用于一些由多个空间上相对分散的工作点,而每个工作点又有多个数据需要进行采集和传输的场合,例如大型粮库,每个粮仓在空间

48、上相对分散,而每个粮仓又需要采集温度、湿度、二氧化碳浓度等一系列数据。在这样的情况下,每一个粮仓可以分配一条485总线,将温度、湿度、二氧化碳浓度等量的采集设备都挂接到485总线上,然后每个粮仓再通过485总线传输到监控中心,并转换为USB协议传输到PC机,多个粮仓的传输数据在转换为USB协议后可以通过Hub连接到一台PC机上。由于粮仓的各种数据监测实时性要求不是很高,因此采用这种方法可以用一台PC机完成对一个大型粮库的所有监测工作。 五芯片选择USB 芯片在外设领域的应用面很广。USB外设控制芯片通常包括USB收发器、串行接口引擎、USB控制器和外设功能等四个模块。USB控制器一般有两种类型

49、:一种是MCU集成在芯片里面的,如 Intel的8X930AX、CYPRESS的EZ-USB、SIEMENS的C541U以及 MOTOLORA、National Semiconductors等公司的产品;另一种就是纯粹的USB接口芯片,仅处理 USB通信,如PHILIPS的PDIUSBD11I2C接口、 PDIUSBP11A、PDIUSBD12并行接口,National Semiconductor的USBN9602、USBN9603、USBN9604等。 集成MCU的USB控制芯片优点是CPU与控制器在同一片芯片里,CPU只需要访问一系列寄存器和存储器,便可实现USB口的数据传输,最大限度的发

50、挥 USB高速的特点。而且简化了程序的设计,极降低了USB外设的开发难度。缺点是灵活性不够高,开发成本较大。 纯粹的USB接口芯片的优点是系统组成灵活,可根据不同的系统需求,搭配不同的MCU,具有较高的性能价格比。但因为USB控制器是通过串行口或并行口与MCU连接,在传输速度方面和开发难度方面不如集成了MCU的控制芯片。不同的实现方式在设计开销、上市时间、元器件开销和引脚数方面各有优劣,选择不同的方案意味着在以上各项指标中进行取舍。本文主要介绍USB接口芯片选用Cypress 公司EZ-USB FX2 芯片CY7C68013A。它部集成有增强型USB CORE高速8051 Core具有4Clo

51、ck/Cycle的48MHZ8051CPU,比一般标准8051的执行速度快10倍、GPIF和FIFO两种接口模式、DMA引擎,并提供全部传输类型等时、批量、中断、控制传输14。EZ-USB芯片可以将固件储存在主机上,而不必装入芯片。在开机或是连接时,再将固件加载到芯片。此芯片使用每个指令周期4个脉冲周期,每一个指令需要1到5个指令周期,CPU是以24MHz来驱动。大部分的EZ-USB芯片支持最大数目的端点:一个控制端点,30个额外的端点地址以及所有的4种传输类型。EZ-USB的固件有两个来源:外部的EEPROM的初始化字节的容,以及芯片的EA输入状态15。该芯片的部结构如图7所示。24MHZ晶

52、振GPIF通用可编程接口 数据 地址 12C总线 6CTL D+ D-地址数据总线FIFO4KB串行接口引擎USB2.0收发器RAM 8.5KB8051内核12/24/48MHZX/2X1X2X20PLL图7 EZ-USB FX2芯片部结构EZ_USB FX2有以下主要特性:部嵌入可运行在48 MHz频率的增强型8051核。其部含有256字节的寄存器RAM、两个USART、3个定时计数器和两个数据指针,每条指令需要四个时钟周期完成。为缩短ISR等待时间,采用USB矢量中断。使用USB部事物处理和控制,而不是采用高速数据传输。部拥有串行接口引擎负责完成诸如串行数据的编解码、差错控制、位填充等于U

53、SB协议等有关的功能, 可以将嵌入式MCU 解放出来,简化了固件的开发。芯片中FIFO与USB之间的传输是以数据包的形式实现的,而不是一次只传输一个字节,这种处理结构被称为量子F IFO,它较好地解决了USB高速模式下的带宽问题。 EZ_USB FX2芯片是一个以软件为主的架构,程序代码和数据被存储在部的RAM中,这些程序代码和数据可以通过USB接口从主机加载,这样既可以缩短产品上市的时间,也可以方便地更新固件,对产品进行升级。六.图象数据传输CMOS输出的图像数据首先缓存在FPGA的片存中,然后写入USB的F IFO中,再通过VC读取到主机。图像传输通道主要包括VHDL 图像格式编排与USB

54、 F IFO的图像数据写入、Keil C的USB固件设置、VC图像数据读取16。首先需要在FPGA中开辟出存储空间来缓存原始图像数据,这里采用了16 bits 8k的F IFO,并将帧头和帧尾和行同步信号等在适当的时候写入F IFO来实现图像的同步,之后将数据写入USB 的IN F IFO等待主机的读取。2.3 系统的软件模块设计一、FIFO 控制的VHDL 实现硬件描述语言 是一种应用于电路设计的高层次描述语言,具有行为级、寄存器传输级和门级等多层次描述,并且具有简单、易读、易修改和与工艺无关等优点。目前VHDL 语言已经得到多种EDA 工具的支持,综合工具得到迅速发展,VHDL 语言的行为

55、级综合也已经得到支持和实现,因此利用VHDL 语言进行电路设计可以节约开发成本和周期。下面是FIFO 控制的VHDL 代码。首先给出一些控制信号的解释:full 和empty 控制部产生的满标志和空标志,不代表FIFO 真正的满和空;psync 和outpsync 写入和读出的帧头同步信息;wr - clk 和rd- clk 写入和读出FIFO的时钟信号;number1 和number2 用来控制部的满标志和空标志;fifo - wr - en 和fifo - rd - en 控制的输出,用来控制FIFO 的写使能和读使能;process beginif number1 1 thenempty

56、 9 thenfull =1;elseempty =0;full =0;end if ;if thennumber1 = number2 ;if psync =1thenif thennumber1 = number1 + 1 ;fifo - wr - en =1;elsefifo - wr - en =0;end if ;end if ;end if ;end process ;process beginif thennumber2 = number1 ;if outpsync =1thenif thennumber2 = number2- 1 ;fifo - rd - en =1;else

57、fifo - rd - en =0;end if ;end if ;end if ;end process ;二固件程序设计设备固件是设备运行的核心,可采用汇编语言或单片机C语言设计。只有在该程序运行时,外设才能被称为具有给定功能的外部设备。所有基于微控制器及其外围电路的功能设备的正常工作都离不开固件的参与,固件是微控制器的灵魂。固件的作用就是控制硬件的工作,完成预期的设备功能。CY7C68013的固件程序的主要作用包括:设备的初始化、硬件设备的重新列举Renumeration、中断处理、数据的接收与发送、外围电路的控制。通过CY7C68013缓存数据并传输至主机等17。利用EZ-USB FX2系列提供的固件结构,可以简化固件开发。用户仅需提供其USB描述符,以及实现外围功能的程序代码,即可完成完全兼容的USB设备设置。固件程序框图如图8所示。结束继续采样?启动A/D转换处理设备请求有设备请求?重新设备列举系统初始化N YYN图8 固件流程图USB数据有四种传输类型: 控

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!