FMUSER Wirless Transmit video și audio mai ușor!

[e-mail protejat] WhatsApp + 8618078869184
Limbă

    Proiectarea OSD a aplicației video bazată pe FPGA

     

    În ultimii ani, sistemele digitale de supraveghere video au fost utilizate pe scară largă în diverse domenii, cum ar fi băncile, autostrăzile și clădirile. În sistemele digitale de supraveghere video, tehnologia OSD (On Screen Display) este o parte indispensabilă. OSD oferă utilizatorilor o interfață prietenoasă om-mașină, care le permite utilizatorilor să obțină mai multe informații suplimentare.

     

    1. Compoziția sistemului


       Sistemul introdus în acest articol este un sistem complet de supraveghere video bazat pe TI DSP TMS320DM6? 3 și FPGA. Suportă 1 canal de intrare video și 1 canal de ieșire video și oferă, de asemenea, o interfață de rețea.

     
        Intrarea video este realizată de decodificatorul video TP TV5150A rentabil. TVP5150A poate realiza colectarea a două intrări video compozite sau a unui semnal video S-video. Registrul este configurat prin I2C, iar semnalul video digital de ieșire urmează standardul ITU656.

     
        Semnalul video digital decodat de TVP5150A este transmis către DSP prin portul video 1 al DM6? 3, iar procesarea video necesară este realizată de DSP și apoi este trimisă către dispozitivul de la distanță prin interfața de rețea. Pe de altă parte, după DM6? 3 procesează datele video primite din rețea, acestea sunt afișate și transmise de către SAA7105 prin portul video 2 prin FPGA. 

     
        Partea de ieșire este realizată de SAA7105. SAA7105 este un codificator video de înaltă performanță al companiei NXP, care poate oferi ieșiri video compozite, ieșiri video VGA și ieșiri de semnal video de înaltă definiție HDTV. Controlul SAA7105 este realizat și prin I2C și primește semnalul video digital al standardului compozit ITU656.

     
        Partea de procesare video adoptă TSP DSP TMS320DM6 3 pentru a realiza. Frecvența principală a DM6-3 poate ajunge la 600 MHz și există două porturi video de 20 de biți. Porturile video acceptă interfețe video digitale precum BT.656 și Y / C. DM6? 3 integrează, de asemenea, rețeaua MAC pentru a realiza accesul la rețea.

     
       Viteza de dezvoltare a performanței hardware este întotdeauna dificilă pentru a satisface nevoile software-ului. În aplicațiile din ce în ce mai complexe de procesare video, DSP este responsabil pentru sarcini complexe de procesare video, iar resursele devin foarte restrânse. Prin urmare, în proiectarea acestui sistem, FPGA este utilizat pentru a realiza proiectarea OSD, care poate reduce povara DSP.


     
        Partea de implementare OSD utilizează XC3S250E Xilinx. XC3S250E este o serie FPGA Xilinx SPARTAN-3E cu 250,000 de porți logice.


    2. Implementarea OSD
     
        SAA7105 nu poate realiza funcția OSD, dar este realizat de XC3S250E. Principalul cip de control DM6? 3 trebuie doar să informeze FPGA despre conținutul și poziția care trebuie afișată, iar lucrarea specifică este efectuată de FPGA. Diagrama bloc logică a OSD este prezentată ca în Fig. 2.
     Proiectarea OSD a aplicației video bazată pe FPGA

     

     OSD FPGA primește date OSD și instrucțiuni de control de la DSP DM6 3 prin EMIFA, primește date video prin portul video DSP 1 și suprapune informații OSD pe datele video și le transmite codificatorului video SAA7105. Modulele funcționale ale OSD sunt descrise după cum urmează.
     
       Portul de date al modulului de decodare a adresei este interfațat cu datele scăzute pe 32 de biți ale EMIFA ale DSP DM6 3 și primește informațiile de date și control trimise de DM6 3. Aceste date și informații de control sunt datele originale pe 32 de biți trimise de DM6 3. Modulul de decodare a adreselor plasează datele OSD primite, cum ar fi conținutul OSD, în FIFO intern al FPGA într-un format de date pe 32 de biți. Informațiile de control sunt utilizate în principal pentru a controla OSD printr-un set de registre de control.

     
       Există, de asemenea, un modul de interfață video conectat direct la DSP. Modulul de interfață video este conectat la portul video 2 al DSP și stochează datele și informațiile de control de la portul video DSP. Aceste informații de control sunt transmise direct către modulul de control multi-canal OSD, iar informațiile de control controlează, de asemenea, direct decodorul video SAA7105.

     
        Logica de control OSD transmite informațiile de control obținute din grupul de registre de control către fiecare modul funcțional al OSD pentru a realiza controlul OSD. Grupul de registre este în principal împărțit în două părți: una este grupul de registre asincron, care trimite informații de control, cum ar fi resetare, activare OSD și selectarea lățimii datelor către OSD; cealaltă este grupul de registre sincron, care controlează în principal informațiile de poziție ale OSD.

     
        Modulul de decodare OSD scoate datele care trebuie afișate din FIFO conform informațiilor de control ale logicii de control și le transmite modulului OSD CLUT în sincronizare cu datele video. Datele obținute din FIFO sunt datele DSP originale pe 32 de biți, iar datele solicitate de modulul OSD CLUT sunt 8/16-biți, astfel încât modulul de despachetare OSD trebuie să despacheteze datele pe 32 de biți în funcție de frecvența port video. Datele pe 32 de biți sunt transmise modulului OSD CLUT cu o lățime de 8/16.
     
        O altă funcție a modulului FIFO este de a transfera informațiile de stare FIFO către modulul generator de evenimente DMA, cum ar fi FIFO complet sau FIFO gol. Generatorul de evenimente DMA monitorizează aceste evenimente și, dacă apar, sunt trimise către DM6? 3 într-un mod de întrerupere pentru a realiza operații corecte de citire și scriere pe FIFO.
     
        Modulul OSD CLUT caută valoarea corespunzătoare a lui YCbCr pentru datele fiecărui pixel primit de la modulul de despachetare OSD și controlează secvența de ieșire a acestor date OSD CLUT. Această relație de conversie este transmisă de DSP prin portul de date pe 24 de biți. Datele modulului OSD CLUT sunt transmise direct către modulul controler OSD multi-canal.
     
        Modulul de control multi-canal OSD determină datele video de ieșire în funcție de bitul de control Alpha primit de la modulul OSD CLUT. Dacă informațiile curente OSD, adică bitul de control Alpha sunt valide, transmite datele OSD către modulul de conversie a datelor. În caz contrar, scoateți datele video originale primite de la modulul de interfață video pentru a realiza funcția OSD.
     
        Ieșirea datelor de către controlerul multicanal OSD nu este trimisă direct la decodorul video, ci prin intermediul modulului de conversie a datelor, în funcție de condițiile specifice ale aplicației, se efectuează conversia necesară a formatului de date. Se poate observa din sincronizarea interfeței SAA7105 că atunci când SAA7105 este configurat pentru ieșirea video compozit, datele necesare sunt date de margine de ceas unic. În acest moment, modulul de conversie a datelor nu funcționează, iar datele primite de la modulul de control multicanal OSD sunt transmise intacte. Pentru SAA7105; dacă SAA7105 este configurat în modul de ieșire VGA sau HDTV, sunt necesare date cu margine de ceas dublu. În acest moment, modulul de conversie a datelor convertește datele de margine de ceas primite de la controlerul OSD în date de margine de ceas duble și le transmite către decodorul video SAA7105.
     
        Se poate vedea că FPGA a finalizat toată activitatea OSD. Dacă doriți să afișați conținutul OSD, DM6? 3 trebuie doar să trimită instrucțiuni de control către FPGA prin portul EMFIA. Aceste instrucțiuni, desigur, includ conținutul și informațiile despre locație din OSD.
     


    3. Control OSD
     
        Proiectarea OSD implementată de XC3S250E efectuează afișarea OSD pe baza informațiilor despre locația și conținutul OSD primite, fără restricții asupra conținutului afișat de OSD, care este foarte flexibil și convenabil. Următorul are ca exemplu afișarea caracterelor chinezești OSD pentru a ilustra funcționarea de control a OSD.
     
        Pentru a afișa corect caracterele chinezești, codul intern de introducere a caracterelor chineze trebuie convertit în codul de locație corespunzător. Pentru această funcție, folosim funcția Uint32 Code_Converse (caractere nesemnate * CodeNPointer), a cărui intrare este un pointer, indicând caracterul chinezesc care urmează să fie convertit. Valoarea returnată este codul de locație corespunzător caracterului chinezesc. Afișarea OSD este realizată de funcția OSDHZ? Isplay:


      anulați afișarea OSDHZ_ {
    Uint8 * pFrame
    Pitch Uint32
    OSDUTIL_Point * loc
    Uint32 CodeQ
    OSDHZ? Ont * font
    Uint8 fgColor
    Uint8 bgColor
    }
        Printre acestea, Uint8 * pFrame este bufferul tampon pentru ieșirea OSD; Uint32 pitch este valoarea pixelului afișată în fiecare linie; OSDUTIL_Point * loc este poziția de afișare a primului caracter; Uint32 CodeQ este codul de zonă pentru afișarea caracterelor chinezești; Fontul OSDHZ? Ont * este fontul utilizat pentru afișarea caracterelor chinezești; Uint8 fgColor afișează culoarea din prim-plan a caracterelor chinezești; Uint8 bgColor afișează culoarea de fundal a caracterelor chinezești.


        Prin urmare, dacă trebuie să afișați caractere chinezești, trebuie doar să convertiți caracterele chinezești în sistemul de coduri necesar și apoi să scoateți codul de zonă convertit în OSD FPGA. Desigur, pentru a afișa caractere chinezești, biblioteca de caractere chineze este indispensabilă.

     

     

     

     

    Lista de toate Întrebarea

    Poreclă

    E-mail

    Întrebări

    alt produs nostru:

    Pachet de echipamente profesionale pentru stația radio FM

     



     

    Soluție IPTV pentru hotel

     


      Introduceți adresa de e-mail pentru a primi o surpriză

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org -> Afrikaans
      sq.fmuser.org -> Albaneză
      ar.fmuser.org -> arabă
      hy.fmuser.org -> Armeană
      az.fmuser.org -> azeră
      eu.fmuser.org -> bască
      be.fmuser.org -> bielorusă
      bg.fmuser.org -> Bulgarian
      ca.fmuser.org -> catalană
      zh-CN.fmuser.org -> Chineză (simplificată)
      zh-TW.fmuser.org -> Chineză (tradițională)
      hr.fmuser.org -> croată
      cs.fmuser.org -> cehă
      da.fmuser.org -> Daneză
      nl.fmuser.org -> Dutch
      et.fmuser.org -> estonă
      tl.fmuser.org -> filipinez
      fi.fmuser.org -> finlandeză
      fr.fmuser.org -> Franceză
      gl.fmuser.org -> Galeză
      ka.fmuser.org -> Georgiană
      de.fmuser.org -> germană
      el.fmuser.org -> greacă
      ht.fmuser.org -> Creole haitian
      iw.fmuser.org -> ebraică
      hi.fmuser.org -> Hindi
      hu.fmuser.org -> Maghiară
      is.fmuser.org -> islandeză
      id.fmuser.org -> indoneziană
      ga.fmuser.org -> irlandeză
      it.fmuser.org -> Italiană
      ja.fmuser.org -> japoneză
      ko.fmuser.org -> coreeană
      lv.fmuser.org -> letonă
      lt.fmuser.org -> lituaniană
      mk.fmuser.org -> macedoneană
      ms.fmuser.org -> Malay
      mt.fmuser.org -> malteză
      no.fmuser.org -> norvegiană
      fa.fmuser.org -> persană
      pl.fmuser.org -> poloneză
      pt.fmuser.org -> portugheză
      ro.fmuser.org -> Română
      ru.fmuser.org -> rusă
      sr.fmuser.org -> sârbă
      sk.fmuser.org -> slovacă
      sl.fmuser.org -> Slovenă
      es.fmuser.org -> spaniolă
      sw.fmuser.org -> Swahili
      sv.fmuser.org -> suedeză
      th.fmuser.org -> Thai
      tr.fmuser.org -> turcă
      uk.fmuser.org -> ucraineană
      ur.fmuser.org -> Urdu
      vi.fmuser.org -> Vietnameză
      cy.fmuser.org -> galeză
      yi.fmuser.org -> idiș

       
  •  

    FMUSER Wirless Transmit video și audio mai ușor!

  • Contact

    Adresa:
    Nr. 305 Clădirea HuiLan nr. 273 Huanpu Road Guangzhou China 510620

    E-mail:
    [e-mail protejat]

    Tel/WhatApps:
    +8618078869184

  • Categorii

  • Stiri lunare via e-mail

    PRENUME SAU NUMELE COMPLET

    E-mail

  • soluţie paypal  Western UnionBanca Chinei
    E-mail:[e-mail protejat]   WhatsApp: +8618078869184 Skype: sky198710021 Vorbește cu mine
    Drepturile de autor 2006-2020 Powered By www.fmuser.org

    Contactați-ne