新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于ARM9的远程图像无线监控系统的设计

基于ARM9的远程图像无线监控系统的设计

作者: 时间:2011-01-27 来源:网络 收藏

初始化S3C2440的CAMIF接口的时钟寄存器。主要是根据SAA7113的外接晶振频率设置摄像机时钟分频寄存器(CAMDIVN)。该寄存器的0~3位是分频系数,其计算方法是:

CAMCLK_DIV=UPLL/(CAMCLK * 2)-1

(初始化代码略— — 编者注)

配置CAMIF接口的采样参数。主要是输入源图像数据的格式、输出的图像格式、采样的窗口大小、DMA的访问地址等参数。这里定义了一个结构,用于存储与CAMIF接口相关的配置信息:

struct s3c2440_camif_cfg_t {

int src_x; //输入的源图像宽度

int src_y; //输入的源图像高度

int

dst_x; //输出的目标图像宽度

int dst_y; //输出的目标图像高度

int dst_fmt;

//输出的目标图像数据格式

int pre_x; //预览通道(P端口模式)输出的图像宽

int pre_y;

//预览通道(P端口模式)输出的图像高

int pre_fmt; //使用通道(P端口模式)时设为1

__u16 bypass;

//为1时表示不启用按比例的图像放大/缩小

__u16 ycbcr; //输入图像的YcbCr顺序

struct s3c2440_camif

*dev; //设备的系统信息

};

上述这些配置信息最终是与一系列的寄存器相关联的。这个结构为读/写寄存器提供了一个清晰的、集中的存储缓冲。

打开、关闭和控制摄像机的接口函数。这3个接口函数是按V4L规范编写的,其原型如下:

① 打开摄像机接口函数:

static int

v4l_cam_open(struct video_device *v,int mode);

② 控制摄像机接口函数:

static int

v4l_cam_ioctl(struct video_device *v,unsigned int cmd,void *arg);



关键词:

评论


相关推荐

技术专区

关闭