日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 消費電子 > 消費電子
[導讀]本文介紹了一種基于嵌入式微處理器S3C2410和MPEG-4專用視頻壓縮芯片IME6400及大容量電子硬盤的數(shù)字錄像機。討論了系統(tǒng)總體設(shè)計,介紹了各功能模塊及關(guān)鍵接口電路設(shè)計,介紹了linux下驅(qū)動程序及應用程序的設(shè)計與實現(xiàn)。

【摘 要】 本文介紹了一種基于嵌入式微處理器S3C2410MPEG-4專用視頻壓縮芯片IME6400及大容量電子硬盤的數(shù)字錄像機。討論了系統(tǒng)總體設(shè)計,介紹了各功能模塊及關(guān)鍵接口電路設(shè)計,介紹了linux下驅(qū)動程序及應用程序的設(shè)計與實現(xiàn)。
【關(guān)鍵詞】 S3C2410  IME6400  MPEG-4  Linux   設(shè)備驅(qū)動

視頻信息在現(xiàn)代信息化戰(zhàn)爭發(fā)揮日益重要的作用,在視頻監(jiān)控、偵察、機載或車載視頻記錄等方面都得到了越來越廣泛應用,這種形勢對數(shù)字視頻監(jiān)控記錄設(shè)備的研制提出了新的要求:大批量的應用要求降低監(jiān)控記錄設(shè)備成本,多樣的應用環(huán)境、分散、孤立的監(jiān)控點要求監(jiān)控記錄設(shè)備盡可能一體化、小型化、獨立、便攜、低功耗、供電方便、性能可靠。針對這些新問題和新要求,筆者設(shè)計實現(xiàn)了一種基于嵌入式系統(tǒng)和MPEG-4編碼標準的數(shù)字錄像機,系統(tǒng)集成度高、體積小、功耗低、獨立、便攜,適合大量的各類視頻監(jiān)控和記錄應用。

1         系統(tǒng)總體設(shè)計及原理

圖 1

本系統(tǒng)選擇嵌入式微處理器加專用壓縮編碼芯片的方案,系統(tǒng)電路主體框圖如圖1所示,主要由視音頻解碼芯片、視音頻壓縮編碼芯片、核心微處理器控制模塊、電源模塊以及各種外部接口等組成。系統(tǒng)采用單一5V電源供電,正常啟動后,視頻、音頻解碼芯片SAA7114和PCM1800分別對對輸入的模擬視頻、音頻信號進行解碼,并分別送入壓縮編碼芯片IME6400進行壓縮生成MPEG-4復合流,控制芯片S3C2410從IME6400的HOST接口接收數(shù)據(jù)并以文件的形式存儲至硬盤,并完成系統(tǒng)的總體控制。

硬件設(shè)計

2.1  視頻音頻解碼及壓縮編碼部分設(shè)計

視頻A/D芯片選用Philips公司的SAA7114,該芯片支持多種輸入模式,具有抗混疊濾波、自動增益變換、亮度、對比度調(diào)整等功能。通過設(shè)定SAA7114的內(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ù)字壓縮編碼芯片,它支持多種編碼模式和比特率控制,并提供了豐富的外圍硬件接口。其外部HOST接口有四種模式,由MODE引腳來決定,本系統(tǒng)選用異步模式:MODE[1:0] pin = 11。在此模式下,IME6400對輸入的視頻音頻流進行壓縮和復合,產(chǎn)生MPEG-4的系統(tǒng)流,然后經(jīng)過輸出端口大小為1K的FIFO緩沖進行數(shù)據(jù)的輸出,當FIFO滿,其GPIO0腳就產(chǎn)生一個下降沿的中斷通知主機讀取FIFO中的數(shù)據(jù),主機通過512次(16bit主機)讀IME6400 HOST端口的EncodedStream寄存器完成數(shù)據(jù)的讀取,外部主機通過寫一個不同的值到USER4寄存器來通知IME6400數(shù)據(jù)傳輸已完成[1]。

