3 初始化配置及工作流程
(1)初始化配置方式。
1)OV7620配置。OV7620的控制采用SCCB(Serial Camera Control Bus)协议。它是简化的I2C协议,SIO-1是串行时钟输入线,SIO-0是串行双向数据线,分别相当于I2C协议的SCL和SDA。SCCB的总线时序与I2C基本相同。OV7620功能寄存器的地址为0x00~0x7C。通过设置相应的寄存器,可以使OV7620工作于不同模式。
2)ML86410配置。对ML86410进行配置需要对其寄存器进行配置,通过地址生成器产生地址XA0~9,然后通过数据总线XD0~15对相应寄存器进行写值。由于无线速率最高为2 Mbit·s-1,所以一定要对Bits Rate Setting Register(0x18C)进行设置,有可变速率压缩和固定速率压缩两种方式。
3)nRF24L01配置。对nRF24L01进行配置通过对其内部的寄存器进行写值完成,通过SPI总线完成数据的写入。其需要用户配置的寄存器地址为00~17,共18个8 bit寄存器,当要进行发送和接收的切换时,同样要写入相应的寄存器值。
(2)工作流程。
1)开机配置:首先测试无线连接,连接成功后由PC端下传参数模式配置命令;下位机接到命令后,由配置参数配置逻辑解析到参数模式后,通过控制逻辑对ML86410和OV7620进行初始化配置,成功后即开始视频采集,失败发送错误到PC端。
2)视频无线发送:视频采集开始后,视频流在ML86410的控制下有序进入FPGA缓冲,缓冲采用乒乓缓冲操作,然后数据经过并串转换,再通过SPI口送入nRF24L01无线发送。
3)视频无线接收:nRF24LU1+接收到视频流后,经过缓冲,即送入USB2.0协议槽通过USB接口传入PC进行显示。
4)视频显示:PC采用VC++编写程序调用Windows自带的视频播放器,同时调入MPEG-4视频流,解码后显示。
4 上位机软件设计
上位机采用VC++编写成熟的视频监控软件,和通用的视频监控软件相同,接收来自USB端口的数据进行解压缩显示即可。效果图如图9所示。
5 结束语
采用具有可靠逻辑功能的FPGA协调MPEG-4视频流到无线数据流的转换和发送,可以保证无线视频传输的性能;同时在终端采用带有无线功能和USB2.0协议的SOC芯片来实现与PC连接,不仅保证了无线传输的可靠性,还使得电路小型化,方便使用。测试表明,无线速率低于2 Mbit·s-1时,可以实现无线视频的可靠传输。