图象采集系统FIFO帧存储与USB接口电路设计说明_第1页
图象采集系统FIFO帧存储与USB接口电路设计说明_第2页
图象采集系统FIFO帧存储与USB接口电路设计说明_第3页
图象采集系统FIFO帧存储与USB接口电路设计说明_第4页
图象采集系统FIFO帧存储与USB接口电路设计说明_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 . . . (2009 届) 毕业论文(设计)题目:图象采集系统FIFO帧存储与USB接口电路设计 学院:数学与信息工程学院专业:电子信息工程 班级:工程 052 学号:3 姓名:磊 指导教师: 思佳 教务处制 2009年5月30日诚信申明本人重声明:所呈交的毕业论文,是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的容外,本论文不含任何其它个人或集体已经发表或撰写过的作品成果,对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 毕业论文作者签名: 年 月 日 授权申明本学位论文作者完全了

2、解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权省级优秀学士论文评选机构将本学位论文的全部或部分容编入有关数据进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本学位论文属于 1、 囗,在10年解密后适用本授权书。2、不囗。(请在以上相应方框打“”)作者签名:年 月 日导师签名: 年 月 日图象采集系统FIFO帧存储与USB接口电路设计摘 要:高速数字图像采集系统是研究瞬间发生的物理现象的一种有效工具,高速运动物体数字图像的获得,是对瞬间发生的物理现象研究的基础。随着数字多媒体技术的不断发展,

3、数字图像处理技术被广泛应用于可视、电视会议、监控系统等各种民用、商业与工业生产领域中。本文以CMOS数字图像传感器为图像采集器件,以与PIC16F87x系列单片机和CY7C68013AUSB接口芯片,再加上CPLD逻辑控制和FIFO帧存储器,构建一个静态图像采集系统。CMOS图像传感器主要用来对敏感景物产生像素,FIFO帧存储器用来存储一帧这样的像素,CPLD用来控制像素从图像传感器到FIFO传输的时序逻辑,单片机将像素发送到USB接口,并控制整个电路工作,USB接口的任务是将像素传到计算机,以便进行后续处理。关键字:图象采集;FIFO;USB Design of High-Image 目录1

4、 绪论(1)1绪论数字图像处理技术的飞速发展使得所有图像处理的问题都可以用数字信号处理的形式来解决,这为实时图像处理的应用提供了广阔的空间。首先,数字信号处理中存在大量成熟的快速算法,这些算法已经大量的应用于图像处理中。其次,几个技术发展趋势进一步促使此领域的发展,随着超大规模集成电路的高速发展,包括低价位DSP(Digital Signal Processor)数字信号处理器,微处理器支持的并行处理技术,用于图像数字化的低成本的电荷耦合器件,低成本存储阵列的新存储技术,以与低成本、高分辨的彩色显示系统的发展为高速的实现信号处理、为达到系统的实时性提供了可能1。这些发展都使得图像处理技术广泛的

5、运用于科学研究、工农业生产、资源的遥感探测、医疗卫生、空间探索等各个领域 ,如今随着信息高速公路的建设,各种网络的发展非常迅速。因而,图像的传输也得到了极大的关注。另一方面,图像传输可使不同的系统共享图像数据资源,也极推动了图像在各个领域的广泛应用。高速数字图像采集系统是研究瞬间发生的物理现象的一种有效工具,高速运动物体数字图像的获得,是对瞬间发生的物理现象研究的基础。目前高速图像采集系统(一般指帧频在100fps以上)主要应用在军事领域。在军工靶场测量中,需要对快速飞行目标的飞行实况进行跟踪、测量,事后要对测量数据进行分析、处理,为了提高测量精度,普遍采用高帧频数字图像采集系统2。考虑到高速

