随着移动通信技术的发展,无线视频通信已经在第三代移动通信系统中得到应用。但是移动通信网络是大众应用型网络,适用于远距离视频通信,对于近距离视频通信(几十米到几百米),不仅费用高,而且带宽可能会受到限制,传输可靠性不能得到保证。因此,我们可以采用较为成熟的近距离无线视频通信技术。设计中采用了JPEG2000专用压缩芯片来进行视频压缩,能实现较高压缩比。
1 无线视频传输系统的组成
无线视频传输系统主要由视频图像采集模块、JPEG2000实时压缩模块、控制模块和通信模块等组成。无线视频传输结构框图如图1所示。
主要模块介绍如下:
①视频图像采集模块,由CMOS图像传感器OV7670构成,完成图像的采集和滤波处理;
②JPEG2000实时压缩模块,主要由JPEG2000编解码芯片ADV212完成视频的实时压缩;
③控制模块(LPC1768),处理红外触发信号及视频的存储和发送;
④通信模块,包括无线传输模块和网络适配器(可扩展);
⑤存储器,SD存储卡。
2 系统模块设计
系统主要包括视频图像采集模块、JPEG2000实时压缩模块、控制模块和无线传输模块。
2.1 视频图像采集模块
视频图像采集由OmniVision公司的OV7670图像传感器完成,JPEG2000实时压缩模块采用ADI公司的ADV212实时压缩芯片来实现。
2.1.1 OV7670
OV7670是30万像素CMOS VGA图像传感器。它具有体积小、工作电压低等特点,可提供单片VGA摄像头和影像处理器的所有功能;通过SC CB总线控制,可以输出整帧、子采样、取窗口等方式的各种分辨率8位影像数据;最高帧率可达30 fps,用户可以完全控制图像质量、数据格式和传输方式;所有图像处理功能如伽玛曲线、白平衡、饱和度、色度等,都可以通过I2C总线以SCCB方式进行配置;感光阵列为640x480,可以输出YCbCr(4:2:2)的格式数据。
2.1.2 ADV212
ADV212是ADI公司推出的一款用于实现静态图像压缩最新算法标准JPEG2000的专用图像压缩编解码芯片。它采用SRAM工艺构造,延迟小、功耗低、成本低。工作模式可通过设置内部寄存器来灵活控制,适用于多种视频和静止图像格式数据的压缩处理。它主要由像素接口、小波变换引擎、熵编解码器、嵌入式处理器、存储器系统、内部DMA引擎和外部DMA引擎等组成。单片ADV212单次压缩最大能处理的数据量为1MB,设计中采用YCbCr(4:2:2)格式,单帧数据量为600KB,完全可以满足要求。视频图像采集与控制结构框图如图2所示。
OV7670的初始化配置由控制器LPC1768通过I2C总线以SCCB方式进行配置,可以进行读写的寄存器地址范围是00~C9H,其中很多不用进行改写,只需默认值;使能信号为ENABLE=1,非使能信号为DISABLE=0;从地址0x42是写,0x43是读。常用的寄存器COM7(12H)是输出格式寄存器,COM10(15H)是行场设置寄存器以及其他COM类通用控制寄存器。
LPC1678通过设置引脚PWDN为高电平使其进入睡眠状态。如果有触发信号,则进行视频图像采集;视频采集由OV7670和ADV212来完成。其中引脚PCLK为像素时钟信号,HREF为行同步信号,VSYNC为帧同步信号,数据格式采用YCbCr(4:2:2)(8位)。这正好符合ADV212芯片要求的格式,通过OV7670的D[7:0]引脚与ADV212的VDATA[11:4]引脚来完成数据传输。
2.2 无线传输模块
2.2.1 nRF24LU1+无线收发芯片
nRF24LU1+是Nordic公司推出的一款将高性能射频收发器和单片USBdongle功能结合起来的无线收发芯片。它可实现无线数据到USB数据形式的转换,这样就实现了芯片与PC机的连接。nRF24LU1+内含1个增强型的8051内核、无线收发模块以及符合全速USB 2.0标准的器件控制器。VBUS(USB工作电源)工作电压范围为4.0~5.25V。nRF24LU1+是单片结构,外形尺寸为5mm×5mm。它的最高速率可达2Mbps,兼容所有nRF24系列芯片;使用Enhanced Shocked Bust技术可以实现数据包的自动打包、解包和传输处理(应答/重传)功能。nRF24LU1+外围电路如图3所示。
2.2.2 功率放大器PA和低噪接收放大器LNA
单独采用nRF24LU1+芯片只能实现近距离的无线通信,范围最多几十米。为了增加无线视频传输的距离,大约几百米的无线通信就需要加入功率放大器PA。从数据通信距离考虑,还需要增加芯片输入端的接收灵敏度,选用合适的低噪接收放大器LNA和滤波器就成为必然。设计中选择Maxim公司生产的MAX2240和MAX2644。功放和低噪接收电路如图4所示。
MAX2240芯片是专为2.4~2.5GHz频段的应用设计而开发的,它符合Bluetooth、HomeRF、IEEE802.11b标准以及其他FSK调制系统的要求。MAX2644是一款专门为WLAN、Bluetooth等工作在2.4GHz频段内的设备而设计的高三阶交调点的低噪声放大器。放大电路中,微波开关采用的是Hittite公司生产的低成本SPDT微波开关,型号为HMC545。该开关特别为3G和ISM频段工作的设备设计,其插入损耗非常小只有0.25dB。HMC545采用SOT封装,体积小,可采用CMOS或TTL电平控制。利用nRF24LU1+芯片的VDD_PA引脚可控制无线发送和接收功能的切换。
2.3 核心控制器LPC1768
2.3.1 LPC1768功能介绍
系统的主控制器采用LPC1768,它采用Cortex-M3内核,可提供系统增强型特性,用于满足要求高度集成和低功耗的嵌入式应用。Cortex -M3控制器的操作频率可达100 MHz,具有三级流水线和哈佛结构;带有独立本地指令、数据总线以及用于外设的性能稍低的第3条总线,还包含一个支持随机跳转的内部预取值单元。LPC1768系列Cortex-M3微控制器的外设组件包括512 KB的Flash存储器、64KB数据存储器、以太网MAC、USB主机/从机/OTG接口、8通道的通用DMA控制器、4个UART接口、2条CAN通道、2个SSP控制器、SPI接口、3个I2C接口、2输入和2输出的I2S接口、8通道的12位ADC、10位DAC、电机控制PWM、正交编码器接口、4个通用定时器、6输出的通用PWM、带独立电池供电的超低功耗RTC和多达70个通用I/O引脚。nRF24LU1+具有SPI口,可以方便实现与LPC1768的连接。
2.3.2 LPC1768与ADV212的连接
①控制总线:ADV212支持16位和32位的总线控制。LPC1768是32位ARM控制器,所以采用32位控制总线实现对ADV212的配置和控制;通过LPC1768的高速GPIO口控制引脚P1[31:0]。其中ADDR[3:0]引脚为地址总线,对ADV212的直接型寄存器进行读写;ADV212接收到OV7670的帧数据后对其进行JPEG2000压缩,压缩后的数据存放在ADV212内部的CODE FIFO中。LPC1768与ADV212之间的连接采用32位正常主机模式的异步SRAM接口通信,其16个直接寄存器映射到控制器的寄存器进行固件加载和参数配置,并从CODEFIFO中读取压缩视频数据。
②数据总线:当ADV212工作在JDATA模式下时,由HDATA[31:28]~JDATA[7:4]和HDATA[27:24]~JDATA[3:0]总线输出压缩后的JPEG20 00数据。
③其他:包括中断信号、读写信号、复位信号、睡眠信号都与LPC1768的GPIO口相连。
2.3.3 LPC1768与SD卡的连接
SD卡具有耐用、可靠、安全、容量大、体积小、便于携带和兼容性好的优点。SD卡支持SD和SPI两种模式通信方式。采用SPI模式时,占用较少的I/O资源。设计中采用直接与LPC1768的SPI接口的通信方式。通过4条信号线即可完成数据的传输,分别包括时钟SCLK、主机输入从机输出MISO、主机输出从机输入MOIS和片诜CS。实际讨程中,还需要考虑到中断控制、电源供电控制、写保护和卡插入位置检测4个方面,因此还需要额外的4根通用I/O引脚来满足该需要。LPC1768外围电路结构框图如图5所示。
3 系统程序设计
系统硬件设计完成之后,要进行软件的设计。整个设计过程中的功能器件很多,但是都进行了模块化设计,所以软件方面也要进行模块化设计。主要分为主程序、初始化配置模块、图像采集压缩控制模块、存储模块和无线传输模块。系统工作程序流程如图6所示。
ADV212对每个视频帧独立进行JPEG2000帧内压缩,这样就能方便地进行基于帧的操作,如帧的抽取。ADV212对每帧图像压缩后,压缩数据头部都有一个特有的header标志段,其中包含有图像编号索引,因此LPC1768通过header可以方便地抽取该帧。程序中最为关键的是ADV212的初始化,也是最为复杂的,它可以配置为执行压缩或解压处理,这取决于芯片复位后初始化阶段所加载的固件(压缩固件或解压固件)。设计中是视频压缩,进行压缩编码配置,包括压缩算法的固件加载和编码参数的设置。ADV212初始化流程如图7所示。
4 视频压缩结果与分析
原始图像与JPEG2000压缩后的图像对比如图8所示。
通过图8可以看出,基于ADV212的JPEG2000视频压缩系统可以在大压缩比下保持较好的视频质量。在压缩比为50时,图像质量没有明显下降;压缩比为100时略有下降;在压缩比为200时,图像质量有明显下降。压缩比为100时,800×480的一张图像压缩后为9.06KB,视频传输流畅的最小帧数一般为24fps,传输速率最小为1.728Mb/s,低于2Mb/s,说明nRF24LU1+能够满足其需要。如果图像质量急剧下降,可以采用自适应帧率的方法来适时降低帧率,以提高图像质量;也可以通过隔行扫描的方法来降低每帧的数据量,最后在显示终端通过奇偶帧合成重复播放的机制来降低无线传输速率。
5 总结
实验表明,实时JPEG2000压缩器可以用于无线视频传输的实时压缩,nRF24LU1+能够实现压缩后视频数据的无线传输。以专用的JPEG20 00压缩编码处理芯片ADV212为基础构建图像压缩处理是加快推广JPEG2000图像压缩标准硬件化的有效途径。 |