日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于DSP/ARM的網(wǎng)絡(luò)硬盤(pán)錄像機(jī)的設(shè)計(jì)方案

 隨著人們生活水平的提高和對(duì)工作、生活環(huán)境中安全防衛(wèi)需求的增長(zhǎng),視頻監(jiān)控系統(tǒng)近年來(lái)得到了迅速的發(fā)展。傳統(tǒng)的基于PC 機(jī)的視頻監(jiān)控系統(tǒng)多存在著諸如安裝攜帶不便、不能在惡劣環(huán)境下使用等一些缺點(diǎn),這就亟待一種全新的視頻監(jiān)控系統(tǒng)的出現(xiàn)。隨著近年來(lái)超大規(guī)模集成電路和嵌入式軟硬件技術(shù)的迅猛發(fā)展,特別是DSP、PowerPC 等嵌入式芯片的出現(xiàn),將嵌入式處理器應(yīng)用到視頻監(jiān)控系統(tǒng)中不僅克服了上述基于PC 機(jī)系統(tǒng)的一些缺點(diǎn),而且其強(qiáng)大的功能加上豐富的外設(shè)接口和高度的可編程性使得視頻監(jiān)控的硬件和軟件都更容易實(shí)現(xiàn)。正是由于越來(lái)越高的性?xún)r(jià)比加上體積小、成本低等獨(dú)特優(yōu)勢(shì),使得嵌入式芯片在視頻監(jiān)控領(lǐng)域也漸漸擁有了一席之地。

  1 系統(tǒng)概述

  本方案采用DSP+ARM 的雙核結(jié)構(gòu),采用H.264標(biāo)準(zhǔn)作為視頻壓縮標(biāo)準(zhǔn),采用開(kāi)放性的uclinux 操作系統(tǒng)。其中DSP 芯片采用TI 公司的DM642,主要用來(lái)進(jìn)行圖像處理,ARM 芯片采用S3C2510 進(jìn)行操作控制。本方案中服務(wù)器不僅要采集、處理視頻,還要進(jìn)行控制,如通過(guò)云臺(tái)的控制對(duì)監(jiān)控圖像的視場(chǎng)、方位進(jìn)行改換等。雖然DM642 具有較高的性能和豐富的接口,但要讓DSP 完成上述全部功能,就顯得力不從心了,系統(tǒng)的實(shí)時(shí)性和圖像質(zhì)量將難免受到損傷。

  引入ARM 主機(jī)則可從根本上解決這些問(wèn)題。ARM 是32 位CPU,功能強(qiáng)大,可以構(gòu)建適于網(wǎng)絡(luò)傳輸?shù)牟僮飨到y(tǒng)。

  2 系統(tǒng)設(shè)計(jì)

  2.1 總體設(shè)計(jì)

  網(wǎng)絡(luò)硬盤(pán)錄像機(jī)的硬件體系包含以下幾個(gè)處理單元:視音頻采樣、視音頻壓縮處理模塊、視音頻預(yù)覽模塊、視音頻回放模塊、記錄模塊、網(wǎng)絡(luò)模塊、報(bào)警輸入輸出模塊、人機(jī)界面模塊等,以下是網(wǎng)絡(luò)硬盤(pán)錄像機(jī)的結(jié)構(gòu)示意圖,其中包含了壓縮模塊、預(yù)覽模塊、硬盤(pán)控制器及主控模塊,各模塊之間的數(shù)據(jù)通過(guò)PCI內(nèi)部總線(xiàn)進(jìn)行傳輸。

