新聞中心

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

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

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

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

CAMCLK_DIV=UPLL/(CAMCLK * 2)-1

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

配置CAMIF接口的采樣參數(shù)。主要是輸入源圖像數(shù)據(jù)的格式、輸出的圖像格式、采樣的窗口大小、DMA的訪問地址等參數(shù)。這里定義了一個(gè)結(jié)構(gòu),用于存儲(chǔ)與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í)設(shè)為1

__u16 bypass;

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

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

struct s3c2440_camif

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

};

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

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

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

static int

v4l_cam_open(struct video_device *v,int mode);

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

static int

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



關(guān)鍵詞:

評(píng)論


相關(guān)推薦

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

關(guān)閉