2.2  控制、接口及存儲部分設(shè)計

系統(tǒng)控制模塊選用三星的S3C2410微處理器,這是一個采用ARM920T內(nèi)核,高性能、低功耗、低成本的32位微處理器[2]。為了提高設(shè)計和應用的靈活性,硬件設(shè)計上采用核心板加底板的模塊化設(shè)計方法,在核心板上集成了基于S3C2410的最小系統(tǒng),通過底板來擴展外部功能。在核心板上主要配置了64MB的NANDFlash 和64MB的SDRAM及提供RTC時鐘和工作時鐘的晶體,并將其豐富的外設(shè)接口資源引出。在底板上擴展出USB主機接口、以太網(wǎng)口、UART接口、IDE接口等,以實現(xiàn)與外部設(shè)備間的數(shù)據(jù)傳輸和通信。

S3C2410并不帶有IDE控制模塊,接口電路需另行設(shè)計,圖2是IDE接口電路示意圖。電路利用S3C2410的第5個BANK的片選信號nGCS4和地址信號ADD4和ADD5相或后形成IDE接口的兩個片選信號nIDE_CS0、nIDE_CS1,S3C2410的讀寫信號nOE、nWE 則直接用于IDE接口讀寫信號nIOR、nIOW。該方法將IDE接口映射到了S3C2410的第5個Memory Bank中, S3C2410將IDE設(shè)備視為普通的存儲器,以相同的方式訪問,這大大降低了系統(tǒng)軟件開發(fā)的復雜度[3]。

  

     采用類似IDE接口的方式將IME6400的HOST接口映射到處理器的第6個Memory Bank中。系統(tǒng)存儲部分采用體積小、抗震性好、溫度范圍寬的電子硬盤作為存儲器。

3        軟件設(shè)計

由于Linux系統(tǒng)具有穩(wěn)定、高效、易定制、易裁減、開放源碼等優(yōu)點,本系統(tǒng)選用嵌入式Linux作為操作系統(tǒng),在此系統(tǒng)下實現(xiàn)IME6400驅(qū)動程序設(shè)計和相關(guān)應用程序設(shè)計。

Linux 將設(shè)備當作文件處理,編寫linux驅(qū)動程序的最主要工作就是file_operations結(jié)構(gòu)中各入口點的實現(xiàn),即對應于open()、release()、read()、write()、ioctrl()等系統(tǒng)調(diào)用子函數(shù)的編寫[4]。同時本系統(tǒng)的設(shè)備驅(qū)動程序采用靈活性較好的動態(tài)加載方式,驅(qū)動程序還應包括模塊初始化函數(shù)和模塊注銷函數(shù)。下面介紹幾個主要函數(shù)及其功能:

l         模塊初始化函數(shù)在驅(qū)動程序被加載的時候被調(diào)用,主要完成以下功能:

申請掛載總線上的視頻編碼芯片的實際物理地址空間并且將它映射到虛擬地址空間:

       request_region(BASE_ADDR,0x100,"IME6400")

       vbase = ioremap_nocache(BASE_ADDR,0x100)           

注冊設(shè)備并獲取主設(shè)備號[4]

       ret=register_chrdev(IME6400_MAJOR,"ime6400",&ime6400_fops)

設(shè)置并且申請中斷及注冊中斷處理函數(shù):

       set_external_irq(IRQ_EINT19, EXT_FALLING_EDGE, GPIO_PULLUP_DIS) request_irq(IRQ_EINT19, &ime6400_irq, SA_INTERRUPT,"ime6400", NULL)

注冊設(shè)備文件系統(tǒng):

       ime6400_devfs_dir= devfs_register(NULL,"ime6400",DEVFS_FL_DEFAULT,IME6400_MAJOR,0, S_IFCHR |S_IRUSR |S_IWUSR |S_IRGRP |S_IWGRP,&ime6400_fops, NULL)