6、实时处理与实用化两方面的具体要求,需要开发一种具有高速、高集成度等特点的视频图象信号采集系统,为此系统采用专用视频解码芯片和复杂可编程逻辑器件(CPLD)构成前端图象采集部分。设计上采用专用视频解码芯片,以CPLD器件作为控制单元和外围接口,以FIFO为缓存结构,能够有效地实现视频信号的采集与读取的高速并行,具有整体电路简单、可靠性高、集成度高、接口方便等优点,无需更改硬件电路,就可以应用于各种视频信号处理系统中3。使得原来非常复杂的电路设计得到了极大的简化,并且使原来纯硬件的设计,变成软件和硬件的混合设计,使整个系统的设计增加柔韧性。本次毕业设计,我以CMOS数字图像传感器为图像采集器件,以

7、与PIC16F87x系列单片机和CY7C68013AUSB接口芯片,再加上CPLD逻辑控制和FIFO帧存储器,构建一个静态图像采集系统。CMOS图像传感器主要用来对敏感景物产生像素,FIFO帧存储器用来存储一帧这样的像素,CPLD用来控制像素从图像传感器到FIFO传输的时序逻辑,单片机将像素发送到USB接口,并控制整个电路工作,USB接口的任务是将像素传到计算机,以便进行后续处理。2. 图象采集系统概述2.1系统组成部分系统主要由图象采集模块、存储模块、处理模块和传输模块组成。高帧频CMOS 成像单元主要由CMOS 图像传感器和控制芯片FPGA 组成,它是系统的成像部件,用以捕获高速运动物体的

8、图像,其电路输出为数字图像数据。图像存储单元主要由FIFO帧存储器组成,负责对成像单元输出的图像数据进行实时存储,供计算机采集、处理图像数据。因图像传输的数据量大,要求较高的传输速度,本系统采用了usB总线上传到PC,实际中速度可以达到400 Kbps,能满足CIF格式图像的实时传输。系统结构框图如图1所示。单片机主机USB接口CMOS图象传感器CPLD逻辑控制光学镜头FIFO帧存储图1 系统结构框图系统选用OminiVision公司生产的CMOS芯片OV7620,它是一款集成了一个640 ×480 (30万像素)图像矩阵的彩色摄像芯片,在隔行扫描模式下工作频率可达60Hz,逐行扫描

9、时为30帧/ s。其像面大小为1 /3英寸,支持8位或16位数字信号从单通道或双通道输出,输出信号的类型可在YCrCb和RGB 之间选择,图像矩阵支持VGA或CIF 规定, 数字输出格式遵循CCIR601, ZVPorts, CCIR656等标准4。OV7620有很强的摄像和控制功能,如暴光控制,校正,增益,色彩矩阵,窗口选择等,所有这些功能都可以通过I2C接口进行编程控制。CPLD选用ALTERA公司的芯片EPM7128S,它在系统中处于核心地位,既要负责将OV7620输出的视频数据存入FIFO帧存储器,又要与MCU配合完成视频数据的USB 传输。MCU 是Cygnal 公司的高性能单片机C

10、8051F020,它通过I2C总线控制CMOS芯片的工作方式和状态, C8051F020自带SMBUS总线接口,可以把I2 C的时钟线SCL和数据线SDA通过交叉开关分配到端口引脚,MCU作为I2 C总线通讯的主机,OV7620用42H (W rite) 、43H (Read)作为从机地址与MCU进行通信。另外MCU还控制USB 通信,负责USB芯片的初始化和与PC的通信连接,其64KB 的flash程序存储空间足以存放USB 通信固件5。USB 接口芯片采用EZ-USB FX2 芯片CY7C68013A,该芯片支持USB 2.0标准协议和DMA传输模式。2.2硬件模块设计2.2.1 图象采集

