(通信与信息系统专业论文)基于sopc的网络视频监控系统的设计与实现.pdf_第1页
(通信与信息系统专业论文)基于sopc的网络视频监控系统的设计与实现.pdf_第2页
(通信与信息系统专业论文)基于sopc的网络视频监控系统的设计与实现.pdf_第3页
(通信与信息系统专业论文)基于sopc的网络视频监控系统的设计与实现.pdf_第4页
(通信与信息系统专业论文)基于sopc的网络视频监控系统的设计与实现.pdf_第5页
已阅读5页,还剩75页未读 继续免费阅读

(通信与信息系统专业论文)基于sopc的网络视频监控系统的设计与实现.pdf.pdf 免费下载

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

文档简介

大连理工大学硕士学位论文 摘要 此论文描述了网络视频监控系统在s o p c 平台上的设计与实现。s o p c 是近几年兴 起的一种用于嵌入式开发的片上系统可编程技术,此技术在f p g a 中实现微处理器,使 得它不仅拥有微处理器系统的丰富软硬件资源,还具备f p g a 系统的快速逻辑,被很多 人认为是未来嵌入式系统发展的方向;同时也有许多人持观望态度,认为s o p c 系统不 够成熟。本文填补了s o p c 技术在视频监控方面的应用空白,并通过实际应用来验证 s o p c 技术的特性,分析其优势和不足。 本设计基于使用n i o si i 嵌入式处理器的s o p c 开发平台。与传统嵌入式系统相比, s o p c 系统的开发提供了特殊的并行设计方式。顶层处理器设计提供n i o s i i 内核以及各 类外设的a v f l o n 总线接口;硬件系统设计以处理器为核心负责添加相应的i p 核以及 f p g a 配置;软件系统设计以组件为基础提供相应驱动和应用程序。 视频监控系统由视频信号的采集、编码和传输三部分组成。本系统的视频采集模块 采用u s b 摄像头进行数据采集,基于c h 3 7 4u s b 接口芯片设计了u s b 主机控制器并 提供相应的n i o si i 驱动,通过u s b 主机控制器读取u s b 摄像头的图像信息,并转换为 y u v 4 2 0 帧格式存储,以便视频编码器进行压缩;视频编码器采用网络性能出色的h 2 6 3 标准,本文定制并在n i o si i 中移植了h 2 6 3 编码器,通过c 2 h 编译器将关键算法转换 为硬件加速器以提高视频编码器的性能;视频信号的传输采用以太网作为传输媒介,基 于d m 9 0 0 0 以太网控制芯片,设计d m 9 0 0 0 的底层驱动,并实现与l w i p 的接口,为软 件系统提供了完整的网络体系。在此基础上,使用s o c k e t 接口设计了s o p c 平台的u d p 客户机和p c 终端的服务器,将编码后的视频码流传输给远端服务器。 本文实现了基于s o p c 的视频监控系统,完成了视频采集,编码和传输的基本功能, 并通过基于s o p c 平台的优化使系统在局限性较强的硬件平台上达到了令人满意的效 果。由此验证了s o p c 技术的优良特性。 s o p c 技术还处于起始阶段,并未成熟,资料和参考设计稀缺,本课题同样在尝试 与摸索中进行开发,希望能对s o p c 技术的发展和更多想要尝试s o p c 设计的开发人员 提供一点帮助。 关键字:s o p c ;n i o si i ;h 2 6 3 ;c i - 1 3 7 4 ;d m 9 0 0 0 大连理一i :丈学硕十学位论文 d e s i g na n d r e a l i z a t i o no fn e t w o r kv i d e om o n i t o r i n gs y s t e mb a s e do n s o p c a b s t r a c t i i lt h i st h e s i s t h ed e s i g na n di m p l e m e n t a t i o no fn e t w o r kv i d e om o n i t o r i n gs y s t e mb a s e d o ns o p ci sp r e s e n t e d s y s t e mo nap r o g r a m m a b l ec h i pi sd e s i g n e df o rt h ed e v e l o p m e n to f e m b e d d e ds y s t e m b ye m b e d d i n gam i c r o p r o c e s s o ri nf p g a s o p cn o to n l yt a k e st h e a d v a n t a g eo fm i c r o - p r o c e s s o rs y s t e mw h i c hi sr i c hi ns o f t w a r ea n dh a r d w a r er e s o u r c e i ta l s o i sap a r to ff p g as y s t e mw h i c hh a sf a s tl o g i c s os o p ci sc o n s i d e r e dt ob et h ed i r e c t i o no f t h ef u t u r ei ne m b e d d e df i e l d m e a n w h i l e s o m ep e o p l ea d o p taw a i t a n d - s e ea t t i t u d ea ss o p c i sn o tm a t u r ee n o u 曲1 1 l i st h e s i sf i l l st h eb l a n ki nt h es o p c a p p l i c a t i o no fv i d e om o n i t o r i n g s y s t e m ,a n dt r i e st of i n dt h ea d v a n t a g ea n dd i s a d v a n t a g eo f t h es o p cs y s t e m t i l i sd e s i g nb a s e do ns o p cp l a t f o r mw h i c hu s e sn i o si ie m b e d d e dp r o c e s s o r c o m p a r e d w i t l lt r a d i t i o n a le m b e d d e ds y s t e m s o p cs y s t e mp r o v i d e sau n i q u ep a r a l l e ld e v e l o p m e n to f t h ed e s i g n t h ed e s i g no fp r o c e s s o ri so nt h et o pw h i c hp r o v i d e sn i o si ic o r ea n da v a l o n f a b r i c t h ed e s i g no f h a r d w a r es y s t e mi sr e s p o n s i b l ef u ra d d i t i o no f i pc o r ea n dc o n f i g u r a t i o n o f f p g a t h ed e s i g no f s o f t w a r es y s t e mi m p l e m e n t sd r i v e r sa n da p p l i c a t i o np r o g r a m 1 1 1 ev i d e om o n i t o r i n gs v s t e mi sd i v i d e di n t ot h r e ep a r t sw h i c ha r ev i d e oa c q u i s i t i o n , e n c o d i n ga n dt r a n s m i s s i o n v i d e oa c q u i s i t i o nm o d u l eu s e su s bc a m e r af o rd a t ac a p t u r e ,a n d d e s i g n su s bh o s tc o n t r o l l e rb a s e do nc h 3 7 4 t h e na c c e s s e si r e _ a g ed a t ai nu s bc a m e r a t h r o u g hu s bh o s tc o n t r o l l e r ;v i d e oe n c o d e rb a s e do nh 2 6 3s t a n d a r di sr e s p o n s i b l ef o r c o m p r e s s i n gi m a g ed a t ac o m e sf r o mu s bh o s tc o n t r o l l e r t h i st h e s i si m p r o v e st h e p e r f o r m a n c eo f c r i t i c a la l g o r i t h mi nh 2 6 3e n c o d e rb yu s i n gc 2 hc o m p i l e rw h i c hc a nc o n v e r t cp r o g r a mt oh a r d w a r ea c c e l e r a t o r ;v i d e ot r a n s m i s s i o nm o d u l eu s e se t h e r n e ta sa t r a n s m i s s i o nm e d i u m ,d e s i g n sd r i v e ro fe t h e r n e tc o n t r o l l e rd m 9 0 0 0a n di m p l e m e n t st h e i n t e r f a c et ol w i pf o rp r o v i d i n gi n t e g r a t e dn e t w o r k s oi tc a nt r a n s m i th 2 6 3s t r e a mf r o mu d p c l i e n tt ou d ph o s tw h i c ha r ep r o g r a r m n e db ys o c k e t t l l i st h e s i sw h i c hi m p l e m e n t e dt h ev i d e om o m t o f i n gs y r s t e mb a s e do ns o p c a c c o m p l i s h e dt h eb a s i cf u n c t i o no fv i d e oa c q u i s i t i o n , e n c o d i n ga n dt r a n s m i s s i o n , a n d a c h i e v e ds a t i s f a c t o r yp e r f o r m a n c eb yo p t i m i z i n gb a s e do ns o p cc h a r a c t e r i s t i c s o p ci ss t i l li ni t si n i t i a ls t a g e s i sn o tm a t u r ee n o u l g ha n d1 a c ko fd e s i g nr e s o u r c e s h o p et h a tt h i st h e s i sc a np r o v i d es o m eh e l pt os o p cd e s i g n e ra n dt h ed e v e l o p m e n to fs o p c t e c h n i q u e k e yw o r d :s o p c ;n i o si i ;h 2 6 3 ;c h 3 7 4 ;l w l p 1 1 1 独创性说明 作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究工作及取得研究 成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发 表或撰写的研究成果,也不包含为获得大连理工大学或者其他单位的学位或证书所使用 过的材料。与我一同工作的同志对本研究所做的贡献均已在论文中做了明确的说明并表 示了谢意。 大连理工大学硕士学位论文 大连理工大学学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连理工大学硕士、博士学位论文版权使用规 定”,同意大连理工大学保留并向国家有关部门或机构送交学位论文的复印件和电子版, 允许论文被查阅和借阅。本人授权大连理工大学可以将本学位论文的全部或部分内容编 入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编学位论文。 作者签名:棚 导师签名 堑缝遥 2 翌!年上。月l 日 大连理工大学硕士学位论文 1 绪论 1 1s o p c 的产生背景及意义 传统的电子系统设计,是以各种不同的a s i c 芯片为基础,按照功能要求在印制电 路板上将不同的芯片拼连、组合,构成实现某种功能的电子系统。这样的设计方法不仅 烦琐,而且设计过程中的错误和不足之处不能被及早地发现;进入调试阶段后,一旦发 现错误或缺陷,也不能现场更正。这将使研发时间变长,研发成本加大,从而使很多设 计思想难以得到及时的实现和验证。但是嵌入式处理器的出现弥补了这种不足,使得 a s i c 系统的灵活性和可定制性增强。 近年来,微电子技术、e d a 技术的飞速发展,不仅使电子系统的小型化、微型化 进程加快,而且给电子系统的设计带来了前所未有的变革。大规模f p g a 芯片的问世, 为电子系统设计提供了硬件基础,几乎大多数电子系统都可以在一块芯片上实现。使用 f p g a 的好处不仅表现在设计的初级阶段,即使在电子系统设计完成之后,甚至在投入 实际使用的过程中,还可以根据实际需要添加功能。然而早期的f p g a 在绝大多数场合 中仅仅是做为嵌入式处理器的胶合逻辑或实现某些逻辑功能。i p 核技术的出现对f p g a 的发展起着变革性的作用,很多厂商将自己的数字器件、专用算法以口核的形式嵌入 到f p g a 中,以单片f p g a 完成整个嵌入式系统数字部分设计的设想已经成为现实。但 是因为没有微处理器的支持,f p g a 还是无法实现嵌入式系统的特性,无法享用嵌入式 系统提供的操作系统,网络协议栈等软件模块,在应用范围受到很大限制。这时,众多 厂商呼吁的s 0 p c 技术诞生了。 s o p c 技术一般采用大容量f p g a 做为载体,在一片f p g a 中实现软核微处理器, 也可以嵌入a r m 等硬核处理器,使f p g a 具有嵌入式系统的可编程能力。通过这种技 术,s o p c 平台即可以拥有微处理器系统丰富的软件资源和出色人机交互能力,同时又 具备f p g a 系统的快速硬件逻辑特性,实现了软件系统和硬件系统的互补,不仅提高了 设计的性能,又加快开发周期。所以说,s o p c 将传统的e d a 技术、计算机系统、嵌 入式系统、数字信号处理技术等融为一体,在结构上凝为单芯片,是现代电子技术和电 子系统设计的汇聚点和发展方向。 1 2 基于s o p c 视频处理的研究现状 s o p c 是一种正处于研究和发展中的新型技术,由于成本和开发工具等方面存在缺 陷,s o p c 技术还未达到成熟应用的阶段,更多是在国内外高等学院中研究和试验。与 此同时,在s o p c 领域处于领先地位的a l t e r a 公司在中国、韩国、印度等国家和地区举 办大学生n i o si i 处理器系统设计竞赛,以大赛形式推广s o p c 技术。经过几年的推广 及应用,s o p c 系统在数字通信、信号处理、自动控制、模式识别等领域都有了较为完 1 基于s o p c 的网络视频监控系统的设计与实现 善的解决方案,而且表现出色。 针对视频采集系统的设计,嵌入式开发普遍采用图像传感器或者u s b 摄像头两种 方式来实现。手机等数码设备普遍使用图像传感器进行视频信号的采集,图像传感器一 般包含c m o s 传感器和图像信号处理芯片,需要额外提供时钟,接口较为复杂,对处 理器性能的要求较高,通用性较差;使用u s b 摄像头进行图像采集的优势在于接口简 单,通用性很强,只要驱动程序支持,在不同需求下可以更换不同的摄像头。但是综合 国内外的各类设计,使用u s b 摄像头设计的图像采集系统实现方式单一,通常需要在 硬件系统中添加u s b 主机控制器,并通过w i n d o w sc e 和l i n u x 操作系统加载摄像头驱 动,完成视频采集。一旦脱离操作系统,便很难实现u s b 同步传输。这意味着处理器 平台要有足够高的性能支持这种高端操作系统,所以视频采集系统的成本居高不下。需 要一种在低端硬件平台上实现独立u s b 驱动的视频采集解决方案。由于s o p c 平台有 着和微处理器系统使用相同的工作原理,同样存在这个问题。 随着多媒体技术的发展,图像编码在消费电子领域的地位越来越重要。数码产品的 发展也加速了图像编码技术在嵌入式平台上的应用,如何使用较低成本完成高质量图像 压缩是众多厂商追逐的目标。图像编码技术包括静态图像压缩和动态视频压缩,静态图 像压缩以j p e g2 0 0 0 标准为代表,由于静态压缩运算量相对不高,所以多种硬件平台均 提供了j p e g2 0 0 0 编码方案;目前流行的视频编码标准有m p e g 2 、m p e g 4 、h 2 6 3 、 h 2 6 4 等,现今绝大多数视频编码方案都使用高速d s p 系统做为开发平台。由于s o p c 的特有性能,在某些信号处理方面可以替代d s p 。目前,国内外均在s o p c 平台上实现 了j p e g2 0 0 0 为代表的静态图像压缩。在动态视频压缩方面,韩城大学已经使用s o p c 成功开发了h 2 硎a 、,c 视频解码器。然而国内外至今还没有基于s o p c 技术的视频编码 器的应用。 1 3 论文主要任务及特色 本文是将s o p c 技术应用于嵌入式视频监控系统,不仅需要进行s o p c 独特的开发 方式,还需要设计嵌入式网络视频监控系统的所有软硬件技术元素。 论文的主要任务如下: 丌发s o p c 系统。设计n i o si i 嵌入式处理器及相应外设,提供操作系统和网络 协议栈支持。 实现u s b 视频采集。设计并实现u s b 主机控制器的硬件电路及接1 :3 ,编写主 机驱动程序,完成视频数据的同步传输同步数据传输及后续视频处理。 设计h 2 6 3 视频编码器。自定制h 2 6 3 视频编码算法,针对s o p c 的技术特点 使用c 2 h 编译器对视频编码器进行优化。 完成视频码流的网络传输。设计d m 9 0 0 0 网络接口芯片驱动程序,并将其与 大连理下大学硕士学位论文 l w i p 协议栈接口,实现完整的网络体系结构。分别在客户端和服务器端编写s o c k e t 通 信程序,使用u d p 协议将压缩得到的视频码流传输给监控终端。 本文完成的设计有如下特色: 应用s o p c 技术设计h 2 6 3 视频编码器,填补了s o p c 技术在动态视频编码方 面的应用空白。 在s o p c 中实现操作系统无关的u s b 主机控制器同步传输驱动,此驱动同样可 以使用在基于a r m 的嵌入式系统,为视频采集系统在低端硬件平台上实现提供了可能。 使用c 2 h 编译器对视频编码的关键算法进行优化,此编译器将c 语言设计转 换为基于h d l 语言的硬件加速器。这项新技术将会加速s o p c 的普及。 1 4 系统模型 系统模型不仅能清晰表现设计的层次和联系,更能体现设计所需完成的任务。 - 一- - - - - - - 一- - - - 一- - - - 一- - 一- - j 图1 1 系统模型 f i g 1 1s y s t e mm o d e l 系统模型如图1 1 所示,模型重在表现系统中硬件和软件的关联信息,以及软件体 系中各个层次之问相互依赖的关系。处在系统最底层的是处理器和各种外设;而将外设 和和上层软件关联起来的是各自的驱动程序;在驱动程序之上的是n i o s i i 的h a l ,提 供应用软件和驱动程序之间的接口;上层应用软件依赖于h a l 、操作系统和l w i p 协议 栈,而操作系统和协议栈架构在h a l 之上。 模型同时也表现了本设计的数据流程,摄像头捕获的视频图像由u s b 主机控制器 采集,变换成y u v 图像格式后传递给h 2 6 3 视频编码器,编码后输出h 2 6 3 码流,用 s o c k e t 传递给远端的监控终端。 论文首先讲解s o p c 嵌入式平台的构建和开发过程。之后依次分析视频图像的采集、 视频压缩编码,以及视频编码的网络传输。 1 基y - s o p c 的网络视频监控系统的设计与实现 2s o p c 视频监控系统平台介绍 嵌入式系统开发平台分为硬件平台、软件平台和开发工具。硬件平台包含微处理器, i o 接口,外部存储器等各种外设;软件平台包含库文件、嵌入式操作系统、协议栈; 开发工具包括编译工具、调试工具、仿真工具以及下载工具等等。s o p c 系统的开发平 台较为复杂,本章介绍开发平台信息。 2 1 硬件平台 ( 1 ) u p 3 开发板硬件资源介绍1 4 1 本课题使用u p 3 开发套件。u p 3 套件为产品开发提供了一个低成本的解决方案。 开发板使用了a l t e r ac y c l o n ef p g a ,可以用来创建系统模型,进行系统仿真,开发v l s i 设计。同时提供完整的嵌入式系统硬件平台,包括工业标准互联,内存系统,多路时钟, j t a g 配置,扩展引脚,可在f p g a 内部可实现d s p 功能,进行嵌入式开发。u p 3 开发 板特性如下: 包含一个a l t e r ae p l c 6 q 2 4 0 芯片和e p c s i 配置芯片。 u s b l 1 ( 全速& 低速) 设备芯片。 2 k b y t e s1 2 cp r o m ( 可扩展) 。 1 2 8 k b y t e ss r a m 。 2 m b y t e sf l a s h 8 m b y t e ss d r a m 。 支持复合时钟( c p u 时钟,u s b 时钟,p c i 时钟,i o a p i c 时钟) 。 j t a g 和a s 下载。 7 2 个扩展i o 口。 1 个1 6 x 2 字符液晶模块。 ( 2 ) n i o s i i 处理器 n i o si i 是一个嵌入式理器,以i pc o r e 的形式在f p g a 中实现,是通用的r i s c 处 理器。提供如下特性: 全3 2 位的指令系统、数据路径和地址空间。 3 2 个通用寄存器组。 3 2 个外部中断源。 单周期指令3 2 x 3 2 乘法器和除法器,并且提供3 2 位运算结果。 单周期指令移位器。 提供多种片上外设,包括片外存储器和外设的接口。 提供i d e 调试环境,可进行开始,停止、单步和跟踪等硬件调试。 大连理工大学硕士学位论文 提供基于g n uc c + + 工具链的开发环境和e c l i p s ei d e 。 所有n i o si i 系列处理器提供兼容的指令体系。 性能超过1 5 0 d m i p s 。 n i o si i 处理器具有完全可定制特性、高性能、较低的产品和实施成本、易用性、适 应性和不会过时的优点。由于处理器是软核形式,具有很大的灵活性,根据自己的标准 定制处理器,按照需要选择合适的外设、存储器和接口。所以可以在多种系统设置组合 中进行选择,达到性能、特性和成本目标。 2 2 软件平台 ( 1 ) h a l 系统库介绍 h a l 系统库是一个轻量级的运行环境,它为上层应用程序和底层硬件接口提供了 一个简单的设备驱动接口。h a l 应用程序接口被整合在a n s ic 标准库中。h a l 应用 程序接口允许用熟悉的c 库函数进行设备读取,比如p r i n t f 0 ,f o p e n 0 ,f w d t e 0 等等。 h a l 系统库跟随当前硬件信息而改变。当s o p cb u i l d e r 生成硬件系统之后,n i o si i i d e 生成一个与之相对应的h a l 系统库。任何硬件系统的微小变动都会自动升级h a l 库的配置信息。h a l 清晰得分离了应用程序和设备驱动,这样做带来的好处是在更改 底层驱动的时候无需重新编写应用程序。 应用程序 c 标准库 h a l 应用程序接口 l c d 驱动u s b 驱动以太网驱动 n i o si i 处理器系统硬件 图2 1 基于h a l 的系统层次 f i g 2 1t h el a y e r so f ah a l - b a s e ds y s t e m h a l 系统库提供了如下服务: 与a n s ic 标准库整合提供了熟悉的c 标准库函数。 设备驱动提供了系统中各种设备的读取方式。 h a l 应用程序接口始h a l 服务提供了一致而且标准的接口,比如设备读 取,中断句柄和报警工具。 系统初始化在m a i n 函数之前对处理器和运行环境执行初始化操作 基于s o p c 的网络视频监控系统的设计与实现 设备初始化在m a i n 函数之前例化并初始化每个设备。 图2 1 是一个基于h a l 系统的基本层次图,表现了各个层次之间的关系以及软件 和硬件的联系。 h a l 为嵌入式系统的基本外设提供了许多通用的设备模型,比如定时器、以太网 m a c p h y 芯片和传输字符数据的i 0 外设。通用的设备模型是h a l 系统库的核心内容, 它允许应用软件设计者在不考虑底层硬件的情况下使用固定的a p i 编写应用程序。 ( 2 ) n e w l i b c 标准库 n e w l i bc 标准库是n i o si ii d e 使用编译环境所依赖的标准a n s ic 库。n e w l i b 是 一个用于嵌入式系统的开放源代码的c 语言程序库。特点是轻量级,速度快,可移植到 多种c p u 结构上。n e w l i b 库是一个复杂的标准c 库,包括字符串支持,浮点运算,内 存分配,和i o 流函数。n e w l i b 库由两个组件构成:l i b c 提供了主要的c 语言库的实现, 而l i b m 提供了浮点运算支持。 在实时操作系统编程中,n e w l i bc 库的使用需要慎重,因为不正规的使用可能会引 起多线程程序的不安全。c 的标准库是没有重入点的。如果没有考虑到重入,将导致在 多线程实时操作系统环境中的使用不安全。 ( 3 ) 实时操作系统1 1c o s - i i 【1 2 j l ic o s i i 是一个完整的,可移植、固化、剪裁的抢占式实时多任务内核。pc o s i i 是用a n s ic 编写,包含一部分汇编语言代码,使之可供不同架构的微处理器使用。至 今,从8 位到6 4 位,uc o s 己在超过4 0 种不同架构的微处理器上运行,并有上百 个商业应用实例,其稳定性和可用性是经过实践验证的。i lc o s i i 内核具抢占的实时 多任务调度功能,还提供了许多系统服务,例如信号量、消息队列、邮箱、内存管理、 时间函数等,这些功能可以根据不同的需求进行裁减。可以说,pc o s i i 是一个具备 现代操作系统特点的r t o s ,同时它结构清晰、注解详尽,具有良好的可扩展性和可移 植性,被广泛地应用于各种架构的微处理器上。pc o s i i 包含如下功能: 任务调度。这是i lc o s i i 最基本的功能。使进入就绪态任务中优先级最高的任 务得以运行。i lc o s i i 的任务调度器决定优先级最高的任务,并执行这个任务。保证 系统的实时运行。 任务管理。任务是嵌入式操作系统编程的最基本功能函数。操作系统利用任务 完成所有的系统功能。l lc o s i i 提供完善的任务管理,包括任务的建立、删除、改变 优先级、挂起和恢复。 时间管理。提供延时、计时,以及设置和获取系统时问的函数。 进程问通信。uc o s i i 提供多种方式管理进程间通信,包括信号量、消息邮箱、 事件标志组和消息队列。可以满足多种进程见通信的需要。 内存管理。主要为了避免在动态分配内存时出现的内存碎片。pc o s i i 把连续 6 大连理工大学硕士学位论文 的大块内存分区管理,避免了内存碎片问题的出现。 更具体的uc o s i i 和操作系统功能介绍请参考文献 1 l 】。 ( 4 ) l w i p 协议栈1 5 1 1 l w i p 是一套用于嵌入式系统的开放源代码的t c p i p 协议栈。l w i p 的含义是l i g h t w e i g h ti pp r o t o c o l ,是一种小型的t c p i p 协议栈。l w l p 可以移植到操作系统上,也可 以在无操作系统的情况下独立运行。l w i p 实现的重点是在保持t c p i p 协议主要功能的 基础上减少对r a m 的占用,一般它只需要几十k 的r a m 和4 0 k 左右的r o m 就可以 运行。 本课题中使用的l w i p 是1 1 0 版本。l w l p 的特性如下: 包含多网络接口下数据报转发的i p 协议。 负责网络维护和调试的i c m p 协议。 包含实验性扩展的u d p 协议。 支持阻塞控制、r t t 估算、快速恢复和快速转发机制的t c p 协议。 特定的应用程序接口。 可选择的b e r k e l y 套接口a p i ,通常用于多线程应用。 2 3 开发工具 r 函蒜r j l 图2 2s o p c 系统开发模型 f i g 2 2s o p cs y a e md e v e l o p i n gm o d u l e 7 - 基于s o p c 的网络视频监控系统的设计与实现 a l t e m 公司为n i o si i 系统开发提供了完整的开发套件,本课题使用的开发工具如图 2 2 所示,s o p cb u i l d e r 构建n i o si i 的硬件系统,包括定制处理器、添加组件,配置存 储器及各类接口设计;q u a r t u si i 将s o p cb u i l d e r 生成的n i o si i 系统加入工程,进行布 线、同步、编译,并下载到目标板配置成完整的f p g a 硬件系统;s o p cb u i l d e r 生成的 n i o si i 硬件信息放入p t f 文件,n i o si ii d e 通过p t f 文件得到系统硬件信息,生成相应的 h a l 系统库和驱动程序,应用程序在h a l 系统库的基础上进行编译与调试;软件调试 成功后,如有需要性能优化的算法,利用c 2 h 编译器进行硬件加速。最终调试成功后, n i o si ii d e 可将生成的f l a s h 文件下载到目标硬件。s o p c 系统开发完成。 大连理工大学硕士学位论文 3 系统开发流程的设计及难点分析 应用s o p c 技术进行开发和基于a r m 、d s p 的嵌入式系统开发不尽相同。a r m 系 统使用的是硬核处理器,处理器系统的结构固定,开发过程相对简单明了,仅包括底层 硬件系统的设计,驱动和应用软件的编写。但是s o p c 系统最重要的特点是处理器系统 和外设的可定制性,这种特性决定了s o p c 系统不仅需要设计硬件和软件系统,还要实 现处理器系统,包括地址总线的分配和外设接口的定制。如图2 2 所示,基于已有的硬 件系统,首先需要使用s o p cb u i l 盯定制处理器系统,再生成f p g a 硬件系统,同时进 行驱动和应用软件的设计。本章内容简单介绍系统开发的流程,再对组件开发、驱动开 发和应用软件开发三个难点做重点介绍。 3 1 视频监控系统开发流程 ( 1 ) 系统需求分析 在设计系统的第步,必须对系统需求进行详细分析。根据视频监控系统的硬件和 算法要求,来设计硬件和软件系统。系统分析包括以下几方面内容: n i o si i 处理器内核的选择。n i o si i 内核有三种类型:经济型,标准型和快速性。 速度越快所需f p g a 资源越多。结合视频编码需要的高性能和u p 3 开发板的有限资源, 选择标准型n i o si i 内核。 系统所需外设。已有的u p 3 硬件平台提供了存储器系统和显示模块,对视频监 控系统来说,需要添加的外设有视频采集的u s b 接口和视频传输的以太网接口。 实时操作系统支持。本课题的应用软件任务较多,使用前后台系统无法调度得 当,需要操作系统支持。但是u p 3 内存有限,无法使用高端的uc - l i n u x 等操作系统, pc o s i i 是最好的选择。 系统中是否有需要硬件加速以提高系统性能的地方。视频数据传输需要实时, 并且占用大量系统带宽,可以考虑用d m a 通道代替,以提高系统性能。视频压缩有许 多关键算法,比如d c t 变换、量化等,可以采用硬件加速器来代替关键算法。 ( 2 ) s o p cb u i l d e r 定制并生成处理器系统 s o p cb u i l d e r 包含与q u a r t u si i 中。用s o p cb u i l d e r 可以定制n i o si i 处理器内核、 内存、以及其他系统所需标准外设;也提供自定义外设和自定义指令的方法,并将它们 加入系统组件。s o p cb u i l d e r 为这些组件分配内存地址,并将这些它们相互连接,形 成一个完整的硬件系统。 s o p cb u i l d e r 的输出包括两部分内容: s o p cb u i l d e r 系统文件( p t d 。这个文件存储了所有s o p cb u l d e r 构建的系统硬 件内容。这个文件被n i o si ii d e 导入,生成硬件相关的系统库。 基于s o p c 的网络视频监控系统的设计与实现 h d l 文件。这些文件是硬件设计文件,对s o p cb u i l d e r 生成的n i o si i 系统进 行描述。这些文件被q u a r t u si i 导入用来创建f p g a 系统。 ( 3 ) 基于q u a x t u s 的硬件系统开发 用q u a r t u si i 可以创建最终的f p g a 硬件系统。在s o p cb m l d e r 中生成n i o si i 系统 之后,就可将h d l 文件集成在q u a r t u si i 之中。 很多设计并不只包含n i o s 系统,还有许多外围逻辑。这就需要在q u a r t u si i 中设 计并添加。同样,可以将其他i p 核加入工程来扩展系统功能。一个完整的s o p c 系统 就是由n i o si i 处理器系统和外围逻辑组成。 硬件系统设计完毕后,需要在q u a r t u s 中为各个接口分配i o 引脚,定义时序以及 其他配置。最后编译q u a r t u s 工程,生成一个f p g a 的s o f 配置文件。这个文件通过j t a g 接口下载到目标板中,于是完成一个s o p c 系统的硬件平台设计。 更具体的设计过程,请参考文献 1 0 】的设计实例。 ( 4 ) 基于n i o si ii d e 的软件系统开发 s o p cb u i l d e r 生成n i o si i 系统之后,在n i o si ii d e 中将p t f 文件导入,设计嵌入式 应用程序。为了更快的开发应用程序,并创建和底层无关的编程环境,n i o si ii d e 提供 标准外设驱动和h a l 系统库。 n i o si ii d e 产生了如下输出文件: s y s t e m h 文件。定义了系统中硬件的标识,此文件在程序编译过程中自动创建。 可执行文件( e 1 0 。此文件是n i o si ii d e 的编译结果,可以下载到f l a s h 执行。 内存初始化文件( h e x ) 。某些片上存储器需要预定义存储内容。i d e 为片上存储 器产生初始化文件。 f l a s h 程序数据。i d e 包含一个f l a s h 编程工具,允许将程序写入f l a s h 存储器。 f l a s h 编程工具加入适当的启动代码,使用户定义的系统可以从f l a s h 存储器启动。也可 以用f l a s h 编程工具将任意的数据写入f l a s h 存储器。 更详细的软件开发信息请参考3 3 节和文献【9 】。 3 2n i o s 的a v a l o n 组件设计 n i o si i 系统中的处理器、定时器、调试模块和各类外设接口都以组件形式在s o p c b u i l d e r 中被添加。这些组件通过a v a l o n 总线进行相互问的通信。组件设计也是s o p c 开发中最核心的部分。 ( 1 ) a v f l o n 总线 a v a l o n 总线是n i o si i 使用的数据传输总线,主要用于连接f p g a 片内处理器和外 设,描述了主、从组件之间的端口连接关系,以及组件之间通信的时序。a v f l o n 总线由 s o p cb u i l d e r 自动生成,当定义一个组件时,需要为这个组件分配某一类型的a v a l o n 大连理1 二大学硕十学位论文 总线。 a v a l o n 总线与外设连接的方式如图3 1 所示。一个系统内可以有多个主端口和多个 从端口,一个主端口可以连接多个从端口,a v a l o n 总线完成主从端口之间的信号转换、 时序分配、仲裁等多个任务。图中给出的是外设与从端口的连接模型,当系统需要一个 外设接入之前,必须为这个外设设计好相应的接口。所以说,创建组件的过程就是将外 设连接到a v a l o n 总线的过程。 i a d d r _ _ + 。s j w r i t ef 卜_ e d a t 一 n i o si i a v a l o n - - - - - - r e a dr 卜_ + , - - w e - - - * _ - i ) a t a - - - 从端口 - 4 - - o e - - - * 外设 主端口 总线 盯i t e d a t a - - - c o n t r o l 呻 - - r e a d d a t a 一 - i n 【o 一 + 一i r q - - - - - i - - - 。- - - - - - - - - 。 图3 1a v f l o n 总线传输模型 f i g 3 1a v a l o nb u st r a n s f e rm o d e l 更详细的a v a l o n 总线特性请参考文献【6 】第4 卷第1 部分第三节。 ( 2 ) 组件定义 s o p cb u i l d e r 组件是一个独立的设计模块,用来扩展s o p c 系统的功能和外设。组 件可以是一个外设的接口,也可以是f p g a 内部完成某一运算的逻辑功能块,不仅要完 成逻辑块的逻辑功能,而且要提供与n i o si i 内部a v a l o n 总线的接口。 每个组件自成体系,表现为一个用组件名命名的文件夹,其中包含一组文件,这些 文件描述了组件的各种信息。例如组件a l t e ma v a l o ni c d1 6 2 0 7 ,用t r e e 命令显示其目 录结构,得到如下信息: c o m p o n e n t s _ a l t e r a _ a v a l o nl c d 一1 6 2 0 7 i c l a s s p t f i e m l c d 一1 6 2 0 7 p l 卜- 一n c i a l t e r a a v a l o n i c d 一1 6 2 0 7 _ r e g s h l - - - h a l h n c l a l t e r a a v a l o n 一1 c d 一1 6 2 0 7 h l s r c 基于s o p c 的网络视频监控系统的设计与实现 信息; 信息; a l t e r a _ a v a l o nl e d 一1 6 2 0 7 c c o m p o n e n t m k 组件根目录下,c l a s s p t f 是配置文件,它用来描述组件的逻辑功能和硬件接1 2 1 e m l e d 一1 6 2 0 7 p l 是一个脚本文件,用来描述组件在s o p cb u i l d e r 中的配置界面 在i n e 目录下,放置的是i 0 读取头文件,此文件定义一系列宏用来读写设备; h a l 目录下有两个目录,一个是源文件目录s r c ,定义此设备驱动的功能函数, 另一个目录i n e 放置设备驱动的头文件。 第( 3 ) ,( 4 ) 部分内容在第3 4 节详细说明。本节主要讲述如何创建一个组件。 ( 3 ) 编辑组件 s o p cb u i l d e r 有一个工具是组件编辑器,允许用户创建自己的组件。典型的组件编 辑有如下过程: 用v e f i l o g 或v h d l 语言设计h d l 文件,此文件将外设的引脚与相应的a v a l o n 总线引脚进行映射,并对接口的逻辑功能进行描述; 设计组件的驱动程序和头文件。这些驱动程序提供对外设的读写方式,并提供 将组件注册到h a l 系统库

温馨提示

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

评论

0/150

提交评论