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