11、模块CCD(Charge Coupled Device 电荷耦合器件)和CMOS(Complementary Metal Oxide Semiconductor 互补金属氧化物半导体)传感器是当前被普遍采用的两种图像传感器,两者都是利用感光二极管(photodiode)进行光电转换,将光像转换为电子数据。CCD于1969年研制成功,发展于20世纪八、九十年代,现在被广泛应用于广播电视领域。COMS传感器是上世纪80 年代为克服CCD 生产工艺复杂、功耗较大、价格高、不能单片集成和有光晕、拖尾等不足之处而研制出的一种新型图像传感器,CMOS传感器已成为消费类数码相机、电脑摄像头、可视等多功能产品

12、的理想之物,随着技术的发展,已逐步应用于高端数码相机和电视领域。一.CCD 与CMOS 的对比CCD和CMOS之间的主要差异是数据传送的方式不同。CCD传感器中每一行中每一个像素的电荷数据都会依次传送到下一个像素中,由最底端部分输出,再经由传感器边缘的放大器进行放大输出;而在CMOS传感器中,每个像素都会邻接一个放大器与A/D转换电路,用类似存电路的方式将数据输出,如图1。造成这种差异的原因在于:CCD 的特殊工艺可保证数据在传送时不会失真,因此各个像素的数据可汇聚至边缘再进行放大处理;而CMOS工艺的数据在传送距离较长时会产生噪声,因此,必须先放大,再整合各个像素的数据6。正是由于数据传送方

13、式的不同,造成了两者之间的本质差别。 CCD CMOS 图2 CCD和CMOS的数据传送方式不同1. 成本由于CMOS 传感器采用半导体电路最常用的CMOS 工艺,可以轻易地将周边电路(如AGC、CDS、时钟、DSP等)集成到传感器芯片中,因此可以节省外围芯片的成本;而CCD传感器采用电荷传递的方式传送数据,其中有一个像素不能运行,将会导致一整排的数据不能传送,控制CCD传感器的成品率会比CMOS传感器困难的多,因此,CCD传感器的成本要高于CMOS 传感器。2. 灵敏度CCD的感光信号以行为单位传输,电路占据像素的面积比较小,这样像素点对光的感受就高些;而CMOS传感器的每个像素由多个晶体管

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

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

16、 寻址技术,允许从整个排列、部分甚至单元来读出数据,从而提高寻址速度,实现更快的信号传输。二.CCD 和CMOS 发展趋势综上所述,CCD在多个方面都占据着一定的优势,而且CCD技术还处在发展当中,如富士公司的超级CCD SR(Super Dynamic Range,超级动态围),相对于同等数量像素的传统CCD而言,它有更高的灵敏度、更高的信噪比和更大的动态围。但是CMOS传感器的低功耗、可集成性与快速响应是它的最大优点,虽然CMOS的早期产品应用情况并不十分理想,生成的图片质量差,噪波也大,而且图像处理性能也不好。但经过多年发展,CMOS 技术得到了充足发展。去年业界发展了CMOS图像传感器

17、新技术C3D,这项技术的最大特点就是像素反应的均一性,提高了CMOS图像传感器在均一性和暗电流反应的标准性能。日本佳能公司的顶级单反数码相机EOS-1Ds使用的就是一款1100 万像素的CMOS 图像传感器。特别是在2004年2 月,美国FOVEON 公司展示了最新发展的FOVEON X3 技术,这是全球第一款可以在一个像素上捕捉全部彩色信息的图像传感器阵列。传统的CCD 只能感应光的强度,彩色信息是通过RGB 滤镜来实现的,使用单片CCD(马赛克形式),将会降低图像的分辨率,使用3 片CCD(分光棱镜形式),不仅结构复杂,而且成本大幅增加。而FOVEON X3技术可以在一个像素上通过不同的深

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

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

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

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

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

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

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

25、步的写有效(wr - en) 和写数据(datain) 、与读时钟同步的读有效( rd- en) 和读数据( dataout) 。为了实现正确的读写和避免FIFO 的上溢或下溢,通常还应该给出与读时钟和写时钟同步的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 控制读写地

