一种无线视频传输的设计和实现

时间:2011-09-05

 

  无线通信技术和视频压缩技术的迅速发展,使得无线视频传输成为人们研究的热点。无线视频传输具有数据量大,实时性要求高,无线信道资源有限的特点。无线视频传输就是指不用布线(线缆)利用无线电波来传输视频、声音、数据等信号的监控系统。无线图像传输即视频实时传输主要有两个概念,一是移动中传输,即移动通信,二是宽带传输,即宽带通信。新一代的视频压缩标准H.264结合专用视频DSF芯片可以满足信源编码的要求。而处理数据量大,速度快,运算结构相对简单的FPGA适用于信道编码。基于以上考虑,设计了一个无线视频传输系统,并以发射端ADSP-BF537作为控制器,配置FPGA和进行数据通信。

  1 总体结构实现方案

  系统硬件的实现方案如下:

  发送端由摄像机、专用视频编码芯片、控制模块、基带模块、射频模块(RF)等部分组成。接收端由射频接收模块、控制模块、基站模块、专用视频解码芯片等部分组成。系统结构如图1所示。

 

无线视频传输系统结构

 

  视频编码部分使用基于DM642的H.264视频编码器。该芯片通过网口传输数据,输出的视频流是H.264格式,输出图像的分辨率范围为176×144~702×576,而且可以根据具体需要修改码流和帧率。

  控制模块其主要作用是完成FPGA的配置、接口控制、通信链路的建立(视频流数据的传输)。

    FPGA完成整个基带信号处理,包括信道编码、OFDM调制、滤波等。

  射频模块由发射单元、接收单元、频率合成单元、外置15 W功放等四部分组成,采用差分I,Q信号调制、解调,双向传输。发射单元将I,Q差分输入经调制芯片调制成340 MHz的射频信号,经功率控制、功放、隔离器送往环行器、天线;通过收发电平控制进行发送和接收的切换;接收单元对接收信号进行滤波、低噪声放大器后送I,Q解调芯片解调出差分的I,Q信号,并进行RSSI检测和AGC控制。工作模式采用半双工模式;频率合成单元为发射单元提供340 MHz本振信号,为接收单元提供680 MHz本振信号。

  2 控制模块中DSP与FPGA数据通信

  数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。

  FPGA即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。

  由于FPGA基于SRAM工艺,上电后数据会丢失。一般FPGA除了采用边界扫描方式JTAG外,更多采用与FPGA相对应PROM芯片静态配置,这种配置方式由于PROM容量小,价格昂贵,易于烧坏等缺点,在产品化之前一般不予采用,更可取的方法是采用控制器动态配置FPGA,比如单片机、DSP。同时,视频服务器通过网口发送视频数据,需要一个控制部分前向网口接收视频服务器的数据,后向配置FPGA,发送视频数据。基于以上考虑,整个系统中控制部分均由ADI公司的Blackfin系列DSP BF537完成,DSPBF537通过接口与视频服务器和FPGA通信。

  2.1 硬件平台

  ADSP与另外一个着名的德州仪器(TI: Texas Instrument)生产的芯片特点相比较,具有浮点运算强,SIMD(单指令多数据)编程的优势, 比较新的Blackfin系列比同别TI产品功耗低。缺点是ADSP不如TI的C语言编译优化好。TI已经普及了C语言的编程,而AD芯片的性能发挥比较依赖程序员的编程水平。ADSP的Linkport数据传输能力强是一大特色,但是使用起来不够稳定,调试难度大。Blackfin处理器集成了一个由ADI公司和Intel公司联合开发的基于MSA(Micro Signal Architecture)的16/32位嵌入式处理器,支持32位RISC指令集,采用10级流水线,集成了两个16位乘法加速器,内核主频可以达到600 MHz。ADSF-BF537总线有一个以DMA控制器为中心的高速自主数据通道。DMA总线可以在存储器之间、存储器和外部接口之间快速地传递数据,并且可以和内核并行操作。ADSP的集成开发环境Visual DSP++中嵌入了实时操作系统内核VDK,适合多任务多线程的嵌入式操作。

  2.2 硬件系统架构

  DSP与视频服务器采用轻量级TCP/IP(LwIP)交互数据,这里不过多介绍。主要介绍DSP与FPGA连接。由于FPGA基于SRAM工艺,掉电后数据会丢失。采用的方法是将作用于FPGA的通信基带算法文件存储在DSP的FLASH中。一般调试时,DSP及FPGA都需要从PC机通过JTAG口进行程序的。但当系统程序已经调试完毕,当需要到户外进行测试或作为产品使用时,针对系统调试的方便性,采用DSP自启动及配置FPGA部分。

  本设计中采用的DSP上电从16位FLASH启动,启动程序采用Analog公司提供的烧写启动FLASH的程序。次上电时,利用JTAG,结合ADSP自带工具“FLASH Programmer”将写好的DSP程序烧入FLASH中。并且将FPGA的配置文件(.bit格式)读到缓存,通过DSP烧写到FLASH的Bankl和Bank2中,把Bank0用来做DSP自启动。断电复位后,启动过程如下:

  (1)BF537从FLASH引导启动,完成DSP板级初始化。

  (2)FPGA的配置文件动态加载到FPGA中。

  (3)用DSP的GPIO端口对FPGA的时钟和数据配置专用引脚进行模拟时序,即完成对FPGA的动态配置。

  在启动过程完成后,DSP与视频服务器进行Sock-et连接,接收压缩的视频码流,并送到FPGA进行基带部分的处理。DSP与FPGA的接口部分如图2所示。

 