圖1 系統(tǒng)結(jié)構(gòu)示意圖

  采樣的視音頻數(shù)據(jù)由壓縮模塊進(jìn)行處理,處理后的視音頻數(shù)據(jù)供預(yù)覽、錄像或通過(guò)網(wǎng)絡(luò)傳輸,視音頻處理的核心部件為數(shù)字信號(hào)處理器(DSP)。系統(tǒng)資源的管理與調(diào)度由主控模塊完成,其核心部件為ARM 芯片。

  2.2 視頻和音頻采集和處理模塊

  本系統(tǒng)采用模擬攝像頭進(jìn)行視頻數(shù)據(jù)采集,然后將采集到的模擬數(shù)據(jù)通過(guò)TI 公司的TVP5154 芯片進(jìn)行數(shù)字化,TVP5154 視頻編碼器支持PAL/NTSC、CVBS 或Y/C 模擬視頻輸入,8-bit BT.656 數(shù)字視頻數(shù)據(jù)流輸出,其輸出的數(shù)字視頻流可以與DM642 實(shí)現(xiàn)無(wú)縫連接。在本地預(yù)覽和本地回放模塊,采用SAA7105 視頻解碼器進(jìn)行解碼,SAA7105 型視頻解碼器支持8-bit BT.656 數(shù)字視頻數(shù)據(jù)流輸入,PAL/NTSC、CVBS 或Y/C 模擬視頻輸出。通過(guò)DM642 的I2C 總線(xiàn)對(duì)視頻編/解碼器的內(nèi)部寄存器進(jìn)行編程,實(shí)現(xiàn)不同的輸入輸出,視頻編解碼器的參數(shù)通過(guò)I2C 總線(xiàn)配置。作為視頻輸入口時(shí),視頻數(shù)據(jù)的行/場(chǎng)同步又包含BT.656 數(shù)字視頻數(shù)據(jù)流中的EAV和SAV 時(shí)基信號(hào)控制,視頻口只需視頻采樣時(shí)鐘和采樣使能信號(hào)(控制采樣起始),TVP5154 用系統(tǒng)時(shí)鐘SCLK 提供采樣時(shí)鐘,用可編程引腳GPCL 提供采樣使能。作為視頻輸出口時(shí),視頻口要為SAA7105 提供時(shí)鐘和行/場(chǎng)同步信號(hào)。DM642 有3 個(gè)視頻口,每個(gè)都可以配置為上下兩個(gè)通道,但VP0、VP1 的兩個(gè)通道必須同時(shí)為視頻輸入口或輸出口。結(jié)合實(shí)際應(yīng)用,在本系統(tǒng)中VP0 和VP1 的 A 通道配置為8-bitBT.656 視頻輸入口,VP2 A 和B 通道配置為2 個(gè)8-bit BT.656 視頻輸入口,VP0 和VP1 的B 通道配置為MCASP,接四個(gè)音頻Codec.

  音頻部分采用TLV320AIC23B 型音頻編/解碼器,它支持麥克風(fēng)/立體聲模擬輸入/輸出和數(shù)字音頻數(shù)據(jù)流輸出/輸入。PLL1708型可編程視頻/音頻同步數(shù)字鎖相環(huán)給McASP 和TLV320AIC23B 提供時(shí)鐘信號(hào),SCK02 端口接McASP 的AHCLKX,SCK03 端口接TLV320AIC23B 的主時(shí)鐘MCLK.PLL1708 的時(shí)鐘輸入為27MHz.DM642 與TLV320AIC23B 的對(duì)應(yīng)引腳功能見(jiàn)表1.

表1 DM642 與TLV320AIC23B 的對(duì)應(yīng)引腳。

2.3 存儲(chǔ)模塊

  DM642 的EMIF 在內(nèi)存中的地址映射分為4 個(gè)可獨(dú)立尋址的空間CE[3:0],自地址0x80000000 起各占256MB.根據(jù)設(shè)計(jì)中所選用芯片的數(shù)據(jù)寬度等特點(diǎn),可以對(duì)這4 個(gè)尋址空間進(jìn)行配置。其中,CE0 空間配置成64 位寬度,只用于SDRAM 內(nèi)存的映射;CE1 空間配置成8 位寬度,用于Flash、UART 的映射;CE2 空間配置成16 位寬度,用于ATA 寄存器的映射;CE3 本設(shè)計(jì)中未使用,可以作為將來(lái)擴(kuò)展子卡用。[!--empirenews.page--]

  在本設(shè)計(jì)中,硬盤(pán)控制器芯片使用Silicon Image公司的SiI3512雙口SATA 控制器來(lái)實(shí)現(xiàn)SATA 功能。

  SiI3512 直接掛載在S3C2510 的PCI 總線(xiàn)上為系統(tǒng)提供SATA 接口。連接方式如圖2 所示:

圖2 SiI3512 與S3C2510 的連接方式。

  2.4 電源模塊

  2.4.1 供電電路

  整個(gè)電路板采用+5 V 電壓供電,可以從外部引入,也可以從擴(kuò)展的PCI 接口引入。DM642 芯片需要2 個(gè)獨(dú)立的電壓,CPU 內(nèi)核電壓GVDD(+1.4 V)和外圍I/O 電壓DVDD(+3.3 V)。這兩個(gè)電壓在供電時(shí)需要嚴(yán)格按照順序進(jìn)行,即GVDD 要比DVDD 上電早,至少不能晚于DVDD.設(shè)計(jì)中采用2 片TI 公司專(zhuān)為高性能DSP、FPGA、ASIC 和微處理器的應(yīng)用而設(shè)計(jì)的電源芯片TPS54310,分別給DM642 提供CVDD 和DVDD 電壓。在電路連接上將TPS54310(1)的PWRGD引腳和TPS54310(2)的SS/EN引腳相連。

  當(dāng)(1)的輸出電壓高于1.2 V 時(shí),芯片(2)開(kāi)始工作;當(dāng)這個(gè)值達(dá)到穩(wěn)定的+1.4 V 后,PWRGD 引腳輸出高電平送到芯片(2)的SS/EN 引腳。這就保證了CPU 內(nèi)核的上電時(shí)間早于I/O 的上電時(shí)間,如圖3 所示:

