新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > DSP嵌入式視頻監(jiān)測(cè)

        DSP嵌入式視頻監(jiān)測(cè)

        作者: 時(shí)間:2009-07-02 來(lái)源:網(wǎng)絡(luò) 收藏

        本文引用地址:http://www.104case.com/article/258010.htm

        2 系統(tǒng)的軟件設(shè)計(jì)

        系統(tǒng)的軟件部分包括三部分,uClinux(操作系統(tǒng),圖像傳感器0V7660和網(wǎng)絡(luò)控制器CS8911A的驅(qū)動(dòng)程序,系統(tǒng)的應(yīng)用程序。

        2.1 uClinux操作系統(tǒng)

        本系統(tǒng)采用開(kāi)源、可剪裁、安全性和實(shí)時(shí)性好的uClinux操作系統(tǒng)作為軟件開(kāi)發(fā)平臺(tái),保證了系統(tǒng)的穩(wěn)定性和數(shù)據(jù)的快速準(zhǔn)確傳輸,并提供了完善的網(wǎng)絡(luò)支持。uClinux并為應(yīng)用程序的設(shè)計(jì)提供了眾多API接口函數(shù),方便了編程實(shí)現(xiàn)過(guò)程。

        嵌入式uClinux系統(tǒng)是由Boot Loader引導(dǎo)程序、系統(tǒng)內(nèi)核、根文件系統(tǒng)組成。軟件交叉編譯環(huán)境為Windows系統(tǒng)下的coLinux,該操作環(huán)境具有模擬uClinux操作系統(tǒng)的功能,在擁有colinux環(huán)境的基礎(chǔ)上,選擇合適的開(kāi)發(fā)工具可以加快開(kāi)發(fā)速度,節(jié)省開(kāi)發(fā)成本。軟件編程語(yǔ)言為標(biāo)準(zhǔn)C語(yǔ)言,具有良好的可移植性。

        2.2 OV7660和CS8911A驅(qū)動(dòng)程序

        Blackfin533 uClinux kernel中帶有一些硬件驅(qū)動(dòng)模塊,縮短了開(kāi)發(fā)周期。系統(tǒng)上電后,將自動(dòng)檢測(cè)視頻設(shè)備OV7660,視頻設(shè)備被檢測(cè)到后,將自動(dòng)調(diào)用在配置內(nèi)核時(shí)已經(jīng)加載到uClinux中的OV7660的驅(qū)動(dòng)程序模塊PPI_ov7660。

        圖像數(shù)據(jù)的網(wǎng)絡(luò)傳輸在Linux的平臺(tái)上采用服務(wù)器/客戶端模型,網(wǎng)絡(luò)控制器CS8911A的驅(qū)動(dòng)程序因?yàn)橐呀?jīng)很成熟了并且對(duì)外公開(kāi),直接采用了開(kāi)發(fā)好并已經(jīng)移植到uClinux內(nèi)核中的設(shè)備驅(qū)動(dòng)程序。

        2.3 系統(tǒng)應(yīng)用軟件設(shè)計(jì)

        本系統(tǒng)的應(yīng)用軟件設(shè)計(jì)分為圖像采集設(shè)備初始化、數(shù)據(jù)格式轉(zhuǎn)化和圖像的捕捉三部分。視頻圖像采集的程序流程圖如圖3。

        2.3.1 圖像采集設(shè)備初始化

        對(duì)于uClinux操作系統(tǒng),它將設(shè)備看作文件,因此,想對(duì)設(shè)備進(jìn)行讀寫等操作,應(yīng)首先打開(kāi)設(shè)備,完成操作后再關(guān)閉設(shè)備。設(shè)備文件的初始化主要針對(duì)PPI的/dev/ppifcd設(shè)備。本系統(tǒng)可以從4個(gè)步驟進(jìn)行。

        (1)打開(kāi)視頻設(shè)備 利用open()函數(shù)實(shí)現(xiàn)打開(kāi)PPI視頻設(shè)備。

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

        fd_ppi為設(shè)備文件描述符。

        (2)獲取設(shè)備信息 利用相應(yīng)的ioctl()函數(shù)取得設(shè)備文件的相關(guān)信息,包含設(shè)備的基本信息參數(shù)(設(shè)備名稱、支持的最大最小分辨率、信號(hào)源信息等);

        ioctl(fd_ppi,CMD_PPI_GET_VIDEOIN,&video_in)

        (3)獲取影像信息 利用相應(yīng)的ioctl()函數(shù)取得影像支持信息,包含設(shè)備采集圖像的各種屬性參數(shù)(色調(diào)、亮度、飽和度、對(duì)比度、色相等);

        ioctl(fd_ppi,CMD_PPI_SET_0V7660,&pictures)

        (4)關(guān)閉視頻設(shè)備利用close()函數(shù)關(guān)閉PPI視頻設(shè)備。

        if(fd_ppi)close(fd_ppi);

        2.3.2 數(shù)據(jù)格式的轉(zhuǎn)化

        本系統(tǒng)開(kāi)始采集攝像頭數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)化為YUV420格式,在PC上顯示的時(shí)候采用的是RGB565格式,因此在采集完畢之后必須進(jìn)行圖像數(shù)據(jù)的格式轉(zhuǎn)換。

        RGB與YUV之間可以相互轉(zhuǎn)化,對(duì)應(yīng)關(guān)系如下:


          其反變化公式如下

          根據(jù)上述關(guān)系可以通過(guò)編程實(shí)現(xiàn)數(shù)據(jù)格式的轉(zhuǎn)化。
        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 蒙城县| 景泰县| 启东市| 鄄城县| 罗平县| 娄底市| 屏东市| 遂川县| 沐川县| 任丘市| 射阳县| 陵水| 宜兰县| 滁州市| 兰溪市| 渑池县| 桓台县| 嘉祥县| 武平县| 望城县| 颍上县| 民和| 云阳县| 巴南区| 河南省| 东乡| 石屏县| 乐清市| 澎湖县| 莱阳市| 朔州市| 陇川县| 宝应县| 元朗区| 东乡县| 巴青县| 灵璧县| 祁阳县| 哈密市| 麻城市| 盖州市|