新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 淺談嵌入式網(wǎng)絡(luò)視頻服務(wù)器的設(shè)計(jì)

淺談嵌入式網(wǎng)絡(luò)視頻服務(wù)器的設(shè)計(jì)

作者: 時(shí)間:2017-10-21 來(lái)源:網(wǎng)絡(luò) 收藏

  是一種提供網(wǎng)絡(luò)視頻傳輸和共享的設(shè)備,是為構(gòu)建高可靠性的多媒體數(shù)字監(jiān)控系統(tǒng)而設(shè)計(jì)開(kāi)發(fā)的,數(shù)字監(jiān)控系統(tǒng)是指通過(guò)軟硬件將監(jiān)控頭采集到的圖像處理成數(shù)字信號(hào),傳送到電腦進(jìn)行處理。對(duì)于數(shù)字監(jiān)控系統(tǒng),根據(jù)系統(tǒng)各部分功能的不同,我們將整個(gè)數(shù)字監(jiān)控系統(tǒng)劃分為七層——表現(xiàn)層、控制層、處理層、傳輸層、執(zhí)行層、支撐層、采集層。當(dāng)然,由于設(shè)備集成化越來(lái)越高,對(duì)于部分系統(tǒng)而言,某些設(shè)備可能會(huì)同時(shí)以多個(gè)層的身份存在于系統(tǒng)中??刂茖邮钦麄€(gè)安防監(jiān)控系統(tǒng)的核心,它是系統(tǒng)科技水平的最明確體現(xiàn)。通常我們的控制方式有兩種——模擬控制和數(shù)字控制。模擬控制是早期的控制方式,其控制臺(tái)通常由控制器或者模擬控制矩陣構(gòu)成,適用于小型局部安防監(jiān)控系統(tǒng),這種控制方式成本較低,故障率較小。但對(duì)于中大型安防監(jiān)控系統(tǒng)而言,這種方式就顯得操作復(fù)雜且無(wú)任何價(jià)格優(yōu)勢(shì)了,這時(shí)我們更為明智的選擇應(yīng)該是數(shù)字控制。

