新闻中心

EEPW首页 > 设计应用 > 基于ADSL的视频传输系统

基于ADSL的视频传输系统

——
作者:西安电子科技大学ISN国家重点实验室 雷杰 吴成柯 周有喜 李云松 时间:2007-01-26来源:《世界电子元器件》收藏

引言

本文引用地址:http://www.eepw.com.cn/article/20801.htm

信息技术的不断发展使得人们不再满足于文字、语音等通信手段,融合文字、语音、图片、视频等媒介的多媒体通信应运而生,适应了当前人们的通信需求。而目前adsl接入网技术已经成熟,并得到了广泛的应用,随之成为人们相互交流、获取各种信息的有效途径。adsl接入网带宽大,为实时可靠地传输视频提供了很好的硬件基础。因此在adsl网络上的视频传输成为了一个迫切需要解决的难点。

本文讨论基于ip2022的adsl接入网视频传输系统。将本地的视频图像传送到internet上,使连接到internet的远程主机可以随时随地地浏览本地视频。我们按照mpeg-4视频压缩标准,在dsp芯片上实现高效视频压缩处理;根据pppoe、ppp、tcp/ip等协议,使用ip2022网络处理芯片,提出了通过adsl网络传输视频的完整解决方案,并对系统的硬件接口以及软件设计做了详细的描述,经实际测试,此系统实用性强,将在网络视频会议、小区家居智能化以及安防监控等领域具有非常好的应用前景。


系统模型

图1是本文讨论的系统模型。摄像头获取的图像以mpeg-4标准在dsp中进行压缩处理,生成低码流的视频数据,经过ip2022打包处理,由adsl调制解调器发送到internet上。

工作流程可概括如下:

(1)本地pc通过rs232串口,将用户名、密码、远程主机的ip地址及端口等信息写入ip2022的内部flash中保存下来。

(2) ip2022读出flash中的数据,配置相关的网络参数,使用adsl用户名和密码按照pppoe协议进行adsl拨号连接。

(3) 拨号连接成功后,ip2022通过spi数据接口接收视频数据,经过tcp、ip、ppp和pppoe层等各层打包处理后,将数据通过10base-t以太网接口传送给adsl调制解调器,由其发送到internet上。

(4) 连接到internet的远程主机(视频接收端),通过接收软件可以实时浏览本地视频。


系统设计

硬件设计

ip2022是美国ubicom推出的一颗功能强大的网络通信处理器,处理器速度可达120~160mips,片上有64k flash、16k sram(program)、4k sram(data)、10位adc。它采用软件模块的方式在芯片上实现多种通信接口,是业界领先的单芯片网络通信处理器,可以实现802.11b、802.11g、802.11a、bluetooth、homeplug、ethernet、 usb、 mii、 i2c、 spi、gpsi、 uart等协议,适用于无线通信和embedded internet的应用。ip2022内含全双工硬件串/并(serdes)模块,能直接与各种常用网络接口连接。可实现片内10base-t 以太网( mac 和phy)usb,以及其他各种快速串行协议。由于其内含两个serdes部件,能方便地从一种格式转换为另一种格式,所以也能作协议转换器。ip2022的工作频率为100mhz,大多数指令均为单周期执行,其吞吐量能满足各种新型网络连通应用的要求。ip2022以软件模块(ipmodules) 形式实现外设通信和控制功能,比传统硬件具有更大的系统设计灵活性,还提供了传输控制协议、网际协议、网络协议栈,并具有一系列完整的端到端连通方案所必须的附加软件。

本文所设计系统的核心就是ip2022网络处理器,基于ip2022的系统原理框图如图2所示。
在本系统中,使用了ip2022的两个ser/des硬件单元、一个ser/des软件单元以及tcp/ip协议栈、ppp协议栈、uart协议栈、spi协议栈等等。其中的一个ser/des硬件单元配置成spi串口,与dsp视频处理器连接,接收其发来的视频数据。另一个ser/des硬件单元配置成10base-t以太网口,与adsl调制解调器连接,负责连接internet并向其发送从spi口接收到的视频数据。还有一个ser/des软件单元经过电平转换电路(max232)转换成标准的rs232接口,与本地的pc机连接,负责配置ip2022网络处理器的相关网络参数。

系统时钟模块为硬件系统提供工作所需要的时钟脉冲,这部分比较简单,我们选择4.8mhz的无源晶振,经测试可保证系统稳定工作。
程序的写入和调试是通过在线编程接口实现的,ip2022支持在线编程和调试,该部分主要把ip2022的编程接口引出,加以适当的隔离保护,并通过spi和主机并口的转换电路与调试主机的并口相连接。

