當前位置:首頁 > 單片機 > 單片機
[導讀]文章介紹了基于嵌入式ARM9微處理器EP9315硬件平臺和Linux軟件平臺的MPEG-4視頻錄像機的設計和實現(xiàn),討論了總體原理和架構,核心硬件模塊的設計和Linux設備驅動程序和應用程序的設計。

【摘要】 文章介紹了基于嵌入式ARM9微處理器EP9315硬件平臺和Linux軟件平臺的MPEG-4視頻錄像機的設計和實現(xiàn),討論了總體原理和架構,核心硬件模塊的設計和Linux設備驅動程序和應用程序的設計。
【關鍵詞】 ARM  EP9315  IME6400  MPEG-4  Linux  設備驅動

Abstract In this paper, designing and implementing a digital video recorder which is based on the processor ARM9 hardware series EP9315 and Linux software is achieved; the paper’s content include the general function and structure of the system, the designing of core hardware module and the designing of corresponding devices Linux drivers and application.

Keyword  ARM  EP9315  IME6400  MPEG-4  Linux  Module Driver

隨著科技的飛速發(fā)展,消費類電子,通信,電視電影廣播與計算機技術緊密結合起來。而數(shù)字化信息,尤其是數(shù)字化視頻信息,具有數(shù)據(jù)量大,存儲傳輸困難的特點,是制約人類獲得信息的主要瓶頸。這種形勢對數(shù)字視頻記錄設備的研制提出了新的要求:大批量的應用要求降低監(jiān)控記錄設備成本,多樣的應用環(huán)境、分散、孤立的監(jiān)控點要求監(jiān)控記錄設備盡可能一體化、小型化、獨立、便攜、低功耗、供電方便、性能可靠。針對這些新問題和新要求,作者設計實現(xiàn)了一種基于嵌入式系統(tǒng)和MPEG-4編碼標準的數(shù)字錄像機,系統(tǒng)集成度高、體積小、功耗低、獨立、便攜,適合大量的各類視頻監(jiān)控和記錄應用。

1 系統(tǒng)框架及原理說明

本系統(tǒng)選用的主要模塊是低功耗ARM9系列微處理器EP9315和專業(yè)視頻壓縮編碼處理芯片IME6400,周圍外部設備有SAA7118 A/D數(shù)模轉換芯片,RAM芯片,ROM芯片,網(wǎng)絡模塊和電源模塊。系統(tǒng)電路原理圖如圖1所示。整個電路采用5V電源供電,系統(tǒng)啟動后,外部輸入的視頻和音頻信號分別經(jīng)過視頻數(shù)模轉換模塊和音頻模塊進行解碼,隨后通過IIC總線送入IME6400視頻處理芯片生成MPEG-4視頻音頻復合數(shù)據(jù)流,系統(tǒng)控制芯片EP9315從IME6400的HOST總線將數(shù)據(jù)流取出存放到硬盤中,并且控制與外部設備的通信。

圖1:系統(tǒng)總體框圖

2         MPEG-4標準

2.1 MPEG-4壓縮算法的基本原理

MPEG-4視頻壓縮算法采用了基于對象的處理方案,對視頻圖像中的每個目標進行單獨處理,能夠在保證圖像質量的情況下,極大的降低碼率。在相同的圖像質量下,MPEG-4的輸出碼流可以比MPEG-2降低一半。正因為如此,MPEG-4壓縮算法已得到了廣泛的應用。MPEG-4中視頻對象(VO)可能是場景中的某一物體、某個區(qū)域、也可能是計算機產(chǎn)生的二維、三維圖形等。VO的選定依賴于具體的應用和系統(tǒng)所處的環(huán)境:在要求超低比特率的情況下,VO可以是一個矩形幀,與以前的MPEG-1、H.263標準兼容;對于基于內(nèi)容的應用,每一個VO有三類信息描述:運動信息、形狀編碼、紋理編碼。MPEG-4的編碼結構中,首先是從原始視頻流中分割出VO,之后由編碼控制機制為不同的VO及相應的3種類型的信息分配碼率,然后是各個VO獨立編碼,最后將各VO的碼流復合成一個位流。解碼過程是編碼的逆過程。編碼的圖2所示:

 

 

2.2 MPEG-4碼流的形成

如圖3所示,MPEG-4壓縮算法將一幅圖象分為多個對象,這些對象按不同的層,每個層又分為不同的平面按順序變換為視頻碼流。它的基本視頻流格式如圖3所示。每個視頻對象分為多個視頻對象層,每個視頻對象層形成一個基本流,這一基本流類似與MPEG-2中的GOP。每個基本流都有自己的視頻對象序列頭,不同的視頻對象序列頭可以分別按不同的順序傳送,這就極大地提高了MPEG-4傳送流的靈活性。

 

圖3  MPEG-4視頻碼流的基本構成

3 硬件設計

3.1 控制模塊設計