26、址,写地址根据写时钟和写有效信号产生递增的写地址,读地址根据读时钟和读有效信号产生递增的读地址。FIFO的操作如下:在写时钟wr - clk 的上升沿,当wr - en有效时,将datain 写入双口RAM 中写地址对应的位置中;在读时钟rd- clk 的上升沿,当rd- en 有效时,dataout 输出双口RAM 中读地址对应的位置中的数据,始终将读地址对应的双口RAM中的数据输出到读数据总线上。这样就实现了先进先出的功能。FIFO 的设计根据读地址和写地址关系产生FIFO 的满标志和空标志。当FIFO 的满标志有效时, FIFO禁止写操作;当FIFO 的空标志有效时,FIFO 禁止读操作

27、。如果我们自己用FPGA 实现FIFO 的设计,可以适当加大读写地址的差值关系,从而使得FIFO 产生的满标志和空标志能够正确的指示FIFO 的状态,而不产生错误指示。文献 1 采用了格雷码对地址编码的方式,避免读写时钟完全异步而产生错误的满标志和空标志,并给出了具体的实现方法,这种方法比适当加大读写地址的差值的方法多用了12个地址位。三存储器芯片类型的选择构成帧存储器一般可采用静态存储器SRAM、动态存储器DRAM、先进先出FIFO 存储器、双端口RAM等几种芯片. 作为信号发生器使用的帧存储器, 不需要随机存取, 只需顺序读写, 因此可以选择FIFO 存储器, 从而避免了复杂的读写地址.

28、FIFO 有独立的数据输入、输出端口, 操作方便, 因此选择FIFO 存储芯片构成帧存储器要比其它类型更为合理。选择存取速度满足要求的大容量FIFO 存储芯片构成帧存器,AverLogic 公司的FIFO 存储芯片AL422B是一个较好的选择, 其基本参数: 存储容量为393 216 字节×8 位; 读写周期为20 ns. 所有的寻址、刷新等操作都由集成在芯片部的控制系统完成, 因此外部连接与使用非常简单,而且具有独立的读、写操作, 写入与读出速率可以不同. 具有以上特点的AL422B 非常适合在视频图象信号发生器中应用。 采样频率13. 5MHz 和12MHz 时, NTSC 制、

29、PAL 制有关的取样参数与存储一帧电视图象所需的容量如表1 所示。 参数 13.5MHZ采样频率 12MHZ采样频率NTSC制 PAL制 NTSC制 PAL制每行有效素数 720 720 640 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 的采样时钟

30、, NTSC 制使用13. 5MHz 采样时钟, 一片AL422B 就可以满足一个基色的存储容量要求, 整个系统共需3 片AL422B.。AL422B 的引脚功能如表2 所示. AL422B 有独立的数据写入和读出端口, 读写操作独立进行。名称 引脚 功能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 控制读数

31、据的允许与否,低有效/RRST 21 /RRST低有效时,读指针复位,指向零地址 /OE 22 /OE允许时,数据输出到DO0-DO7引脚TST 7 出厂测试用,设计应用时应接地VDD 10 接3V或3.3VDEC/VDD 19 5V或3.3V选择GND 6,23 接地线表2 AL422B引脚功能 Tab2 The pin function of AL422BPWE 控制写数据的允许与否, PWE 低有效, 此时数据在WCK上升沿同步写入存储体, 并且写指针自动指向下一地址. PWE 高无效, 此时FIFO 不接受数据, 写指针不变. PWRST 低有效时, 写指针复位,指向地址为零的存储单元

32、。PRE 控制读数据的允许与否, PRE 低有效, 此时数据在RCK上升沿由存储体同步读出, 并且读指针自动指向下一地址. PRE 高无效, 此时不能读取数据, 读指针不变. PRRST 低有效时, 读指针复位, 指向地址为零的存储单元。四FIFO的控制设计从FIFO 的功能描述可以看出,普通FIFO 适合处理一般数据,但普通FIFO 设计仍然会产生错误,当满标志有效时,即使FIFO 的wr - en 有效,FIFO 不会进行写操作,而是产生错误;当空标志有效时,即使FIFO 的rd - en 有效,FIFO 也不会进行读操作,同样也是产生错误12。如果我们在FIFO 外加以逻辑控制,用FIF

