嵌入式无线实时图像传输系统设计方案
扫描二维码
随时随地手机看文章
摘 要: 提出了一种基于S3C2440A 的无线实时图像传输的设计方案,该方案利用S3C2440A 进行核心控制,通过USB2.0 控制器CY7C68013A 实现USB2.0 接口,通过nRF2401 实现无线数据收发。阐述该系统的工作原理、硬件构成及软件设计方案。
1 引言
随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间。进入20 世纪90 年代,嵌入式技术全面展开,目前已成为通信和消费类产品的共同发展方向。在通信领域,数字技术正在全面取代模拟技术。毫无疑问,模拟图像采集系统必将被数字图像采集系统所代替,其中的嵌入式图像采集系统由于其优越的性能越来越受到人们的关注。同时,在技术进步推动信息传递日趋无线化的背景下,无线图像传输也就成为了图像传输的前沿领域。对于边远的和可移动的系统,无线网络接入传输数据方式显得十分重要。本文介绍了采用nRF2401 作为传输手段的无线图像传输系统。该系统由无线照相机和图片接收器两部分组成,具有视频图像采集、压缩、传输和存储等功能。
2 系统总体设计方案
整个图像传输系统包括无线照相机和图片接收器两大部分。无线照相机主要由CMOS 摄像头、JPEG压缩编码和无线发射部分组成,图像采集部分用嵌入式处理器控制CMOS 摄像头采集图像数据并进行JPEG 压缩,再利用nRF2401 来传送处理过的图像信息。图片接收器接受完图片信息后,通过软件将图片文件存储在硬盘中,并将其显示在LCD 上。整个无线实时图像传输系统的结构如图1 所示。
图1 无线实时图像传输系统结构图
3 无线照相机的设计
本文所设计的无线照相机采用了基于linux 2.6内核的嵌入式系统[1],它出色地完成了图像的采集、压缩及无线传输等功能。
3.1 硬件设计
嵌入式无线照相机由CMOS 摄像头,USB2.0 控制器CY7C68013A、nRF2401发射部分、S3C2440A嵌入式系统组成,如图2 所示。
图2 嵌入式无线照相机系统硬件结构。
3.1.1 CMOS 摄像头
系统采用的CMOS 摄像头是网眼公司生产的网眼2000B,它采用的是OV511+7260 的摄像头方案,由于linux 2.6 源码中这两款芯片的驱动,给我们的设计带来了很大的方便。该摄像头的视像解像度为640(水平) x 480(垂直)像素,清晰度可以满足大部分的应用,它还具有良好的电源管理功能、完善的自动亮度、白平衡控制,并提供色彩饱和度、对比度、边缘增强、伽马表等高级数码影像控制功能。
3.1.2 无线收发芯片nRF2401
nRF2401 芯片和蓝牙芯片一样,都工作在2.4GHz 自由频段,有125 个频道,可满足多频及跳频需要。跳频通信具有抗干扰能力强,安全保密性好等特点。跳频信号谱密度低,淹没在噪声之中,加之跳频码的保密性,因而不易被窃听、破译。nRF2401支持多点间通信,最高传输速率超过1Mbit/s,而且比蓝牙具有更高的传输速度。它采用SoC 方法设计,只需少量外围元件便可组成射频收发电路。与蓝牙不同的是,nRF2401 没有复杂的通信协议,它完全对用户透明,同种产品之间可以自由通信。更重要的是,nRF2401 比蓝牙产品更便宜。所以nRF2401 是业界体积较小、功耗较少、外围元件最少的低成本射频系统级芯片。
3.1.3 USB2.0 控制器CY7C68013A
CYPRESS 公司推出的USB2.0 控制器CY7C68013A 是USB2.0 的完整解决方案。它既负责USB 事务处理也兼具微处理器的控制功能,也可作为USB 外部芯片的主控芯片。该芯片包括带8KB 片上RAM 的高速8051 单片机、4KB FIFO 存储器以及通用可编程接口(GPIF)、串行接口引擎(SIE)和USB2.0收发器,6 条可编程控制输出线,9 条地址输出线和6条通用目的地准备输入线;数据线宽度可为8 位或16位,其小巧的体积及较高的性价比使得该芯片在海量存储器、打印机、扫描仪和PCMCIA 等各种USB 设备上得到了广泛的应用。
3.1.4 嵌入式处理器S3C2440A
由于本系统采用的图像压缩是软件压缩,所以在选择嵌入式处理器的时候,需要衡量处理器的性能是否能胜任JPEG 压缩程序以及USB 数据的传送。在本系统中,嵌入式处理器采用韩国三星公司的基于ARM920T 内核的16/32 位RISC 嵌入式微处理器S3C2440A,主频高达400MHz,适合于图像、视频处理,主要面向高性价比、低功耗的应用。S3C2440内置有丰富的外设资源,其中包括:存储器、LCD、Camera、串口、IIC、IIS 和USB 等接口控制电路。
3.2 软件设计
我们选用嵌入式linux 操作系统,版本号为:2.6.12.
它是本地图像采集程序、压缩程序、USB2.0 控制器CY7C68013A 驱动程序及其应用程序的运行平台。
图3 主程序流程图
3.2.1 系统初始化
系统初始化包括对芯片OV511、OV7260,USB2.0 控制器CY7C68013A , 无线收发芯片nRF2401 的初始化以及linux 系统的初始化。linux系统的初始化主要完成对CPU、SDRAM 等芯片的初始化,加载摄像头和USB2.0 控制器的驱动程序[5],为应用程序的执行做好准备。其它芯片的初始化主要对一些数据寄存器、地址寄存器、中断服务寄存器进行相应的操作。
3.2.2 实时图像传输流程
系统初始化完成之后,我们编写的应用程序控制摄像头驱动程序拍摄一幅图像信号,并保存在flash盘中,程序流程如图4 所示,此时的图片文件是未压缩的PPM 格式,接着JPEG 压缩程序将PPM 格式的图片压缩成图片,如图5 所示,一幅分辨率为320*240的图片文件大小平均只有8KB,完全可以满足无线传输的需要,压缩完成之后,读取JPG 格式的图片文件,并将图像数据发送给USB2.0 控制器CY7C68013A的驱动程序,然后驱动程序再将数据写入USB2.0 控制器的端点缓冲器, 最后, USB2.0 控制器CY7C68013A 控制nRF2401 将端点缓冲器中的图像数据无线发送出去,程序流程如图6 所示。[!--empirenews.page--]
图4 图像采集程序流程图。
图5 JPEG 压缩编码程序流程图
图6 nRF2401 无线发送程序流程图
整个系统中,由linux 操作系统完成对各个芯片的初始化、协调CPU 与其他芯片之间的工作,完成图像数据的读取、压缩及发送(如图3)。
4 图片接收器的设计
我们设计的图片接收器是基于PC 机的一种类似无线网卡的无线接收设备,完成图片信息的接收和显示,硬件结构和nRF2401 无线发射模块一样,都是用USB2.0 控制器CY7C68013A 控制nRF2401 进行无线传输,如图7 所示。
图7 图片接收器结构
USB2.0 控制器CY7C68013A 控制nRF2401 无线接收图像数据,程序流程如图8 所示,然后PC 机上的应用程序调用USB2.0控制器驱动中的读取函数接收图片数据并保存,最后将图片显示出来。如图9,10.
图8 nRF2401 无线接收程序流程图。
图9 像素:320×240.
图10 像素:640×480 无线照相机。
5 结论
本系统的无线照相机采用32 位的高性能ARM 处理器S3C2440A 搭载2.6 内核的linux 嵌入式操作系统进行核心控制,出色地完成了图片的拍摄,压缩和无线传送。接收端将图片信息接收并保存在PC 机硬盘中,有必要的话也可以传到服务器上,进行远程监控。可应用于汽车防盗监控、无绳可视电话以及矿井作业监控等。因此,研制成功的无线实时图像传输系统具有广泛的应用前景和市场。