系統(tǒng)控制模塊選用CIRRUS LOGIC公司的EP9315A微處理器,此處理器是基于ARM920T內(nèi)核,高性能,低功耗,32位CPU,自帶MMU,16k指令cache和16k數(shù)據(jù)cache和Maverick Crunch數(shù)學協(xié)處理器;主頻200MHz,系統(tǒng)總線100MHz;所支持的操作系統(tǒng)包括WINCE , Linux【1。為了便于設計和調試,硬件設計上采用核心板加底板的模塊化設計方法,在核心板上集成了基于EP9315的最小系統(tǒng),通過底板來擴展外部功能。在核心板上主要配置了64MB的NAND Flash 和64MB的SDRAM及提供RTC時鐘和工作時鐘的晶體,并將其豐富的外設接口資源引出。在底板上擴展出USB主機接口、以太網(wǎng)口、UART接口、IDE接口等,以實現(xiàn)與外部設備間的數(shù)據(jù)傳輸和通信。

EP9315支持硬盤的掛載,可以通過外部IDE接口將視頻數(shù)據(jù)直接存入硬盤,但在開發(fā)初期采用通過與PC機服務器網(wǎng)絡掛載方式,將記錄數(shù)據(jù)通過網(wǎng)絡協(xié)議存入PC機硬盤中,便于回放和調試。IME6400的HOST接口映射到處理器的第6個Memory Bank中,將EP9315的nGCS3片選管腳直接連接IME6400的nCS,地址線ADD[1:5]通過總線驅動芯片后與HOST接口的HA[0:4]相連【2】,同時將IME6400異步模式下的中斷管腳GPIO0與EP9315的中斷管腳FPGIO1相連。

3.2 視頻音頻編解碼模塊設計

視頻A/D芯片選用Philips公司的高性能可編程解碼芯片SAA7118,該芯片支持多種輸入模式,具有抗混疊濾波、自動鉗位、自動增益變換、亮度、對比度、飽和度調整等功能,其工作時鐘為24.576MHz。通過設定SAA7118的內(nèi)部的配置寄存器93H[6]為1使能其HOST端口,實現(xiàn)與IME6400的無縫連接。音頻A/D芯片采用BURR-BROWN公司的PCM1800,它對模擬音頻進行高信噪比20bit數(shù)字采樣,生成PCM數(shù)字音頻流。

壓縮編碼采用INTIME公司的MPEG-4編碼芯片IME6400。該芯片是一款高性能的單片多通道MPEG-4數(shù)字壓縮編碼芯片,它支持多種編碼模式和比特率控制,并提供了豐富的外圍硬件接口。IME6400總線具有四種工作模式,通過mode管腳定義,在這里mode[1:0]設定為11,即異步工作模式。在這種模式下,當IME6400將GPIO0管腳置低電平時,F(xiàn)IFO緩沖區(qū)中存滿NFIFOSIZE=1k大小的輸出數(shù)據(jù)流,外部接口在得到GPIO0下降沿電平后便可以從IME6400的HOST接口寄存器Encodedstream中讀取數(shù)據(jù)流。GPIO0管腳直接與EP9315的中斷管腳FGPIO相連,在處理器獲取下降沿信號后便中斷當前操作,從IME6400讀取數(shù)據(jù)。在讀取完畢后,EP9315要向IME6400的HOST總線寄存器USER4發(fā)送一個不同值,通知IME6400數(shù)據(jù)讀取完成。隨后IME6400可以在FIFO中裝載新的壓縮數(shù)據(jù)流以保證EP9315的繼續(xù)讀取3

4 軟件設計

 Linux系統(tǒng)具有穩(wěn)定、高效、易定制、易裁減、開放源碼等優(yōu)點,因此本系統(tǒng)選用嵌入式Linux作為操作系統(tǒng),在芯片中植入Linux系統(tǒng)作為視頻記錄的應用環(huán)境。編寫Linux環(huán)境下的硬件設備接口程序主要分兩個部分:硬件設備驅動程序和應用程序,驅動程序需要在視頻錄像前加載到Linux內(nèi)核中,然后運行記錄程序,本系統(tǒng)采用的動態(tài)加載驅動的方式。在前面說過用網(wǎng)絡掛載硬盤來記錄視頻可以便于測試視頻錄像質量和調試軟硬件,具體的操作是:在PC服務器上用nfs協(xié)議共享一個硬盤空間作為記錄硬盤,然后通過minicom串口通信定義EP9315啟動時首先通過網(wǎng)絡掛載記錄硬盤,

fconfig

fis load zImage

exec -c "root=/dev/nfs nfsroot=主機地址:共享硬盤空間 ip=嵌入式系統(tǒng)地址console=ttyS0,57600 devfs=mount"

隨后視頻錄像數(shù)據(jù)的處理就相當于在PC機上進行操作,可以克服嵌入式操作系統(tǒng)功能不全,可視化程度不高的缺點【4】。

4.1 驅動程序編寫

編寫linux驅動程序的最主要工作就是file_operations結構中各入口點的實現(xiàn),即對應于open()、release()、read()、write()、ioctrl()等系統(tǒng)調用子函數(shù)的編寫5

