新聞中心

EEPW首頁 > 消費(fèi)電子 > 設(shè)計應(yīng)用 > HWB-DVR數(shù)字視頻錄像機(jī)設(shè)計

HWB-DVR數(shù)字視頻錄像機(jī)設(shè)計

作者:劉衛(wèi)宏 王金健 周薦 房汝明 趙麗君 時間:2005-04-28 來源:eaw 收藏

摘    要:本文介紹了HWB-DVR數(shù)字視頻錄像機(jī)的整體設(shè)計思想,描述了其軟硬件的構(gòu)成,對其中嵌入式CPU和編/解碼IC的工作原理做了詳細(xì)說明。
關(guān)鍵詞:數(shù)字錄像機(jī)(DVR);;;;

本文引用地址:http://www.butianyuan.cn/article/5427.htm

概述
HWB-DVR數(shù)字視頻錄像機(jī)是基于MPEG-1、/DVB、標(biāo)準(zhǔn)的家庭應(yīng)用多媒體處理和存儲平臺,可以對模擬和數(shù)字電視信號進(jìn)行MPEG-1、格式的編碼錄像和回放,是集機(jī)頂盒與錄像機(jī)于一體的數(shù)字化家用電器。本文就硬件和軟件兩方面說明其設(shè)計思路。

硬件設(shè)計
由圖1可以看出DVR系統(tǒng)主要由兩大功能部分組成:編/解碼部分和CPU部分。
編/解碼部分的功能是將輸入的模擬音/視頻信號轉(zhuǎn)換成MPEG-1、MPEG-2或MPEG-4格式的數(shù)據(jù)流,可以將數(shù)據(jù)流進(jìn)行存儲,也可以再將其轉(zhuǎn)換成模擬音/視頻信號輸出。
編/解碼部分的核心芯片是HT2010。它是音/視頻系統(tǒng)數(shù)字信號編/解碼器,支持MPEG-1,MPEG-2和MPEG-4三種格式的編/解碼,并且可以在編/解碼的過程中進(jìn)行三種格式之間的轉(zhuǎn)換。HT2010具有編碼和解碼雙重功能,對數(shù)據(jù)流的編碼和解碼過程可以同時進(jìn)行。HT2010可以將數(shù)據(jù)流編/解碼成MPEG格式的流或流。
視頻信號的處理過程如圖2所示。
編/解碼部分的輸入視頻信號可以是以下兩種形式:
?復(fù)合電視信號(CVBS)
?分離電視信號(S-Video)
輸出為CVBS信號,系統(tǒng)可以擴(kuò)展S-Video輸入/輸出。
輸入的模擬視頻信號通過視頻ADC,將模擬的視頻信號解碼成ITU-656格式的視頻數(shù)據(jù)流,該視頻數(shù)據(jù)流經(jīng)過HT2010芯片編碼后可以轉(zhuǎn)換成MPEG-1、MPEG-2或MPEG-4格式的數(shù)據(jù)流,將這種格式的數(shù)據(jù)流輸入到硬盤中存儲起來,就完成了DVR的存儲功能。硬盤存儲的編碼后的MPEG數(shù)據(jù)流經(jīng)過HT2010解碼后,輸出ITU-656格式的視頻數(shù)據(jù)流到視頻DAC,經(jīng)轉(zhuǎn)換后輸出CVBS信號和S-Video信號。通過DVR的視頻輸出端子將電視信號連接到電視機(jī)上,就完成了DVR的播放功能。如果同時進(jìn)行以上兩個過程,就完成了DVR的同時錄播功能。
音頻信號的處理過程與視頻處理過程類似:輸入的音頻信號經(jīng)過音頻ADC轉(zhuǎn)換成數(shù)字的音頻信號,再經(jīng)過HT2010編碼成MPEG格式。MPEG格式的音頻信號經(jīng)過音頻DAC轉(zhuǎn)換成模擬音頻輸出。DVR支持音/視頻同步采集、處理。
HT2010提供了標(biāo)準(zhǔn)PCI接口,可以通過PCI總線與 CPU進(jìn)行數(shù)據(jù)交換。主控制芯片采用嵌入式x86 CPU,它集成了32位PCI總線控制器、支持多種類型的外部存儲器接口、2個USB1.1控制器、10/100Mbps自適應(yīng)以太網(wǎng)控制器、串口通信控制器,以及直接訪問存儲控制器、時鐘發(fā)生器、電源管理器、中斷控制器和通用I/O端口等大量外圍模塊。CPU通過I2C接口與系統(tǒng)的其它芯片進(jìn)行數(shù)據(jù)傳送,發(fā)送命令。
通過HT2010編/解碼后的數(shù)據(jù)流通過PCI總線與CPU進(jìn)行數(shù)據(jù)交換,可以將數(shù)據(jù)通過CPU送到硬盤中存儲起來。通過CPU提供的外圍接口,DVR可以與多種設(shè)備進(jìn)行連接,用戶可以通過USB接口、串行接口等外部接口來獲得硬盤中存儲的節(jié)目信息。用戶還可以通過外部接口與攝像機(jī)連接,這樣攝像機(jī)錄制的節(jié)目就通過DVR存儲起來,也可以通過DVR進(jìn)行播放。用戶還可以通過通用I/O端口與計算機(jī)連接,還可以通過以太網(wǎng)接口與Internet網(wǎng)絡(luò)連接,實(shí)現(xiàn)遠(yuǎn)程控制。在本DVR系統(tǒng)中預(yù)留了這些接口用于將來系統(tǒng)擴(kuò)展。

