电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>嵌入式开发>基于嵌入式Linux的3G无线视频终端的设计方案解析

基于嵌入式Linux的3G无线视频终端的设计方案解析

2017-10-27 | rar | 0.1 MB | 次下载 | 1积分

资料介绍

 随着网络技术和嵌入式技术的迅猛发展,通过网络来实现视频监控已经得到了广泛的应用,3G网络以其高带宽使得传输流畅的视频信息成为可能,本文在采用3G技术的基础上设计了一款基于嵌入式Linux的无线终端,在数据处理部分采用了Linux的Netfilter架构,通过挂载钩子函数来实现数据包在内核态的获取及高效转发,并且通过在Linux内核开辟一片缓冲区,解决了视频服务器与3G模块拨号延时而造成的速率不匹配的问题,减少了数据丢包。配合Netfilter用户态管理工具iptables的使用,可实现包过滤防火墙,及NAT等功能,从而便于本系统对流经其数据包的管理。
  另一方面对嵌入式Linux的视频采集程序的设计进行了详细的介绍,并将其实际应用到了本系统的数据采集模块中去,完成了数据的采集工作,同时针对目前市场上对与3G模块通常只提供Windows CE下的驱动这一情况,开发了嵌入式Linux系统下的3G模块驱动程序,在软件设计上充分发挥了开源软件的优势,采用高效的Xvidcore编解码库,来完成视频的编码,以及使用PPP源码来编译拨号上网工具,成本低廉并且缩短了系统的开发周期,使得本系统具有较强的工程实用价值。
  1 系统硬件结构
  硬件上采用“ARM 3G模块”系统架构。ARM与3G模块采用分离模块的设计方法,通过USB线相连,较整体设计而言具有更好的灵活性,使得一些现有的以ARM为主处理器的系统能够很好地扩展3G功能,便于产品的过渡。本系统的核心处理器是S3C2440A,S3C2440A是一款由SamSu-ng半导体公司推出的基于ARM920T内核的16/32位RISC微处理器。内部带有全性能的MMU(内存处理单元),主频为400MHz最大可达到533MHz,提供了一个数字摄像头接口(Camera Interface)。具有高性能、低功耗、接口丰富和体积小等优良特性。而3G模块核心部件采用的是MC8630模块,该模块具有语音、短信和高速数据业务等功能,可以广泛应用于高速数据传输、安防、无线媒体、直放站监控、铁路终端和车载监控等领域。
  系统硬件结构如图1所示。
  基于嵌入式Linux的3G无线视频终端的设计方案解析
  2 系统软件设计
  系统主要由视频采集模块、数据处理模块、网络转发模块组成。
  2.1 视频采集模块设计
  根据项目的实际需要,在本系统中视频数据来源主要有两个方面:
  1)系统与可提供主动上传功能的视频服务器通过RJ45网线直接相接 主要用于完成多路视频图像采集。视频服务器的主要功能是将摄像头采集的数据完成编码压缩,并且将压缩的数据以IP包的形式发送给接收端,由于该类视频服务器通常是在局域网内使用,目前还很少有对于3G网络的支持,随着3G技术在国内发展的不断深入,将在很大程度上取代有线网络。所以本系统可作为现有视频服务器的3G功能扩展。针对在外接视频服务器时只需对收到的数据包进行转发而无需对IP数据本身做分析处理的问题,并且在系统启动到3G模块拨号成功获得IP地址之间会有一定的延迟,在本系统中提出了采用Linux的Netfilter架构的方法以及缓冲机制,通过在数据流经TCP/IP协议栈时挂载钩子函数,实现IP数据在内核态的获取,并且通过在内核开辟一块足够大的环形缓冲区来存储数据。由于系统需要频繁对缓冲区进行读写,为避免产生内存碎片,在本系统中采用了环形队列的数据结构。在3G模块获得IP地址后,再通过驱动读取缓冲区中的数据,由3G网络完成转发,从而降低丢包率并且提高数据包的转发效率。因为传统的方法是采用socket API来进行网络编程,其对数据的访问通常发生在用户态,对于Linux操作系统来说,用户进程的优先级和所占用的CPU时间要远远小于内核线程,同时内核进程拥有较高的执行优先度,故在网络布局允许获得IP数据包的条件下,将用户态的数据包获取功能载入内核态,可进一步提高系统的处理能力,增加系统的有效带宽,本方法还可用于其他对IP数据本身进行处理并且对处理效率有苛刻要求的系统中,例如:本方法在本实验室与某航空院合作开发的IP-TS协议转换器上也得到了成功的应用,具有一定的通用性。Netfilter是Linux 2.6.x系列内核提供的一套数据包过滤框架,基于该框架的软件能够实现如数据包过滤、网络地址转换(NAT)等功能。要使用Netfilter,在内核编译时设置“Network Packet Fihering”选项。Netfilter提供了一个抽象、通用化的框架,作为中间件,为每种网络协议(IPv4、IPv6等)定义一套钩子函数。对于Ipv4协议定义了5个钩子函数,这些钩子函数在数据报流过协议栈的5个关键点被调用,Netfilter可以在通过TCP/IP协议栈的路径中的几个定义良好的点上捕获数据包,IPv4中的一个数据包通过netfilter系统的过程如图2所示。
  基于嵌入式Linux的3G无线视频终端的设计方案解析
  NF_IP_PRE_ROUTING
  在对数据包进行初始正确性检查(校验和等)后,截获该数据包。
  NF_IP_LOCAL_IN
  如果数据包将要到达本地主机,则捕获该数据包。
  NF_IP_FORWARD
  如果数据包将要到达某些其他主机,则捕获该数据包。
  NF_IP_LOCAL_OUT
  在本地捕获其目的地是外部的已创建的数据包。
  NF_IP_POST_ROUTING
  这是最后的钩子,在此之后将传输数据包。
下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1TC358743XBG评估板参考手册
  2. 1.36 MB  |  330次下载  |  免费
  3. 2开关电源基础知识
  4. 5.73 MB  |  6次下载  |  免费
  5. 3100W短波放大电路图
  6. 0.05 MB  |  4次下载  |  3 积分
  7. 4嵌入式linux-聊天程序设计
  8. 0.60 MB  |  3次下载  |  免费
  9. 5基于FPGA的光纤通信系统的设计与实现
  10. 0.61 MB  |  2次下载  |  免费
  11. 6基于FPGA的C8051F单片机开发板设计
  12. 0.70 MB  |  2次下载  |  免费
  13. 751单片机窗帘控制器仿真程序
  14. 1.93 MB  |  2次下载  |  免费
  15. 8基于51单片机的RGB调色灯程序仿真
  16. 0.86 MB  |  2次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33564次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21548次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6653次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537796次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191185次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183278次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费