圖3 電源電路。

  2.4.2 電源監(jiān)測(cè)電路

  為了保證DM642 芯片在電源未達(dá)到要求的電平時(shí),不會(huì)產(chǎn)生不受控制的狀態(tài),而且允許系統(tǒng)中的各個(gè)芯片在任意時(shí)刻可以通過(guò)復(fù)位來(lái)調(diào)整工作狀態(tài),這就需要在系統(tǒng)中加入一個(gè)電源監(jiān)測(cè)電路,.該電路能確保在系統(tǒng)的加電過(guò)程中,CVDD 和DVDD 達(dá)到要求的電平之前,DSP 始終處于復(fù)位狀態(tài)。選用了TI 公司生產(chǎn)的TPS3823-33 芯片,其固定復(fù)位信號(hào)時(shí)間長(zhǎng)達(dá)200 ms,能滿(mǎn)足系統(tǒng)中所有芯片的復(fù)位需求。芯片帶有一個(gè)看門(mén)狗電路,通過(guò)WDI 引腳接收來(lái)自CPU 的定時(shí)信號(hào),避免發(fā)生系統(tǒng)程序跑飛的情況。

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

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

  該系統(tǒng)的軟件主要包括三個(gè)部分:?jiǎn)?dòng)程序,內(nèi)核與根文件系統(tǒng),專(zhuān)業(yè)芯片驅(qū)動(dòng)及應(yīng)用。為了開(kāi)發(fā)和升級(jí)的方便,我們將根文件系統(tǒng)作成RAMDISK 的格式。據(jù)此我們將FlashROM 分為3 個(gè)區(qū):1 Cramfs,2 Boot-Loader,3 Kernel+RAMDISK.本系統(tǒng)的啟動(dòng)程序用的是DENX 的U-boot-1.1.0.它的主要工作是初始化硬件,為加載操作系統(tǒng)準(zhǔn)備必要的環(huán)境及其參數(shù),同時(shí)可以與開(kāi)發(fā)主機(jī)通訊,下載程序到SDRAM 和Flash.通過(guò)修改它的一些配置文件,可以完成對(duì)目標(biāo)系統(tǒng)Memory Controller,memory map以及I/O,PCI,Flash,Ethernet controller,Serial等硬件設(shè)施的初始化。

  對(duì)于芯片驅(qū)動(dòng)程序的編寫(xiě),一些通用設(shè)備驅(qū)動(dòng),如以太網(wǎng)卡驅(qū)動(dòng)已經(jīng)在內(nèi)核中,對(duì)于系統(tǒng)的一些專(zhuān)業(yè)芯片的驅(qū)動(dòng)由于其特殊性,將其和應(yīng)用做成Cramfs文件系統(tǒng)格式,在目標(biāo)板的的操作系統(tǒng)啟動(dòng)時(shí)以module 的形式進(jìn)行加載,方便修改和升級(jí)。編寫(xiě)驅(qū)動(dòng)程序可以按照Linux 下編寫(xiě)驅(qū)動(dòng)程序的規(guī)則來(lái)編寫(xiě)。編寫(xiě)的驅(qū)動(dòng)程序應(yīng)該具有以下功能:a)對(duì)設(shè)備的初始化和釋放:b)數(shù)據(jù)從內(nèi)核傳到硬件和從硬件讀取數(shù)據(jù):c)讀取應(yīng)用程序傳遞給設(shè)備文件的數(shù)據(jù)和回應(yīng)應(yīng)用程序請(qǐng)求的數(shù)據(jù):d)檢測(cè)和處理設(shè)備出現(xiàn)的錯(cuò)誤。

  設(shè)備驅(qū)動(dòng)程序的實(shí)質(zhì)就是中斷處理。Linux 中斷處理程序分為上半部和下半部。上半部即一般的中斷服務(wù)程序, 由硬件中斷觸發(fā),一般運(yùn)行在關(guān)中斷的方式下,應(yīng)當(dāng)盡可能的短小,處理盡可能的快:下半部運(yùn)行在開(kāi)中斷和任務(wù)串行化的環(huán)境下,處理需要較長(zhǎng)時(shí)間的任務(wù)。驅(qū)動(dòng)程序上半部在處理完實(shí)時(shí)性很強(qiáng)的任務(wù)后,用Queue-task 函數(shù)將下半部處理函數(shù)掛入立即隊(duì)列,用mark-bh 函數(shù)來(lái)激活立即隊(duì)列,下半部就可以最優(yōu)先的被執(zhí)行。

  3.2 應(yīng)用程序的設(shè)計(jì)

  應(yīng)用程序的設(shè)計(jì)可以采用多線(xiàn)程或者多進(jìn)程的方式。多線(xiàn)程的優(yōu)點(diǎn)在于線(xiàn)程比進(jìn)程要小,可以使應(yīng)用更輕量,線(xiàn)程間通訊方便,缺點(diǎn)就在于由于線(xiàn)程使用同一個(gè)地址空間,如果一個(gè)線(xiàn)程出了問(wèn)題,將可能影響到整個(gè)系統(tǒng);多進(jìn)程各自占有一份內(nèi)存空間,因此可以增強(qiáng)系統(tǒng)的健壯性,但是多進(jìn)程增加了系統(tǒng)的開(kāi)銷(xiāo),同時(shí)進(jìn)程間通訊較復(fù)雜。結(jié)合我們系統(tǒng)的實(shí)際,考慮到各個(gè)線(xiàn)程通訊的重要性,我們采取多進(jìn)程多線(xiàn)程的方式,在軟件上增加一個(gè)與主進(jìn)程并行的守護(hù)進(jìn)程,在硬件上設(shè)置看門(mén)狗,以增強(qiáng)系統(tǒng)的健壯性。

  4 遠(yuǎn)程控制與通信鏈路的建立

  本設(shè)計(jì)采用PPP 串行通信接口協(xié)議方式。PPP(PointtoPointProtocal,點(diǎn)對(duì)點(diǎn)協(xié)議)協(xié)議中包含3 個(gè)部分:

  在串行鏈路上封裝IP 數(shù)據(jù)報(bào)的方法;建立、配置及測(cè)試數(shù)據(jù)鏈路的鏈路控制協(xié)議(LCP);不同網(wǎng)絡(luò)層協(xié)議的網(wǎng)絡(luò)控制協(xié)議(NCP)。PPP 具有很多優(yōu)勢(shì);支持循環(huán)冗余檢測(cè)、支持通信雙方進(jìn)行IP 地址動(dòng)態(tài)協(xié)商、對(duì)TCP 和IP 報(bào)文進(jìn)行壓縮、認(rèn)證協(xié)議支持(CHAP 和PAP)等。

  PPP 的實(shí)現(xiàn)可以通過(guò)2 個(gè)后臺(tái)任務(wù)來(lái)完成,協(xié)議控制任務(wù)和寫(xiě)任務(wù)。協(xié)議控制任務(wù)控制各種PPP的控制協(xié)議,包括LCP、NCP、CHAP 和PAP.它用來(lái)處理連接的建立、連接方式的協(xié)商、連接用戶(hù)的認(rèn)證以及連接中止。寫(xiě)任務(wù)用來(lái)控制PPP 設(shè)備的數(shù)據(jù)發(fā)送。數(shù)據(jù)報(bào)的發(fā)送過(guò)程,就是通過(guò)寫(xiě)任務(wù)往串行接口設(shè)備寫(xiě)數(shù)據(jù)的過(guò)程,當(dāng)有數(shù)據(jù)報(bào)準(zhǔn)備就緒,PPP 驅(qū)動(dòng)通過(guò)信號(hào)燈激活寫(xiě)任務(wù),使之完成對(duì)串行接口設(shè)備的數(shù)據(jù)發(fā)送過(guò)程。PPP 接收端程序通過(guò)在串行通信設(shè)備驅(qū)動(dòng)中加入"hook"程序來(lái)實(shí)現(xiàn)。在串行通信設(shè)備接收到1 個(gè)數(shù)據(jù)之后,串行設(shè)備的中斷服務(wù)程序(ISR)調(diào)用PPP 的ISR.當(dāng)1 個(gè)正確的PPP數(shù)據(jù)幀接收之后,PPP 的ISR 通過(guò)調(diào)度程序調(diào)用PPP輸入程序,然后PPP 輸入程序從串行設(shè)備的數(shù)據(jù)緩存中將整個(gè)PPP 數(shù)據(jù)幀讀出,根據(jù)PPP 的數(shù)據(jù)幀規(guī)則進(jìn)行處理,也就是分別放入IP 輸入隊(duì)列或者協(xié)議控制任務(wù)的輸入隊(duì)列。

  5 總結(jié)

  我們采用ARM 和DSP 芯片的雙核結(jié)構(gòu)組建了一種網(wǎng)絡(luò)視頻服務(wù)器。以DM642 和S3C2510 分別作為視頻板和主機(jī)板的核心芯片,H.264 作為視頻壓縮方案,操作系統(tǒng)選用了uclinux.本系統(tǒng)充分利用了ARM 和DSP 的各自特點(diǎn),充分發(fā)揮ARM 的事件處理控制能力和DSP 對(duì)數(shù)字視頻大吞吐量要求,同時(shí)通過(guò)優(yōu)選主要芯片,努力提高整機(jī)性?xún)r(jià)比。本系統(tǒng)可同時(shí)輸入16 路視頻信號(hào),在保障視頻質(zhì)量的前提下,適于當(dāng)前不同帶寬的網(wǎng)絡(luò)要求。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

