系統(tǒng)架構(gòu)
該系統(tǒng)主要由FH8735和SMP8655構(gòu)成,F(xiàn)H8735和SMP8655之間通過PCI總線進行數(shù)據(jù),狀態(tài)和命令的交互。在功能分工方面,F(xiàn)H8735完成視頻的輸入,針對安防應用的前處理(運動檢測,區(qū)域屏蔽等),H.264編碼和預覽顯示數(shù)據(jù)的輸出。
SMP8655作為主控CPU,主要完成8路標清視頻的解碼,視音頻的預覽,視頻輸出,音頻輸出等媒體流處理功能;SMP8655的MIPS32內(nèi)核作為通用處理器主要完成系統(tǒng)的引導,圖形化的用戶接口、用戶操作管理、文件系統(tǒng)、文件存儲管理、視音頻參數(shù)設置、系統(tǒng)參數(shù)設置、用戶權(quán)限管理、日志管理、云鏡控制、報警輸入輸出控制、網(wǎng)絡協(xié)議棧、網(wǎng)絡管理等應用層功能。FH8735和SMP8655之間通過共享內(nèi)存,以及硬件信號量進行通訊。
SMP8655內(nèi)置兩個SATA接口,更多的SATA接口可以通過33MHz的PCI總線進行擴展。
方案系統(tǒng)示意圖如下:
[nextpage]
軟件架構(gòu)
FH8735軟件架構(gòu)
Firmware:運行于FH8735內(nèi)部的CPU之上,完成FH8735硬件模塊的配置和控制,主機命令的接收和處理;當前狀態(tài)的報告;碼流和預覽數(shù)據(jù)的傳輸?shù)取?/P>
PCI驅(qū)動:提供SMP8655和FH8735之間的數(shù)據(jù),命令和控制的傳輸通道。
SDK:SDK提供了FH35視頻編碼芯片的所有控制接口,應用程序(APP)可通過調(diào)用此SDK來實現(xiàn)多路視音頻信號的實時編碼和錄像、水印、中文OSD 疊加、時間戳疊加、Logo 疊加、Mosaic 遮蔽、單幀捕獲、強制關(guān)鍵幀輸出、動態(tài)改變壓縮幀率參數(shù)、動態(tài)調(diào)節(jié)視頻參數(shù)、動態(tài)改變幀結(jié)構(gòu)、動態(tài)檢測、雙碼流等功能
SMP8655軟件架構(gòu)
SMP8655運行在Linux平臺,實現(xiàn)嵌入DVR上各種外設的設備驅(qū)動,利用FrameBuffer作為顯示控制,然后在此基礎上實現(xiàn)嵌入DVR的應用程序。
Linux驅(qū)動:Linux的設備驅(qū)動程序在Linux系統(tǒng)中以內(nèi)核模塊的形式出現(xiàn),在系統(tǒng)需要時加載和調(diào)用;直接控制硬件平臺,向內(nèi)核提供標準的接口函數(shù),為應用程序提供統(tǒng)一的硬件抽象層。
應用程序 :主要由顯示控制、系統(tǒng)管理、存儲管理、輸入輸出控制、網(wǎng)絡控制等五個子系統(tǒng)組成。
顯示控制負責視頻信息的輸出,包括:菜單顯示、預覽顯示、回放顯示等模塊。顯示控制是系統(tǒng)的主要功能模塊,富瀚提供API實現(xiàn)這些功能。包括:
預覽功能。完成通過PCI通道獲取YUV預覽數(shù)據(jù),預覽數(shù)據(jù)的顯示和多畫面合成拼接。
多路解碼和顯示;
GUI實現(xiàn)。實現(xiàn)標準Framebuffer的驅(qū)動。
系統(tǒng)管理負責整個系統(tǒng)的管理控制,包括:錄像控制、參數(shù)設置、視頻遮蓋、報警設置、移動偵測、用戶管理、網(wǎng)絡設置等模塊。富瀚提供PCI驅(qū)動程序和API,實現(xiàn)對FH8735的參數(shù)配置。預覽參數(shù)設置,編碼參數(shù)設置,碼流獲取;錄像控制、參數(shù)設置、視頻遮蓋、報警設置、移動偵測;
存儲管理模塊實現(xiàn)各種數(shù)據(jù)的存儲、查詢功能,包括:磁盤管理、文件存儲、日志管理、參數(shù)存儲、檢索備份等模塊。
輸入輸出控制負責響應外部輸入設備(按鍵、485鍵盤、遙控器、鼠標、報警輸入)的控制命令,同時控制外部輸出設備(報警輸出、云臺),包括:按鍵面板、遙控器、485鍵盤、云臺控制、鼠標接口等模塊。
網(wǎng)絡控制為客戶端和集中監(jiān)控軟件提供接口,使得可以通過網(wǎng)絡對DVR主機進行遠程操作。
(本文作者黃為、張克非就職于上海富瀚微電子有限公司)