FMUSER Wirless Overfør video og lyd enklere!

[e-postbeskyttet] WhatsApp + 8618078869184
Språk

    OSD-design av videoapplikasjon basert på FPGA

     

    De siste årene har digitale videoovervåkingssystemer blitt mye brukt i forskjellige felt som banker, motorveier og bygninger. I digitale videoovervåkingssystemer er OSD (On Screen Display) teknologi en uunnværlig del. OSD gir brukerne et vennlig menneske-maskin-grensesnitt, slik at brukerne kan få mer tilleggsinformasjon.

     

    1. Systemets sammensetning


       Systemet introdusert i denne artikkelen er et komplett videoovervåkingssystem basert på TI DSP TMS320DM6? 3 og FPGA. Den støtter 1 kanal videoinngang og 1 kanal videoutgang, og gir også et nettverksgrensesnitt.

     
        Videoinngang realiseres av TIs kostnadseffektive videodekoder TVP5150A. TVP5150A kan realisere samlingen av to komposittvideoinnganger eller ett S-video-videosignal. Registret er konfigurert gjennom I2C, og det digitale utgangssignalet følger ITU656-standarden.

     
        Det digitale videosignalet dekodet av TVP5150A overføres til DSP gjennom videoporten 1 på DM6? 3, og den nødvendige videobehandlingen utføres av DSP, og sendes deretter ut til den eksterne enheten via nettverksgrensesnittet. På den annen side, etter DM6? 3 behandler videodata mottatt fra nettverket, den vises og sendes ut av SAA7105 gjennom videoport 2 gjennom FPGA. 

     
        Utgangsdelen er realisert av SAA7105. SAA7105 er en videokoder med høy ytelse fra NXP Company, som kan gi komposittvideoutgang, VGA-videoutgang og HDTV-HD-videosignalutgang. Kontrollen av SAA7105 realiseres også gjennom I2C, og den mottar det digitale videosignalet til den sammensatte ITU656-standarden.

     
        Videobehandlingsdelen vedtar TIs DSP TMS320DM6 3 for å realisere. Hovedfrekvensen til DM6? 3 kan nå 600 MHz, og det er to 20-biters videoporter. Videoportene støtter digitale videogrensesnitt som BT.656 og Y / C. DM6? 3 integrerer også nettverk MAC for å realisere nettverkstilgang.

     
       Utviklingshastigheten til maskinvareytelsen er alltid vanskelig å møte programvarens behov. I de stadig mer komplekse applikasjonene av videobehandling er DSP ansvarlig for komplekse videobehandlingsoppgaver, og ressursene blir veldig stramme. Derfor, i utformingen av dette systemet, brukes FPGA til å realisere utformingen av OSD, noe som kan redusere byrden av DSP.


     
        OSD-implementeringsdelen bruker Xilinxs XC3S250E. XC3S250E er en Xilinx SPARTAN-3E serie FPGA med 250,000 XNUMX logiske porter.


    2. OSD-implementering
     
        SAA7105 kan ikke realisere OSD-funksjon, men realiseres av XC3S250E. Hovedkontrollbrikken DM6? 3 trenger bare å informere FPGA om innholdet og posisjonen som skal vises, og det spesifikke arbeidet utføres av FPGA. Det logiske blokkdiagrammet for OSD er vist som i figur 2.
     OSD-design av videoapplikasjon basert på FPGA

     

     OSD FPGA mottar OSD-data og kontrollinstruksjoner fra DSP DM6 3 gjennom EMIFA, mottar videodata gjennom DSP-videoport 1, og overlapper OSD-informasjon på videodataene og sender den ut til videokoderen SAA7105. De funksjonelle modulene i OSD er beskrevet som følger.
     
       Dataporten til adressedekodingsmodulen er grensesnittet med de lave 32-bitersdataene til EMIFA i DSP DM6 3, og mottar data- og kontrollinformasjonen sendt av DM6 3. Disse dataene og kontrollinformasjonen er de originale 32-biters dataene som sendes av DM6 3. Adressedekodingsmodulen setter mottatte OSD-data, for eksempel innholdet i OSD, i den interne FIFO i FPGA i et 32-biters dataformat. Kontrollinformasjonen brukes hovedsakelig til å kontrollere OSD gjennom et sett med kontrollregistre.

     
       Det er også en videogrensesnittmodul direkte koblet til DSP. Video-grensesnittmodulen er koblet til videoporten 2 på DSP, og lagrer data- og kontrollinformasjonen fra DSP-videoporten. Denne kontrollinformasjonen overføres direkte til OSD-flerkanalskontrollmodulen, og kontrollinformasjonen styrer også direkte videodekoderen SAA7105.

     
        OSD-kontrollogikken sender ut kontrollinformasjonen innhentet fra kontrollregistergruppen til hver funksjonelle modul i OSD for å realisere styringen av OSD. Registergruppen er hovedsakelig delt inn i to deler: den ene er den asynkrone registergruppen, som sender kontrollinformasjon som tilbakestilling, OSD-aktivering og velger databredde til OSD; den andre er den synkrone registergruppen, som hovedsakelig styrer posisjonsinformasjonen til OSD.

     
        OSD-dekodingsmodulen tar ut dataene som skal vises fra FIFO i henhold til kontrollinformasjonen til kontrollogikken, og sender dem ut til OSD CLUT-modulen i synkronisering med videodataene. Dataene hentet fra FIFO er de originale DSP 32-bits dataene, og dataene som kreves av OSD CLUT-modulen er 8/16-bit, så OSD-utpakningsmodulen må pakke ut 32-biters data i henhold til frekvensen til videoport. 32-biters data overføres til OSD CLUT-modulen med en bredde på 8/16.
     
        En annen funksjon av FIFO-modulen er å overføre FIFO-statusinformasjon til DMA-hendelsesgeneratormodulen, for eksempel FIFO full eller FIFO tom. DMA-hendelsesgeneratoren overvåker disse hendelsene, og hvis de inntreffer, blir de sendt til DM6? 3 i en avbruddsmodus for å oppnå riktige lese- og skriveoperasjoner til FIFO.
     
        OSD CLUT-modulen søker etter den tilsvarende verdien av YCbCr for dataene for hver piksel mottatt fra OSD-utpakningsmodulen, og styrer utgangssekvensen til disse OSD CLUT-dataene. Dette konverteringsforholdet overføres av DSP gjennom 24-biters dataport. Dataene til OSD CLUT-modulen sendes direkte til OSD-flerkanalsstyringsmodulen.
     
        OSD-flerkanalskontrollmodulen bestemmer utdata-videodata i henhold til Alpha-kontrollbiten mottatt fra OSD CLUT-modulen. Hvis den gjeldende OSD-informasjonen, det vil si alfakontrollbiten, er gyldig, sender den ut OSD-dataene til datakonverteringsmodulen. Ellers sender du ut de originale videodataene som er mottatt fra videogrensesnittmodulen for å realisere OSD-funksjonen.
     
        Datautgangen fra OSD-flerkanalskontrolleren sendes ikke direkte til videodekoderen, men gjennom datakonverteringmodulen utføres den nødvendige dataformatkonvertering i henhold til spesifikke applikasjonsbetingelser. Det kan sees fra grensesnitttimingen til SAA7105 at når SAA7105 er konfigurert for komposittvideoutgang, er de nødvendige dataene enkeltklokkedata. På dette tidspunktet gjør ikke datakonverteringsmodulen noe arbeid, og dataene mottatt fra OSD-flerkanalskontrollmodulen overføres intakt. For SAA7105; Hvis SAA7105 er konfigurert i VGA- eller HDTV-utgangsmodus, er det nødvendig med data om dobbel klokkekant. På dette tidspunktet konverterer datakonverteringsmodulen enkeltklokkekantdata som mottas fra OSD-kontrolleren til dobbel klokkekantdata og sender dem ut til videodekoderen SAA7105.
     
        Det kan sees at FPGA har fullført alt arbeidet med OSD. Hvis du vil vise OSD-innholdet, DM6? 3 trenger bare å sende kontrollinstruksjoner til FPGA gjennom EMFIA-porten. Disse instruksjonene inkluderer selvfølgelig innholdet og plasseringsinformasjonen til OSD.
     


    3. OSD-kontroll
     
        OSD-designen implementert av XC3S250E utfører OSD-visning basert på den mottatte OSD-plasseringen og innholdsinformasjonen, uten noen begrensninger på innholdet som vises av OSD, noe som er veldig fleksibelt og praktisk. Følgende tar OSD kinesisk tegnvisning som et eksempel for å illustrere kontrolloperasjonen av OSD.
     
        For å vise kinesiske tegn riktig, må den interne koden for kinesisk tegn konverteres til tilsvarende posisjonskode. For denne funksjonen bruker vi funksjonen Uint32 Code_Converse (usignert tegn * CodeNPointer), hvis inngang er en peker, som peker på det kinesiske tegnet som skal konverteres. Returverdien er stedskoden som tilsvarer det kinesiske tegnet. OSD-skjerm blir realisert av funksjonen OSDHZ? Isplay:


      ugyldig OSDHZ_ Display {
    Uint8 * pFrame
    Uint32 tonehøyde
    OSDUTIL_Point * lok
    Uint32 CodeQ
    OSDHZ? Ont * font
    Uint8 fgFarge
    Uint8 bgFarge
    }
        Blant dem er Uint8 * pFrame Buffer buffer for OSD output. Uint32-tonehøyde er pikselverdien som vises i hver linje; OSDUTIL_Point * loc er visningsposisjonen til det første tegnet; Uint32 CodeQ er retningsnummeret for å vise kinesiske tegn; OSDHZ? Ont * font er skrifttypen som brukes til å vise kinesiske tegn; Uint8 fgColor viser forgrunnsfargen på kinesiske tegn; Uint8 bgColor viser bakgrunnsfargen til kinesiske tegn.


        Derfor, hvis du trenger å vise kinesiske tegn, trenger du bare å konvertere de kinesiske tegnene til det nødvendige kodesystemet, og deretter sende den konverterte retningsnummeret til OSD FPGA. Selvfølgelig, for å vise kinesiske tegn, er det kinesiske tegnbiblioteket uunnværlig.

     

     

     

     

    List alle Spørsmål

    kallenavn

    Epost

    spørsmål

    Vår andre produkt:

    Profesjonell FM-radiostasjonsutstyrspakke

     



     

    Hotell IPTV-løsning

     


      Skriv inn e-post for å få en overraskelse

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org -> Afrikaans
      sq.fmuser.org -> albansk
      ar.fmuser.org -> arabisk
      hy.fmuser.org -> armensk
      az.fmuser.org -> aserbajdsjansk
      eu.fmuser.org -> baskisk
      be.fmuser.org -> hviterussisk
      bg.fmuser.org -> Bulgarian
      ca.fmuser.org -> katalansk
      zh-CN.fmuser.org -> Kinesisk (forenklet)
      zh-TW.fmuser.org -> Kinesisk (tradisjonell)
      hr.fmuser.org -> Kroatisk
      cs.fmuser.org -> tsjekkisk
      da.fmuser.org -> dansk
      nl.fmuser.org -> Nederlandsk
      et.fmuser.org -> estisk
      tl.fmuser.org -> filippinsk
      fi.fmuser.org -> finsk
      fr.fmuser.org -> French
      gl.fmuser.org -> galisisk
      ka.fmuser.org -> Georgisk
      de.fmuser.org -> tysk
      el.fmuser.org -> gresk
      ht.fmuser.org -> haitisk kreolsk
      iw.fmuser.org -> hebraisk
      hi.fmuser.org -> hindi
      hu.fmuser.org -> Ungarsk
      is.fmuser.org -> islandsk
      id.fmuser.org -> indonesisk
      ga.fmuser.org -> Irsk
      it.fmuser.org -> Italiensk
      ja.fmuser.org -> japansk
      ko.fmuser.org -> koreansk
      lv.fmuser.org -> lettisk
      lt.fmuser.org -> litauisk
      mk.fmuser.org -> makedonsk
      ms.fmuser.org -> malaysisk
      mt.fmuser.org -> maltesisk
      no.fmuser.org -> norsk
      fa.fmuser.org -> persisk
      pl.fmuser.org -> polsk
      pt.fmuser.org -> portugisisk
      ro.fmuser.org -> rumensk
      ru.fmuser.org -> russisk
      sr.fmuser.org -> serbisk
      sk.fmuser.org -> Slovakisk
      sl.fmuser.org -> Slovenian
      es.fmuser.org -> spansk
      sw.fmuser.org -> Swahili
      sv.fmuser.org -> svensk
      th.fmuser.org -> Thai
      tr.fmuser.org -> tyrkisk
      uk.fmuser.org -> ukrainsk
      ur.fmuser.org -> urdu
      vi.fmuser.org -> Vietnamesisk
      cy.fmuser.org -> walisisk
      yi.fmuser.org -> Yiddish

       
  •  

    FMUSER Wirless Overfør video og lyd enklere!

  • Kontakt

    Adresse:
    No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou Kina 510620

    E-post:
    [e-postbeskyttet]

    Tlf / WhatApps:
    + 8618078869184

  • Type kategori

  • Nyhetsbrev

    FØRSTE ELLER FULLT NAVN

    E-post

  • paypal løsning  Western UnionBank of China
    E-post:[e-postbeskyttet]   WhatsApp: +8618078869184 Skype: sky198710021 Chat med meg
    Copyright 2006-2020 Powered By www.fmuser.org

    Kontakt oss