本科毕业设计论文——基于FPGA的图像采集模块设计.pdf_第1页
本科毕业设计论文——基于FPGA的图像采集模块设计.pdf_第2页
免费预览已结束,剩余46页可下载查看

下载本文档

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

文档简介

本科毕业设计论文本科毕业设计论文 i 目目 录录 第一章第一章绪论绪论1 1.1 图像采集系统的应用. 1 1.2 国内外研究现状. 2 1.3 图像处理的实时化和高速化. 3 1.4 本论文的主要工作. 5 第二章第二章 系统设计方案系统设计方案6 2.1 可编程逻辑器件概述. 6 2.2 现有视频图像处理系统方案分析比较. 7 2.2.1 方案一:cpld/fpga+usb/pci/isa+pc.7 2.2.2 方案二:cpld/fpga+dsp+usb/pci/isa.8 2.3 本文采用的系统设计方案. 10 2.3.1 系统整体结构.10 2.3.2 系统工作原理.11 2.3.3 系统主要器件选型.12 2.3.4 系统难点分析.12 第三章第三章 fpgafpga 视频信号采集视频信号采集.13 3.1 视频信号采集流程. 13 3.2saa7113 寄存器配置. 13 3.2.1 saa7113 简介14 3.2.2 2 i c协议简介15 3.2.3 saa7113 初始化配置17 3.2.4 fpga 配置实现18 3.3 saa7113 仿真模型设计. 20 3.3.1 yuv 视频流协议分析20 3.3.2 模块设计22 3.4 saa7113 同步信号生成模块设计. 22 3.5 采集控制模块设计. 23 3.5.1 模块实现23 3.5.2 跨时钟域处理24 3.6sdram 整页突发读写控制器设计. 25 3.6.1sdram 结构及工作原理25 3.6.2 设计实现.27 3.7sdr_sdram 控制器 ip 核介绍. 29 第四章第四章 usb2.0usb2.0 视频图像传输视频图像传输34 4.1 fpga slavefifo 控制器设计.34 本科毕业设计论文本科毕业设计论文 ii 4.1.1 模块结构36 4.1.2fifo 写控制器状态机37 4.2fx2 固件程序设计. 37 4.3 驱动程序设计 39 4.4 pc 机应用程序设计. 40 参考文献参考文献43 致谢致谢45 毕业设计小结毕业设计小结46 本科毕业设计论文本科毕业设计论文 1 第一章绪论 1.1 图像采集系统的应用 随着计算机技术的发展,电子产品不断地更新换代,高速、高效、高可靠性 的产品成为研究必然。 在视频图像处理技术领域,传统的脱机图像处理系统己经 满足不了市场的需求, 在这种趋势下,大规模集成电路或专用芯片处理系统发展 壮大。目前市场上,dsp 芯片不论集成度还是运算速度都有了大幅度提升,市场 价格也大幅降低,种种因素使得 dsp 芯片成为图像处理系统的主流趋势,而图 像采集处理系统也在这种情况下飞速发展。 实现图像处理技术的应用是多方面的,可以说,凡是在图像处理技术应用的 地方都可以应用实时图像处理技术, 原因在于实时图像处理技术可以提高图像处 理的速度。但是,这要付出一定的代价,这种代价包括设备上和开发上的代价。 在可用、不可用的地方,代价问题会成为考虑的重点,而在必须应用的地方, 考 虑的重点则是实时图像处理系统的性能及可行性。 从应用图像处理技术的紧迫性 来看,其应用领域主要集中在消费类产品、军事、工业自动化以及公安的形式侦 察上,在这些领域强有力的推动下,实时图像处理技术得到了迅速的发展。对图 像处理系统和并行图像处理技术最前沿技术得跟踪和掌握, 及针对图像处理系统 的走势,无疑高速率、高质量的实时图像显示画面将代表着未来十几年,甚至几 十年的图像处理系统的发展方向 。1 图像并行处理技术是图像处理中的一个重要方面, 是提高图像处理速度的最 有效技术,其发展水平一直受到图像界的关注,原因在于:一方面,图像并行处 理技术的发展难度很大, 这种难度不仅在于图像并行处理系统的硬件及系统结构 本身, 以及它对计算机技术和集成电路等技术的依赖关系,而且在于实际应用的 复杂性和应用部门对系统价格的承受能力;另一方面,图像并行处理技术的发展 所产生的效益也是十分显著的,它在处理速度上所获得的加速比是令人振奋的, 其实际应用系统也将产生很大的经济效益和社会效益。 数字计算机对于图像处理技术有着划时代的意义,在数字化信息时代,传统 的模拟存储处理方式正在被数字化方式取代。 图像采集以及处理技术也逐渐向数 字化方向转变。 随着微电子技术的发展,超大规模集成电路被运用于电子设计的 各个领域,数字图像处理技术也有了突破性的进步。在现代多媒体技术中,实时 图像采集占有极其重要的地位。 如今, 图像采集系统大多采用实时图像采集技术。 本科毕业设计论文本科毕业设计论文 2 实时图像采集系统己经被广泛的应用于手机、pda、可视电话、工业控制、机器 视觉、 实时监控等领域。 近十年来, 现场可编程门阵列 fpga(field programmable gatearray)的飞速发展为实时图像采集设计提供了新的方向与思路。2 1.2 国内外研究现状 视频图像经过数字化后其数据量相当的庞大, 传统的图像采集处理系统已经 不能满足如此高速数据的处理要求。目前,嵌入式系统已经成为实时图像采集系 统的热门话题。嵌入式系统功能与可靠性强、软硬件结合、体积小、功耗小、 成 本低,为图像采集系统的发展提供了一种新的解决方案。特别是以 dsp、fpga 为核心处理器的图像采集研究方法,已经成为实时图像采集领域的趋势。相比较 国内,发达国家在图像采集处理系统研究领域发展较快,其产品性能好、耐用、 可靠性强、 使用范围广, 但价格比较昂贵。 国内产品价格较低、 但不论在可靠性、 制造工艺及精度上都有所欠缺。 因此,如何改进现有图像采集处理技术具有相当 的积极意义。3 在九十年代前, 主要是以模拟设备为主的图像信息处理系统,称为第一代模 拟图像处理系统。 但由于工业应用中视频监控等系统中信息流的形式以模拟视频 信号为主,其系统的网络结构主要是一种单功能、单向、集总方式的信息采集网 络, 介质专用的特点, 因此系统尽管己经发展到很高的水平, 却无多少潜力可挖, 其固有局限性存在,难以满足更高的要求,数字化是必由之路5。九十年代中 期, 计算机技术和视频技术飞速发展,人们利用计算的的高速数据处理能力进行 视频的采集和处理, 利用显示器的高分辨率实现图像的多画面显示,大大提高了 图像质量,这种基于 pc 机的多媒体主控台系统称为数字化视频图像处理系统。 基于pc的视频图像处理系统的组成结构为:兼容+工控pc机+视频采集卡十普通 胶可靠的操作平台+应用软件。这种系统处理方式对视频图像进行了数字化,充 分利用计算机的快速处理能力,对视频图像进行压缩、分析、存储和显示。 九十年代末,随着网络带宽、计算机处理能力和储存容量的进一步提高, 以 及各种视频图像处理技术的出现,图像采集处理进入全数字化时代。大规模集成 电路或专用芯片取代计算机的脱机图像处理系统。随着 dsp 芯片集成度和运算 速度的大幅提高及价格的大幅降低, dsp 芯片成为脱机图像采集系统的主流处理 器。美国 ti 公司的 dsp 及其图像处理平台在世界市场上处于主导和领先地位。 国内的 dsp 技术起步较晚,但发展较快,90 年代末就有比较成熟的产品出现。 典型产品有 wt62oip/ra、 wt670lp/pa 图像处理系统和 wt32ea 通用图像处理 系统。在专用图像处理系统方面,西南物理研究所开发的机遇 dsp 的视频跟踪 警戒装置和中科院沈阳自动化研究所开发的基于 dsp 的视频跟踪装置,都取得 了很好的效果。台湾凌阳公司的图像识别芯片 spca563,用于智能交互式玩具 中,能识别颜色、形状和障碍物。4 本科毕业设计论文本科毕业设计论文 3 现代大容量高速度的 fpga 以及相应可编程片上系统 sopc 技术的出现, 为 图像采集和处理系统提供了一种新的解决方案。目前,在图像方面已经有很多成 熟的 ip core,如 2d 滤波器、2d 快速傅里叶变换、颜色空间转换、jpeg 图像编 码器等。 利用 fpga 来实现“dsp系统己经十分普遍, 应用在诸如实时图像处理、 联合战术无线通信等。 使用 altera 公司 fpga 内嵌 sopc 构架完成图像的采集、处理及显示功能, 目前在国内还处于初级阶段,这种系统 sopc 软核构架具有一定的风险性。但 altera的技术支持可以使用fpga内部的硬件资源和内部正进行外部设备的驱动 开发等,这样大大减少硬件设计的复杂性。而且,fpga 实现数字信号处理最显 著的特点就是高速性能好, 以软件方式控制操作和运算的系统速度显然无法与纯 硬件系统相比,因为软件是通过顺序执行的方式来完成控制和运算步骤的,而 hdl 语言描述的系统是以并行方式工作的。目前,国内外对基于 fpga 这种“虚 拟 soc,的需求呈上升趋势。 在 fpga 中,一般内嵌可配置的 ram、lvds、pll 及硬件乘法累加器等 模块。用 fpga 来处理数字信号可以很好的解决数据量大、处理速度不匹配、 可 靠性低及精度小等问题, 并能很好协调并行性与顺序性的矛盾。 因 fpga 灵活的 可配置特性,使其构成的 dsp 系统易于测试与修改。如今,利用 fpga 来实现 dsp 系统己经发展普遍,以 fpga 为代表的数字系统处理技术也有了新的发展, 主要有: 高效性:各大现场可编程逻辑器件厂商在不断地补充其知识产权(ip)核心 库。 设计人员可以直接利用这些经过测试和优化、可保证正确性的现成的资源来 完成复杂的片上系统设计,提高设计的准确性及高效性。 密度及功耗小: 便携式产品的发展, 使得产品对现场可编程器件的高密度、 低功耗要求逐步提升。芯片正朝着高密度、低功耗方向发展。 实现片上系统:深亚微米技术的发展使得片上系统 sopc 的实现成为可 能。5 1.3 图像处理的实时化和高速化 图像处理是计算机应用领域中一个极为活跃的领域,它的发展己有 40 余年 的历史,在此期间,随着计算机、集成电路等技术的飞速发展,图像处理无论在 算法上、系统结构上,还是在应用上以及普及的程度上都取得了长足的进展。 但 是图像处理依然面临着许多挑战性的问题, 其中最主要的问题就是如何提高解决 实际复杂问题的综合能力, 就当前的技术水平来说,这种综合能力包括图像处理 的网络化、复杂问题的求解与图像处理速度的实时化和高速化。 图像处理的速度问题主要由图像数据的特点、 图像处理算法的复杂性以及处 理系统硬件结构和速度引起。 为提高图像处理系统速度,一方面可以改变图像数 本科毕业设计论文本科毕业设计论文 4 据特点, 但这种方法通常是不可取的,因为处理系统往往需要充分利用图像数据 中的信息;其次是选用高速处理器件,并尽量减化图像处理算法;再者可以采用 并行处理技术, 这种技术选用多个高速处理器件来完成同一任务,使得处理速度 得到成倍提高。 图像并行处理技术是图像处理中的一个重要方面,是提高图像处 理速度的最有效技术,其发展水平一直受到图像界的关注。原因在于:一方面, 图像并行处理技术的发展难度很大, 这种难度不仅在于图像处理系统的硬件及系 统结构本身, 以及它对计算机技术和集成电路等技术的依赖关系,而且在于实际 应用的复杂性和应用部门对系统价格的承受能力;另一方面,图像并行处理技术 的发展所产生的效益也是十分显著的, 它在处理速度上所获得的加速比是令人振 奋的,其实际应用系统也将产生很大的经济效益和社会效益。 此前, 国内外一些科研院所已研制出了一些图像并行处理系统,如天津大学 研制的双 tm532oc40 的高速图像处理系统。 该系统的结构如图 1-1 所示:处理系 统采用两个帧存储器, 它们轮流对视频信号进行存储,其中每个帧存储器又分为 前半帧和后半帧。当前半帧结束时,处于空闲状态的 tms32oc40 开始对前半帧 图像数据进行处理,并将处理结果送入数据存储器。当它的工作完成后,它又处 于等待状态,等待下一帧的前半帧图像数据的来临。当后半帧结束时,另一片 tms32oc4o 开始对后半帧图像数据进行处理,并将处理结果送入数据存储器。 它的工作完成后, 就等待下一帧的后半帧图像数据的来临。 从整个系统设计来看, 它是采用多片处理器分担相同任务的方法来达到提高系统处理速度的目的。6 图 1-1 基于 tms320c40 的图像并行处理系统 1 2 帧 存 a 1 2 帧 存 b tms320c40 tms320c40 程序存储器 数据存储器 微 机 接 口 微 机 程序存储器 数据存储器 本科毕业设计论文本科毕业设计论文 5 1.4 本论文的主要工作 本论文主要目的在于设计一种基于 fpga 和 usb2.0 的视频图像采集及处理 平台,在此平台上可以验证各种图像处理或视频压缩算法,并通过 usb2.0 实现 视频图像的 pc 机采集及处理后数据传输。另外,整个平台还需兼顾处理的实时 化和高速化,以满足不同领域视频图像预处理要求。整个系统可分为四个部 分:fpga 视频信号采集、视频图像处理算法 fpga 实现、usb2.0 视频信号传输 和视频图像显示部分。 其中视频图像处理算法 fpga 实现部分可由用户根据自己 的具体需求来实现, 本论文的设计重心在于提供一个基于 fpga 的视频图像处理 算法验证平台,不涉及具体算法的实现过程。 本科毕业设计论文本科毕业设计论文 6 第二章 系统设计方案 2.1 可编程逻辑器件概述 可编程逻辑器件(pld)发展至今,市场上己经出现多种类型的技术产品, 其主要分类如图 2-1 所示: 图 2-1 可编程逻辑器件分类图 可编程阵列逻辑 pal(programmable array logic)是由美国 mmi 公司于 20 世 纪 70 年代后期推出的一款电子器件,它可以算作最早的可编程器件之一,随后 便出现了通用阵列逻辑 gal(generic array logic)和 cpld(complex programmable logic device)。其中,pal 和 gal 属于早期的 pld。这些早期的可编程逻辑器件 只具有可编程只读存储器(prom)、 紫外线可擦除只读存储器(ultraviolet eprom) 和电可擦除只读存贮器(eeprom)这三种类型。其规模小,只能实现简单的逻辑 功能。其后,一类结构较复杂的可编程逻辑器件 cpld 出现了,与 gal 和pal 不同,cpld 含有丰富的逻辑资源,能够完成大规模的逻辑电路设计。7 典型的 pld 是由一个“与门”和一个“或门”来组成的,任意的组合逻辑都可 以由这“与一或”表达关系式来实现。 可编程阵列逻辑 pal 就由“与一或”这两个有 连接关系的可编程平面构成。 gal 是在pal 的基础上发展起来的, 如 gal16vs、 gal22v10 等等, 它主要采用 eeprom 工艺, 其输出可编程的逻辑宏单元, gal 的设计带有较强的灵活性。pal 和 gal 可以实现速度特性较好的逻辑功能,但 由于其固有的简单结构决定了它们只能实现小规模逻辑电路。cpld(complex 简单 pld复杂 pld prompla fpgacpld palgal 可编程逻辑器件 (pld) 本科毕业设计论文本科毕业设计论文 7 programmable logic device)和 fpga(field programmable gate array)就是在这个 基础上发展起来的,它们具有结构灵活、集成度高和适用范围广等特点。与其他 的专用集成芯片相比,cpld 和 fpga 又有比较明显的优势,比如开发周期短、 制造成本低、 工具先进、 质量稳定、 产品无需测试及可实时在线检测等等。 因此, cpld 和 fpga 被广泛的应用于产品原型设计及小批量生产(一般用于 10,000 以下)。cpld 和 fpga 几乎适用所有应用门阵列和中小规模集成电路。8 2.2 现有视频图像处理系统方案分析比较 由于视频图像数据量巨大, 因此整个采集及处理平台的一个重要设计指标就 是高速实时,下面我们来分析一下系统高速实时的设计途径。 2.2.1 方案一:cpld/fpga+usb/pci/isa+pc 方案一主要是以 cpld/fpga 作为采样控制器, 控制视频解码芯片输出的数 字视频信号存入帧缓冲存储器的速度和数量,通过 usb/pci/isa 的通讯方式将 数字视频信号上传到上位机 pc 端,pc 机作为图像处理终端对上传的数字图像 数据进行软件运算处理,结果保存在 pc 机上。其结构图如图 2-2 所示: 数据线 地址线 中断 状态信号 状态信号奇场读 偶场读 数据线开始采集 读选通 控制信号数据线 地址线 图 2-2 cpld+usb/pci/isa+pc 方案 这里以 usb 为例介绍方案一,其基本原理与基于 pci 和 isa 通讯方式的图 像处理是一致的。 器件选型: 视频解码处理芯片可以选择philips 公司的 saa7llx 系列产品; samsung cpld/fpga 视频解码 saa711x usb 控制 芯片 pc 机端 usb 驱动 程序开发 及图像还 原和处理 ccd sram(odd) sram(even) 本科毕业设计论文本科毕业设计论文 8 公司的 ks0127(s5d0127x01)系列产品;itt 公司的 vpc32llb 系列产品。这里 选用philips公司的saa71lx系列, 如saa7113h或saa7111a; cpld选用lattice 公司的 ispmach4000v;usb 控制芯片选用 cypress 公司推出的带有 usb 接口 的 ez-usb 系列处理器。 工作原理: 当接上板卡后,pc 机可自动将板卡的驱动程序装入操作系统,同时 pc 机 通过 usb 总线下载 8051 程序代码和设备特征到 usb 的 ram 中。然后再通过 2 i c 总线控制信号对 saa7llx 寄存器进行配置, 当完成所有的初始化工作后, pc 机端应用程序通过 usb 向 fpga/cpld 发送图像采集命令,ccd 摄像头输出的 pal 制式或 ntsc 制式的模拟视频信号通过 a/d 转换芯片(saa71lx)转换成数字 视频信号,用 fpga/cpld 作为采样控制器,输入进 fpga/cpld 芯片, fpga/cpld根据状态信号(rtso)把奇偶场标志信号分别存储在sram(odd)和 sram(even)中。当完成一帧图像采集后,fpga/cpld 向 usb 发送中断信号, 要求 usb 进行图像数据的传输。在 pc 机端,用 visual c+6.0 编写客户应用程 序和图像处理程序,应用程序通过 usb 接收原始的奇数场和偶数场图像数据, 待接收完奇数场和偶数场图像数据后,应用程序把它们组成完整的一帧图像, 然 后图像处理程序对完整的一帧图像进行处理, 处理完后把该帧图像数据存储到硬 盘上,并转化成 bmp 格式的图像,以 bmp 格式再次在硬盘上存储图像数据, 同时以 bmp 的形式显示图像。当 pc 机端接收并处理完一帧图像数据后,又通 过开始采集信号数据线通知 cpld/fpga 开始采集数据。 优点: 以 usb 总线为通讯方式,即插即用,使用方便; 使用 saa7llx 系列解码芯片和 cpld/fpga 可编程逻辑芯片, 取代了以往 使用分立元件,极大地提高了系统的稳定性和集成度; 缺点: 整个板卡部分只是完成了数据的采集部分,并没有对图像数据进行预处 理,加重了 pc 的负担,限制了整个系统的处理速度; 当板卡采集完一帧图像后,以中断的方式通知 usb 进行数据的传送。在 usb 传送数据期间停止了外围图像数据的采集,不能满足实时图像处理的要求。 9 2.2.2 方案二:cpld/fpga+dsp+usb/pci/isa 与方案一相比, 方案二最大的不同就是:方案二加入了前端 dsp 处理芯片, 实现了前端图像预处理; 数据存储部分也不同于方案一,方案一是将奇偶场图 像数据分别存储在两个不同的 sram 中,pc 机端还需将它们组成完整的一帧图 像数据;方案二引入了两个单口 sram,cpld/fpga 直接将隔行图像转化成逐 本科毕业设计论文本科毕业设计论文 9 行图像存入其中一个帧存 a 中,同时 dsp 读取并处理帧存 b 中的图像数据,在 帧存 a 存满一帧图像数据时,dsp 也处理完帧 b 中的图像数据了,这时由 cpld/fpga 构造的乒乓开关转换两个接口, saa7113h 输出的数据存入帧 b 中, 而 dsp 开始处理帧 a 中的数据,这样两帧轮换实现了采集与处理的并行操作。 采集部分类似方案一, 用 saa7113h 作为视频解码芯片, 用 cpld/fpga 作为采 集控制芯片,其结构框图如图 2-3 所示: d17:0帧存控制器d27:0 a118:0wrrdy1a218:0a2aaa2aa rdy2 iiciicrd cpld 图 2-3 cpld/fpga+dsp+usb/pci/isa 方案 器件选型: 视频解码芯片直接选用 philips 公司的 saa7113h,视频采集控制器选用的 是 altera 公司的 epm9320rc209,前端 dsp 处理器选用的是 dsptms320c3。 帧存储器的选用要根据需采集图像的像素数来确定。一般在图像处理系统中, 通 常只需采集到图像中间的 512512 个像素, 边缘像素可以忽略掉。 即在行有效时, 取中间的 512 个像素的数据, 在奇、偶场图像分别取中间的 256 行像素数据作为 场 图像 。使用 512k8bit 的高速静态存储器 (sram),恰好可存 放一 帧 51251228bit 的彩色图像。这里选用高速 sramcy7c1049v33,其容量为 512k8bit。 工作原理: 系统上电后, 在 dsp 接到采集图像的指令后, 通过 2 i c总线设置 saa7113h 内部寄存器进入正常工作状态。接口所有的控制逻辑都在一块 cpld 内部实现。 saa7113h vpo7: 0 iic rts0 rts1 scl sda tms320c32 d7:0 a218:0 fx0 /r w clkr0 dx0 帧存 a rdwe a18:0d7:0 帧存 b rdwe d7:0a18:0 a118:0wrrdy1 视频采集控制器 本科毕业设计论文本科毕业设计论文 10 视频采集控制器根据 saa7113h 的同步信号 llc,rtso,rtsl 在内部产生对 帧存储器的地址信号 a18:0、写信号wr以及帧切换信号之一 rdy1。视频采集 控制器产生的地址信号、写信号和 saa7113h 的 vpo 数据接口构成了帧存写通 道的入口;dsp 送来的地址线、数据线、读信号构成了帧存读通道的出口,两者 交替在帧存控制器的控制下分别与帧存 a 帧存 b 连接。帧存控制器根据切换信 号 rdy1、rdy2 与运算的结果进行接口转换。当一帧图像存入帧存储器时,帧 切换的两个必要条件之一 rdy1 置为高电位(逻辑真), rdy2 是 dsp 处理完一帧 图像后置为高电位,当两者同时为真时,切换两通道的连接,开始新的一个图像 采集处理过程,同时 rdy1、rdy2 复位,为下一次切换作准备。 优点: 引入 dsp 对图像进行了预处理,为后续图像处理的高速化创造了条件, 减轻了 pc 机的负担; 利用双单口 sram 交替切换存储数据,实现了图像输入与处理的并行操 作,满足了实时图像处理的要求;同时避免了使用 fifo 存储器或双口 ram 实 现并行操作带来的高价格因素; 缺点: 分立结构的 cpld/fpga+dsp,由于 i/o 引脚的限制会产生总线瓶颈, 同 时也影响到系统的稳定性和集成度。10 2.3 本文采用的系统设计方案 一个完整的视频图像采集及处理平台不但要具备图像信号的采集功能, 能对 图像进行实时显示,且要求完成对图像信号的分析,处理算法(如图像压缩、识 别等)以及图像处理结果的反馈控制。通常这些算法的运算量大,同时又要满足 实时处理、显示的要求,因此本文在分析比较现有图像处理系统方案的基础上, 确定采用一种较新的解决方案, 它继承了前几种方案的优点,同时又弥补了上述 几种方案的不足。 2.3.1 系统整体结构 系统整体结构的原理图如图 2-4 所示: 本科毕业设计论文本科毕业设计论文 11 视 频 采 集 卡 i i c命 令 模 块 c c d i i c命 令 模 块 p c s a a7113 i i c控 制 器 s a a7113 i i c控 制 器 数 据 采 集 控 制 同 步 信 号/数 据 u s b控 制 器 双 口r a m(2k_8bit to 5 1 2_3 2bit) 5 1 25 1 2亮度信号提取 视频处理核心模 块 总 线 切 换 模 块 双 口r a m (512_3 2bit) sd ra m 命 令 控 制 模 块 sd ra m 控 制 器 a sra m 读 写 控 制 模 块 y u v_t o_ r g b v g a同 步 信 号 生 成 p l l sd ra m(2m_3 2 bit) a sra m(256k_ 1 6b it2) a d v 7125 c r t 图 2-4 本论文确定的设计方案 本课题采用 xilinx 公司的 virtex 5 系列 fpga 为核心处理器件, 完成图像的 预处理,并在它内部构件采样控制器,控制整个系统图像信号的采集、存储及后 续 fpga 的数据交换,满足了图象处理高速实化的要求。同时,针对不同的应用 和不断出现的新处理算法, 利用 fpga 的在线编程功能可以使整个系统的功能得 以改进和扩展,因此它具有很好的通用性和可扩展性。 优点: 以 usb 总线为通讯方式,即插即用,使用方便; 使用 saa7113h 系列解码芯片和 cpld/fpga 可编程逻辑芯片, 取代了以 往使用分立元件,极大地提高了系统的稳定性和集成度; 系统适应性和灵活性强由于采用 fpga 可编程逻辑器件作为系统采集控 制单元,对于不同的视频图像信号,只要在 fpga 内对控制逻辑稍作修改,便可 实现信号采集。同时,也可根据系统的需要,控制所采图像的位置和所采图像的 大小,以适合不同场合的需要; 设计结构简单, 调试方便 fpga 的外围硬件电路简单, 因而在硬件设计中, 可以大大地减小硬件设计的复杂程度。 而 fpga 的时序逻辑调试可在软件上仿真 实现,因而大大降低硬件调试难度。11 2.3.2 系统工作原理 ccd 采集输出的是 pal 制式的模拟视频信号,帧频为 25 帧/秒,分辨率为 720576。经 saa7113a/d 转换成 ycrcb4:2:2 的数字视频信号,其输出视频流 本科毕业设计论文本科毕业设计论文 12 格式满足 itu-601 建议, 位宽为 8bit, 码流速率为 27mbps。 为了与 sdr-sdram 32bit/50mhz 的位宽/速率相匹配,引入一双端口 ram 来实现位宽与速率匹配。 通过隔行存入逐行输出, 将隔行扫描的视频信号转化成逐行信号,并通过一个总 线切换模块在 sdram 和 sram 之间轮流帧存。12采集到完整的一帧图像后分 两路分别进行处理,一路经色空间转换模块后将 ycrcb 格式的信号转换成 rgb 信号并利用 adv7125d/a 转换后显示在 vga 接口的显示器上; 另一路提供一个 算法接口,即图 2-4 中的视频处理核心模块,具体算法可由用户自己定义,本论 文 usb2.0 控制器传输的是未经处理的视频图像信号,在 pc 机端可以显示采集 到的视频图片。 2.3.3 系统主要器件选型 器件类型器件型号 pla 转 ycrcbph11ips saa7113h fpga 主板xilinx virtex 5 xc5vlx50t ffg1136c usb2.0 芯片片cpress cy7c68013 2.3.4 系统难点分析 整个系统的设计主要有以下几个难点: saa7113 芯片配置 saa7113 芯片的内部配置寄存器多达上百个,必须正确配置每一个寄存器 值才能使其正常工作,输出 ycrcb4:2:2 格式的数字视频数据。在实际配置过程 中,配置结果的调试验证也是一个难点。 sdr_sdram 帧存控制 sdr_sdram 采用整页突发读写模式来实现视频数据的帧存/帧取,其读写 时序比较复杂,不易实现,需要反复调试和验证。 usb2.0 数据传输 利用 usb2.0 来传输视频数据不是一件容易的事,其开发内容包括:fpga slave fifo 控制器设计、fx2 固件程序开发、usb2.0 驱动程序开发及上位机应 用程序开发,其中 fx2 固件程序和 usb2.0 驱动程序最具开发难度,它要求开发 者必须具备单片机、c/c+、vc 等专业知识。另外,整个 usb2.0 的采集系统软 硬件调试也是一个难点。 本科毕业设计论文本科毕业设计论文 13 第三章 fpga 视频信号采集 视频信号采集是本次设计的重心,它完成将 ccd 采集的模拟视频信一号 a/d 转换、 帧存控制、 隔行转逐行等操作后存入 sdram 芯片供显示部分调用本 章首先介绍整个采集的工作流程,然后对各个部分设计进行详细介绍。 3.1 视频信号采集流程 8bit32bit 27m 时钟域 50m 时钟域 图 3-1 采集流程框图 图 3-1 是整个采集的流程框图,其工作原理简述如下:ccd 输出的模拟视 频信号经 saa7113 解码后输出 yuv4:2:2 格式的数字视频信号:根据 yuv 格式 视频流中的同步头提取出行同步信号、场同步信号、帧同步信号及奇偶场标志信 号,这就是 saa7113 同步信号生成模块所完成的功能;由于视频采集域(左虚线 框)的时钟信号为 27mhz, 而 sdram 帧存域(右虚线框)的时钟信号采用 50mhz, 因此我们引入一双端口 ram 来完成跨时钟域信号的传递,同时也是为了匹配数 据位宽; 当双口 ram 快存满一帧数据(只要保证双口 ram 读写不会发生冲突即 可)时,向 sdram 突发读写控制器发出读双口 ram 信号,sdram 突发读写控 制器收到读请求信号后从双口ram中读出这一行视频数据送给sdram控制器 存入 sdram 芯片中。 上述过程只完成了一行数据的存储, 在这中间还必须经过 隔行转逐行处理并将完整的一帧图像存入 sdram 中。 3.2saa7113 寄存器配置 通常情况下,ccd 输出的是模拟视频信号,不能直接进入 fpga 芯片,必 须先对其视频解码,将行同步信号、场同步信号、奇偶场标志信号等各类信号从 复合的模拟视频信号(cvbs)中分离出来。这些信号都是进行数字图像采集所必 需的同步信号,有了它们才能确定采集的数据是哪一场、哪一行。本设计中采用 ccdsaa7113 saa7113 同步信号生成 帧存控制器 sdram 突发 读写控制模块 altera sdram 控制器 ip 核 双端口 sramsdram 芯片 本科毕业设计论文本科毕业设计论文 14 的是飞利浦公司生产的专用视频解码芯片 saa7113,下面先来简单认识一下 saa7113。 3.2.1 saa7113 简介 saa7113h 是一款功能强大且操作简单的 9 位 a/d 视频输入处理芯片,并 行 8 位输出,并且支持隔行扫描、多种数据输出格式的视频解码器。该芯片采用 cmos 工艺,通过工 2 i c总线配置芯片内部寄存器。它内部包含两路模拟处理通 道,能实现视频信号源选择、抗混叠滤波、a/d 转换、自动箝位、自动增益控制 (agc)、时钟发生(cgc)、多制式解码、亮度/对比度/饱和度控制(bcs)和多标准 vbi 数据解码等。14 主要功能特点 具有四路模拟输入通道,并可以进行内部模拟信号源选择,如 4-cvbs, 2-y/c 或者 lxy/c 和 2-cvbs; 对所选的 cvbs(或 y/c)通道可编程实现静态增益控制或者自动增益控 制,且有两个内置的模拟抗混叠滤波器; 两个 9 位 cmos 模数转换器,数字化的 cvbs 或 y/c 信号通过 2 i c总线 控制输出到 vpo 口; 可自动检测 5ohz 和 60hz 场频视频信号, 在 pal 和 ntsc 制式间自动切 换。可对下列制式的视频信号进行亮度和色度处理:pal,bghi,paln,联合 paln,palm,ntsc m,ntsc n,ntsc 4.43,ntsc-japan 和 secam; vpo 总线输出标准 itu656yuv4:2:2 格式的数字视频; 对不同制式标准只需要一个 24.576mhz 的晶振; 由外部控制器控制读写的 2 i c总线,最高速率可达 400kbit/s; 低功耗(0.5w),低电压(3.3v),小封装(qfp44)。 saa7113 主要由模拟信号处理及 a/d 转换模块、亮度信号处理模块、同步 信号分离模块、输出信号格式转换模块、 2 i c总线控制模块、及时钟生成模块和 边界扫描模块等组成。对于其信号引脚,ai11、ai12、ai21、ai22 为四路模拟 输入通道,ai1d、ai2d 为 y/c 视频信号输入通道。aout 为用于测试模拟输 入通道的测试输出通道,vp00vp07 为解码输出通道,这些通道的选择及格式 配置都是通过 2 i c来完成的。由同步分立电路输出的 rts0、rts1 是多功能输出 通道,其输出功能的定义是由内部配置寄存器的配置子决定的;rtc0 为实施控 制输出通道,包括系统时钟频率信息、场频、奇偶信号序列、解码状态等信息。 另外,sda 为 2 i c总线控制器的数据输入/出端,scl 为串行时钟输入端,llc 本科毕业设计论文本科毕业设计论文 15 为行锁定系统时钟频率输出信号,频率为 27mhz;xtali、xtal 为外部晶振连 接口。其它的分别为模拟和数字信号的电源和接地接口。15 saa7113 工作流程 系统上电后,通过 2 i c完成对芯片的配置 模拟信号处理模块对输入的视 频信号源进行自动选择、 自动箝位、 自动增益控制、 抗混叠滤波、 a/d 转换a/d 转换后分解成两路信号分别进入亮度信号处理电路和色度信号处理电路处理 后得到亮度分量 y 和色度分量 uv 分别进入输出格式转换器,按照用户配置的 信号输出格式输出另外一路亮度分量y进入同步分离电路分离出各种同步信 号。16 saa7113h 在上电后,芯片不是立即采集模拟视频信号进行 a/d 转换处理, 输出数字信号, 它必须由前端处理器通过 2 i c串行总线对其内部寄存器进行初始 化配置后,才能正常工作。当前端处理器提供了 2 i c总线接口时,scl、sda 信 号线可以直接与 saa7113h 的相应引脚相连。 如果前端处理器不具备 2 i c总线接 口,有两种解决方法:采用 2 i c串行总线控制器,将一般的并行总线与 2 i c串 行总线对接;利用前端处理器的 i/o 口线编程虚拟实现 2 i c总线接口,直接与 saa7113h 连接。考虑到成本、集成度等各种原因,本设计中采用后一种方法, 利用 fpga 的多功能口通过软件编程虚拟实现 2 i c 总线接口,直接控制 saa7113h 的寄存器配置。下面先简单介绍一下 2 i c总线协议。 3.2.2 2 i c协议简介 2 i c总线特点: 2 i c总线是 philips 公司推出的芯片间串行传输总线。 它以 1 根串行数据线 (sda)和 1 根串行时钟线(scl)实现了全双工的同步数据传输。 随着 2 i c总线研究 的深入,它已经广泛应用于视/音频领域、ic 卡行业和一些家电产品中,在智能 仪器、 仪表和工业测控领域也越来越多地得到应用 2 i c总线的广泛应用是同它卓 越的性能和简便的操作方法分不开的。 2 i c总线的特点主要表现在以下几个方 面: (1) 硬件结构上具有相同的硬件接口界面。 2 i c总线系统中, 任何一个 2 i c总 本科毕业设计论文本科毕业设计论文 16 线接口的外围器件,不论其功能差别有多大,都是通过串行数据线(sda)和串行 时钟线(scl)连接到 2 i c总线上。这一特点给用户在设计应用系统中带来了极大 的便利性。 用户不必理解每个 2 i c总线接口器件的功能如何, 只要将器件的 sda 和 scl 引脚连到 2 i c总线上,然后对该器件模块进行独立的电路设计,从而简 化了系统设计的复杂性,提高了系统抗干扰的能力,符合 emc (electromagnetic compatibility) 设计原则。 (2)总线接口器件地址具有很大的独立性。在单主系统中,每个 2 i c接口芯片 具有惟一的器件地址, 由于不能发出串行时钟信号而只能作为从器件使用。各器 件之间互不干扰, 相互之间不能进行通信, 各个器件可以单独供电。 mcu 与 2 i c 器件之间的通信是通过独一无二的器件地址来实现的。 (3)软件操作的一致性。由于任何器件通过 2 i c总线与 mcu 进行数据传送的 方式是基本一样的,这就决定了 2 i c总线软件编写的一致性。 (4)philips 公司在推出 2 i c总线的同时,也为 2 i c总线制订了严格的规范, 如:接口的电气特性、信号时序、信号传输的定义等。规范的严密性,结构的独 立性和硬、软件接口界面的一致性,极大地方便了 2 i c总线设计的模块化和规范 化,伴随而来的是用户在使用 2 i c总线时的“傻瓜”化。 总线电气结构: 2 i c总线为双向同步串行总线,因此 2 i c总线接口内部为双向传输电路。如 图 3-2 所示: 本科毕业设计论文本科毕业设计论文 17 s d a 出 s d a 入 s c l入 s c l 出 s d a 出 s d a 入 s c l入 s c l 出 s d a s c l s d as c l s c l s d a r pr p v d d s d a s c l 图 3-2 2 i c总线电气结构 总线端口输出为开漏结构,故总线上必须有上拉电阻 rp,上拉电阻与电源 电压 vdd、sda/scl 总线串接电阻 rs 有关,可参考有关数据手册选择,通常 可选 5-10k。 挂接到总线上的所有外围器件外设接口都是总线上的节点, 在任何时刻总线 上只有一个主控器件(主节点)实现总线的控制操作,对总线上的其它节点寻址分 时实现点一点的数据传送。 因此总线上每个节点都有一个固定的节点地址,它是 由 7 位 bit 位组成,和 1 位方向位构成了 2 i c总线器件的寻址字节 sla,其字节 格式如下: slada3da2da1da0a2a1a0wr/ 器件地址 da3da2da1da0 是 2 i c总线外围接口器件固有的地址编 码, 器件出厂时就已给定。 例如 2 i c总线eepromat24cxx的器件地址为1010, 4 位 led 驱动器 saa1064 的器件地址为 0111。引脚地址 a2a1a0 是由 2 i c 总线外围器件地址端口 a2a1a0 在电路中接电源或接地的不同形成的地址 数据。数据方向位规定了总线上主节点对从节点的数据传送方向,r 为接收,w 为发送。17 3.2.3 saa7113 初始化配置 在用 fpga 来实现对 saa7113 配置之前,首先必须确定其内部个寄存器的 配置值。saa7113h 有 256 个内部寄存器(subaddresss00ffh) ,其中,00h 芯 本科毕业设计论文本科毕业设计论文 18 片版本信息寄存器是只读的。01h05h 是前段配置状态寄存器,用于设置芯片 前段模拟信号处理通道的工作状态, 具体根据输入模拟视频信号的类型和格式进 行设置,例如模拟输入处理的工作模式就是通过设置 02h 确定的。06h13h, 15h17h 是解码部分的工作方式配置寄存器,进行同步信号控制、bcs 控制和 输出数据控制,其中 12h 寄存器用来设置 rts0、rts1 的功能。11h13h 是输 出控制寄存器, 1fh 是只读的解码状态寄存器, 报告解码过程中的各种信号状态。 40h60h、60h62h 是行/场图像控制、状态寄存器,用于设置 vp0 的数据格式 等。内部寄存器 14h、 18h1eh、20h3fh 及 63hffh 保留使用。详细的内 部寄存器控制器的功能含义,可参见 saa7113 芯片手册。18 3.2.4 fpga 配置实现 1配置原理图 sysclk dout7:0 c lk_en ack_e n status d in7:0 a ck_e n busy c m d_stop sda c m d_start c m d_send scl c m d_receive execute d e c _s d a d e c_s c l g n d clk cmd_start rst_n cmd_send busy cmd_sto p r a m_data7:0 execute i2c_w_finish rom_addr6:0 i2c_data_t7:0 s a a7113 r o m address5:0 clock e7:0 2 0mh z rst_n i2c_w_7113 v c c 图 3-3saa7113 配置原理图 图 3-3 中 2 i c模块是 altera 提供的 ip 核,完成 2 i c接口协议;i2c_w_7113 模块是我们要设计的模块, 它是 2 i c的命令控制模块; saa7113 寄存器的配置值 存在 saa7113_rom 中,以 mif 格式对其初始化。下面就详细介绍 i2c_w_7113 模块的实现及仿真验证。 2. 模块实现 本科毕业设计论文本科毕业设计论文 19 图 3-4i2c_w_7113 模块 图 3-4 是 i2c_w_7113 模块原理图,其主要接口信号定义如表 3-1 所示: 表 3-1i2c_w_7113 模块端口定义 端口名端口描述 clk 20mhz,经 2 i c模块 10 分频,配置速率为 200kbit/s busy2 i c总线忙时为高电平 cmd_start 发送启动 2 i c总线命令,产生一个高电平到低电平的跳变 cmd_send发送配置数据命令 cmd_stop 发送停止 2 i c总线命令,产生一个低电平到高电平的跳变 execute当总线空闲时执行发出的命令 i2c_data_t7:0发送数据总线 rom_addr6:0saa7113_

温馨提示

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

评论

0/150

提交评论