基于MPC5200的音視頻采集系統(tǒng)
摘要:本文介紹了基于MPC5200的嵌入式音視頻采集系統(tǒng)的實(shí)現(xiàn)。在硬件方面重點(diǎn)介紹了以MPC5200為主處理器的基本特點(diǎn)和系統(tǒng)的硬件結(jié)構(gòu),在軟件方面重點(diǎn)介紹了驅(qū)動(dòng)程序和應(yīng)用程序的設(shè)計(jì)。
引言
視頻監(jiān)控系統(tǒng)是安全防范系統(tǒng)的重要組成部分。在國(guó)內(nèi)外市場(chǎng)上,主要應(yīng)用的是數(shù)字信號(hào)控制的模擬和數(shù)字視頻監(jiān)控系統(tǒng)。前者技術(shù)經(jīng)歷了基于微處理器的視頻切換控制加PC的多媒體管理類(lèi)型和基于PC實(shí)現(xiàn)對(duì)矩陣主機(jī)的切換、控制和對(duì)系統(tǒng)的多媒體管理兩個(gè)階段;后者技術(shù)經(jīng)歷數(shù)字監(jiān)控錄像系統(tǒng)和嵌入式視頻Web服務(wù)器方式兩個(gè)階段。目前,視頻監(jiān)控系統(tǒng)正處在數(shù)控模擬系統(tǒng)與數(shù)字系統(tǒng)混合應(yīng)用,并將逐漸向數(shù)字系統(tǒng)過(guò)渡的階段。今后,視頻監(jiān)控發(fā)展的兩個(gè)特點(diǎn)就是數(shù)字化和網(wǎng)絡(luò)化。
基于MPC5200的音視頻采集系統(tǒng)硬件設(shè)計(jì)
MPC5200簡(jiǎn)介
MPC5200集成了高性能的 603e G2_LE核和帶有DMA單元的輸入/輸出子系統(tǒng),因此,MPC5200可以獨(dú)立于603e G2_LE 核響應(yīng)外部中斷,并且提供底層外設(shè)管理、協(xié)議處理、外部數(shù)據(jù)移動(dòng)的功能。
MPC5200支持雙外圍總線(xiàn)結(jié)構(gòu),包括:SDRAM 總線(xiàn);多功能LocalPlus總線(xiàn)。
嵌入式603e G2_LE核: 該內(nèi)核是PowerPC 超標(biāo)量體系結(jié)構(gòu),MPC5200有16KB的指令緩存、16KB的數(shù)據(jù)緩存、浮點(diǎn)單元、數(shù)據(jù)緩沖內(nèi)存管理單元、指令緩沖內(nèi)存管理單元、Critical中斷、MMU額外帶有16個(gè)寄存器和1KB的頁(yè)面管理。
Bestcomm 輸入/輸出子系統(tǒng):包括可編程串行控制器、10/100M以太網(wǎng)控制器、通用串行總線(xiàn)、I2C 接口、串行外圍接口、MSCAN接口。
系統(tǒng)接口單元 (SIU) :集成了最常見(jiàn)的系統(tǒng)接口和信號(hào),即片選信號(hào)、中斷控制器、計(jì)數(shù)器、常用輸入/輸出口、實(shí)時(shí)時(shí)鐘。
SDRAM 控制器和LocalPlus總線(xiàn):MPC5200有一個(gè)高速的SDRAM控制器,該控制器支持單數(shù)據(jù)速率、雙數(shù)據(jù)速率的SDRAM器件, 工作頻率最大可到132MHz,32位數(shù)據(jù)線(xiàn)。LocalPlus總線(xiàn)用來(lái)連接BOOT ROM、SRAM、Flash、外圍器件、ATA和PCI設(shè)備,有兩種操作模式:非復(fù)用數(shù)據(jù)接入模式和復(fù)用數(shù)據(jù)接入模式。
總體設(shè)計(jì)
基于MPC5200的音視頻采集處理系統(tǒng)實(shí)現(xiàn)了4路音頻和視頻的采集復(fù)合、MPEG-4壓縮、硬盤(pán)的本地存儲(chǔ)、網(wǎng)絡(luò)傳輸?shù)裙δ堋O到y(tǒng)主要包括音視頻采集復(fù)合壓縮、MPC5200的基本系統(tǒng)、硬盤(pán)存儲(chǔ)和網(wǎng)絡(luò)接口。系統(tǒng)通過(guò)音視頻采集復(fù)合壓縮模塊完成4路音頻和視頻的MPEG-4壓縮,壓縮后的MPEG-4數(shù)據(jù)通過(guò)系統(tǒng)提供的ATA接口完成本地硬盤(pán)存儲(chǔ),利用系統(tǒng)提供的以太網(wǎng)接口實(shí)現(xiàn)數(shù)據(jù)的網(wǎng)絡(luò)傳輸。
基于MPC5200的音視頻采集處理系統(tǒng)的硬件結(jié)構(gòu)如圖1所示。除MPC5200外,各模塊設(shè)計(jì)說(shuō)明如下:
圖1 基于MPC5200的音視頻采集處理系統(tǒng)的硬件結(jié)構(gòu)
5V變換邏輯并為USB和以太網(wǎng)分配引腳: 由于本設(shè)計(jì)中ATA、CAN接口是5V,MPC5200是3.3V,所以需要在連接的時(shí)候加入5V轉(zhuǎn)換器件74LVXC3245。在USB和以太網(wǎng)的引腳分配上,考慮到系統(tǒng)功能的可擴(kuò)展性,外接SN74CBTLV3384開(kāi)關(guān)芯片,使這些引腳可以作為普通的輸入/輸出口。
音視頻采集復(fù)合壓縮:4路SAA7114完成視頻采集,每路視頻為8位數(shù)據(jù),通過(guò)2片MC4558和1片IDT821024完成4路音頻采集。4路視頻、4路音頻通過(guò)1片型號(hào)為XC2S200-PQ208的FPGA轉(zhuǎn)化為IME6400所需要的1路16位視頻數(shù)據(jù)、1路音頻數(shù)據(jù)。IME6400是一款支持MPEG-4標(biāo)準(zhǔn)的芯片。FPGA和IME6400都需要和32MB的SDRAM(型號(hào)為K4S643232C)相接,完成音視頻數(shù)據(jù)的緩沖和保存。IME6400和MPC5200之間的連接采用同步突發(fā)模式一,IME6400作為MPC5200的外部設(shè)備被統(tǒng)一編址。本設(shè)計(jì)將A[1:5]連接到IME6400的地址線(xiàn)Ha[0:4],用74LVXC3245將A[6:21]轉(zhuǎn)化為IME6400的數(shù)據(jù)線(xiàn)Hd[0:15]。
硬盤(pán)存儲(chǔ)和網(wǎng)絡(luò)接口 :MPC5200自身帶有ATA控制器,本設(shè)計(jì)的ATA接口是5V的,LocalPlus總線(xiàn)的CS4、CS5分別對(duì)應(yīng)ATA的CS0、CS1,采用74LVXC3245把A[0:15]轉(zhuǎn)化為ATA的數(shù)據(jù)信號(hào)線(xiàn)ATA_5V_DD[0:15],把A[16:18]轉(zhuǎn)化為ATA的地址信號(hào)線(xiàn)ATA_5V_DA[0:2]。MPC5200自身帶有以太網(wǎng)控制器,通過(guò)連接LXT971,提供RJ45以太網(wǎng)接口。
MPC5200的基本系統(tǒng)是由24位地址/8位數(shù)據(jù)的8MB AM29LV0652D Flash(利用74LVT04、74LVT32產(chǎn)生的片選和讀寫(xiě)邏輯可以將Flash擴(kuò)展成16MB、13位地址/32位數(shù)據(jù)的64MB MT48LC16M16A2、PSC1口通過(guò)MAX3233E實(shí)現(xiàn)RS-232功能。
擴(kuò)展豐富的接口:MPC5200帶有PCI控制器,提供33MHz、32位、3.3V的PCI 連接器,這樣就可以在系統(tǒng)中連接成熟的、基于PCI接口的3.3V或者3.3V/5V兼容的視頻采集卡。MPC5200帶有USB控制器,通過(guò)外接電源管理芯片MIC2025和USB收發(fā)芯片ISP1107DH擴(kuò)展USB接口,這樣可以方便用戶(hù)提取和保存監(jiān)控系統(tǒng)中的重要數(shù)據(jù)。 MPC5200帶有CAN控制器,通過(guò)外接TJA1050T可以提供CAN接口,這樣可以方便地把系統(tǒng)連入基于CAN總線(xiàn)的系統(tǒng)中,MPC5200系統(tǒng)的PSC3可以作為普通的輸入/輸出口,這樣可以方便地接入外部開(kāi)關(guān)量,本系統(tǒng)包括兩個(gè)開(kāi)關(guān)輸入量和兩個(gè)開(kāi)關(guān)輸出量;MPC5200通過(guò)I2C接口連接256B的E2PROM(PCF8582C),在E2PROM中保存串口波特率、IP地址、MAC地址等信息。
圖2 軟件總體框圖
本系統(tǒng)中音頻采集時(shí)鐘是2.048MHz、視頻采集時(shí)鐘是24.576MHz、FPGA和IME6400的時(shí)鐘是27MHz、MPC5200的時(shí)鐘是33MHz ,內(nèi)核頻率264MHz ,RTC的時(shí)鐘是32.768KHz、以太網(wǎng)LXT971的時(shí)鐘是25MHz。
基于MPC5200的音視頻采集系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件的框圖如圖2所示。包括PPCBoot、內(nèi)核初始化、系統(tǒng)調(diào)用函數(shù)和捕捉函數(shù)、設(shè)備驅(qū)動(dòng)和文件系統(tǒng)。
驅(qū)動(dòng)程序設(shè)計(jì)
系統(tǒng)調(diào)用:當(dāng)一個(gè)系統(tǒng)調(diào)用發(fā)生時(shí),將參數(shù)放在堆棧上,然后調(diào)用一個(gè)陷阱處理程序。操作系統(tǒng)也會(huì)從堆棧上取得參數(shù),并調(diào)用陷阱處理程序,然后根據(jù)所帶的參數(shù)完成相關(guān)工作。
外圍設(shè)備硬件處理函數(shù)的調(diào)用:用于外圍設(shè)備的程序被放在設(shè)備驅(qū)動(dòng)模塊中。對(duì)內(nèi)核而言,對(duì)設(shè)備驅(qū)動(dòng)模塊的調(diào)用只能通過(guò)一些接口函數(shù)進(jìn)行。在實(shí)際應(yīng)用中,就是要建立用戶(hù)程序和這些程序之間的通信。
Linux操作系統(tǒng)中采用文件系統(tǒng)來(lái)完成設(shè)備驅(qū)動(dòng)模塊和用戶(hù)應(yīng)用程序之間的通信。設(shè)備驅(qū)動(dòng)看起來(lái)更象一個(gè)普通的文件,用戶(hù)可以對(duì)它進(jìn)行打開(kāi)、關(guān)閉、讀取和寫(xiě)入操作。操作系統(tǒng)就會(huì)分析這類(lèi)操作的對(duì)象,并將它們映射到相關(guān)的設(shè)備驅(qū)動(dòng)代碼中。|
文件的操作
super_block{
super_operations;/*指針結(jié)構(gòu)*/
inode_operations;/*文件節(jié)點(diǎn)操作*/
file_operations;/*文件操作*/
}
自己編寫(xiě)的驅(qū)動(dòng)程序在VFS中注冊(cè)自己的file_operations結(jié)構(gòu)。
硬件驅(qū)動(dòng)程序分為字符設(shè)備模塊、塊設(shè)備模塊和網(wǎng)絡(luò)接口模塊。
下面以IME6400為例說(shuō)明驅(qū)動(dòng)程序的設(shè)計(jì):IME6400驅(qū)動(dòng)程序是被作為字符設(shè)備模塊對(duì)待的。使用方法如下:
Insmod IME6400.o
Fd=open(“/dev/IME6400”, O_RDWR);
….;/*利用IME6400*/
close(fd)
rmmod IME6400
IME6400的驅(qū)動(dòng)程序提供下面一些功能: IME6400_open、IME6400_read、IME6400_ioctl、IME6400_release、IME6400_init、IME6400_exit、IME6400_interrupt、IME6400_reset、IME6400_download、IME6400_boot、queue_init、queue_empty、get_queue_len、update_queue、queue_to_user、Write32、Read32。每個(gè)功能都有相關(guān)的函數(shù)對(duì)應(yīng)解析實(shí)現(xiàn)。
應(yīng)用程序設(shè)計(jì)
首先通過(guò)Dserver進(jìn)程從IME6400中讀取媒體數(shù)據(jù),并在數(shù)據(jù)滿(mǎn)一幀的時(shí)候,把數(shù)據(jù)放在隊(duì)列上,然后執(zhí)行Dsend進(jìn)程,通過(guò)Cserver進(jìn)程接收和處理來(lái)自PC viewer的請(qǐng)求,確定是否完成硬盤(pán)存儲(chǔ)或網(wǎng)絡(luò)傳輸。具體流程參見(jiàn)圖3。
圖3 應(yīng)用程序執(zhí)行流程
系統(tǒng)應(yīng)用
系統(tǒng)產(chǎn)生的圖像采用標(biāo)準(zhǔn)的TCP/IP協(xié)議進(jìn)行傳輸,這使它特別適合跨網(wǎng)段、有路由器的遠(yuǎn)程視頻監(jiān)控環(huán)境使用。通過(guò)客戶(hù)端軟件實(shí)現(xiàn)對(duì)遠(yuǎn)程現(xiàn)場(chǎng)的實(shí)時(shí)監(jiān)控和觀看,并對(duì)攝像頭和云臺(tái)進(jìn)行遠(yuǎn)程控制。這也可以通過(guò)Internet Explorer下載專(zhuān)用插件來(lái)實(shí)現(xiàn),增強(qiáng)了系統(tǒng)的通用性。系統(tǒng)采用MPEG-4編碼極大地提高了編碼效率,使在相同的硬盤(pán)容量條件下,保存更長(zhǎng)的記錄時(shí)間。通過(guò)該軟件可靈活方便地對(duì)歷史錄像進(jìn)行檢索回放和多畫(huà)面輪巡操作。軟件還提供了其它一些靈活的管理和配置功能。
結(jié)語(yǔ)
本文介紹了基于MPC5200的嵌入式音視頻采集系統(tǒng)的實(shí)現(xiàn),從硬件和軟件兩方面進(jìn)行了介紹,在硬件方面重點(diǎn)介紹了系統(tǒng)的硬件結(jié)構(gòu)和MPC5200作為主處理器的基本特點(diǎn),在軟件方面重點(diǎn)介紹了驅(qū)動(dòng)程序和應(yīng)用程序的設(shè)計(jì)。■
評(píng)論