新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > DSP嵌入式视频监测

DSP嵌入式视频监测

作者:时间:2009-07-02来源:网络收藏

本文引用地址://m.amcfsurvey.com/article/258010.htm

2 系统的软件设计

系统的软件部分包括三部分,uClinux(操作系统,图像传感器0V7660和网络控制器CS8911A的驱动程序,系统的应用程序。

2.1 uClinux操作系统

本系统采用开源、可剪裁、安全性和实时性好的uClinux操作系统作为软件开发平台,保证了系统的稳定性和数据的快速准确传输,并提供了完善的网络支持。uClinux并为应用程序的设计提供了众多API接口函数,方便了编程实现过程。

嵌入式uClinux系统是由Boot Loader引导程序、系统内核、根文件系统组成。软件交叉编译环境为Windows系统下的coLinux,该操作环境具有模拟uClinux操作系统的功能,在拥有colinux环境的基础上,选择合适的开发工具可以加快开发速度,节省开发成本。软件编程语言为标准C语言,具有良好的可移植性。

2.2 OV7660和CS8911A驱动程序

Blackfin533 uClinux kernel中带有一些硬件驱动模块,缩短了开发周期。系统上电后,将自动检测视频设备OV7660,视频设备被检测到后,将自动调用在配置内核时已经加载到uClinux中的OV7660的驱动程序模块PPI_ov7660。

图像数据的网络传输在Linux的平台上采用服务器/客户端模型,网络控制器CS8911A的驱动程序因为已经很成熟了并且对外公开,直接采用了开发好并已经移植到uClinux内核中的设备驱动程序。

2.3 系统应用软件设计

本系统的应用软件设计分为图像采集设备初始化、数据格式转化和图像的捕捉三部分。视频图像采集的程序流程图如图3。

2.3.1 图像采集设备初始化

对于uClinux操作系统,它将设备看作文件,因此,想对设备进行读写等操作,应首先打开设备,完成操作后再关闭设备。设备文件的初始化主要针对PPI的/dev/ppifcd设备。本系统可以从4个步骤进行。

(1)打开视频设备 利用open()函数实现打开PPI视频设备。

fd_ppi=open(“/dev/ppifcd”,O_RDWR)

fd_ppi为设备文件描述符。

(2)获取设备信息 利用相应的ioctl()函数取得设备文件的相关信息,包含设备的基本信息参数(设备名称、支持的最大最小分辨率、信号源信息等);

ioctl(fd_ppi,CMD_PPI_GET_VIDEOIN,&video_in)

(3)获取影像信息 利用相应的ioctl()函数取得影像支持信息,包含设备采集图像的各种属性参数(色调、亮度、饱和度、对比度、色相等);

ioctl(fd_ppi,CMD_PPI_SET_0V7660,&pictures)

(4)关闭视频设备利用close()函数关闭PPI视频设备。

if(fd_ppi)close(fd_ppi);

2.3.2 数据格式的转化

本系统开始采集摄像头数据,将数据转化为YUV420格式,在PC上显示的时候采用的是RGB565格式,因此在采集完毕之后必须进行图像数据的格式转换。

RGB与YUV之间可以相互转化,对应关系如下:


  其反变化公式如下

  根据上述关系可以通过编程实现数据格式的转化。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