<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于Blackfin的智能IP Camera系統設計

基于Blackfin的智能IP Camera系統設計

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

  下表(表1)列出了系統中各模塊的來(lái)源:

本文引用地址:http://dyxdggzs.com/article/265113.htm

  表1 系統模塊來(lái)源

  

 

  3.系統優(yōu)化

  在系統中,一旦算法確定下來(lái),實(shí)現過(guò)程中的優(yōu)化思路一般也是固定的,首先利用編譯器的一些優(yōu)化開(kāi)關(guān)和手段,其次對算法做分析,找出關(guān)鍵代碼和數據,對關(guān)鍵部分做一些手工的調整,如改寫(xiě)成匯編等。但在實(shí)現一個(gè)包括多路輸入輸出,多種算法并行的完整的系統時(shí),如何達到整體運行的最優(yōu)化,除了傳統的算法優(yōu)化外,還需要從系統的角度考慮一些因素:

  1.系統帶寬的最大化和最優(yōu)化

  在這樣的一個(gè)復雜系統中,視頻和音頻數據的多路輸入輸出帶來(lái)了沖突和延遲,對片外內存的使用效率有很大影響。的SDRAM控制器支持多Bank的數據并發(fā)傳輸,因此我們要盡量把不同通道的IO數據放在內存的不同Bank上。因此在音視頻和網(wǎng)絡(luò )數據結構的設計上,不光要保證高效的同步,還要利用開(kāi)發(fā)工具提供的特性把數據分散在不同的Bank上。

  2.片內L1內存的高效分配

  傳統上,處理器內部的L1高速內存可以直接訪(fǎng)問(wèn),存放關(guān)鍵代碼和數據,提高算法運行效率。而MCU的L1一般全部用來(lái)做Cache,軟件不能直接控制。在等高性能處理器上,L1可以靈活地配置成Cache或者直接訪(fǎng)問(wèn)。在一個(gè)完整的系統中,我們要兼顧到各個(gè)模塊和操作系統本身,L1內存一部分用作Cache,以保證整體cache命中率;另一部分作為SRAM用于算法的關(guān)鍵模塊。這里需要做一些反復的調整和測試,來(lái)找出一個(gè)最優(yōu)化的L1配置方案,最終目的是達到L1 內存使用效率(命中率)最大。

  3.最大效率地使用DMA通道

  越來(lái)越多的處理器為IO接口提供專(zhuān)用的DMA通道,以減輕處理器做數據輸入輸出的負擔。Blackfin上除了音視頻接口的DMA外,還有專(zhuān)用的內存DMA通道。但是要最優(yōu)化地使用DMA,最重要的是使用乒乓緩沖,使處理器和DMA通道流水化工作。在數據輸入,算法內部的內存DMA,數據輸出等每個(gè)環(huán)節上都要使用DMA和乒乓緩沖,才能保證系統效率最高。這需要每個(gè)驅動(dòng)和軟件模塊都支持這樣的數據結構和運行模型。

  綜合起來(lái),新型處理器上往往集成了多種提高性能的機制,軟件系統優(yōu)化的思路,就是保證系統總帶寬(如多總線(xiàn),多DMA通道)和總運算單元(如多核,多乘法器)的并行化、流水化,這需要開(kāi)發(fā)人員從系統和應用不同的層面來(lái)保證。

  4.性能分析

  系統使用的RTOS帶來(lái)的額外開(kāi)銷(xiāo)主要就是定時(shí)為10ms的Timer Tick,可以忽略不計。而由于BF537高超的網(wǎng)絡(luò )性能,網(wǎng)絡(luò )傳輸所占用的處理器時(shí)間也非常小。主要的處理器時(shí)間消耗在音視頻的智能分析和編碼上。

  本項目可以運行在單核或雙核Blackfin平臺上,接收端用開(kāi)源項目Video Lan Client(VLC)來(lái)接收并播放。對于單周期指令集的600MHz Blackfin內核,我們一般用600 MIPS來(lái)表示單核的總處理器能力,下表列出的部分系統模塊消耗處理器能力也用MIPS來(lái)表示,如下表 (表2)所示。

  表2 的性能測試 (單位:MIPS)

  

 

  從上面的性能列表可以看出,對于系統中可以使用的每一個(gè)模塊,我們都可以有一個(gè)不同參數下的性能分析,在此基礎上,使用不同性能的處理器,不同的模塊,不同的編碼格式,甚至不同的幀率,我們可以針對各種應用組合出不同的系統,實(shí)現產(chǎn)品的差異化。比如我們可以完全運行智能處理算法,只在必要的時(shí)候啟動(dòng)編碼模塊發(fā)送關(guān)鍵部分的媒體流;也可以平時(shí)以低碼率、低幀率運行編碼模塊,由智能模塊動(dòng)態(tài)控制提高關(guān)鍵幀的碼率和幀率。這樣的智能監控系統,會(huì )更加實(shí)用化,最大程度地減輕人工負擔。

  

 

  圖2 基于Blackfin的智能監控

  5.小結

  未來(lái)嵌入式處理器的發(fā)展,以高計算性能、硬件IP協(xié)處理、多核、面向應用等特點(diǎn),軟件平臺和軟件開(kāi)發(fā)人員需要適應這樣的變化和特點(diǎn)。正向著(zhù)智能化方向快速發(fā)展的監控領(lǐng)域,正需要這樣的軟硬件平臺提供支持。Blackfin處理器家族作為新一代處理能力和控制能力融合處理器的代表,需要設計更新更完善的軟件平臺與其相配合,才能充分發(fā)揮其性能和靈活性,既能最快滿(mǎn)足市場(chǎng)的需要,又能保證各廠(chǎng)商之間的區別和創(chuàng )新。同時(shí)ADI公司及其合作伙伴提供多樣化的工具和支持,來(lái)保證客戶(hù)能夠快速、低成本地開(kāi)發(fā)出市場(chǎng)需要的各種嵌入式產(chǎn)品。

tcp/ip相關(guān)文章:tcp/ip是什么


攝像頭相關(guān)文章:攝像頭原理

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: Blackfin IP Camera DSP

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>