(电路与系统专业论文)基于usb20的视频处理系统软硬件设计与实现.pdf_第1页
(电路与系统专业论文)基于usb20的视频处理系统软硬件设计与实现.pdf_第2页
(电路与系统专业论文)基于usb20的视频处理系统软硬件设计与实现.pdf_第3页
(电路与系统专业论文)基于usb20的视频处理系统软硬件设计与实现.pdf_第4页
(电路与系统专业论文)基于usb20的视频处理系统软硬件设计与实现.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(电路与系统专业论文)基于usb20的视频处理系统软硬件设计与实现.pdf.pdf 免费下载

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

文档简介

摘要 u s b 2 0 作为一种崭新的微机总线接口规范,其最大速率为4 8 0 m b p s ,其特点 使其非常适合作为视觉视频采集和处理系统的通信接口。 本文利用基于u s b 2 0 的视觉视频采集和处理硬件平台,详细探讨了基于 u s b 2 0 的视频采集和处理系统软件的设计过程,为运动图像分析打下良好的基础。 其中包括固件设计,驱动程序设计以及视觉视频处理系统软件平台的设计,并且 提出了一种符合h 2 6 3 标准的结合小波变换和算术编码算法的视频压缩方案,进 一步研究了视频压缩中占有最大运算量的运动估计的全搜索算法的v l s l 实现结 构。该系统主要利用u s b 2 0 总线数据传输速率高的特点,较好地实现了视频处理 系统在进行图象处理时软件平台及硬件的功能。 本论文在进行系统设计时,以大量的e d a 软件模拟作基础,努力做到系统中 软件和硬件的结合,使设计更加简洁和合理,同时使得在不同的处理图像需求下, 方便的对软硬件进行重新配置。 关键词: u s b 2 0视觉视频压缩运动估计 a b s t r a c t a st h em o s t c o m p a t i b l es e r i a lb u si n t e r f a c e ,t h eu n i v e r s a ls e r i a lb u sv e r s i o n2 0 h a st h et r a n s m i t t i n gs p e e da t4 8 0 m b p sa n dw a sa p p l i c a b l ef o rv i d e oa c q u i s i t i o na n d p r o c e s s i n gs y s t e m t h i st h e s i sm a i n l yd e a l sw i t ht h ed e s i g no fv i s i o na n dv i d e op r o c e s s i n gs y s t e m s o f t w a r eb a s e do nt h ei m a g ea c q u i s i t i o nh a r d w a r ep l a t f o r mw i t hu s b 2 0i n t e r f a c e i n o r d e rt ob u i l d i n gas t r o n gb a s i sf o rm o t i o np i c t u r ea n a l y s i si ti n c l u d e st h ed e s i g no f f i r m w a r e u s bd e v i c ed r i v e ra n dv i s i o n v i d e op r o c e s s i n gs o f t w a r e t h i st h e s i sa l s o p r o p o s e da v i d e oc o m p r e s s i o nd r a f tb a s e do nw a v e l e tt r a n s f o r ma n da r i t h m e t i cc o d i n g m o d ec o m p a t i b l et h ei o wb i t r a t ec o m m u n i c a t i o ns t a n d a r dh 2 6 3 f u r t h e r , t h ev l s i a r c h i t e c t u r eo ft h ef u l ls e a r c ha r i t h m e t i co fm o t i o ne s t i m a t i o nh a sb e e ni n v e s t i g a t e d t h es y s t e mu t i l i z e st h ef e a t u r eo fu s b 2 0h i g h s p e e dt r a n s m i s s i o ns p e e do fd a t aa n d r e a l i z e st h ev i s i o n v i d e op r o c e s s i n gf u n c t i o n sb ys o f t w a r e t h es y s t e md e s i g ni sb a s e do nag r e a ta m o u n to fe d as o f ts i m u l a t i o n w h i c h m a k e st h ed e s i g nm o r ec o n c i s ea n dr e a s o n a b l e a l s o ,t h eh a r d w a r ea n ds o f t w a r ec o u l d b et r a d e o f fd e p e n d i n g0 nt h ed e m a n do f p i c t u r ep r o c e s s i n g k e y w o r d : u s b 2 0v i s i o n v i d e oc o m p r e s s i o nm o t i o ne s t i m a t i o n 独创性( 或创新性) 声明 y 5 只3 7 3 5 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志列本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:丞8 量控 。 日期坦生u 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文( 与学位论文相关) 工作成果时署名单位仍然为 西安电子科技大学。学校有权保留送交论文的复印件,允许查阅和借阅论文;学 校可以公布沦文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保 存论文。( 保密的论文在解密后遵守此姗定) 本人签名 导师签名 主5 撞 彩丛 日期塑竺:f : 日期理笠! j : 绪论 绪论 随着计算机软件、硬件技术的日新月异的发展和普及,人类已经进入个高 速发展的信息化时代,人类大概有8 0 的信息来自图像,科学研究、技术应用中 图像处理技术越来越成为不可缺少的手段。 计算机视觉是指用摄像机和计算机代替人眼对目标进行识别、跟踪和测量等: 图像处理的主要功能是将获得的低质量图像( 反差小,模糊,变形等) 用计算机 处理成更适合人眼观察或仪器检测的图像。 计算机视觉是一门新兴的发展迅速的学科,八十年代以来,计算机视觉的研究 已经历了从实验室走向实际应用的发展阶段。从简单的二值图像处理到高分辨率 多灰度的图像处理,从一般的二维信息处理到三维视觉机理以及模型和算法的研究 都取得了很大的进展。而计算机工业水平的飞速提高以及人工智能、并行处理和 神经元网络等学科的发展夏促进了计算机视觉系统的实用化和涉足许多复杂视觉 过程的研究。目前,计算机视觉系统正在广泛地应用于视觉检测、机器人的视觉 引导和自动化装配领域中。 在现代化的大生产之中,视觉检测往往是不可缺少的环节。近年来发展迅猛 的计算机视觉技术解决了这一问题。计算机视觉系统一般采用c m o s 或者c c d 照 相机摄取检测图像并转化为数字信号,再采用先进的计算机硬件与软件技术对图 像数字信号进行处理,从而得到所需要的各种目标图像特征值,并由此实现模式 识别,坐标计算,耿度分布图等多种功能。然后再根据其结果显示图象,输出数 据,发出指令,配合执行机构完成位置调整,好坏筛选,数据统计等自动化流程。 与人工视觉相比较,计算机视觉的最大优点是精确,快速,可靠,咀及数字化。 视觉视频运动图像分析和处理就是在检测几何信息的基础上对空问物体运动 的参数进行求解和预测外推。数字图像处理超大规模集成专用集成电路的结构与 电路设计从八十年代起就是数字信号处理类芯片设计中最活跃的领域。而视觉视 频运动幽像处理系统集成j 笛片设计属于其中的前沿课题,其应用前景涛人。 我们认真研究了国内外的相关结果,认为要便图像分析和处理真难走向实用, 必须:寻找高效可行的各种算法理论,如运动检测,视频压缩;研究适用的 体系结构和硬件电路设计。 我们探索的是条在视觉视频运动处理方面进行成像接口后尽早进行图像的 运动分析的单芯片c m o s 系统集成之路,力图在国内设计研制出有应用前景的实 时视觉视频运动图像分析专用系统集成芯片。 本论文的研究和设计工作是国家自然科学基金“运动图像分析系统集成芯片 设计”项目的一部分,主要完成其处理系统软件体系结构的研究和设计,即视觉 基于u s b 2 0 的桃频处理系统软硬件设计与实现 视频运动图像的软件处理平台和视频压缩的研究。 众所周知,视觉视频图像数字化后数据量非常庞大,对如此大量高速的数据 进行实时处理是计算机应用领域中技术难度最大的部分,如何实现视觉视频图像 的数字化分析处理和传输是该领域中必须解决的首要问题。 我们设计实现了基于u s b 2 0 总线的视觉视频处理系统软件,它可以完成视 频图像的采集、处理,并通过u s b 2 0 接口送进计算机进行显示和更进一步的处理。 随着多媒体技术的发展,对大信息量图像数据的压缩、传输和存储变得越来 越重要,因此对多媒体信息的处理已经开发了许多种有效的视频与图像压缩标准 和硬件结构。h 2 6 x 系列标准正是适应于视频处理技术的发展而制定的。其中, h 2 6 3 已经被广泛应用,包括会议电视,可视电话及其他一些设备。 我们研究了h 2 6 3 的可选项内容之一的算术编码,提出了- t e e 兼容h 2 6 3 标 准的结合小波变换和算术编码算法的视频压缩方案。该方案和基于离散余弦变换 ( d c t ) 的h 2 6 3 相比,在具有相似压缩比的情况下,重建图像质量有明显提高。 论文还进一步研究了视频序列图像的运动估计全搜索算法的v l s i 结构设计, 在视频压缩国际标准中,视频编码器的复杂性最主要取决于运动估计。运动估计 是活动图像编码和计算机视觉领域中的一项关键技术,大约占整个编码时间的6 0 ,因此,运动估计的硬件实现结构研究对实时压缩具有重要的意义。 为此,我们以基于u s b 2 o 的视觉视频处理系统为平台,结合f p g a 的灵活性, 开发了一套性能优越的视觉视频处理系统软件,并完成了视频数据的压缩。 论文共分咀下几个部分。 第一章:总体方案设计,在分析u s b 2 0 视觉视频图像处理系统的基础上提出 了总体设计方案。 第二章:视觉视频图像处理系统的相关软件技术,介绍u s b 总线,系统固件 程序和w d m 驱动程序。 第i 章:详细论述了基于u s b2 0 的视觉视频图像处理软件平台的设计及实 现。 第四章:提出结合小波变换和算术编码在h 2 6 3 视频压缩标准新方案。 第五章:h2 6 3 压缩标准中运动估计的v l s i 结构的研究设计,提出基于s y s t o l i c 的全搜索算法的硬件结构。 第六章:总结与展望,对比h 2 6 3 和h 2 6 4 标准的编码性能,讨论园际视频 压缩标准和我国自己的视频压缩标准的发展趋势。 第一章总体方案设计 第一章总体方案设计 计算机视觉系统是用计算机来实现人的视觉功能,也就是用计算机来实现对 客观的三维世界的识别。按现在的理解,人类视觉系统的感受部分是视网膜,它 是一个三维采样系统。三维物体的可见部分投影到网膜上,人们按照投影到视网 膜上的二维的图像来对该物体进行三维理鳃。所谓三维理解是指对被观察对象的 形状、尺寸、离开观察点的距离、质地和运动特征( 方向和速度) 等的理解。 计算机视觉系统的输入装置可以是摄像机、转鼓等,它们都把三维的影像作 为输入源,即输入计算机的就是三维客观世界的二维投影。如果把三维客观世界 到二维投影像看作是种正变换的话,则计算机视觉系统所要做的是从这种二维 投影图像到三维客观世界的逆变换,也就是根据这种二维投影图像去重建三维的 客观世界。 计算机视觉系统主要由三部分组成:图像的获取、图像的处理和分析、输出 或显示。 现代视觉视频图像处理技术发展非常迅速,各种图像采集卡已能在市场上买 到,但是价格比较昂贵,使用起来不方便,并且处理功能简单。对于特殊需要不 能很好的满足,往往还需要加上后续处理部分,这给特殊需要的用户带来了极大 的不方便。f 是为了解决以上的缺点,我们采用u s b 2 o 总线作为图像传输的接口, f p g a 作为图像处理芯片,开发了一套性能优越的视觉视频处理系统( 见图1 1 ) 。 此系统可以根据不同的需要进行现场编程,具有通用性好、价格相对便宜等特点。 图1 1系统原理图 1 1视频处理系统的实时显示及处理平台的设计 系统设计中首先考虑的是通过何种外部总线来传送数据,u s b 技术的提出是 基于实现外设的简单快速连接,以达到方便用户、降低成本、扩展p c 机连接外设 范围的目的。u s b 设备不占用p c 的硬件资源,设备的控制、管理和信息交换完全 基于u s b 20 的视频处理系统软硬作设计与实现 是由系统软件按u s b 协议进行传输的,因此具有更高的可靠性和兼容性。u s b 2 0 的推出使u s b 技术得到了迅速地发展,那高达4 8 0 m b p s 的带宽一举突破瓶颈成为 人们瞩目的焦点。 我们开发的基于u s b 2 0 的视觉视频处理系统采集速度快,采集c i f ( 3 5 2 2 8 8 1 格式的图像最高能达到2 3 帧秒,这使图像数据在计算机屏幕上的显示成为一个瓶 颈。 视频图像显示的关键是做到平滑显示,根据h v s ( h u m a nv i s u a ls y s t e m ) 对时间 频率的响应特征,在中等亮度环境下,平滑显示视频图像的帧速率一般应为2 2 3 0 帧 秒而产生平滑视频的临界帧率大约为2 0 帧秒。因此,要做到视频实时显示,其关键 是要保证图像更新的帧速率不小于2 0 帧虎b 。w i n d o w s 系统提供了3 种图形图像处 理接口,即g d i ( g r a p h i c sd e v i c ei n t e r f a c e ) 、d r a w d i b 函数集及d i r e c t xs d k 中的 d i r e c t d r a w 组件。这3 种图形图像接口都具有各自的特点,适合不同的场合。根据 视觉视频处理系统的要求,在我们的视频实时显示中采用了d r a w d i b 函数集作为 图像显示接口,显示最高速度能达到2 0 0 帧,秒以上,保证了视觉视频处理系统实 时采集图像的实时显示。 在u s b 2 0 视觉视频处理硬件平台的基础上,进一步开发了视觉视频处理软件 平台,包括控制系统的固件程序,w i n d o w sw d m 设备驱动程序,结合i p l 和 0 p e n c v 类库,可以进行图像滤波、阈值计算、图像统计学处理、以及图像的形态 学处理等操作。另外,还可以实现物体轮廓跟踪、图像的几何处理、形态学处理、 图像特征提取、背景分离、金字塔算法、种子填充算法、光流算法、主动轮廓算 法、相机的校f 、姿势的识别等很多操作。 | _ j = 【此可见,视觉视频处理软件平台作为我们开发各种应用的平台是非常合适 的,它不仅方便,而月,具有广泛的应用范围。 1 2h 2 6 3 视频压缩标准的改进及运动估计的硬件结构设计 基于u s b 20 的视觉视频处理系统采集速度很快,采集c i f ( 3 5 2x 2 8 8 ) 格式的 图像最高能达到2 3 帧秒,这使图像数据在计算机硬盘上的存储也成为一个问题。 以黑白图像为例,每个像素为8 b i t ,则每秒的存储量为2 3 3 5 2 2 8 8 = 2 2 2 m b ,每 分钟大约为1 3 3 5 m b ,因此,视频数据压缩是必不可少的。 视频数据编码般采用预测编码,即将图像数据的空间变化规律和序列变化 规律用一个预测公式表示,如果知道了某一像素的前面各相邻像素值之后,可以 用公式预测浚像素值。采用预测编码,一般只需传输图像数据的起始值和预测误 差。 变换压缩方法是将整幅图像分成一个个小的( 取8 8 或1 6 1 6 ) 数据块,再 一 一 一 星二兰璺竺查塞垄:生 ! 将这些数据块分类、变换、量化,从而构成自适应的变换压缩系统。该方法可将 一幅图像的数据压缩到为数不多的几十个比特传输。在接收端再变换回去即可。 h 2 6 3 建议标准的制定是为了满足对活动图像进行低码率编码的需要,为了改 进性能又包含了四个可选的编码选项。详细研究h 2 6 3 的四个可选项内容之的 算术编码,提出了一种兼容h 2 6 3 标准的结合小波变换和算术编码算法的视频压 缩方案。在w i n d o w s2 0 0 0 操作系统下,用v i s u a lc + + 6 0 为丌发平台,编写了模 拟实现小波变换和算术编码的h 2 6 3 编码过程的软件,该方案和基于离散余弦变 换( d c t ) 的h 2 6 3 相比,在具有相似压缩比的情况下,重建图像质量有明显提 高。 视频序列图像在时间上有很强的相关性,利用运动估计和运动补偿技术可以 比较有效的去除图像帧阳j 的冗余信息,实现高压缩比,h 2 6 x 系列和m p e g x 系 列都采用这种技术。但是运动估计是视频压缩中的一项复杂和计算费时的关键技 术,因此,运动估计的全搜索算法的硬件实现设计具有非常重要的意义。设计中 采用了s y s t o l i c 阵列来实现算法:在结构设计上利用f p g a 内部r a m 资源,集内 部缓存结构与处理单元于一体:体系结构上采用并行和流水线结构。结果证明, 与同类其他处理机相比,该设计具有实时处理的优点,并且有很大的灵活性和通 用性。 基于u s b 20 的视频处理系统软硬件设计与实现 第二章u s b 2 0 视频处理系统相关软件设计 2 1 u s b 2 0 总线体系结构 随着通信领域和计算机领域技术的不断发展,传统的通信和计算机功能已经 出现了融合趋势,并很有可能成为下一代应用产品的基础。而且社会的b 速发展 使得人们需要交换的信息种类越来越多,数量也越来越大,这就要求提供一种廉 价的,遍布全球的连接手段。新一代通用串行总线( u n i v e r s a ls e r i a lb u s ) 接口的优 良特性给我们提供了极佳的解决方案。 u s b 2 0 协议提供4 8 0 m b s 的传输速度,向下完全兼容流行的u s b l1 协议。 支持以下3 种速度模式:低速模式( 1 0 ws p e e d ) 1 , 5 m b s ,全速模式( f u l ls p e e d ) 1 2 m b s ,高速模式( h i g hs p e e d ) 4 8 0 m b s 。u s b 2 0 协议支持现存的所有u s b 设 备,既可以把u s b l 1 设备插入u s b 2 0 的p c 机接口,并且在电气上兼容u s b l 1 的连接线。u s b 2 0 技术由三部分组成:具有u s b 接口的p c 系统、能够支持u s b 的系统软件和使用u s b 接口的设备。u s b 2 0 设备受到人们的瞩目,是由于u s b 不仅改变了以往串行总线低速的局面,同时还引入许多串行总线技术不具有的新 特性。 和u s b 解决方案相联系的基本硬件和软件包括: u s b 硬件 u s b 主控制器根集线器 u s b 集线器 u s b 设备 u s b 软件 u s b 设备驱动程序 u s b 驱动程序 u s b 控制器驱动程序 2 i iu s b 2 0 总线信号环境 u s b 2 0 采用四线电缆,其中两根是用来传送数据的串行通道,另两根为下游 f d o w n s t r c a m ) 设备提供电源,如图2 1 所示。 第二章u s b 20 视频处理系统相关软件笈计 v b u d + d g n d 谥长5 米 图2 1u s b 电缆 其中,d + 、d 是串行数据通信线,它支持两种数据传输率,对于高速且 需要高带宽的外设,u s b 2 0 以4 8 0 m b p s 传输数据:对于低速外设,u s b 2 0 兼容 u s b1 1 的传输速率。u s b 2 0 总线会根据外设情况在两种版本模式中自动地动态 转换。v b u s 通常为+ 5 v 电源,g n d 是地线。u s b 是基于令牌的总线,类似于 令牌环网络或f d d i 基于令牌的总线。 2 1 2u s b 2 0 数据流类型 u s b 2 0 提供了在主机和连接的u s b 设备间的通信服务协议,协议按不同的 功能分为功能层、设备层和接口层。图2 2 显示了标识系统的不同的u s b 多层次 通信模型。 应用层 u s b 设备驱动层 u s bb 接口瑶 托= ;逻黔- 一褫讨 - - - 实际遁目 叶茂向 图2 2 u s b 2 0 的多层次通信模型 u s b 总线接口层在主机和设备间提供物n 信号包的连接。u s b 设备层是 u s b 系统软件为完成与设备的操作所必须具有的功能。功能层通过一个特定的与 功能块相匹配的客户软件层实现u s b 设备的功能。每个u s b 设备层和功能层都 设有一个在层内的逻辑通信流,实际上u s b 中真正的数据传送是通过u s b 的总 线接口层来完成的。 u s b 2 0 总线拓扑结构 u s b 总线拓扑是指u s b 设备和主机之间的连接模型,涉及u s b 主机、没备 以它们之间的相互连接。 基于u s b 2 0 的视频处理系统软硬件设计与实现 如图2 3 所示,u s b 上的设备经由分层星形拓扑结构与主机进行物理连接。 u s b 连接点由一个称为集线器的特殊的u s b 设备提供,这个集线器提供的额外 连接点称为端r j ( v o r 0 。包含一个内嵌集线器的主机称为根集线器- ( p o o th u b ) 。主 机通过根集线器给u s b 设备提供一个或多个连接点。如主机提供补充功能的u s b 设备称为功能块。为防止循环连接,在u s b 的星型拓扑结构上强制进行分层安排, 这导致了树型配置。 图2 3u s b 物理总线拓扑结构 多个功能块和一个集线器可被封装在一起构成一个复合设备( 多功能设备) , 在复合设备内部,各个功能块与集线器永久连接。从主机来看,一个复合设备是 一个连接了多个功能块的集线器。 u s b 2 0 通信流 u s b 2 0 提供了主机上软件和u s b 功能块之间的通信服务。根据不同客户与 功能块之间相互作用的要求,功能块可具有不同的通信流。每个通信流利用一些 总线访问来完成与功能块之问的通信。每个通信流终止于设备上的一个端点 f e n d p o i n t ) 。设备的端点是u s b 设备的唯一的可标识部分,用来标识每个通信流 的方向,它是主机和设备之i 司通信流的信息源或终点。 对u s b 系统来说,u s b 逻辑设备像是端点的一个集合。端点组合成实现接 口的端点组,接口是面对此功能块的。系统软件使用与端点0 相关的缺省管道 f d e f a u l tp i p e ) 来管理设备。管道( p i p e ) 是描述设备上的端点和主机上软件之问的 个抽象通道。客户软件要求数据在主机的缓冲器和u s b 设备上的一个端点之间传 送。主机控制器( 或依赖于传送方向的u s b 设备) 对数据进行打包使之在u s b 上 传送。图2 4 说明在端点和主机的存贮缓冲器之间的通信流是如何通过管道的。 第二章u s b 20 视频处理系统相关软件设计 9 疆q 图2 4u s b 通信流 u s b 2 0 数掘传送类型 为适应设备的多样性。u s b 2 0 协议定义了4 种传送类型:批传输( b u l k t r a n s f e r s ) 、中断传输( i n t e r r u p tt r a n s f e r s ) 、等时传输( i s o c h r o n o u st r a n s f e r s ) 、控制 传输( c o n t r o lt r a n s f e r s ) 。 控$ 1 1 ( c o n t r 0 1 ) 传输在主机和控制端点之间传送控制信息。控制传输是一种纠 错传输,在遇到传输错误时重试三遍,如果错误仍存在就放弃传输并向上层软件 报告错误。控制端点所能指定的数据传输长度为6 4 字节。控制事务在u s b 中具 有最高优先级,设备必须处理控制事务。 等时( i s o c h r o n o u s ) 传输可以在一个总线帧内传输1 0 2 4 字节数据。因为等时传 输有周期保证,因此特别适用于时间敏感的数据传输,如音频信号,但这种周期 保证是有代价的,等时传输在数据出错时不会自动重试。u s b 设计者假定等时数 据流的接收者允许偶尔的数据丢失。 十h i ( b u l k ) 传输能在主机和批量端点间一次传输5 1 2 字节的数据。就象控制传输 一样,批量传输是纠错传输,不同的是批量传输没有任何延迟保证。如果主机发 现,帧中除了预定带宽外还有剩余,它就把等待的批量传输送往总线。 中断( i n t e r r u m 传输在总线操作和涉及设备方面上几乎与批量传输完全相同。 它能把1 0 2 4 字节的数据无误地在主机和中断端点间传输。中断传输和批传输仅有 的不同是它必须考虑延迟。中断端点需指定一个范围在i 2 5 5 毫秒内的查询周 期。 2 13u s b 2 0 设备的逻辑结构 u s b 设备可分为下面三层: 底层:发送和接收包的总线接口; 巾怕_ 】层:处理总线接口和设备上的各种端点之问的按规定路径发送的数掘 l 型童竖墼旦燮竺堡墨竺竺塑丝堡生皇壅翌 底层:有串行总线设备提供的功能,如:鼠标或i s d n 接口。 图2 5 给出了u s b 2 0 设备的逻辑结构。 图2 5u s 8 设备的逻辑结构 每个设备内有一个或多个逻辑连接点,称为端点,每个端点指定下面的传输 类型之:控制传输、中断传输、批传输和等时传输。所有设备都有一个端点0 传输,用于配置和控制设备。 主机和漫备的端点0 之问的连接称为管道,主机u s b 系统软件和设备的端点 之间的连接称为缺省管道。 一个设备对主机表现为组合适的端点,一组相关的端点称为一个接口。有 多个接口的设备称为组合设备。 最后,设备可以有多组接口,每一组称为一个配置,一次只能有个配置是 活动的。但是,当前配置中的所有接口( 和它们的端点) 可以同时活动。大多数 的设备只有一个配置和一个接口。当一个设备第一次插入系统时,w i n d o w s 提示 用户选择合适的配置。 2 2 u s b 2 0 控制系统固件代码设计 开发一个u s b 设备,软件设计是必不可少的,u s b 应用系统软件设计分为 三部分:u s b 外设端的固件( f i r m w a r e ) 、主机操作系统上的客户驱动程序以及 操作界面程序。界面程序通过客户驱动程序与系统u s b i ( u s bd e v i c ei n t e r f a c e ) 进 行通信,山系统产生u s b 数据的传送动作,固件则响应各种来自系统的u s b 标 准请求,完成各种数据的交换工作和事件处理。 由于图像数掘自身的格式以及u s b 同步传输和批传输都适合传输大量数据, 但是同步传输设备和进程的同步设计有较大的难度,且它不提供错误检查机制, 所以我们采用了批传输模式。 一一一笙三皇竺! 壁:! 塑塑竺些墨堑塑茎竺竺垦盐 坚 2 2 1 系统固件代码设计 固件代码是u s b 和用户应用代码之间的接口,是设备运行的核心。本系统的 固件代码主要实现两个功能:第一、控制e z u s bf x 2 芯片c y 7 c 6 8 0 1 3 ,初始化 f x 2 芯片和所有的外围电路( 如请求设备描述符、请求或设置设备状态、设置设 备工作方式和设置设备接口等u s b 标准请求) ;第二、接受并处理u s b 设备驱动 程序的请求,实现视频图像数据的传输,并通过1 2 c 予程序控制摄像头芯片 o v 6 6 3 0 的输出图像数据的色度、亮度、快门时间和格式等。进行固件代码设计 所采用的软件是k e i lu v i s i o n 2 软件,该软件可支持c 语言和汇编语占的混合输入, 编程比较灵活。u s b 视频采集系统设备的圃件主要由主程序、u s b 总线枚举、功 能子程序、帧传送子程序和1 2 c 子程序等组成,其功能框图如图2 6 所示。该u s b 设备的端点0 被设置成“控制”传送方式,端点2 被设置成批传送方式。 图2 ,6固件( f ir m w a r e ) 代码的功能框图 主程序主要完成:堆栈设置,各种工作状态标志,各种变量的r a m 空间分 配和u s b 模块的初始化,端点o 的t x 和r x 中断允许,数字c a m e r a 芯片各寄 存器初始值的设定,设置主程序的= 【:作指示灯以及循环等待中断的产生等。 u s b 总线枚举子程序:该部分主要完成u s b 主机与u s b 设备之问的“连接” 过程。即响应u s b 主机用缺省地址 的访问,送设备类型、版本号、 端点设置和参数设置等给u s b 主机。接收u s b 主机分配的唯一的地址值,接收 u s b 主机确定的一种设备配置参数等。 功能子程序:该程序主要包括功能予程序1 和功能子程序2 两个部分。主要 功能包括判断中断源是哪个端点产生的,然后调相应的中断服务子程序。即首先 检查中断源是哪个端点产生的,然后检查是“配置”、“输入”还是“输出”? 若是端点0 的“输出”包,n n 件将要检查u s b 主机送来的命令是哪一类命令, 咀方便回答。若是“输入”包,围件将要检查它的“状态阶段”,在“数据阶段” 巾,固件将要按照u s b 主机的要求回答( 送端点设置和参数设置等给u s b 主机) 。 基于u s b 20 的视频处理系统软硬件设计与实现 若是端点2 的“输出”包,它主要是u s b 主机送给u s b 设备的命令或数据,若 是“输入”包,则主要是u s b 设备回应u s b 主机的消息。它们包括:对数字c a m e r a 芯片寄存器值和u s b 模块值的修改:u s b 设备传送或接收u s b 主机的参数或状 态。 帧传送子程序:该部分程序主要是利用端点2 的批传输方式来传送大批量的 数据。具体考虑如下:( 1 ) u s b 视频采集设备要求较高的传输速度,( 2 ) 需要考 虑e z u s bf x 2 :芑= 片的运算速度。 1 2 c 子程序:主要是用来控制数字c a m e r a 芯片的。即控制输出图像数据的色 度,亮度,对比度,曝光时间和格式等。 由于e z - u s bf x 2 芯片采用了种基于r a m 的方案,实现数据格式转换的 程序并未固化在芯片中,是一种软硬结合的固件代码( f i r m w a r e ) 。当设备插入 u s b 接口时,主机对设备进行了轮询,获取了设备的i d 号后,系统程序将f i r m w a r e f 载到芯片内部,执行数据格式的逻辑转换。 开发工具中的f i r m w a r e 框架是自动生成的,u s b 外设开发者根据外设功能 具体要求,选择感兴趣的函数逐一填写函数体。 开始是一段初始化程序,当外设检测到一个s e t u pp a c k e t 时,框架启动调度 程序,由调度程序按顺序反复执行以下三个任务。 1 t dp o l l ( ) 中调用实现外设主要功能的用户子程序。 f 2 1 决定设备是否有未处理完的任务。如果有,则解析收到的命令,然后给 主机相应的回复。 3 】决定u s b 核心是否有u s b 悬挂事件。如果是,调度程序调用用户子程 序t ds u s p e n d ( ) ,如返回t r u e ,处理器挂起,当检测到唤醒事件,子程序继续 运行:如返回f a l s e ,程序继续运行。 其它函数的含义为: t dl n i t ( ) :用于初始化f i r m w a r e 的全局状态变量; t dr e s u m e ( ) :此函数用于响应外部恢复事件,使器件恢复正常工作状态。 2 2 ,2 批传输方式的实现 我们采用的u s b 20 的接口芯片为e z u s bc y 7 c 6 8 0 1 3 ,它提供了一种独持 架构,使u s b 接口和应用环境直接共享f i f o ,而微控制器可不参与数据传输但 允许以f i f o 或r a m 的方式访问这些共享f i f o 。这种被称之为“量子f i f o ” ( q u a n t u mf i f o ) 的处理架构,较好地解决了在u s b 高速传输模式下由于微控 制器本身的工作频率而限制u s b 带宽的问题。 e z u s b c y 7 c 6 8 0 1 3 有2 种接口方式:s l a v ef i f o s 和可编程接口g p i f 。s l a v e 第二章u s b 2 0 视频处理系统相关软件设计 3 f i f o s 方式是从机方式,外部控制器可像普通f i f o 一样对c y 7 c 6 8 0 1 3 的多层缓 冲f i f o 进行读写。s l a v ef i f o s 和可编程接v lg p i f 工作方式都可以通过内部寄 存器设为同步或异步,工作时钟可选为内部产生或外部输入,其它控制信号也可 以通过内部寄存器灵活地设置为高有效或低有效,非常灵活。为了达到图像数据 的快速传输,在本系统中,我们采用了s l a v ef i f o s 传输方式,即在t dp o l l ( ) 函 数中实现批传输,这是固件代码设计的关键部分。 e zu s b 监测累加器和f i f 0 之间的数据传输。此外,对于批传输,e zu s bf x 2 提供了一个特殊的自增加( a u t o - i n c r e m e n t i n g ) 数据指针a u t o p f r h l 。8 0 5 1 把 16 位r a m 地址装入到a u t o p t r h l 寄存器中,然后把r a m 当一个f i f o 束进 行寻址。 下面给出了e z u s bf x 2 传输图像数据的8 0 5 1 寄存器初始化代码,为了提 高代码的可读性及可维护性,加快数据传输的速率,我们采用c 语言来编写: r e v c t l 一0 x 0 3 ;m u s t s e tr e v c t l 0a n dr e v c t l 1t o1 s y n c d e l a y ; c p u c s = 0 x 0 a ; c k c o n = o x 0 0 ; f i f o r e s e t = 0 x 8 0 ;r e s e ta l lf i f o s s y n c d e 4z f i f o r e s e t = 0 x 0 2 ; s y n c d e l a y ; f i f o r e s e t = 0 x 0 4 ; s y n c d e l a y ; f i f o r e s e t = 0 x 0 6 ; s y n c d e l a y ; f i f o r e s e t = 0 x 0 8 ; s y n c d e l a y ; f i f o r e s e t = 0 x 0 0 ; s y n c d e l a y ;t h i s d e f i n e st h ee x t e r n a li n t e r f a c et ob et h ef o l l o w i n g : i f c o n f i g = 0 x c b ;u s ei f c l kp i n d r i v e n b y e x t e r n a l l o g i c ( 5 m h z t o 4 8 m h z ) c b u s es l a v ef i f oi n t e r f a e ep i n sd r i v e ns y n cb ye x t e r n a lm a s t e r e p 8 f i f o c f g = 0 x 0 c ;t h i sl e t st h ef x 2 a u t oc o m m i ti np a c k e t s ,g i v e st h e a b i l i t yt os e n d z e r ol e n g t hp a c k e t s , a n ds e t st h es l a v ef i f od a t ai n t e r f a c et o8 - b i t s e p 8 c f g = 0 x e 0 ;s e t se p 8 v a l i df o ri n s 基于u s b 2 0 的视频处理系统软硬件设计与实现 a n dd e f i n e st h ee n d p o i n tf o r512b y t ep a c k e t s ,2 xb u f f e r e d p i n f l a g s a b2o x 0 0 ;d e f i n e sf l a g aa s p r o g l e v e lf l a g ,p o i n t e dt ob y f i f o a d r 1 :0 】 s y n c d e l a y ,f l a g ba sf u l lf l a g ,a sp o i n t e dt ob yf i f o a d r 1 :o 】 p i n f l a g s c d 2 0 x 0 0 ;f l a g ca se m p t yf l a g ,a sp o i n t e dt ob yf i f o a d r 1 :0 】 w o n tg e n e r a l l yn e e df l a g d p o r t a c f g = 0 x 0 0 ;u s e dp a 7 f l a g da sap o r tp i n ,n o ta saf i f of l a g f i f o p i n p o l a r = 0 x 0 0 ;s e ta l ls l a v ef i f oi n t e r f a c ep i n sa sa c t i v el o w s y n c d e l a y ; e p 8 a u t o i n l e n h = 0 x 0 2 ;y o uc a nd e f i n et h e s ea sy o uw i s h , s y n c d e l a y t oh a v et h ef x 2a u t o m a t i c a l l yl i m i ti n s e p 8 a u t o r n l e n l = 0 x 0 0 ; s y n c d e l a y ; e p 8 f i f o p f h = 0 x 8 2 ;y o uc a nd e f i n et h ep r o g r a m m a b l ef l a g ( f l a g a ) s y n c d e l a y ;t ob ea c t i v ea tt h e1 e v e ly o uw i s h e p 8 f i f o p f l = 0 x 0 0 ; s y n c d e l a y ;o u te n d p o i n t sd on o tp o r ( p o w e r - o nr e s e t ) a r m e d ,e p 2 b c l = 0 x 8 0 ;s i n c et h ed e f a u l t sa r ed o u b l eb u f f e r e dw em u s t s y n c d e l a y ;w r i t ed u m m yb y t ec o u n t st w i c e e p 2 b c l = 0 x 8 0 ;a r me p 2 0 u t & e p 4 0 u tb yw r i t i n gt ot h eb y t ec o u n t w s k i p s y n c d e l a y ; e p 4 b c l = 0 x 8 0 ; s y n c d e l a y ; e p 4 b c l = 0 x 8 0 ; a u t o p t r s e t u pi = 0 x 0 1 ; r w u e n = t r u e ; e n a b l er e m o t e w a k e u p 2 3u s b 2 0 设备w d m 驱动程序的设计 微软不断推出新的操作系统,在w i n d o w s 9 8 和w i n d o w s 2 0 0 0 中设备驱动程 序将根据w i n d o w s 驱动程序模型( w d m ) 来设计。w d m 通过提供一种灵活的 方式来简化驱动程序的开发,在实现对新硬件支持的基础上减少并降低所必须开 发的驱动程序的数量和复杂性。 w i n d o w s 驱动

温馨提示

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

评论

0/150

提交评论