33、O 的满标志full 和空标志empty 分别控制FIFO 的写有效和读有效,就可以避免上述情况的发生。但在处理整帧的数据过程中,如果不能巧妙地设计FIFO 的控制,则很容易引起数据的混乱错误。原因在于FIFO 的空间大小常常不是N ×M,M 代表一帧数据的长度,N 为正整数。所以当普通FIFO 的满标志有效时,FIFO 最后的一帧数据就不完整,随着时间的推移,就不能保证FIFO 的读出数据是一些完整的帧数据。从FIFO 读出的数就变得杂乱无章,产生数据混乱错误。从以上的分析可以看出,处理整帧数据时,容易发生帧结构的错误,原因在于FIFO 的空间不是帧长的整数倍。为了避免这种情况,本

34、文提出了一种巧妙的设计,使得FIFO 读入和读出的数据都是整帧数据。也就是说,当FIFO 的满标志full 有效时,此时当写入FIFO 的数据刚好是一帧数据的结束,使得FIFO 的wr - en 无效,从而禁止向FIFO 写入数据;如果FIFO 的full 满标志无效,等下一帧数据开始时,再次使得FIFO 的wr - en 有效,数据能够写入FIFO ,从而保证FIFO 的写入和读出数据都是完整的帧数据13。同样,当FIFO 的空标志empty 有效时,此时当FIFO 的读出数据的一帧刚刚结束时,rd- en 无效,从而禁止FIFO 输出;如果FIFO 空标志empty 无效,当FIFO下一帧

35、的数据要读出时,使得rd- en 再次有效;rd en 两次有效的时间间隔恰好是n 个数据帧的间隔,这样有利于帧数据的处理。五FIFO控制的关键技术和仿真结果FIFO 控制技术的关键在于用于控制模块的满标志和空标志不是采用FIFO 本身的full 和empty ,而是我们特别加上的。所以当满标志有效时,此时不代表FIFO 真正已满,所以仍然可以向FIFO 写入数据,当此帧数据写入完毕,满标志仍然有效时,写使能wr en 无效,禁止FIFO 写入。同样当空标志有效时,也不代表FIFO 一定是空,一般情况下是非空,但FIFO 的数据开始少于一帧,所以仍然可以输出数据,当此帧结束时,若empty 仍

36、然有效,此时rd- en无效,禁止从FIFO 读出数据。通过用我们自己设计的空、满标志控制FIFO 的读、写使能,使得读、写使能的有效时间或无效时间的间隔都是帧长的整数倍,从而达到控制FIFO 适合处理整帧数据的目的。因为处理的数据为整帧数据,故可利用帧头产生一个帧头同步信息,本文所列举的例子的写入和读出的帧头同步信息分别为psync 和outpsync 。当写入帧头psync 有效时,表明要开始写入数据,如果此时full 无效,则输出wr en 有效;如果此时full 有效,则输出wr en 无效,控制FIFO 禁止写入,图5为其仿真图。当读出帧头outpsync 有效时,表明要开始读出数据

37、。图5(a) : 写帧头psync 有效,full 无效,输出写wr en 有效,控制FIFO 可以写入数据;因有数据写入,empty 变成无效,FIFO 不空;图5 ( b) : number1 控制,使得full 有效,但此时wr en 仍有效,所以不代表FIFO 真正满;图5I : 写帧头psync 有效,full 有效,输出写wr en 无效,控制FIFO 禁止写入;如果此时empty 无效,则输出读rd- en 有效;如果此时empty 有效,则输出rd- en 无效,控制FIFO 禁止读出,图3 为其仿真图。图6 (a) :读帧头outpsync 有效,empty 无效,输出读rd

