新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ARM9的遠(yuǎn)程圖像無線監(jiān)控系統(tǒng)的設(shè)計

基于ARM9的遠(yuǎn)程圖像無線監(jiān)控系統(tǒng)的設(shè)計

作者: 時間:2011-01-27 來源:網(wǎng)絡(luò) 收藏

初始化S3C2440的CAMIF接口的時鐘寄存器。主要是根據(jù)SAA7113的外接晶振頻率設(shè)置攝像機時鐘分頻寄存器(CAMDIVN)。該寄存器的0~3位是分頻系數(shù),其計算方法是:

CAMCLK_DIV=UPLL/(CAMCLK * 2)-1

(初始化代碼略— — 編者注)

配置CAMIF接口的采樣參數(shù)。主要是輸入源圖像數(shù)據(jù)的格式、輸出的圖像格式、采樣的窗口大小、DMA的訪問地址等參數(shù)。這里定義了一個結(jié)構(gòu),用于存儲與CAMIF接口相關(guān)的配置信息:

struct s3c2440_camif_cfg_t {

int src_x; //輸入的源圖像寬度

int src_y; //輸入的源圖像高度

int

dst_x; //輸出的目標(biāo)圖像寬度

int dst_y; //輸出的目標(biāo)圖像高度

int dst_fmt;

//輸出的目標(biāo)圖像數(shù)據(jù)格式

int pre_x; //預(yù)覽通道(P端口模式)輸出的圖像寬

int pre_y;

//預(yù)覽通道(P端口模式)輸出的圖像高

int pre_fmt; //使用通道(P端口模式)時設(shè)為1

__u16 bypass;

//為1時表示不啟用按比例的圖像放大/縮小

__u16 ycbcr; //輸入圖像的YcbCr順序

struct s3c2440_camif

*dev; //設(shè)備的系統(tǒng)信息

};

上述這些配置信息最終是與一系列的寄存器相關(guān)聯(lián)的。這個結(jié)構(gòu)為讀/寫寄存器提供了一個清晰的、集中的存儲緩沖。

打開、關(guān)閉和控制攝像機的接口函數(shù)。這3個接口函數(shù)是按V4L規(guī)范編寫的,其原型如下:

① 打開攝像機接口函數(shù):

static int

v4l_cam_open(struct video_device *v,int mode);

② 控制攝像機接口函數(shù):

static int

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



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