·Open函數(shù)ime6400_open(struct inode *inode, struct file *filp),IME6400打開后用于模塊加載后的計數(shù),防止系統(tǒng)非法釋放模塊資源。

·Read函數(shù)ime6400_read(struct file *fp, char *buf, size_t size),在IME6400數(shù)據(jù)緩沖區(qū)讀滿后從內(nèi)核空間傳送到用戶空間。

·Write函數(shù)ime6400_write(struct file * fp, const char * buf, size_t size, loff_t *ppos),將攝像頭獲取數(shù)據(jù)從用戶空間傳送到內(nèi)核空間。

·Ioctrl函數(shù)ime6400_ioctl(struct inode *inode, struct file *filp, unsigned int command, unsigned long arg),用于從用戶空間向內(nèi)核空間傳遞定義參數(shù)。

此外,驅動程序中還包括:

·IME6400片選的聲明

#define BASE_ADDR                  0x28000000   

將IME6400的片選信號映射到片選4(ncs4管腳)。

·IME6400中斷的申請

set_external_irq(IRQ_EINT8,EXT_FALLING_EDGE,GPIO_PULLUP_DIS); request_irq(IRQ_EINT8, &ime6400_irq, SA_INTERRUPT,"ime6400", NULL)。

根據(jù)硬件手冊,這里將中斷定義為中斷8,用于在IME6400存入內(nèi)核緩沖區(qū)后通知EP9315讀取數(shù)據(jù)流。

4.2 應用程序編寫

本系統(tǒng)應用程序主要實現(xiàn)在加載設備驅動后將視頻流從硬件接口層拷到存儲設備,具體操作上運用了多線程設計方法,這種方法的優(yōu)點在于可以共享進程資源,線程間的轉換和調用時間短,效率高,聲明的幾個線程可以相互獨立地完成各自任務,并進行實時通信,傳遞參數(shù)。這里主要創(chuàng)建了三個線程:讀數(shù)據(jù)線程,寫數(shù)據(jù)線程,串口監(jiān)聽線程。

    pthread_create(&t1,NULL,(void *)read_thread,NULL);

    pthread_create(&t2,NULL,(void *)write_thread,NULL);

    pthread_create(&t1,NULL,(void *)listen_thread,NULL);

系統(tǒng)啟動后,系統(tǒng)首先通過IIC初始化EP9315和IME6400,然后串口監(jiān)聽線程listen_thread()調用函數(shù)偵測是否有來自串口的控制指令輸入,如果沒有輸入指定指令將無限期等待,如果得到輸入指令則向讀線程read_thread()發(fā)送信號量sem,通知讀線程準備調用讀取數(shù)據(jù)函數(shù)IME6400_read()。在IME6400中FIFO緩沖區(qū)內(nèi)記錄數(shù)據(jù)滿后系統(tǒng)獲得中斷,中斷程序將數(shù)據(jù)流拷入內(nèi)核空間,若緩沖區(qū)滿則讀線程調用ime_read()拷貝數(shù)據(jù)到用戶空間,并向IME6400寄存器USER4發(fā)送新的值通知IME6400可以存入新的記錄數(shù)據(jù)流,從而進行下一步編碼。ime_read()拷貝完成后返回,由讀線程向寫線程發(fā)送信號量sem1通知寫線程write_thread()調用fwrite()函數(shù)將數(shù)據(jù)寫到硬盤,完成后發(fā)送信號量sem2通知讀線程,然后再由讀線程進行下一輪類似前面的操作。與此同時,監(jiān)聽線程一直在偵測是否有串口輸入的用戶指令,如果有則調用中止函數(shù)或重新初始化函數(shù)來退出程序或重新啟動系統(tǒng)。

5 結論

該錄像系統(tǒng)已經(jīng)基本完成了測試工作,可以選擇8種分辨率和兩種幀率,最高標準可以達到720×576分辨率,25fps。在選擇640×480分辨率,25fps錄制模式時,圖像質量最好,圖像顯示穩(wěn)定,對于快速運動的物體可以無碼字丟失;在選擇720×576,全幀率模式時,硬盤可以連續(xù)錄制4~5個小時。目前系統(tǒng)需要解決的問題是改進錄制高質量圖像的碼流的穩(wěn)定性問題,可以考慮在EP9315和硬盤之間加驅動芯片以提高處理器掛載能力。

 

參考文獻:

【1】         EP9315 User`s Guide. CIRRUS LOGIC, Inc. 2004

【2】         EP9315 User`s Guide. CIRRUS LOGIC, Inc. 2004

【3】  IME6400 firmware manual. Intime Corporation. 2003

【4】  FS-EP9315 USER GUIDE ISSUE 1.8. Shenzhen uCdragon Technology Co. Ltd. 2005.6

【5】  錢晨 徐榮華 王欽若,基于linux操作系統(tǒng)的設備驅動程序開發(fā),微計算機信息,2004.09, 131-133

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