38、 en 有效;控制FIFO 可读;图6 (b) :number2 控制,使得empty 有效,但此时rd en 仍有效,所以不代表FIFO 真正空;图6 I :读帧头outpsync 有效,empty 有效,输出写rd en 无效,控制FIFO 禁止读出;图6 (d) :读帧头outpsync 有效,如果full 有效, 因开始读出一帧数据,而没有写入一帧数据,full 变成无效,表明FIFO 处于可读可写状态。 图5 写入数据控制仿真结果图图6 读出数据控制仿真结果图2.2.3图象传输模块在工业生产和科学技术研究的各行业中,常常利用PC或工控机对各种数据进行采集。这其中有很多地方需要对各种数

39、据进行采集,如液位、温度、压力、频率等。现在常用的采集方式是通过数据采集板卡,常用的有A/D卡以与422、485等总线板卡。采用板卡不仅安装麻烦、易受机箱环境的干扰,而且由于受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备。而通用串行总线(Universal Aerial Bus,简称USB)的出现,很好地解决了以上这些冲突,很容易就能实现低成本、高可靠性、多点的数据采集。五 USB简介 USB是一些PC大厂商,如Microsoft、Intel等为了解决日益增加的PC外设与有限的主板插槽和端口之间的矛盾而制定的一种串行通信的标准,自1995年在Comdex上亮相以来至今已广泛的为各P

40、C厂家所支持。现在生产的PC几乎都配备了USB接口,Microsft的Windows98、NT以与MacOS、Linux、FreeBSD等流行操作系统都增加了对USB的支持。五 USB系统的构成USB系统主要由主控制器(Host Controller)、USB HUB和USB外设(Peripherals Node)组成系统拓扑结构。主控制器负责主机和USB设备间数据流的传输。这些传输数据被当作连续的比特流。每个设备提供了一个或多个可以与客户程序通信的接口,每个接口由0个或多个管道组成,它们分别独立地在客户程序和设备的特定终端间传输数据。USBD为主机软件的现实需求建立了接口和管道,当提出配置请

41、求时,主控制器根据主机软件提供的参数提供服务。USB支持四种基本的数据传输模式:控制传输,等时传输,中断传输与数据块传输。每种传输模式应用到具有一样名字的终端,则具有不同的性质。控制传输类型:支持外设与主机之间的控制,状态,配置等信息的传输,为外设与主机之间提供一个控制通道。每种外设都支持控制传输类型,这样主机与外设之间就可以传送配置和命令/状态信息。 等时传输类型:支持有周期性,有限的时延和带宽且数据传输速率不变的外设与主机间的数据传输。该类型无差错校验,故不能保证正确的数据传输,支持像计算机集成系统(CTI)和音频系统与主机的数据传输。中断传输类型:支持像游戏手柄,鼠标和键盘等输入设备,这

42、些设备与主机间数据传输量小,无周期性,但对响应时间敏感,要求马上响应。数据块传输类型:支持打印机,扫描仪,数码相机等外设,这些外设与主机间传输的数据量大,USB在满足带宽的情况下才进行该类型的数据传输。USB采用分块带宽分配方案,若外设超过当前带宽分配或潜在的要求,则不能进入该设备。同步和中断传输类型的终端保留带宽,并保证数据按一定的速率传送。集中和控制终端按可用的最佳带宽来传输传输数据。(2)USB的主要优点 速度快。USB有高速和低速两种方式,主模式为高速模式,速率为12Mbps,另外为了适应一些不需要很大吞吐量和很高实时性的设备,如鼠标等,USB还提供低速方式,速率为1.5Mb/s。 设

