QNX 下嵌入式視頻監控系統研究
摘要:根據視頻監控的特點(diǎn),設計了一種強實(shí)時(shí)的嵌入式視頻監控系統。系統基于QNX(Quick UNIX)嵌入式實(shí)時(shí)操作系統,采用異構雙核處理器芯片OMAP3530為核心的開(kāi)發(fā)平臺,實(shí)現了視頻的編解碼和傳輸過(guò)程。
關(guān)鍵詞:QNX;視頻監控系統;視頻編解碼;OMAP3530
引言
嵌入式視頻監控系統是當今嵌入式系統發(fā)展的熱門(mén)應用,尤其是數字化視頻監控系統越來(lái)越受到客戶(hù)的青睞。目前,嵌入式視頻監控系統大多基于Linux操作系統完成,這對于系統CPU是一個(gè)不小的開(kāi)銷(xiāo);同時(shí),系統的穩定性和實(shí)時(shí)性無(wú)法得到很好的保障。本文提出一種基于QNX系統的視頻監控系統。QNX(Quick UNIX)是一種實(shí)時(shí)的微內核操作系統,有利于減小系統CPU開(kāi)銷(xiāo),并提升系統的穩定和實(shí)時(shí)性能;用OMAP 3530處理器中的DSP核來(lái)完成視頻的編解碼,有利于提升視頻畫(huà)面質(zhì)量,提高視頻傳輸速率。
1 系統整體設計
視頻監控系統方案是基于開(kāi)放式多媒體應用平臺OMAP設計的。OMAP3530芯片集成了高性能、低功耗的DSP核與控制性能較好的ARM內核,是一種開(kāi)放式的、可編程的體系結構。系統ARM端負責初始化整個(gè)芯片,包括ARM、DSP、TC(Traffic Controller,流量控制器)等的時(shí)鐘設置,DSP的開(kāi)啟和復位,以及LCD、定時(shí)器等各個(gè)外設的初始化。DSP端負責視頻的編解碼。監控系統硬件結構圖如圖1所示。監控系統主要由OMAP3530芯片、USB攝像頭、液晶顯示器、存儲模塊(SDRAM、ROM、Flash)、JTAG構成。USB攝像頭獲取視頻信息后,經(jīng)OMAP3530部進(jìn)行視頻編解碼處理后,存儲在存儲介質(zhì)上,或在液晶顯示器上進(jìn)行顯示。
1.1 OMAP3530平臺介紹
OMAP3530主要由ARM內核、DSP內核及流量控制器TC組成。
OMAP3530采用ARM Cortex—A8核,工作主頻最高可達720 MHz。它具有存儲器管理單元、16 KB的高速指令緩沖存儲器、16 KB的數據高速緩沖存儲器和256KB的二級Cache;片內有64 KB的內部SRAM,為液晶顯示等應用提供了大量的數據和代碼存儲空間。ARM內核擁有整個(gè)系統的控制權,可以設置DSP、TC以及各種外設的時(shí)鐘及其他工作參數,控制DSP的運行停止。本設計通過(guò)ARM完成對整個(gè)視頻監控系統的控制和調度。
DSP內核TMS320C64X+采用3項關(guān)鍵的革新技術(shù):增大的空閑省電區域、變長(cháng)指令和擴大的并行機制。另外,TMS320C64X+內核增加了固化了算法的硬件加速器,來(lái)處理運動(dòng)估計、8×8的DCT/IDCT和1/2像素插值,降低了視頻處理的功耗。
流量控制器TC用于控制ARM、DSP以及本地總線(xiàn)對OMAP3530內所有存儲器的訪(fǎng)問(wèn)。
1.2 雙核之間的通信
系統的實(shí)現,需要讓ARM核與DSP核實(shí)現協(xié)調的通信。利用Codee Engine構架,可以實(shí)現和管理ARM與DSP雙核之間的數據通信。
Codec Engine是一組用來(lái)配置和運行DSP端的符合x(chóng)DAIS算法的架構,它把符合x(chóng)DAIS算法納入其架構之下,讓ARM端的QNX可以調用它提供的VISA標準接口,從而實(shí)現ARM與DSP的軟件管理。圖2是CodecEngine下一個(gè)應用程序的通用構架。
圖2中,應用程序(Application)或者中間層(mediamiddle ware)調用核心引擎和VISA的API。VISA的API使用存根(Video Encode Stubs)來(lái)訪(fǎng)問(wèn)核心引擎SPI(系統編程接口)和構架(Video Encode Skeleton)。這些構架訪(fǎng)問(wèn)核心引擎和VISA的SPI。VISA的SPI訪(fǎng)問(wèn)底層算法。
評論