在本系统中,内部电压有两种,一种是接口设备所需要的3.3v,另一种是ip2022内核所需要的2.5v。这两种电压是经过电源转换模块转换而成。
dsp视频处理器主要负责采集摄像头获取的图像,并对其进行压缩编码,得到低码率的视频数据,通过内部的主spi接口模块把视频数据发送给ip2022网络处理器。

软件设计

软件设计的主要任务是按照pppoe协议、ppp协议、tcp/ip协议实现adsl网络接入,包含有本地rs232串口配置、拨号连接、spi口数据接收处理、tcp层数据传输等四个部分。首先对所使用的相关协议作一简单介绍,然后分别详细阐述软件四个组成部分的功能及实现。

涉及协议介绍

adsl(asymmetrical digital subscriber line,非对称数字用户环路)是一种能够通过普通电话线提供宽带数据业务的技术,是目前极具发展前景的一种接入技术。adsl接入技术中,核心的是pppoe协议。

pppoe(point to point protocol over ethernet)是以太网上传送ppp数据包的协议,它提供了在广播式的网络(如以太网)中多台主机连接到远端的访问集中器(我们对目前能完成上述功能的设备为宽带接入服务器)上的一种标准。pppoe协议共包括两个阶段,即pppoe的发现阶段(pppoe discovery stage)和pppoe的会话阶段(pppoe session stage)。在发现(discovery)过程中,用户主机以广播方式寻找可以连接的所有的接入集线器,并获得其以太网mac地址。然后选择需要连接的主机并确定所要建立的ppp会话识别标号。在会话阶段,用户主机与接入集线器根据在发现阶段所协商的ppp会话连接参数进行ppp会话。依次进行ppp层的lcp包的配置、pap包的配置、ipcp包的配置,在协商好ppp协议的各选项之后,就可以进行ip数据包传输了。为保证视频传输的高可靠性,我们采用tcp/ip协议传输视频数据。

系统软件的四个重要组成模块

(1)本地串口配置软件模块

接收pc机通过rs232串口发送的数据,这些数据包括ip2022网络处理器的mac地址、ip地址、子网掩码等网络参数,还包括需要连接的远程主机的ip地址、端口号等信息,同时还有adsl拨号上网的用户名及密码等数据;接收正确后,ip2022将这些数据存储在它内部的flash中,便于掉电或系统重启后能按原有的配置模式正常工作。

(2)拨号连接软件模块

按照pppoe协议,初始化ip2022网络处理器的网络设置,选择ppp协议的各项参数,使用有效的adsl用户名和密码连接到internet网络上,如果一次未能连接上,则延时后自动重连,直到连上为止;若由于网络拥塞或远程主机故障导致网络连接断开,则需要延时后继续尝试连接。此软件模块主要就是负责建立与internet之间的连接链路。

(3)spi数据接收处理软件模块

作为spi从设备,以中断方式接收dsp视频处理器发送过来的视频数据,存放在ip2022的内部存储区内,当一个数据块接收完成后,再读出视频数据并发送到网络上。此软件模块主要完成与dsp视频处理器之间的数据传输,为确保数据不丢失,dsp在发数据前先给ip2022发送请求信号,ip2022开辟一定大小的存储空间成功后,判断dsp发来的请求信号,并反馈一个确认信号,通知dsp可以开始发送数据了;而dsp数据发送完成后会等待ip2022的确认接收完成信号。这样的交互过程可以保证数据准确可靠地通过spi口传输。其时序图如图3。

(4)tcp层数据传输软件模块

系统拨号连接到internet之后,根据远程主机的ip地址和端口号请求与其建立tcp连接,此过程包括定义并初始化tcp_socket,发送建立tcp连接请求,若成功则允许系统将spi口接收到的视频数据发送到网络上,否则释放tcp_socket占用的内存空间并将其删除,延时后再次新建tcp_socket并请求建立tcp连接,如此反复直到tcp连接建立成功。若由于其他原因tcp连接断开了,则此软件模块在判断并确认连接断开后,自动请求再次建立tcp连接,以确保视频数据不间断地传送到远程主机。
系统软件工作流程如图4所示。

总结

经过实际测试,系统的视频处理部分能以每秒20帧以上的速度实时处理视频图像,对于视频质量的评测,我们采用foreman序列作为固定的视频源输入进行相应的测试,图像质量良好,其psnr值平均大于34db以上如图5所示;系统在512kbps带宽下实测的帧率统计,如图6所示。



tcp/ip相关文章:tcp/ip是什么




关键词:

评论


相关推荐

技术专区

关闭