43、备安装和配置容易。安装USB设备不必再打开机箱,加减已安装过的设备完全不用关闭计算机。所有USB设备支持热拔插,系统对其进行自动配置,彻底抛弃了过去的跳线和拨码开关设置。 易于扩展。通过使用Hub扩展可拨接多达127个外设。标准USB电缆长度为3m(5m低速)。通过Hub或中继器可以使外设距离达到30m。 能够采用总线供电。USB总线提供最大达5V电压、500mA电流。 使用灵活。USB共有种传输模式:控制传输(control)、同步传输(Synchronization)、中断传输(interrupt)、批量传输(bulk),以适应不同设备的需要。二.采用USB传输的数据采集设备(1)硬件组成

44、 一个实用的USB数据采集系统包括A/D转换器、微控制器以与USB通信接口。为了扩展其用途,还可以加上多路模拟开关和数字I/O端口。 系统的A/D、数字I/O的设计可沿用传统的设计方法,根据采集的精度、速率、通道数等诸元素选择合适的芯片,设计时应充分注意抗干扰的性能,尤其对A/D采集更是如此。 在微控制器和USB接口的选择上有两种方式,一种是采用普通单片机加上专用的USB通信芯片。现在的专用芯片中较流行的有National Semiconductor公司的USBN9602、ScanLogic公司的SL11等。笔者曾经采用Atmel公司的89c51单片机和USBN9602芯片构成系统,取得了良好

45、的效果。这种方案的设计和调试比较麻烦,成本相对而言也比较高。 另一种方案是采用具备USB通信功能的单片机。随着USB应用的日益广泛,Intel、SGS-Tomson、Cypress、Philips等芯片厂商都推出了具备USB通信接口的单片机。这些单片机处理能力强,有的本身就具备多路A/D,构成系统的电路简单,调试方便,电磁兼容性好,因此采用具备USB接口的单片机是构成USB数据采集系统较好的方案。不过,由于具备了USB接口,这些芯片与过去的开发系统通常是不兼容的,需要购买新的开发系统,投资较高。 USB的一大优点是可以提供电源。在数据采集设备中耗电量通常不大,因此可以设计成采用总线供电的设备。

46、 (2)软件构成 Windows98 提供了多种USB设备的驱动程序,但好象还没有一种是专门针对数据采集系统的,所以必须针对特定的设备来编制驱动程序。尽管系统已经提供了很多标准接口函数,但编制驱动程序仍然是USB开发中最困难的一件事情,通常采用Windows DDK来实现。目前有许多第三方软件厂商提供了各种各样的生成工具,象Compuware的driver works,Blue Waters的Driver Wizard等,它们能够很容易地在几分钟之生成高质量的USB的驱动程序。设备中单片机程序的编制也同样困难,而且没有任何一家厂商提供了自动生成的工具。编制一个稳定、完善的单片机程序直接关系到设

47、备性能,必须给予充分的重视。 以上两个程序是开发者所关心的,用户不大关心。用户关心的是如何高效地通过鼠标来操作设备,如何处理和分析采集进来的大量数据,因此还必须有高质量的用户软件。用户软件必须有友好的界面,强大的数据分析和处理能力以与为用户提供进行再开发的接口。 三实现USB远距离采集数据传输传输距离是限制USB在工业现场应用的一个障碍,即使增加了中继或Hub,USB传输距离通常也不超过几十米,这对工业现场而言显然是太短了。 现在工业现场有大量采用RS485传输数据的采集设备。RS485有其固有的优点,即它的传输距离可以达到1200米以上,并且可以挂接多个设备。其不足之处在于传输速度慢,采用总

48、线方式,设备之间相互影响,可靠性差,需要板卡的支持,成本高,安装麻烦等。RS485的这些缺点恰好能被USB所弥补,而USB传输距离的限制恰好又是RS485的优势所在。如果能将两者结合起来,优势互补,就能够产生一种快速、可靠、低成本的远距离数据采集系统。这种系统的基本思想是:在采集现场,将传感器采集到的模拟量数字化以后,利用RS485协议将数据上传。在PC端有一个双向RS485USB的转换接口,利用这个转接口接收485的数据并通过USB接口传输至PC机进行分析处理。而主机向设备发送数据的过程正好相反:主机向USB口发送数据,数据通过485USB转换口转换为485协议向远端输送。 在方案中,关键设

