Az FMUSER Wirless könnyebben továbbítja a videót és a hangot!

[e-mail védett] WhatsApp + 8618078869184
Nyelv

    Az FPGA-alapú videoalkalmazás OSD-jének megtervezése

     

    Az elmúlt években a digitális videomegfigyelő rendszereket széles körben alkalmazták különböző területeken, például bankokban, autópályákon és épületekben. A digitális videomegfigyelő rendszerekben az OSD (On Screen Display) technológia nélkülözhetetlen része. Az OSD barátságos ember-gép interfészt biztosít a felhasználók számára, amely lehetővé teszi a felhasználók számára, hogy további információkat szerezzenek.

     

    1. A rendszer összetétele


       Az ebben a cikkben bemutatott rendszer egy teljes videomegfigyelő rendszer, amely a TI DSP TMS320DM6 alapú? 3 és az FPGA. Támogat 1 csatorna video bemenetet és 1 csatornát video kimenetet, és hálózati interfészt is biztosít.

     
        A videó bemenetet a TI költséghatékony TVP5150A videodekóderje valósítja meg. A TVP5150A képes megvalósítani két összetett video bemenet vagy egy S-video videó jel gyűjtését. A regiszter konfigurálása az I2C-n keresztül történik, és a kimenő digitális videójel követi az ITU656 szabványt.

     
        A TVP5150A által dekódolt digitális videojelet a DM1? 6. video portján keresztül továbbítja a DSP? 3, és a szükséges videofeldolgozást a DSP végzi, majd a hálózati interfész kimeneti a távoli eszközre. Másrészt a DM6 után? 3 a hálózattól kapott videoadatokat dolgozza fel, az SAA7105 megjeleníti és kimeneti a 2. videoporton keresztül az FPGA-n keresztül. 

     
        A kimeneti részt az SAA7105 valósítja meg. Az SAA7105 az NXP Company nagy teljesítményű videó kódolója, amely képes összetett video kimenetet, VGA video kimenetet és HDTV nagy felbontású video jel kimenetet biztosítani. Az SAA7105 vezérlése szintén az I2C-n keresztül valósul meg, és fogadja az ITU656 kompozit szabványú digitális videojelet.

     
        A videofeldolgozó rész a TI DSP TMS320DM6 3 megvalósítását fogadja el. A DM6? 3 fő frekvenciája elérheti a 600 MHz-et, és két 20 bites videoport van. A videoportok olyan digitális video interfészeket támogatnak, mint a BT.656 és az Y / C. A DM6? 3 integrálja a hálózati MAC-ot is a hálózati hozzáférés megvalósításához.

     
       A hardver teljesítményének fejlesztési sebessége mindig nehéz kielégíteni a szoftver igényeit. A videofeldolgozás egyre bonyolultabb alkalmazásaiban a DSP felelős a bonyolult videófeldolgozási feladatokért, és az erőforrások nagyon szűkekké válnak. Ezért ennek a rendszernek a kialakításakor az FPGA-t használják az OSD tervezésének megvalósítására, ami csökkentheti a DSP terheit.


     
        Az OSD implementációs rész a Xilinx XC3S250E készülékét használja. Az XC3S250E egy Xilinx SPARTAN-3E sorozatú FPGA, 250,000 XNUMX logikai kapuval.


    2. OSD megvalósítása
     
        Az SAA7105 nem tudja megvalósítani az OSD funkciót, de az XC3S250E valósítja meg. A DM6 fő vezérlő chip? 3 csak az FPGA-t kell tájékoztatnia a megjelenítendő tartalomról és helyzetről, és a konkrét munkát az FPGA végzi. Az OSD logikai blokkvázlata a 2. ábrán látható.
     Az FPGA-alapú videoalkalmazás OSD-jének megtervezése

     

     Az OSD FPGA az EMIFA-n keresztül fogadja az OSD-adatokat és a vezérlési utasításokat a DSP DM6 3-tól, a video-adatokat az 1. DSP-videoporton keresztül fogadja, az OSD-információkat ráhelyezi a videoadatokra, és kimeneti az SAA7105 videokódolóba. Az OSD funkcionális moduljait a következőképpen írják le.
     
       A címdekódoló modul adatportja összekapcsolódik a DSP DM32 6 EMIFA alacsony 3 bites adatával, és fogadja a DM6 3 által küldött adatokat és vezérlő információkat. Ezek az adatok és vezérlő információk az eredeti 32 bites adatok, amelyeket a DM6 3. A címdekódoló modul a beérkezett OSD adatokat, például az OSD tartalmát az FPGA belső FIFO-ba helyezi 32 bites adatformátumban. A vezérlési információkat elsősorban az OSD vezérlésére használják egy vezérlő regiszterkészleten keresztül.

     
       Van egy video interfész modul is, amely közvetlenül csatlakozik a DSP-hez. A video interfész modul csatlakozik a DSP 2 video portjához, és tárolja az adatokat és a vezérlési információkat a DSP video portból. Ezeket a vezérlő információkat közvetlenül továbbítják az OSD többcsatornás vezérlő modulhoz, és a vezérlő információk közvetlenül vezérlik az SAA7105 videodekódert is.

     
        Az OSD vezérlési logika a vezérlő regiszter csoporttól kapott vezérlési információkat juttatja el az OSD minden funkcionális moduljához az OSD vezérlésének megvalósítása érdekében. A regisztercsoport főként két részre oszlik: az egyik az aszinkron regisztercsoport, amely olyan vezérlési információkat küld, mint például a visszaállítás, az OSD engedélyezése és az adatszélesség kiválasztása az OSD-nek; a másik a szinkron regisztercsoport, amely főleg az OSD helyzetinformációit vezérli.

     
        Az OSD dekódoló modul kiveszi a FIFO-tól a vezérlési logika vezérlési információinak megfelelően megjelenítendő adatokat, és a video adatokkal szinkronizálva kimeneti azokat az OSD CLUT modulba. A FIFO-tól kapott adatok az eredeti DSP 32 bites adatok, és az OSD CLUT modul által igényelt adatok 8/16 bitesek, ezért az OSD kicsomagoló modulnak ki kell csomagolnia a 32 bites adatokat a video port. A 32 bites adatokat az OSD CLUT modulba továbbítják, amelynek szélessége 8/16.
     
        A FIFO modul másik funkciója a FIFO állapotinformációk átvitele a DMA eseménygenerátor modulba, például a FIFO full vagy a FIFO empty. A DMA eseménygenerátor figyelemmel kíséri ezeket az eseményeket, és ha bekövetkeznek, elküldik a DM6? 3 megszakítási módban a helyes olvasási és írási műveletek elérése érdekében a FIFO-hoz.
     
        Az OSD CLUT modul megkeresi az YCbCr megfelelő értékét az OSD kicsomagoló modultól kapott egyes pixelek adataihoz, és vezérli ezen OSD CLUT adatok kimeneti sorrendjét. Ezt az átalakítási kapcsolatot a DSP továbbítja a 24 bites adatporton keresztül. Az OSD CLUT modul adatai közvetlenül az OSD többcsatornás vezérlő modulba kerülnek.
     
        Az OSD többcsatornás vezérlő modul az OSD CLUT modultól kapott Alpha vezérlő bit szerint határozza meg a kimeneti videoadatokat. Ha az aktuális OSD információ, vagyis az Alfa vezérlő bit érvényes, akkor az OSD adatokat az adatkonverziós modulhoz továbbítja. Ellenkező esetben az OSD funkció megvalósításához adja ki a video interfész moduljától kapott eredeti videoadatokat.
     
        Az OSD többcsatornás vezérlő kimenetét nem közvetlenül a video dekóderhez küldik, hanem az adatkonvertáló modulon keresztül, az adott alkalmazási feltételeknek megfelelően, a szükséges adatformátum-átalakítást végrehajtják. Az SAA7105 interfész-időzítéséből látható, hogy amikor az SAA7105 összetett videó kimenetre van konfigurálva, a szükséges adatok egy órajelű adatok. Jelenleg az adatkonvertáló modul semmilyen munkát nem végez, és az OSD többcsatornás vezérlőmodultól kapott adatokat sértetlenül továbbítják. SAA7105 esetében; ha az SAA7105 VGA vagy HDTV kimeneti módban van konfigurálva, kettős órajel adatokra van szükség. Ekkor az adatkonverziós modul átalakítja az OSD vezérlőtől kapott egyórás adatokat kettős óraszéles adatokká, és kimeneti azokat az SAA7105 videodekóderbe.
     
        Látható, hogy az FPGA befejezte az OSD összes munkáját. Ha meg szeretné jeleníteni az OSD tartalmat, a DM6? 3-nak csak az EMFIA porton keresztül kell elküldenie a vezérlési utasításokat az FPGA-nak. Ezek az utasítások természetesen tartalmazzák az OSD tartalmát és helyét.
     


    3. OSD vezérlés
     
        Az XC3S250E által végrehajtott OSD kialakítás az OSD megjelenítését a kapott OSD hely- és tartalmi információk alapján hajtja végre, az OSD által megjelenített tartalom korlátozása nélkül, ami nagyon rugalmas és kényelmes. Az alábbiakban az OSD kínai karakter megjelenítését vesszük példának az OSD vezérlési műveletének szemléltetésére.
     
        A kínai karakterek megfelelő megjelenítéséhez a bevitt kínai karakter belső kódot át kell alakítani a megfelelő helykóddá. Ehhez a függvényhez az Uint32 Code_Converse (unsigned char * CodeNPointer) függvényt használjuk, amelynek bemenete mutató, amely az átalakítandó kínai karakterre mutat. A visszatérő érték a kínai karakternek megfelelő helykód. Az OSD megjelenítését az OSDHZ? Isplay funkció valósítja meg:


      void OSDHZ_ Display {
    Uint8 * pFrame
    Uint32 hangmagasság
    OSDUTIL_Point * loc
    Uint32 CodeQ
    OSDHZ? Ont * betűtípus
    Uint8 fgColor
    Uint8 bgColor
    }
        Közülük az Uint8 * pFrame az OSD kimenet puffer puffere; Az Uint32 hangmagasság az egyes sorokban megjelenített pixelérték; OSDUTIL_Point * loc az első karakter megjelenítési helye; Az Uint32 CodeQ a kínai karakterek megjelenítésére szolgáló körzetszám; Az OSDHZ? Ont * font a kínai karakterek megjelenítésére szolgáló betűtípus; Az Uint8 fgColor megjeleníti a kínai karakterek előtérszínét; Az Uint8 bgColor kínai karakterek háttérszínét jeleníti meg.


        Ezért, ha kínai karaktereket kell megjelenítenie, akkor csak a kínai karaktereket kell átalakítania a szükséges kódrendszerre, majd az átalakított körzetszámot ki kell küldenie az OSD FPGA-ba. Természetesen a kínai karakterek megjelenítéséhez elengedhetetlen a kínai karakterkönyvtár.

     

     

     

     

    Sorold fel az összes kérdés

    Becenév

    E-mail

    Kérdések

    Másik termék:

    Professzionális FM rádióállomás felszerelési csomag

     



     

    Hotel IPTV megoldás

     


      Írja be az e-mail címet a meglepetéshez

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org -> afrikaans
      sq.fmuser.org -> albán
      ar.fmuser.org -> arab
      hy.fmuser.org -> örmény
      az.fmuser.org -> azerbajdzsán
      eu.fmuser.org -> baszk
      be.fmuser.org -> belorusz
      bg.fmuser.org -> bolgár
      ca.fmuser.org -> katalán
      zh-CN.fmuser.org -> kínai (egyszerűsített)
      zh-TW.fmuser.org -> kínai (hagyományos)
      hr.fmuser.org -> horvát
      cs.fmuser.org -> cseh
      da.fmuser.org -> dán
      nl.fmuser.org -> holland
      et.fmuser.org -> észt
      tl.fmuser.org -> filippínó
      fi.fmuser.org -> finn
      fr.fmuser.org -> francia
      gl.fmuser.org -> galíciai
      ka.fmuser.org -> grúz
      de.fmuser.org -> német
      el.fmuser.org -> Görög
      ht.fmuser.org -> haiti kreol
      iw.fmuser.org -> héber
      hi.fmuser.org -> hindi
      hu.fmuser.org -> magyar
      is.fmuser.org -> izlandi
      id.fmuser.org -> indonéz
      ga.fmuser.org -> ír
      it.fmuser.org -> olasz
      ja.fmuser.org -> japán
      ko.fmuser.org -> koreai
      lv.fmuser.org -> lett
      lt.fmuser.org -> litván
      mk.fmuser.org -> macedón
      ms.fmuser.org -> maláj
      mt.fmuser.org -> máltai
      no.fmuser.org -> norvég
      fa.fmuser.org -> perzsa
      pl.fmuser.org -> lengyel
      pt.fmuser.org -> portugál
      ro.fmuser.org -> román
      ru.fmuser.org -> orosz
      sr.fmuser.org -> szerb
      sk.fmuser.org -> szlovák
      sl.fmuser.org -> Szlovén
      es.fmuser.org -> spanyol
      sw.fmuser.org -> szuahéli
      sv.fmuser.org -> svéd
      th.fmuser.org -> Thai
      tr.fmuser.org -> török
      uk.fmuser.org -> ukrán
      ur.fmuser.org -> urdu
      vi.fmuser.org -> Vietnámi
      cy.fmuser.org -> walesi
      yi.fmuser.org -> jiddis

       
  •  

    Az FMUSER Wirless könnyebben továbbítja a videót és a hangot!

  • Kapcsolat

    Cím:
    No. 305 szoba HuiLan épület No.273 Huanpu Road Guangzhou, Kína 510620

    Email:
    [e-mail védett]

    Tel / WhatApps:
    +8618078869184

  • Kategóriák

  • Hírlevél

    ELSŐ VAGY TELJES NÉV

    E-mail

  • paypal megoldás  Western UnionKínai bank
    Email:[e-mail védett]   WhatsApp: +8618078869184 Skype: sky198710021 Beszélgess velem
    Szerzői 2006-2020 Powered By www.fmuser.org

    Kapcsolatba lép velünk