FMUSER Wirless Overfør video og lyd lettere.

[e-mail beskyttet] WhatsApp + 8618078869184
Sprog

    OSD-design af videoapplikation baseret på FPGA

     

    I de senere år har digitale videoovervågningssystemer været meget udbredt på forskellige områder såsom banker, motorveje og bygninger. I digitale videoovervågningssystemer er OSD (On Screen Display) teknologi en uundværlig del. OSD giver brugerne en venlig man-maskine-grænseflade, så brugerne kan få flere yderligere oplysninger.

     

    1. Systemkomposition


       Systemet introduceret i denne artikel er et komplet videoovervågningssystem baseret på TI DSP TMS320DM6? 3 og FPGA. Det understøtter 1 kanal videoindgang og 1 kanal videooutput og giver også en netværksgrænseflade.

     
        Videoinput realiseres af TIs omkostningseffektive videodekoder TVP5150A. TVP5150A kan realisere samlingen af ​​to sammensatte videoindgange eller et S-video videosignal. Registret konfigureres via I2C, og det digitale digitale videosignal følger ITU656 -standarden.

     
        Det digitale videosignal, der er afkodet af TVP5150A, overføres til DSP'en via videoport 1 på DM6? 3, og den nødvendige videobehandling udføres af DSP'en og derefter udsendes til den eksterne enhed via netværksgrænsefladen. På den anden side efter DM6? 3 behandler de videodata, der modtages fra netværket, vises og udsendes de af SAA7105 via videoport 2 gennem FPGA. 

     
        Outputdelen realiseres af SAA7105. SAA7105 er en high-performance video encoder fra NXP Company, som kan levere komposit video output, VGA video output og HDTV high-definition videosignal output. Styringen af ​​SAA7105 realiseres også gennem I2C, og den modtager det digitale videosignal af sammensat ITU656 -standard.

     
        Videobehandlingsdelen vedtager TI's DSP TMS320DM6 3 for at realisere. Hovedfrekvensen for DM6? 3 kan nå 600 MHz, og der er to 20-bit videoporte. Videoporte understøtter digitale videointerfaces som BT.656 og Y/C. DM6? 3 integrerer også netværks -MAC for at realisere netværksadgang.

     
       Udviklingshastigheden for hardwareydelse er altid vanskelig at opfylde softwarens behov. I de stadig mere komplekse applikationer af videobehandling er DSP ansvarlig for komplekse videobehandlingsopgaver, og ressourcerne bliver meget stramme. Derfor bruges FPGA i designet af dette system til at realisere designet af OSD, hvilket kan reducere byrden ved DSP.


     
        OSD -implementeringsdelen bruger Xilinx's XC3S250E. XC3S250E er en Xilinx SPARTAN-3E serie FPGA med 250,000 logiske porte.


    2. OSD -implementering
     
        SAA7105 kan ikke realisere OSD -funktion, men realiseres af XC3S250E. Hovedkontrolchippen DM6? 3 behøver kun at informere FPGA om indholdet og positionen, der skal vises, og det specifikke arbejde udføres af FPGA. Det logiske blokdiagram for OSD er vist som i figur 2.
     OSD-design af videoapplikation baseret på FPGA

     

     OSD FPGA modtager OSD -data og kontrolinstruktioner fra DSP DM6 3 gennem EMIFA, modtager videodata via DSP -videoport 1 og overlejrer OSD -oplysninger om videodataene og sender dem til videokoderen SAA7105. De funktionelle moduler i OSD beskrives som følger.
     
       Dataporten for adresseafkodningsmodulet er forbundet med de lave 32-bit data fra EMIFA fra DSP DM6 3 og modtager data- og kontrolinformationen sendt af DM6 3. Disse data og kontroloplysninger er de originale 32-bit data, der sendes af DM6 3. Adresseafkodningsmodulet placerer de modtagne OSD-data, f.eks. Indholdet af OSD, i FPGA's interne FIFO i et 32-bit dataformat. Kontroloplysningerne bruges hovedsageligt til at styre OSD gennem et sæt kontrolregistre.

     
       Der er også et videointerfacemodul direkte forbundet til DSP. Videointerfacemodulet er forbundet til DSP's videoport 2 og gemmer data og kontrolinformation fra DSP -videoporten. Disse kontroloplysninger overføres direkte til OSD-flerkanalsstyringsmodulet, og kontroloplysningerne styrer også videoafkoderen SAA7105 direkte.

     
        OSD -styrelogikken sender kontrolinformationerne fra kontrolregistergruppen til hvert funktionsmodul i OSD'en for at realisere styringen af ​​OSD'en. Registergruppen er hovedsageligt opdelt i to dele: den ene er den asynkrone registergruppe, der sender kontroloplysninger såsom nulstilling, OSD -aktivering og vælg databredde til OSD; den anden er den synkrone registergruppe, som hovedsageligt styrer positionsoplysningerne for OSD.

     
        OSD -dekodningsmodulet fjerner de data, der skal vises fra FIFO i henhold til kontroloplysningerne i kontrollogikken, og sender det til OSD CLUT -modulet i synkronisering med videodataene. De data, der er hentet fra FIFO, er de originale DSP 32-bit data, og de data, der kræves af OSD CLUT-modulet, er 8/16-bit, så OSD-udpakningsmodulet skal pakke 32-bit data ud i henhold til frekvensen af videoport. 32-bit dataene overføres til OSD CLUT-modulet med en bredde på 8/16.
     
        En anden funktion i FIFO -modulet er at overføre FIFO -statusinformation til DMA -hændelsesgeneratormodulet, f.eks. FIFO fuld eller FIFO tom. DMA -hændelsesgeneratoren overvåger disse hændelser, og hvis de opstår, sendes de til DM6? 3 i en afbrydelsesfunktion for at opnå korrekte læse- og skriveoperationer til FIFO.
     
        OSD CLUT -modulet søger efter den tilsvarende værdi af YCbCr for dataene for hver pixel, der modtages fra OSD -udpakningsmodulet, og styrer output -sekvensen for disse OSD CLUT -data. Dette konverteringsforhold transmitteres af DSP'en via 24-bit dataporten. Dataene fra OSD CLUT-modulet sendes direkte til OSD-flerkanals controller-modulet.
     
        OSD multi-channel kontrolmodulet bestemmer output videodata i henhold til Alpha control bit modtaget fra OSD CLUT modulet. Hvis de aktuelle OSD -oplysninger, det vil sige Alpha -styrebiten er gyldige, udsender de OSD -dataene til datakonverteringsmodulet. Ellers skal du sende de originale videodata modtaget fra videointerfacemodulet for at realisere OSD -funktionen.
     
        Data output fra OSD multi-channel controlleren sendes ikke direkte til videodekoderen, men gennem datakonverteringsmodulet udføres de nødvendige dataformatkonvertering i henhold til specifikke applikationsbetingelser. Det kan ses fra interfacetimingen af ​​SAA7105, at når SAA7105 konfigureres til kompositvideoutput, er de krævede data single clock edge data. På nuværende tidspunkt udfører datakonverteringsmodulet ikke noget, og de data, der modtages fra OSD-flerkanalsstyringsmodulet, overføres intakt. Til SAA7105; hvis SAA7105 er konfigureret i VGA- eller HDTV -udgangstilstand, kræves data med dobbelt urkant. På dette tidspunkt konverterer datakonverteringsmodulet de enkelte urkantsdata modtaget fra OSD -controlleren til data med dobbelt urkant og sender det til videodekoderen SAA7105.
     
        Det kan ses, at FPGA har fuldført alt arbejdet med OSD. Hvis du vil vise OSD -indholdet, DM6? 3 behøver kun at sende kontrolinstruktioner til FPGA via EMFIA -porten. Disse instruktioner inkluderer naturligvis OSD's indhold og placeringsoplysninger.
     


    3. OSD -kontrol
     
        OSD -designet implementeret af XC3S250E udfører OSD -visning baseret på den modtagne OSD -placering og indholdsoplysninger uden nogen begrænsninger for det indhold, der vises af OSD, hvilket er meget fleksibelt og bekvemt. Det følgende tager OSD -kinesisk tegnvisning som et eksempel for at illustrere betjeningen af ​​OSD.
     
        For at få vist kinesiske tegn korrekt, skal den kinesiske indtastningskode til intern kode konverteres til den tilsvarende placeringskode. Til denne funktion bruger vi funktionen Uint32 Code_Converse (usigneret char *CodeNPointer), hvis input er en markør, der peger på det kinesiske tegn, der skal konverteres. Returværdien er den placeringskode, der svarer til det kinesiske tegn. OSD -display realiseres af funktionen OSDHZ? Isplay:


      ugyldig OSDHZ_ Display {
    Uint8 *pFrame
    Uint32 pitch
    OSDUTIL_Point* lok
    Uint32 CodeQ
    OSDHZ? Ont *skrifttype
    Uint8 fgColor
    Uint8 bgFarve
    }
        Blandt dem er Uint8 *pFrame bufferbufferen til OSD -output; Uint32 pitch er pixelværdien, der vises på hver linje; OSDUTIL_Point *loc er visningspositionen for det første tegn; Uint32 CodeQ er områdenummeret til at vise kinesiske tegn; OSDHZ? Ont * font er den skrifttype, der bruges til at vise kinesiske tegn; Uint8 fgColor viser forgrunden for kinesiske tegn; Uint8 bgColor viser baggrundsfarven på kinesiske tegn.


        Derfor, hvis du skal vise kinesiske tegn, behøver du kun at konvertere de kinesiske tegn til det nødvendige kodesystem og derefter sende det konverterede områdenummer til OSD FPGA. For at vise kinesiske tegn er det kinesiske tegnbibliotek naturligvis uundværligt.

     

     

     

     

    Liste alle spørgsmål

    Brugernavn

    E-mail

    Spørgsmål

    Vores andet produkt:

    Professionel FM-radiostationsudstyrspakke

     



     

    Hotel IPTV-løsning

     


      Indtast e-mail for at 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 -> hviderussisk
      bg.fmuser.org -> Bulgarian
      ca.fmuser.org -> Catalansk
      zh-CN.fmuser.org -> Kinesisk (forenklet)
      zh-TW.fmuser.org -> Kinesisk (traditionelt)
      hr.fmuser.org -> Kroatisk
      cs.fmuser.org -> Tjekkisk
      da.fmuser.org -> dansk
      nl.fmuser.org -> Hollandsk
      et.fmuser.org -> estisk
      tl.fmuser.org -> filippinsk
      fi.fmuser.org -> finsk
      fr.fmuser.org -> Fransk
      gl.fmuser.org -> galicisk
      ka.fmuser.org -> Georgisk
      de.fmuser.org -> tysk
      el.fmuser.org -> Greek
      ht.fmuser.org -> haitisk kreolsk
      iw.fmuser.org -> hebraisk
      hi.fmuser.org -> hindi
      hu.fmuser.org -> Hungarian
      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 -> Norwegian
      fa.fmuser.org -> persisk
      pl.fmuser.org -> polsk
      pt.fmuser.org -> portugisisk
      ro.fmuser.org -> Romanian
      ru.fmuser.org -> russisk
      sr.fmuser.org -> serbisk
      sk.fmuser.org -> Slovakisk
      sl.fmuser.org -> Slovensk
      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 -> Jiddisch

       
  •  

    FMUSER Wirless Overfør video og lyd lettere.

  • Kontakt

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

    E-mail:
    [e-mail beskyttet]

    Tlf / WhatApps:
    + 8618078869184

  • Kategorier

  • Nyhedsbrev

    FØRSTE ELLER FULDT NAVN

    E-mail

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

    Kontakt os