l         OPEN函數(shù)遞增模塊使用計數(shù),防止沒有釋放設(shè)備就把模塊卸載了。

l         READ函數(shù)阻塞等待數(shù)據(jù)緩沖區(qū)滿,然后把數(shù)據(jù)從內(nèi)核空間復制到用戶空間。

l         IOCTRL函數(shù)實現(xiàn)從用戶空間向內(nèi)核空間傳遞參數(shù),用于設(shè)置IME6400工作模式。

l         中斷處理函數(shù)讀取IME6400輸出的MPEG-4碼流數(shù)據(jù)存入內(nèi)核緩沖區(qū),并通知IME6400數(shù)據(jù)讀取完畢。Linux將中斷處理函數(shù)分為兩部分:頂半部(top half)是實際響應中斷的例程,底半部(bottom half)是一個被頂半部調(diào)用在稍后安全的時間內(nèi)運行的例程[5]。Linux采用Tasklet機制實現(xiàn)底半部處理,通過宏DECLARE_TASKLET可以聲明Tasklet:

static DECLARE_TASKLET(ime_tasklet,do_tasklet,NULL),其中do_tasklet函數(shù)實際處理中斷,從IME6400讀取數(shù)據(jù)至內(nèi)核緩沖區(qū)。通過函數(shù)tasklet_schedule()可以調(diào)度一個Tasklet運行:tasklet_schedule(&ime_tasklet) 。

本系統(tǒng)應用程序主要實現(xiàn)從驅(qū)動層接收MPEG-4碼流數(shù)據(jù)并存儲至硬盤,主要采用多線程編程的方式,主程序創(chuàng)建了讀和寫線程兩個線程:首先,用戶程序讀線程調(diào)用read(),此時編碼尚未開始,驅(qū)動進行ime6400_read()無數(shù)據(jù)可讀,進入睡眠態(tài),用戶進程被阻塞。此后中斷到來,中斷處理程序從IME6400讀取數(shù)據(jù)存入內(nèi)核緩沖區(qū),若緩沖區(qū)滿則喚醒睡眠的ime6400_read(),并往IME6400的USER4寄存器寫入一個新值,通知IME6400數(shù)據(jù)已讀取完畢,啟動新一輪的編碼。ime6400_read()被喚醒后,將內(nèi)核緩沖區(qū)數(shù)據(jù)拷貝到用戶緩沖區(qū),然后返回并等待用戶進程的下一次調(diào)用。ime6400_read()返回后,用戶空間讀到編碼數(shù)據(jù)退出阻塞狀態(tài),然后讀線程以信號量通知寫線程,由寫線程完成將緩沖區(qū)數(shù)據(jù)存儲至硬盤。

4         結(jié)束語

系統(tǒng)目前已完成了初步調(diào)試,可實時壓縮存儲最大分辨率為720x576全幀率的4:2:2的彩色視頻,采用2G的電子硬盤,在720x576分辨率下可記錄2小時以上,且圖像質(zhì)量較好。同時系統(tǒng)還具有較好的靈活性,可以通過設(shè)置視頻圖像分辨率大小、量化系數(shù)、幀率等參數(shù),來達到對圖像大小、圖像質(zhì)量及碼率等方面的不同要求,以滿足不同場合應用的需要。

本文作者創(chuàng)新點:設(shè)計并實現(xiàn)了基于ARM及嵌入式Linux平臺的MPEG-4壓縮記錄,實現(xiàn)了系統(tǒng)的一體化、小型化、高性能、低功耗,在硬件設(shè)計上采用核心板加底板的模塊化設(shè)計方法,在軟件上完成了Linux系統(tǒng)下驅(qū)動程序的開發(fā)。

參考文獻:

【1】         IME6400 firmware manual. Intime Corporation. 2003
【2】         S3C2410X 32-BIT RISC MICROPROCESSOR USER’S MANUAL. Samsung Electronics.2001
【3】         孟柯 李鳳亭 馬惠敏,用于視頻監(jiān)控的便攜式數(shù)字錄像機設(shè)計,電視技術(shù),2002.7
【4】         錢晨 徐榮華 王欽若,基于linux操作系統(tǒng)的設(shè)備驅(qū)動程序開發(fā),微計算機信息,2004.09, 131-133
【5】         魏永明 耿岳 鐘書毅 譯,Linux設(shè)備驅(qū)動程序(第三版),中國電力出版社,2006.1

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

摘要:給出了基于物聯(lián)網(wǎng)技術(shù)設(shè)計的一種智能家居系統(tǒng)。該系統(tǒng)通過ZigBee技術(shù)將各種安防設(shè)備和家用電器組建成無線通信網(wǎng)絡(luò),以實現(xiàn)無線數(shù)據(jù)采集和命令控制;同時使用ARM9高性能處理器S3C2410作為嵌入式網(wǎng)關(guān)和網(wǎng)絡(luò)服務器,...

關(guān)鍵字: Zigbee S3C2410 GPRS 物聯(lián)網(wǎng) 智能家居

Android11系統(tǒng)原定于今年6月發(fā)布,但已被Google推遲。 9月9日凌晨,Android11正式發(fā)布,它還具有很多新功能,可以為用戶添加一些新功能和游戲玩法。 讓我們看一下Android 11中的新功能。

關(guān)鍵字: android11 錄像機 airdrop

錄像機添加攝像機提示‘網(wǎng)絡(luò)不可達’問題形成原因分析

關(guān)鍵字: 錄像機

導讀:本文介紹的一種S3C2410路由器的整體結(jié)構(gòu)及工作原理,后詳細地介紹了其i/o和UART及存儲介質(zhì)三部分功能的具體實現(xiàn),達到設(shè)計S3C2410路由器的目的.在ARM技術(shù)不斷發(fā)展成熟

關(guān)鍵字: 路由器 S3C2410 端口 GP

還記得小鬼當家中萌萌的主角,笨笨的賊嗎?那個時代錄像機曾非常流行—將電視節(jié)目錄制下來,以后再想看就拿出錄像帶細細回味。就在最近,索尼終于宣告這種錄像機的“死刑”。上世紀70年代,索尼推...

關(guān)鍵字: 錄像機 索尼 BETA 亞馬遜

1 引言SD卡( Secure DigitalMemory Card)是一種基于Flash的新一代存儲器,它著重數(shù)據(jù)存儲的安全、容量和性能,是許多便攜式電子產(chǎn)品如數(shù)碼相機、手提電話, PDA 等理想的

關(guān)鍵字: S3C2410 SD存儲 SD卡 控器

數(shù)字內(nèi)容的爆炸式增長大大推動了數(shù)字家庭對于以磁盤為基礎(chǔ)的存儲需求。個人錄像機(PVR)或者個人計算機(PC)隨機內(nèi)置的單個驅(qū)動器已經(jīng)不能滿足消費者的要求。因此,這就刺激了

關(guān)鍵字: 存儲空間 數(shù)字存儲 錄像機 數(shù)字家庭

對于一個顯示設(shè)備,數(shù)據(jù)的更新率正比于畫面的像素數(shù)和色彩深度的乘積。在嵌入式Linux系統(tǒng)中,受處理器資源配置和運算能力的制約,當使用大分辨率顯示時(如在一些屏幕尺寸較

關(guān)鍵字: 調(diào)色板 S3C2410 嵌入式LINUX RGB

介紹了一種嵌入式高圖像質(zhì)量的MPEC-4視頻流解碼系統(tǒng)。該系統(tǒng)以嵌入式Linux作為操作系統(tǒng),采用硬解碼方式,把IDE接口設(shè)備或網(wǎng)絡(luò)端口輸入的MPEC-4視頻碼流(ES、PS和TS)轉(zhuǎn)換成

關(guān)鍵字: 嵌入式 解碼系統(tǒng) MPEG-4 Flash

消費電子

96016 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