系統(tǒng)軟件設(shè)計
軟件總體設(shè)計
DVR系統(tǒng)軟件依據(jù)模塊化、功能化、可擴(kuò)展性原則設(shè)計,整體使用的4層體系結(jié)構(gòu)如圖3所示。各模塊和硬件的關(guān)系如圖4所示。
PCI驅(qū)動程序
核心CPU和編/解碼IC之間使用PCI總線通信,PCI驅(qū)動程序?qū)崿F(xiàn)編/解碼IC與操作系統(tǒng)內(nèi)核的數(shù)據(jù)通信及控制。PCI驅(qū)動程序設(shè)計的優(yōu)化關(guān)系到系統(tǒng)運(yùn)行的可靠程度。PCI驅(qū)動程序以模塊方式設(shè)計,便于加載與調(diào)試。PCI驅(qū)動程序的設(shè)計分為兩個過程:1. 模塊加載過程。操作系統(tǒng)通過運(yùn)行insmod命令加載驅(qū)動程序,驅(qū)動程序通過一系列過程完成對設(shè)備的初始化和系統(tǒng)資源分配。應(yīng)用程序調(diào)用分配的資源控制設(shè)備正常工作。2. 設(shè)備卸載過程。操作系統(tǒng)通過調(diào)用rmmod命令卸載驅(qū)動程序。驅(qū)動程序釋放系統(tǒng)資源,解除系統(tǒng)對硬件的控制。工作流程如圖5所示。
PCI驅(qū)動程序中主要實(shí)現(xiàn)以下內(nèi)容:
static int card_open(struct inode *, struct file *);
static int card_close(struct inode *, struct file *);
static int card_ioctl(struct inode *, struct file *, u_int, u_long);
static void card_isr(int, void *, struct pt_regs *);
其中,card_open實(shí)現(xiàn)打開PCI設(shè)備,增加訪問計數(shù),為讀寫設(shè)備做準(zhǔn)備工作。Card_close實(shí)現(xiàn)關(guān)閉設(shè)備的功能,釋放訪問計數(shù),并將設(shè)備狀態(tài)標(biāo)志標(biāo)記為關(guān)閉狀態(tài)。Card_ioctl實(shí)現(xiàn)對PCI設(shè)備的基本控制,主要包括讀設(shè)備、寫設(shè)備、設(shè)置設(shè)備工作參數(shù)等。Card_isr實(shí)現(xiàn)PCI設(shè)備的中斷處理,數(shù)據(jù)發(fā)送完成或數(shù)據(jù)接收就緒時都將引發(fā)中斷并調(diào)用該函數(shù)。因為中斷的調(diào)用速度很快,該函數(shù)的調(diào)用效率要求很高。
數(shù)據(jù)在用戶空間與內(nèi)核空間中的傳遞采用iobuffer機(jī)制,使用map_user_kiobuf將用戶空間內(nèi)存映射到內(nèi)核空間,實(shí)現(xiàn)數(shù)據(jù)在用戶空間與內(nèi)核空間中的共享訪問,這一方法避免了數(shù)據(jù)在用戶空間與內(nèi)核空間中的復(fù)制,從而提高了系統(tǒng)運(yùn)行的速度。

結(jié)語
基于本方案設(shè)計的《數(shù)字視頻錄像機(jī)》項目已通過了國家廣播電影電視總局科技司組織的技術(shù)鑒定。
由于HWB-DVR數(shù)字視頻錄像機(jī)控制方便、存儲容量可以很大、工作穩(wěn)定可靠,因此數(shù)字錄像機(jī)的應(yīng)用相當(dāng)廣泛。
首先,數(shù)字錄像機(jī)可以全面替代傳統(tǒng)模擬錄像機(jī)的功能,在傳統(tǒng)的電視節(jié)目制作中,對模擬節(jié)目進(jìn)行錄制、存儲,并可以方便快速地進(jìn)行節(jié)目搜索;另外還可以接收數(shù)字電視系統(tǒng)傳送的數(shù)字電視節(jié)目,根據(jù)需要進(jìn)行節(jié)目錄制,并且可以根據(jù)對節(jié)目質(zhì)量要求的不同采用不同的數(shù)字壓縮方式。數(shù)字錄像機(jī)既可用于廣播級電視前端,也可以為廣大消費(fèi)者所用。
在民用監(jiān)控項目,如閉路電視設(shè)備中,數(shù)字錄像機(jī)可以作為中心監(jiān)視設(shè)備,存儲各攝像頭傳來的圖象進(jìn)行編碼,并根據(jù)需要將信號傳送到遠(yuǎn)端控制中心。
另外,數(shù)字錄像機(jī)可以作為VCD、DVD的節(jié)目制作工具,數(shù)字錄像機(jī)帶上刻錄接口設(shè)備可以分別制作VCD、DVD光盤節(jié)目。■

參考文獻(xiàn)
1 王學(xué)龍 編著. 嵌入式Linux 系統(tǒng)設(shè)計與應(yīng)用. 清華大學(xué)出版社, 2001
2 Michbael Barr 著 于志宏 譯. C/C++嵌入式系統(tǒng)編程. 中國電力出版社, 2001
3 李朝青 編著. PC機(jī)及單片機(jī)數(shù)據(jù)通信技術(shù). 北京航空航天大學(xué)出版社, 2000
4 MPEG專家組. ISO;IEC DIS 14496,1999
5 Alessandro Rubini,Jonathan Corbet著 魏永明等譯. Linux 設(shè)備驅(qū)動程序設(shè)計. 中國電力出版社, 2002



評論


相關(guān)推薦

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

關(guān)閉