DSP与FPGA的接口部分

 

  图2中DSP通过自身的外部总线与FPGA相连,FPGA内部实现了两个2 KB的异步存储器SRAM0,SRAM1,对存储器的访问满足DSP外部总线的时序要求。图2中接口连线含义如表1所示。

 

接口连线含义

 

  对DSP而言,DSP通过外部总线连接到SRAM0和SRAM1,这就相当于外扩了两个外部RAM,DSP可以自由地访问它们。图2中的SRAM0,SRAM1分别用于DSP发送数据和接收数据。SRAM0和SRAM1本身是双口RAM,可以供DSP和FPGA访问,就是通过这种共享存储器的方式完成数据交互。

  2.3 软件系统结构

  相关程序是用含有VDK(Visual DSP Kernel)的DSP软件开发工具Visual DSP开发的。VDK是一种带有API函数库的实时操作系统内核,它具有任务调度和任务管理功能,一共支持32个任务。VDK是整个软件的基础,所有其他的程序都运行在该Kernel上。程序流程图如图3所示。

 

程序流程图

 

  上电或复位后,DSP自启动后VDK启动线程lwip_sysboot_threadtype开始运行。在线程lwip_sysboot_threadtype中进行板级初始化和Lwip协议栈和网口初始化,其中板级初始化包括FPGA初始化,EBIU初始化,MDMA初始化,FLAG初始化。接下来创建下面几个线程:

  (1)数据传输:视频数据传输。用于从编码器获取编码后的视频数据流,并存储到缓冲区中。

  (2)FPGA中断:视频数据发送中断;MDMA中断。

  DSP首先通过Socket与视频服务器连接,从视频服务器获取视频数据,并将数据缓存后按照特定的格式打包,等待FPGA触发视频数据发送中断。中断触发后,DSP启动MDMA将一帧大小的数据发送给FPGA发送缓冲区。当MDMA操作完成后,触发MDMA中断,将帧头写入FPGA发送缓冲区的头两个字节。FPGA将接收的数据进行基带算法处理后再将数据发送给射频部分,之后FPGA再触发视频数据发送中断,告诉DSP可以下一帧的发送,于是又启动MDMA,如此循环。

  3 实验结果和分析

  对系统在不同的信噪比的环境中传输的误码率进行了测试。测试方法如下:将发射机的输出端口通过数据排线与逻辑分析仪相连,逻辑分析仪将采集到的一帧发射信号送到PC中用Matlab软件对其加上噪声,得到信噪比固定的信号。将这个信号导人信号源中进行不间断循环发送给接收端的输入端口。接收机接收信号进行解调并将解调出的数据传给PC以统计误码率。测试结果如表2所示。

 

测试结果

 

  4 结 语

  随着实验环节在BF537产品开发过程中所占时间和开销的迅速增加,Altera和Xilinx在其大容量FPGA芯片产品中,都集成了特定类型的CPU作为系统处理器,但它们都受到特定FPGA器件的限制。因此利用ADSP内嵌的强大Blackfin处理器和丰富的DSP外设,可以有效地提高验证的效率和功能的完整性。本文的总线接口模块的设计对具有不同读写时序的验证板的正常工作起着重要的作用,BF537原型的搭建必然要求本模块能真实反映实际AHB总线的动作,这样对于保证各个功能模块的完整性和实时工作将起很大的作用。

 


  
上一篇:基于MSP430F169的环境光自适应LED显示屏设计
下一篇:ISL5416在GPS/BD-2接收机DDC的设计和研究

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料