基于VDK的网络音频监控系统的设计与实现.docVIP

基于VDK的网络音频监控系统的设计与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VDK的网络音频监控系统的设计与实现 目录 TOC \o 1-9 \h \z \u 目录 1 正文 1 文1:基于VDK的网络音频监控系统的设计与实现 2 0 引 言 2 1 VDK的组成原理 2 第二是时间片轮转调度方式。 3 2 TCP/IP堆栈移植 3 3 基于VDK的SOCKET编程 4 4 硬件电路设计 4 5 基于VDK的应用程序设计 6 (5) 由线程销毁模块完成对初始化线程的销毁。 7 6 结 语 8 文2:监控系统的设计与实现 8 1 多路mpeg-4监控系统结构 8 2 mpeg-4压缩编码模块 9 3 pcl 总线控制模块 10 4 高速数据传输机制的设计 11 参考文摘引言: 14 原创性声明(模板) 15 文章致谢(模板) 15 正文 基于VDK的网络音频监控系统的设计与实现 文1:基于VDK的网络音频监控系统的设计与实现 0 引 言 近年来,数字音频监控系统在我国发展迅猛,尤其是在广播领域,该系统担当着越来越重要的角色,另外,在保证音频信息准确度和实时性的条件下,实现音频数据的网络传输也成为一项十分重要的技术。 本系统以BF533为核心处理芯片,以软件工具VDSP++的自带VDK内核为基础,移植了LWIP作为网络主要结构,实现了TCP/IP在ADSP-BF533上的移植。同时在VDK的基础上,通过开发Socket服务器程序,实现了嵌入式网络终端与上位机电脑直接的数据传输。 1 VDK的组成原理 VDK实际上是一种带API函数库的实时操作系统内核.这是一款规模很小但却十分健壮的内核,它是Visual DSP产品的一部分,VDK也一样会随Visual DSP进行相应的升级或改版。使用VDK从产品维护的角度来看,是十分方便的。使用VDK也不会带来附加成本。它具有任务调度和任务管理功能,一共可支持32个任务。VDK是整个软件的基础,所有其他的程序都运行在该Kernel上。VDK的组成部分主要包括线程、调度、信号、中断服务程序、设备驱动、API等。 VDK的工作原理是首先引入多任务并且为每个任务都分配自己的堆栈空间,然后由任务调度器来决定哪个任务获得内核时间。任务调度主要涉及三种方式: 第一是合作调度方式。该方式是最简单的调度方式,系统中所有线程被赋予相同优先级的调度权,系统中线程在运行态占用处理器资源,在阻塞态时被排列在等待队列的最后,也可以自己调用yield函数,以使线程退出运行态而进入等待队列。另外,任何系统调用都会引起当前正在运行的线程阻塞。 第二是时间片轮转调度方式。 时间片调度方式给予每一个优先权相同的线程固定的执行时间间隔。VDK中时间间隔是通过设定tick参数确定的。 第三是抢先式调度方式。如果等待队列中有比正在运行的线程优先级更高的线程,则正在运行的线程阻塞后进入等待队列,等待队列中优先级最高的线程获得执行权。该方式提供了比其他两种方式更有效、而且更灵活的调度方式。对嵌入式编程者来讲,最熟悉的调度方式就是“时间片轮转”的方式,在这种方式下,每个应用程序只占用很短的CPU时间,用户几乎无法察觉它们在进行轮换。操作系统或VDK会自动地将操作系统的控制权以轮转调度或时间片的方式在所有线程之间进行传递。每个线程所得到的处理器控制时间的长度由程序员定义。该方式的优先级可以被静态地分配,也可以被动态地分配。静态分配意味着应用程序在创建时就已经被指定好了优先级。动态分配则意味着程序的优先级在其运行时仍能被改变,也就是说,在线程实体化或运行时,其优先级都能被改变。 2 TCP/IP堆栈移植 关于TCP/IP堆栈移植,ADI提供有快速解决方案,即一个轻便型堆栈Lwip。Lwip(Light-wEight Internet Protocol)是瑞士计算机科学院(Swedish Ititute of Computer Science)的Adam Dunkels等人开发出来的一套用于嵌入式系统的开放源代码TCP/IP协议栈。Lwip的主要优点是可在保持TCP/IP协议主要功能的基础上,减少其对RAM的占用。一般情况下,它只要几十KB的RAM和40KB左右的ROM就可以运行,这使得Lwip协议非常适合在嵌入式系中使用。 Lwip堆栈的调用基于ADI的驱动模型以及System Services Libraries(即系统服务函数库)。Lwip堆栈支持IP、ARP、ICMP、TCP、UDP等基本协议,同时支持一套标准的BSD Socket接口函数。 3 基于VDK的SOCKET编程 应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程

文档评论(0)

agui1991 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档