49、备是485USB转换器。这样的设备在国外都已经面市。笔者也曾经用National Semiconductor公司的USBN9602+89c51+MAX485实现过这一功能,在实际应用中取得了良好的效果。 需要特别说明的是,在485USB转换器中,485接口的功能和通常采用485卡的接口性能(速率、驱动能力等)完全一样,也就是说,一个485USB转换器就能够完全取代一块485卡,成本要低许多,同时具有安装方便、不受插槽数限制、不用外接电源等优点,为工业和科研数据采集提供了一条方便、廉价、有效的途径。四综合式采集数据传输系统的实现现在的数据采集系统通常有分布式和总线两种。采用USB接口易于实现分布

50、式,而485接口则易于实现总线式,如果将这两者结合起来,则能够实现一种综合式的数据采集系统。实现方法是:仍然利用上面提到过的USB485转换器实现两种协议的转换。由于USB的数据传输速率大大高于485,因此在每条485总线上仍然可以挂接多个设备。 这种传输系统适用于一些由多个空间上相对分散的工作点,而每个工作点又有多个数据需要进行采集和传输的场合,例如大型粮库,每个粮仓在空间上相对分散,而每个粮仓又需要采集温度、湿度、二氧化碳浓度等一系列数据。在这样的情况下,每一个粮仓可以分配一条485总线,将温度、湿度、二氧化碳浓度等量的采集设备都挂接到485总线上,然后每个粮仓再通过485总线传输到监控中

51、心,并转换为USB协议传输到PC机,多个粮仓的传输数据在转换为USB协议后可以通过Hub连接到一台PC机上。由于粮仓的各种数据监测实时性要求不是很高,因此采用这种方法可以用一台PC机完成对一个大型粮库的所有监测工作。 五芯片选择USB 芯片在外设领域的应用面很广。USB外设控制芯片通常包括USB收发器、串行接口引擎(SIE)、USB控制器和外设功能等四个模块(SIE主要以硬件方式处理大多数USB协议,USB控制器负责与PC交互通信信息)。USB控制器一般有两种类型:一种是MCU集成在芯片里面的,如 Intel的8X930AX、CYPRESS的EZ-USB、SIEMENS的C541U以与 MOT

52、OLORA、National Semiconductors等公司的产品;另一种就是纯粹的USB接口芯片,仅处理 USB通信,如PHILIPS的PDIUSBD11(I2C接口)、 PDIUSBP11A、PDIUSBD12(并行接口),National Semiconductor的USBN9602、USBN9603、USBN9604等。      集成MCU的USB控制芯片优点是CPU与控制器在同一片芯片里,CPU只需要访问一系列寄存器和存储器,便可实现USB口的数据传输,最大限度的发挥 USB高速的特点。而且简化了程序的设计,极降低了USB外设的

53、开发难度。缺点是灵活性不够高,开发成本较大。     纯粹的USB接口芯片的优点是系统组成灵活,可根据不同的系统需求,搭配不同的MCU,具有较高的性能价格比。但因为USB控制器是通过串行口或并行口与MCU连接,在传输速度方面和开发难度方面不如集成了MCU的控制芯片。不同的实现方式在设计开销、上市时间、元器件开销和引脚数方面各有优劣,选择不同的方案意味着在以上各项指标中进行取舍。本文主要介绍USB接口芯片选用Cypress 公司EZ-USB FX2 芯片CY7C68013A。它部集成有增强型USB CORE(高速8051 Core具有4Clock/Cycle的48MHZ8051CPU,比一般标准8051的执行速度快10倍)、GPIF和FIFO两种接口模式、DMA引擎,并提供全部传输类型(等时、批量、中断、

温馨提示

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

评论

0/150

提交评论