ARM系統(tǒng)幾乎都采用Linux的操作系統(tǒng),而且?guī)缀跛械挠布到y(tǒng)都要單獨(dú)構(gòu)建自己的系統(tǒng),與其他系統(tǒng)不能兼容,這也導(dǎo)致其應(yīng)用軟件不能方便移植,這一點(diǎn)一直嚴(yán)重制約了ARM系統(tǒng)的發(fā)展和應(yīng)用。GOOGLE開(kāi)發(fā)了開(kāi)放式的Andro...

關(guān)鍵字: Linux x86 ARM

隨著在線(xiàn)會(huì)議、直播和游戲語(yǔ)音交流的普及,高質(zhì)量的音頻輸入設(shè)備變得越來(lái)越重要。為此,邊緣AI和智能音頻專(zhuān)家XMOS攜手其全球首家增值分銷(xiāo)商飛騰云科技,利用其集邊緣AI、DSP、MCU和靈活I(lǐng)/O于一顆芯片的xcore處理器...

關(guān)鍵字: AI DSP MCU

隨著計(jì)算需求的多樣化,尤其是隨著移動(dòng)設(shè)備、嵌入式系統(tǒng)和云計(jì)算的興起,ARM 和 x86 架構(gòu)之間的爭(zhēng)論變得更加突出。ARM(高級(jí) RISC 機(jī)器)和 x86 代表兩種不同類(lèi)型的處理器架構(gòu),每種架構(gòu)都針對(duì)不同的工作負(fù)載和用...

關(guān)鍵字: Linux x86 ARM

從畫(huà)質(zhì)優(yōu)化 (NSS) 到幀率提升 (NFRU) 和光線(xiàn)追蹤(NSSD),Arm 計(jì)劃覆蓋移動(dòng)端圖形處理的多個(gè)維度,推動(dòng)邊緣 AI 圖形革命。而未來(lái)通過(guò)持續(xù)的技術(shù)迭代,Arm也將保持在移動(dòng)計(jì)算領(lǐng)域的技術(shù)領(lǐng)先,滿(mǎn)足手游、A...

關(guān)鍵字: ARM 神經(jīng)圖形技術(shù) GPU AI ML

7月31日消息,據(jù)媒體報(bào)道,芯片架構(gòu)提供商Arm Holdings首席執(zhí)行官Rene Haas宣布,公司正加大投入開(kāi)發(fā)自有芯片產(chǎn)品,此舉標(biāo)志著其從傳統(tǒng)IP授權(quán)模式向提供實(shí)體芯片的戰(zhàn)略重大轉(zhuǎn)變。

關(guān)鍵字: ARM META

7月28日消息,2025年,中國(guó)AI硬件市場(chǎng)規(guī)模將首次突破萬(wàn)億元大關(guān)。

關(guān)鍵字: AI ARM
關(guān)閉