本文引用地址:http://butianyuan.cn/article/201710/367017.htm

  1 系統(tǒng)組成與工作原理

  系統(tǒng)又叫數(shù)字視頻編碼器,是一種壓縮、處理音視頻數(shù)據(jù)的專(zhuān)業(yè)網(wǎng)絡(luò)傳輸設(shè)備,由音視頻壓縮編解碼器芯片、輸入輸出通道、網(wǎng)絡(luò)接口、音視頻接口、RS485串行接口控制、協(xié)議接口控制、系統(tǒng)軟件管理等構(gòu)成,主要是提供視頻壓縮或解壓功能,完成圖象數(shù)據(jù)的采集或復(fù)原等,目前比較流行的基于 MPEG-4或H.264的圖像數(shù)據(jù)壓縮通過(guò)Internet網(wǎng)絡(luò)傳輸數(shù)據(jù)以及音頻數(shù)據(jù)的處理。在目前視頻領(lǐng)域中的應(yīng)用主要是利用網(wǎng)絡(luò)視頻服務(wù)器構(gòu)建遠(yuǎn)程監(jiān)控系統(tǒng)?;诰W(wǎng)絡(luò)視頻服務(wù)器的多通道數(shù)字傳播技術(shù)具有傳統(tǒng)的基于磁帶錄像機(jī)的模擬輸出系統(tǒng)無(wú)可比擬的諸多優(yōu)勢(shì),網(wǎng)絡(luò)視頻服務(wù)器采用開(kāi)放式軟硬件平臺(tái)和標(biāo)準(zhǔn)或通用接口協(xié)議,系統(tǒng)擴(kuò)展能力較強(qiáng),能夠與未來(lái)全數(shù)字、網(wǎng)絡(luò)化、系統(tǒng)化、多通道資源共享等體系相銜接。

  

   圖1 系統(tǒng)框圖 圖2 AT2042與CPU的通信機(jī)制

  2 視頻編碼模塊

  視頻編碼模塊的核心是Pentamicro公司生產(chǎn)的AT2042,它是一個(gè)內(nèi)置微控制器ARM946E 的雙通道音視頻編解碼芯片,可支持MPEG-4/2/1和JPEG標(biāo)準(zhǔn)的視頻壓縮編碼,具有畫(huà)面縮放、顏色數(shù)據(jù)格式變換、噪聲抑制濾波等功能。 AT2042能直接與IBM、Motorola、ARM、Xscale和Axis等多種CPU接口,無(wú)需其它附加電路。MPC860T對(duì)AT2042的控制和訪問(wèn)可通過(guò)AT2042的狀態(tài)寄存器和命令寄存器以及四個(gè)輸入輸出隊(duì)列:發(fā)送/接收隊(duì)列,復(fù)用/解復(fù)用隊(duì)列。AT2042與CPU的通信機(jī)制如圖2所示

  AT2042與CPU的通信實(shí)現(xiàn)情況如下:CPU通過(guò)命令寄存器來(lái)控制內(nèi)置微控制器ARM946E的操作狀態(tài);通過(guò)狀態(tài)寄存器來(lái)檢查 AT2042內(nèi)部各個(gè)FIFO的操作狀態(tài);通過(guò)接收隊(duì)列給AT2042發(fā)送各種配置參數(shù),以及所有內(nèi)置微控制器ARM946E所需要的相關(guān)參數(shù);通過(guò)復(fù)用隊(duì)列將壓縮編碼后的比特流讀出。

  3網(wǎng)絡(luò)傳輸模塊

  3.1 MPC860T最小系統(tǒng)設(shè)計(jì)

  MPC860T是Motorola公司的高性能的32位PowerPC處理器,有三個(gè)主要的功能模塊:嵌入式的PowerPC內(nèi)核、RISC通信處理模塊(CPM)和系統(tǒng)接口單元(SIU)。MPC860有兩個(gè)CPU:PowerPC和32位RISC。PowerPC執(zhí)行高層代碼,RISC處理實(shí)際通信的低層功能,2個(gè)處理機(jī)互相配合工作。這種雙處理器構(gòu)架,分擔(dān)了主CPU的工作量,提高了處理效率,同時(shí)降低了芯片功耗,特別適合于各種通信及控制領(lǐng)域的嵌入式應(yīng)用。MPC860T最小系統(tǒng)如圖3所示。

  

  3.1.1 電源

  電源作為一個(gè)系統(tǒng)的能量提供者,在整個(gè)系統(tǒng)設(shè)計(jì)中成為必不可少且至關(guān)重要的一個(gè)環(huán)節(jié)。MPC860T的工作電壓為3.3V,需提供一個(gè)3.3V/1A的直流穩(wěn)壓電源給CPU及外圍電路。

  3.1.2 時(shí)鐘電路

  MPC860時(shí)鐘系統(tǒng)為所有片上或片外設(shè)備提供不同的時(shí)鐘。MPC86OT一共有兩個(gè)參考時(shí)鐘源,一個(gè)是其工作頻率的晶振,連接EXTCLK腳,一個(gè)是 32KHz的晶體,連接EXTAL和XTAL腳。設(shè)計(jì)中,兩個(gè)外部時(shí)鐘源都用到了。EXTCLK外接一個(gè)5MHz的晶體振蕩器作為SPLL的參考時(shí)鐘源,在EXTAL和XTAL之間接一個(gè)32.768KHz的晶體作為實(shí)時(shí)時(shí)鐘的參考時(shí)鐘源。

  3.1.3 復(fù)位模塊

  MPC860T包括上電復(fù)位、外部硬復(fù)位、內(nèi)部硬復(fù)位、JTAG 復(fù)位、外部軟復(fù)位和內(nèi)部軟復(fù)位。復(fù)位電路采用MAX811T來(lái)實(shí)現(xiàn)。上電和人工按鍵均可產(chǎn)生復(fù)位信號(hào),其中/RESET端口接MPC860T的 /PORESET,由/RESET產(chǎn)生復(fù)位信號(hào)復(fù)位處理器。由SN74LVTH125芯片組成的電路提供/HRESET和/SRESET復(fù)位功能。手動(dòng)按下按鍵連接芯片/OE控制三態(tài)門(mén)的輸出使能時(shí),低電平輸出到/HRESET或/SRESET,MPC860T響應(yīng)復(fù)位動(dòng)作。正常狀態(tài)下,輸出呈現(xiàn)高阻狀態(tài)。

  3.1.4 存儲(chǔ)系統(tǒng)設(shè)計(jì)

  MPC860T的存儲(chǔ)控制器最多可以控制8個(gè)存儲(chǔ)體或外圍設(shè)備,支持GPCM (general purpose chip select machine)和UPM(User programmable machines)兩種方式,可提供與SRAM,EPROM,F(xiàn)LASH,DRAM,SDRAM等設(shè)備的無(wú)縫連接。GPCM提供與 EPROM,SRAM,F(xiàn)lash以及其他的外設(shè)的無(wú)縫連接,UPM則常常用于SDRAM以及猝發(fā)式SRAM的控制與連接。Flash存儲(chǔ)器是一種電可擦除、可重寫(xiě)的存儲(chǔ)設(shè)備。Bootrom Flash采用512Kbyte的SST39VF040。Bootrom主要作用是引導(dǎo)及初始化CPU,以及引導(dǎo)單板程序。BSP在嵌入式系統(tǒng)和 Windows系統(tǒng)中的不同其實(shí)運(yùn)行與PC機(jī)上的windows或linux系統(tǒng)也是有BSP的。只是PC機(jī)均采用統(tǒng)一的X86體系架構(gòu),這樣一定操作系統(tǒng)的BSP相對(duì)x86架構(gòu)是單一確定的,不需要做任何修改就可以很容易支持OS在x86上正常運(yùn)行,所以在PC機(jī)上談?wù)揃SP這個(gè)概念也沒(méi)什么意義了。而對(duì)嵌入式系統(tǒng)來(lái)說(shuō)情況則完全不同,目前市場(chǎng)上多種結(jié)構(gòu)的嵌入式CPU(RISC)并存(PPC,ARM,MIPS…),為了性能的需要,外圍設(shè)備也會(huì)有不同的選擇和定義。一個(gè)嵌入式操作系統(tǒng)針對(duì)不同的CPU,會(huì)有不同的BSP,即使同一種CPU,由于外設(shè)的一點(diǎn)差別(如外部擴(kuò)展DRAM的大小,類(lèi)型改變),BSP相應(yīng)的部分也不一樣。

  考慮存儲(chǔ)容量、功耗等因素,數(shù)據(jù)存儲(chǔ)器多選高速動(dòng)態(tài)隨機(jī)存儲(chǔ)器SDRAM。Micron公司生產(chǎn)的 MT48LC4M16A2作為SDRAM芯片,組織形式為1M X 4 bank X 16位,總?cè)萘繛?4Mbit,采用3.3V供電,支持的最高頻率為133MHz。由于其數(shù)據(jù)總線為16位,因此系統(tǒng)選用兩片并聯(lián)構(gòu)成32位。SDRAM 與MPC860T的連接框圖如圖4所示。

  

  圖4 SDRAM與MPC860T的連接框圖

  SDRAM的CLK信號(hào)由MPC860T的輸出時(shí)鐘CLKOUT驅(qū)動(dòng),/WE、/RAS和/CAS信號(hào)分別由UPMA的GPLA1~GPLA3產(chǎn)生。 SDRAM的A10引腳要復(fù)用于SDRAM的刷新控制,因而必須與GPLAO相連(由于不方便連線圖中未畫(huà)出),因?yàn)镸PC860T的GPLAO可以通過(guò)編程實(shí)現(xiàn)控制信號(hào)與地址信號(hào)的復(fù)用。MT48LC4M16A2內(nèi)部有12條行地址和8條列地址,行地址為高位地址,列地址為低位地址,而外部?jī)H有12條地址信號(hào)A0~A11。這就需要對(duì)UPM對(duì)地址進(jìn)行復(fù)用。MPC860T支持內(nèi)部地址復(fù)用,可以通過(guò)UPM的RAM字中的AMX位進(jìn)行配置,同時(shí)將OR寄存器中的SAM位同時(shí)進(jìn)行配置。

  3.2 網(wǎng)絡(luò)接口

  經(jīng)壓縮的視頻流由MPC860T封裝成IP包后,通過(guò)網(wǎng)絡(luò)接口送入Internet。采用MPC860T的FEC(Fast Ethernet Controller)加上物理層芯片以及脈沖變壓器構(gòu)造一個(gè)10/100M以太網(wǎng)接口,由此實(shí)現(xiàn)上述功能。

  4 系統(tǒng)的軟件設(shè)計(jì)

  軟件設(shè)計(jì)包括:VxWorks操作系統(tǒng)的內(nèi)核生成和VxWorks下驅(qū)動(dòng)程序與應(yīng)用程序的開(kāi)發(fā)。VxWorks是美國(guó)Wind River System公司推出的嵌入式實(shí)時(shí)開(kāi)發(fā)環(huán)境,它是專(zhuān)門(mén)為嵌入式系統(tǒng)設(shè)計(jì)開(kāi)發(fā)的可裁減、高性能的操作系統(tǒng)。為了發(fā)揮VxWorks的功能并設(shè)計(jì)出可靠、高效的嵌入式系統(tǒng),還用到Tornado集成開(kāi)發(fā)環(huán)境。TornadoII就是Wind River公司推出的為了開(kāi)發(fā)VxWorks應(yīng)用系統(tǒng)提供的集成開(kāi)發(fā)環(huán)境,提供一種有效的方式開(kāi)發(fā)嵌入式實(shí)時(shí)應(yīng)用程序,同時(shí)對(duì)目標(biāo)機(jī)系統(tǒng)的影響做到最小。

  

  圖5 軟件結(jié)構(gòu)框圖

  本系統(tǒng)中軟件的架構(gòu)如圖5所示,主要包括:1)硬件底層驅(qū)動(dòng)程序,包括BSP的開(kāi)發(fā)、操作系統(tǒng)的裁剪和移植、文件系統(tǒng)的開(kāi)發(fā)和應(yīng)用等。設(shè)備驅(qū)動(dòng)程序是直接控制設(shè)備操作的程序,也是設(shè)備上層的一個(gè)軟件接口,功能是對(duì)I/O進(jìn)行操作。只要系統(tǒng)訪問(wèn)設(shè)備就會(huì)調(diào)用驅(qū)動(dòng),從這一點(diǎn)可以看出,驅(qū)動(dòng)程序不能自動(dòng)執(zhí)行,只能被系統(tǒng)或應(yīng)用程序調(diào)用。設(shè)備驅(qū)動(dòng)程序通常包含六個(gè)主要功能:對(duì)設(shè)備進(jìn)行初始化、打開(kāi)設(shè)備操作、關(guān)閉設(shè)備操作、從設(shè)備上接收數(shù)據(jù)并提交給系統(tǒng)、把數(shù)據(jù)從主機(jī)上發(fā)送給設(shè)備和對(duì)設(shè)備進(jìn)行控制操作。2)應(yīng)用程序的設(shè)計(jì),它包括以下三個(gè)模塊:TVP5150的數(shù)據(jù)采集、視頻編碼、數(shù)據(jù)的網(wǎng)絡(luò)功能。其中 TVP5150的數(shù)據(jù)采集模塊包括對(duì)TVP5150初始化,工作參數(shù)和反饋狀態(tài)信息的設(shè)置等。視頻解碼模塊除了完成對(duì)AT2042的驅(qū)動(dòng),還為上層應(yīng)用提供配置管理接口。網(wǎng)絡(luò)功能模塊包括音視頻編碼數(shù)據(jù)的網(wǎng)絡(luò)傳輸和網(wǎng)絡(luò)服務(wù)功能等子模塊。

  結(jié)束語(yǔ)

  本文作者創(chuàng)新點(diǎn)是采用MCU+CODEC的硬件結(jié)構(gòu),較其他的采用DSP單芯片的系統(tǒng),具有系統(tǒng)集成度高,體積小、功耗低、性能穩(wěn)定等優(yōu)點(diǎn)。并且,作為MCU的MPC860T內(nèi)部集成有FEC,使硬件設(shè)計(jì)更簡(jiǎn)單。同時(shí), VxWorks嵌入式操作系統(tǒng)的采用使系統(tǒng)具有很好的實(shí)時(shí)性。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