1、武汉理工大学毕业设计(论文)基于FPGA的图像数据传输控制系统设计学院(系)专业班级学生姓名指导教师学位论文原创性声明本人郑重声明所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包括任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。作者签名年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权省级优秀学士论文评选机构将本学位论文的全部或部分内容编入有关数据进行检索,可以采用影印
2、、缩印或扫描等复制手段保存和汇编本学位论文。本学位论文属于1、保密囗,在年解密后适用本授权书2、不保密囗。(请在以上相应方框内打“”)作者签名年月日导师签名年月日本科生毕业设计(论文)任务书学生姓名XX专业班级XX指导教师XX工作单位XX设计论文题目基于FPGA的图像数据传输控制系统的设计设计(论文)主要内容在掌握学习FPGA的基本原理、结构和应用的基础上,完成基于FPGA的图像数据传输控制系统的设计与实现。要求完成的主要任务1、查阅不少于15篇的相关资料,其中英文文献不少于3篇,完成开题报告。2、FPGA基本系统的设计。3、FPGA外围系统的设计。4、完成不少于5000汉字的英文文献翻译。5
3、、完成不少于12000字的论文。必读参考资料1王庆友光电技术北京电子工业出版社,20052JINGHONGDUANDEVELOPMENTOFIMAGEPROCESSINGSYSTEMBASEDONDSPANDFPGAELECTRONICMEASUREMENTANDINSTRUMENTS,AUG16,2007JULY1820073BOBZEIDMAN著,赵宏图译基于FPGAINPUTENINPUT70IN0,IN1,IN2,IN3INPUT10SELOUTPUT70OUTREG70OUTALWAYSSELORENORIN0ORIN1ORIN2ORIN3BEGINIFEN0OUT81B0武汉理工大
4、学毕业设计(论文)12ELSECASESEL0OUTIN01OUTIN12OUTIN23OUTIN3DEFAULTOUT81B0ENDCASEENDENDMODULE这段VERILOGHDL语言描述的是一个数据选择器。其中涉及到模块声明MODULEENDMODULE端口定义INPUTOUTPUT信号类型REG赋值形式常用语法ALWAYS语句(时序逻辑、部分组合逻辑)由于VERILOGHDL语言使得复杂的芯片变得易于被人脑所理解,同时使得硬件设计变得简单顺利,故传统的原理图设计方法正在被硬件描述语言所取代。武汉理工大学毕业设计(论文)133图像传输系统方案设计31系统总体方案系统总体设计上包括两
5、个模块,即图像采集模块和图像存储模块,又可以分为以下几个部分图象传感器、A/D准换器、FPGA主控模块、SRAM数据存储器和D/A转换器17。系统的原理框图如下图所示。图10系统原理框图该系统中,图像传感器把捕捉外界图像转换成模拟信号,在主控模块FPGA的控制下,该模拟信号经A/D转换后成为数字信号,并被传输到外部存储器SRAM中储存起来,当需要将图像显示出来时,在FPGA的控制下,数字信号经过D/A的转换成模拟信号并传输到外部显示器上。32各模块器件的选择对应系统原理框图,分别选择各部分合适的器件。FPGA芯片。本系统采用ALTERA公司的CYCLONELI系列FPGAEP2C20Q240C
6、8作为系统的主控制器,该芯片具有18752个LE,240KBIT的内部RAM容量,26个内嵌乘法器单元,4个模拟锁相环等,广泛应用于汽车电子、消费电子、音视频处理、通信以及测试测量等终端产品市场。显示图像传感器图像A/D转换FPGA主控模块SRAM存储器SRAM存储器图像D/A转换武汉理工大学毕业设计(论文)14图11CYCLONEII型FPGA芯片(EP2C20Q240C8)图像传感器。图像传感器选择CMOS黑白摄像头,它输出模拟的黑白视频图像信号给后继的A/D转换器。A/D转换器。本次设计采用一款视频解码芯片SAA7111作为A/D转换。该芯片的引脚如图12所示。SAA7111是PHILI
7、PS公司生产的可编程视频处理器。该芯片集AD与解码功能于一身,片内附有锁相、自动钳位、自动增益控制、时钟产生、多制式解码等电路,另外,SAA7111还可对亮度、对比度和饱和度进行控制。它既能支持PAL电视制式,又可支持NTSC电视制式。SAA7111A内部含有I2C接口,故可通过I2C总线对SAA7111A的工作方式进行设定,可以输出标准的16位VPO数字信号。SAA7111A的场同步信号VREF、行同步信号HREF、奇偶场信号RTS0、象素时钟信号LLC2都可由引脚直接引出,从而可省去时钟同步电路,且其可靠性和方便性也有了很大的提高。武汉理工大学毕业设计(论文)15图12芯片SAA7111引
8、脚图SRAM存储芯片。选用ISSI公司的SRAMIS61LV25616AL。IS61LV25616AL是ISSI公司的一款容量为256K16的且引脚功能完全兼容的4MB的异步SRAM,可为CYCLONEII提供极大的外围存储空间,也能满足视频图像的存储大容量需求。该款芯片的特点工作电压33伏;访问时间10NS、12NS;芯片容量256K16;封装形式44引脚TSOPII封装,也有48引脚MBGA和44引脚SOJ封装;采用018M技术制造。引脚功能A0A17是18位的地址输入线;IO0IO15是16位的三态数据输入输出线;WE写控制线;CE片选信号;OE输出使能信号;LB、HB低字节、高字节使能
9、信号。武汉理工大学毕业设计(论文)164系统各模块的设计现在根据上一章中的总体原理框图逐步来设计各模块的硬件电路图。41图像数据采集模块该模块主要负责由FPGA芯片控制图像视频芯片SAA7111,使其处理由CMOS摄像头采集到的模拟图像信号,本次设计使用的是CMOS黑白摄像头,故只考虑图像的亮度信号。SAA7111对模拟图像信号进行提取和转换,获得图像的8位数字信号,同时输出行、场参考信号、行、场同步信号、以及奇偶场标志信号,本次设计采集到的是灰度图像,无色度信号,所以数据线是8位,如图13所示。图13图像采集模块原理图这个模块的控制只须对SAA7111进行初始化,就可进行图像的数据的采样与传
10、输。初始化数据都存储在CYCLONEII的内部存储器RAM里,因为SAA7111支持I2C总线,故FPGA与SAA7111通过I2C总线传输方式,将初始化数据传到SAA7111的寄存器中,对其进行初始化操作后,SAA7111便开始进行图像的转换处理。此时,FPGA控制图像数据传输到随机存储器SRAM中储存。现利用I2C总线技术对SAA7111进行初始化操作。411SAA7111的初始化设置对SAA7111的初始化主要对模拟输入控制与输出控制进行配置。本设计对SAA7111的内部寄存器的具体设置如下VPO70SAA7111FPGAHREFCREFVREFVSHSRTS0RAMSCLSDACMOS
11、图像传感器模拟信号图像采集同步模块武汉理工大学毕业设计(论文)171模拟输入控制102H、203H、304H、405H寄存器02H的低三位用于设置SAA7111的模拟信号输入方式,共8种输入方式可供选择。第一种是输入一路视频信号,该信号经A/D采样后得到的数据同时再送入色度和亮度信号处理电路;本次系统较简单,对色度无要求,但也可采用这种模式,其它寄存器03H、04H、05H一起可用于控制输入信号的增益、振幅和噪声等,在此可直接采用其默认值,不对其进行设置。2输出格式/延时控制010H该寄存器中的最高两位OFTS1、OFTS0为输出格式选择位,用于决定四种输出格式,此次只需选择8位灰度值输出,故
12、可以选择第四种格式YUVCCIR6568BITS,则须对该高两位均设置为1,所以10H内的字为C0H。3输出控制111H将该寄存器的第三位置1时,VPO输出有效;将第二位置1时,HS和VS输出有效。则寄存器11H中的字为60H。除此以外,其它位的设置均可以采用默认设置。则寄存器的初始化值如下表所示表1SAA7111初始化各寄存器值SUBADDRESSDATASUBADDRESSDATASUBADDRESSDATA00H01H00H07HE0H0DH00H02H00H08H88H0EH01H03H33H09H01H0FH00H04H00H0AH80H10HC0H05H00H0BH47H11H60
13、H06HEBH0CH40H12H1CH这样,系统的入口参数可定义为SAA7111的从地址为48H,子地址为00H,随后是SAA7111各寄存器应该设置的19个数据,共21个字节的数据,相应地在代码中可以定义寄存器存储上述数值,然后通过I2C总线将数据输出到SAA7111的内部寄存器中,供其初始化。武汉理工大学毕业设计(论文)18412VERILOGHDL实现I2C总线I2C总线是一种由SDA串行数据线和SCL串行时钟线组成的串行总线,它利用这两根总线在主控制单元与被控IC之间进行双向数据传送,各种被控电路均并联在这条总线上。当总线备用时,两根线都是高电平,只有当总线关闭时,SCL才转变为低电平
14、。在标准模式下,I2C总线的数据传输速度可达100KBIT/S,在高速模式下则可达400KBIT/S。由于在I2C总线上每传输一位数据都有1个时钟脉冲相对应,所以,I2C总线的时钟周期一般在25S10S之间。I2C总线为同步传输总线,其中与数据传输有关的信号有开始信号、停止信号、应答信号和位传输等4种类型。开始信号是在SCL为高电平期间,SDA出现由高电平向低电平的变化,由此启动I2C总线,如图14所示。停止信号是在SCL为高电平期间,SDA出现由低电平向高电平的变化,它意味着即将停止I2C总线的数据传输,如图15所示。应答信号是指接收数据的IC在接收到发送方发送的8BIT数据后,应向发送数据
15、的IC发出特定的低电平脉冲,表示已经完成本次数据的接收。数据位传输是在I2C总线启动后或应答信号后的第18个时钟脉冲对应于1个字节的8个BIT位的数据传输。SCL在高电平期间,数据串行传输;SCL在低电平期间,容许SDA上的电平发生转换,为数据发送做准备。这些信号中,起始信号和数据传输是必需的,结束信号和应答信号,都可以不要。图14I2C总线开始信号CLKSCLSDA武汉理工大学毕业设计(论文)19图15I2C总线结束信号现需要FPGA控制模块来实现对SAA7111的I2C总线控制,用VERILOGHDL实现I2C总线程序见附录。在QUARTUSII平台上进行波形仿真如下。图16I2C总线QU
16、ARTUSII波形仿真42图像数据存储模块当FPGA图像采集控制模块获取到图像数据后须将图像数据存储起来,因此给系统配置两片外部存储器SRAM,来存储这些数据。图像存储模块的原理图设计如图17所示。图像数据最终需要送到后端的计算机系统或监视系统中,但前后的数据传输速率不同要求其间必须有缓存配置。本系统在外围设置了一块静态随即存储器SRAM。数据的存储模式为,在FPGA控制下,按照该SRAM的存储时序要求产生相应的时序脉冲,分别控制SRAM的片选信号、使能信号、读信号及写信号等,同时FPGA还要生成相应的存储地址,控制数据流在SRAM中的存储点。CLKSCLSDA武汉理工大学毕业设计(论文)20
17、图17SRAM与FPGA的接口电路控制逻辑由FPGA来实现。主要包括读地址产生器、写地址产生器、读写时钟信号产生器及读写控制等几部分。写地址产生器由于设计时采用256K16的SRAM,故有18位地址,写地址产生器用18位计数器实现。靠外部时钟驱动,每进行一次写操作后,读写控制单元产生计数脉冲,使其增1,直到18位计数器计满再循环写入地址为0的空间。读地址产生器同上,也采用18位计数器实现,根据系统要求,每隔一定的采样周期将读地址指针偏移一定偏移量,并从该位置读取数据。读写地址选择器由于读写地址复用管脚,因此在读写操作时,必须选通相应的地址。这就需要由FPGA控制芯片上的等控制信号来对SRAM进
18、行读写的操作。此外,由于读写之间的切换,数据线上的数据在切换瞬间如不加处理会出现混乱现象。因此,为避免读、写操作发生冲突,数据线呈三种状态,读数据、写数据及高阻态。在从写到读的过程中需给数据线上送高阻态。当需要对SRAM进行写操作时,由FPGA控制产生写地址选通信号,该选通信号为一单脉冲形式,如图四中该脉冲下降沿触发SRAM,告知开始对RAM进行写操作,使FPGA输出写地址,同时给数据线上送数据。在写操作期间,片选信号始终保持低电平,而写地址选通信号上升沿到来时使写地址计数器增1。以此类推,通过写地址选通信号高低电平变化完成对数据依次写入。需要注意的是,地址线和数据线在为高时可同时赋新值,但只
19、有在变低后赋予数据线上的新值才有效。其中片选信号、使能信号、读写信号的产生主要根据前段的SAA7111解码器输出的行场同步信号、行场参考信号及时钟同步信号等在FPGA芯片内部进行一些列的逻辑组合而产生,在此不再对模块化过程进行细述。DATA150SRAMIS61LV25616ALADDR170SRAM_WESRAM_OESRAM_CEFPGASRAM_RD武汉理工大学毕业设计(论文)215结论本文对图像数据传输控制系统进行了深入探讨,重点设计出了图像数据传输系统的采集部分和存储部分,详细的分析了各个模块的工作流程和原理,说明了各个分块和总体方案的可行性。全文着重于硬件方面的原理设计,对部分模块
20、给出了相应的软件程序(见附录),通过搭建的硬件平台只需再在FPGA内部模块化上做具体配置就可以实现对图像数据的传输控制,使图像传感器采集模拟的图像信号,然后控制图像数据传输到编码器(A/D),FPGA将数据存储到外部的随机存储器SRAM中供后续处理使用,后续处理包括图像处理、显示等,不在本文的探讨范围内,故不做进一步研究。FPGA作为两个主要模块的核心控制器件,对其编程实现模块化是十分必要的,我对其进行了一番研究,实现了A/D器件SAA71111的初始化编程,利用VERILOGHDL是实现I2C总线传输对SAA7111的内部寄存器进行初始化赋值,使其可以正常工作。本次毕业设计中我对基于FPGA
21、的系统设计知识有了深入的了解,这填补了沃大学期间对一项知识空白。自己掌握了一些相关的软硬件开发技巧,同时对图像的获取和转换知识有了基本的认识,对与之相关的硬件器件的性能和特点也有所了解,对今后的工作必定有极大地帮助。武汉理工大学毕业设计(论文)22参考文献1任贵伟,张海基于ARM的紧凑型图像采集系统J单片机与嵌入式系统应用,2007,020112陈国柱,刘涛,李元宗基于FPGA的图像采集与存储系统的设计J机械工程与自动化,2007,444463汤武当,黎福海基于FPGA的双通道CMOS图像采集系统设计J传感器与微系统,2010,111201224MARKKREIZER,DAVIDRATNER,
22、ALEXLIBERZONREALTIMEIMAGEPROCESSINGFORPARTICLETRACKINGVELOCIMETRYJEXPERIMENTSINFLUIDS,2010,4811051105JINGHONGDUANDEVELOPMENTOFIMAGEPROCESSINGSYSTEMBASEDONDSPANDFPGAJELECTRONICMEASUREMENTANDINSTRUMENTS,AUG16,2007JULY1820076洪冠,赵茂程基于PLC的肉碎骨图像采集控制系统设计J食品与机械,2011,0174777任贵伟,张海基于ARM的紧凑型图像采集系统J单片机与嵌入式系统应用,
23、2007,020118祝长锋,肖铁军基于FPGA的视频图像采集系统的设计J计算机工程与设计,2008,170069赵雅兴FPGA原理、设计与应用M天津天津大学出版社,200210朱明程,董尔令可编程逻辑器件原理及应用M陕西西安电子科技大学出版社,200411蒋璇数字系统设计与PLD应用技术M北京电子工业出版社,200112刘笃仁,杨万海系统可编程技术及其器件原理与应用M西安西安电子科技大学出版社,199913王彦基于FPGA的工程设计与应用M陕西西安电子科技大学出版社,200714BOBZEIDMAN著,赵宏图译基于FPGA/设置SDA三态输出使能ASSIGNSEND_BYTE_OVERTEM
24、PSEND_BYTE_OVERASSIGNNO_ACKTEMPNO_ACKASSIGNSDAOTEMPSDAASSIGNSCLOTEMPSCLALWAYSPOSEDGESEND_BYTE_CLKBEGINCASESEND_BYTE_ZTSENDBIT1BEGINIFSEND_BYTE_NUM0BEGINSHIFTDATA70INDATA70ENDSHIFTDATASHIFTDATA2BEGINSEND_BYTE_ZTSENDBIT2DELAY_COUNTER0ENDELSEBEGINDELAY_COUNTERDELAY_COUNTER1SEND_BYTE_ZTSEND_BYTE_ZTENDEN
25、DSENDBIT2BEGINTEMPSC10/SCL置零SEND_BYTE_ZTDELAY_2ENDDELAY_2/延时三个周期BEGINIFDELAY_COUNTER2BEGINSEND_BYTE_ZTSENDBIT3DELAY_COUNTER0ENDELSE武汉理工大学毕业设计(论文)24BEGINDELAY_COUNTERDELAY_COUNTER1SEND_BYTE_ZTSEND_BYTE_ZTENDENDSENDBIT3/判断是否字节中所有位都发送完毕BEGINIFSEND_BYTE_NUM3BEGINSEND_BYTE_ZTFORACK2DELAY_COUNTER0ENDELSEB
26、EGINDELAY_COUNTERDELAY_COUNTER1SEND_BYTE_ZTSEND_BYTE_ZTTEMPSCL1ENDENDFORACK2BEGINSEND_BYTE_ZTACKYESNOTEMPEN_SDAO0/输出SDA使能信号,控制SDAO和SDAIENDACKYESNOBEGINIFSDAI/如果应答信号SDAI为1,NO_ACK置1BEGINTEMPNO_ACK1/设置未应答标志信号ENDTEMPSC10/终止应答位SEND_BYTE_ZTFINISH_DELAYEND武汉理工大学毕业设计(论文)25FINISH_DELAY/延时BEGINIFDELAY_COUNTER
27、2BEGINTEMPSEND_BYTE_OVER1SEND_BYTE_ZTFINISHACK1DELAY_COUNTER0ENDELSEBEGINDELAY_COUNTERDELAY_COUNTER1;SEND_BYTE_ZTSEND_BYTE_ZTENDENDFINISHACK1BEGINSEND_BYTE_ZTSENDBIT1SEND_BYTE_NUM0ENDDEFAULTBEGINSEND_BYTE_ZTSENDBIT1SEND_BYTE_NUM0ENDENDCASEEND武汉理工大学毕业设计(论文)26致谢经过近半年的学习和研究,我的毕业论文即将完成,我的学生生涯也要告一段落了。借此机会,我要对四年来帮助过我的人表示深深的感谢。首先要感谢XX老师耐心的耐心指导和教育,感谢他对我的各项工作的监督和提醒。还要感谢本学院的各位研究生学长提供的各方面的知识帮助。对我身边平时帮助过我的各位同学也表示诚挚的谢意XX年月日