数字无线实时视频通信和拍摄系统设计
接收端上电初始化的情况基本与发送端一致,但要将nRF2dL01(按预定地址)设定为接收模式以接收检测信号。检测到相符的地址后,nRF24L0l的自动应答功能会发送应答信号给发送端以确认收到信号,此时双方"握手"成功。接着,通过INTO中断通知DSP,使得DSP重新将 nRF24LOl设定为接收模式以接收来自发送端的连续视频流,并且打开LCD模块准备显示视频。最后DSP通过SDRAM缓冲视频流,送给LCD显示 (若LCD等其他后端模块为并行接口,则需要将数据转化成并行数据格式)。至此,系统已经能实现实时视频数据的无线传输,实时视频流的分辨率为 QQVGAl60×120(@13fps)。
在视频流的显示过程中,若用户按下拍照按钮,则产生INTl中断通知DSP,DSP会将nRF24LOl设定为发送模式并发送拍照通知信号。收到应答信号后,nRP24L0l返回接收模式准备接收图像数据,接收完成后会自动发送确认信号以表示图像数据接收成功。最后,DSP将图像数据交由后端模块处理。至此.系统实现了图像的无线拍摄功能,拍照效果为1280×960(@130万像素),基本上能满足拍照要求。
视频系统接收端和发送端的工作流程如图2所示。
2 DSP的接口设计
2.1 DSP与OV9640的接口设计
该芯片使用OmniVision公司自主开发的SCCB总线进行控制,使用三线连接。其中SCCB_E为串口允许/禁止信号线,SIO_C和 SIO_D分别为串口时钟线和数据线。系统中仅对OV9640进行控制而不需要获知其状态,采用DSP的McBSPO端口进行连接,其中HD3用于打开串口,BCLKX0和HDX0分别用于发送时钟信号和控制数据。具体的硬件连线如图3所示。
值得注意的是:
①使用DSP的HPI接口连接OV9640时,为了获得场频、行频和8位视频输出等信号,DSP的HPIENA引脚必须下拉,使得HD[7:0]能配置为通用I/o接口,才能实现对OV9640的启停或工作模式控制。
②通过修改OV9640的寄存器COMC,将输出大小设定为1280×960或者QQVGA。
③修改寄存器COMH,将输出格式设定为8位的RGB格式,并设定为Master方式。
④FREX为连续帧模式的允许/禁止信号,但默认为禁止。应配置DSP的HD4引脚,将其电平拉高,然后再用HD3将EXPSTB引脚置高以实现连续帧的数据输出;将FREX置低即可返回到(单帧)拍摄模式。
⑤计算数据传输率。该芯片输出并行8位图像信号以及场频、行频同步信号,视频中的l帧图像(160×120)的大小是:
160×120×8=153600位/帧
如果以nRF24L01最大的发送速度2Mbps计算,则每秒可发送
2000000/153600≈13帧
即本系统能以160×120(@13 fps)的速度传输视频信号。
⑥输出数据的并一串转换。
OV9640输出8位并行数据,而nRF24L01为串行接口,因而需要将并行数据串行化。8位并行数据格式为HREF、Bll、G2l、B22、 G12……,HREF、G21、R22、G23、R24……。通过编程约定发送端与接收端的时序,可将从HD[2:0]得到的PCLK、HREF和 VSYNC信号略去而无须计入无线传输之列。所以串行化时,将每次从D[7:O]读入的8位数据由高位到低位依次按顺序放进SDRAM缓冲中,再传给 nRF24LOl发送出去即可。
2.2 DSP与nRF24L01的接口设计
2.2.1 设计要点
DSP使用McBSPl与该芯片直接连接。其中CSN为SPI片选引脚,低电平有效,用DSP的XF引脚与CSN引脚连接;CE为收发模式选择引脚,用HD7进行高低电平控制。其他引脚的连线如图3所示。在编程时需要注意:
①每次通过SPI向nRF24L01发送指令前,必须使CSN得到一次由高到低的电平跳
变,即每次执行指令后,都要将CSN置高才能继续发送下一条指令。
②nRF24L01的SPI为下降沿锁存数据,故应将McBSPl配置成"有延时的下降沿"。
③IRQ引脚为低电平有效,每次产生到DSP的中断必须写"l"来清除。
④若发送端需要接收应答,则应当配置数据通道O来接收应答信号,且接收地址(RX_ADDR_PO)应当与发送地址(TX_ADDR)一致。
⑤芯片必须经过Standby模式才能进入TX或RX模式,故在TX和RX模式之间切换时应先将CE拉低以进入Standby模式。
⑥写寄存器的指令只能在Powerdown或Standby模式下执行,故在修改寄存器值前也应当将CE拉低。
⑦以下的2.2.2和2.2.3均未开启AACK和ART功能。因为系统在连续视频流方式运行时,只要求得到高数据传输率以满足实时性,而并不需要纠错重发。但在拍摄方式下,则应该打开这两项功能,以确保图像数据的完整性。
2.2.2 ESB发送数据
①将配置位PRIM_RX置低;
②保持CSN为低电平,送入接收端的地址(TX_ADDR)和数据(TX_PLD);
③将CE置高,开启数据发送;
④数据发送完毕,产生TX_DS中断;
⑤CE置低,可进入Standby模式。
2.2.3 ESB接收数据
①配置位PRIM_RX置高,CE置高,则130μs后,nRF24
- Rewe 采用远距离实时定位RFID系统(08-10)
- 莱特州立大学采用RFID和超声波实现3D实时定位(03-21)
- 实时多任务多开发环境雷达系统的设计(08-04)
- 频谱分析仪的RFID和NFC测量中的应用(02-27)
- 无线ATM信元传送性能的实时测试(08-14)
- 实时频谱测试技术(09-23)