FMUSER Wirless Trasmetti video e audio più facilmente!

[email protected] WhatsApp + 8618078869184
Lingua

    Progettazione OSD di applicazioni video basate su FPGA

     

    Negli ultimi anni, i sistemi di videosorveglianza digitale sono stati ampiamente utilizzati in vari campi come banche, autostrade ed edifici. Nei sistemi di videosorveglianza digitale, la tecnologia OSD (On Screen Display) è una parte indispensabile. L'OSD fornisce agli utenti un'interfaccia uomo-macchina amichevole, consentendo agli utenti di ottenere ulteriori informazioni aggiuntive.

     

    1. Composizione del sistema


       Il sistema presentato in questo articolo è un completo sistema di videosorveglianza basato su TI DSP TMS320DM6? 3 e FPGA. Supporta 1 canale di ingresso video e 1 canale di uscita video e fornisce anche un'interfaccia di rete.

     
        L'ingresso video è realizzato dall'economico decoder video TVP5150A di TI. TVP5150A può realizzare la raccolta di due ingressi video compositi o un segnale video S-video. Il registro è configurato tramite I2C e il segnale video digitale in uscita segue lo standard ITU656.

     
        Il segnale video digitale decodificato da TVP5150A viene trasmesso al DSP attraverso la porta video 1 di DM6? 3 e l'elaborazione video necessaria viene eseguita dal DSP e quindi trasmessa al dispositivo remoto dall'interfaccia di rete. D'altra parte, dopo DM6? 3 elabora i dati video ricevuti dalla rete, vengono visualizzati ed emessi da SAA7105 tramite la porta video 2 tramite FPGA. 

     
        La parte di uscita è realizzata da SAA7105. SAA7105 è un codificatore video ad alte prestazioni di NXP Company, in grado di fornire un'uscita video composita, un'uscita video VGA e un'uscita del segnale video ad alta definizione HDTV. Anche il controllo di SAA7105 è realizzato tramite I2C e riceve il segnale video digitale dello standard composito ITU656.

     
        La parte di elaborazione video adotta il DSP TMS320DM6 3 di TI per realizzare. La frequenza principale di DM6?3 può raggiungere i 600 MHz e ci sono due porte video a 20 bit. Le porte video supportano interfacce video digitali come BT.656 e Y/C. DM6?3 integra anche il MAC di rete per realizzare l'accesso alla rete.

     
       La velocità di sviluppo delle prestazioni hardware è sempre difficile soddisfare le esigenze del software. Nelle applicazioni sempre più complesse di elaborazione video, DSP è responsabile di complesse attività di elaborazione video e le risorse diventano molto limitate. Pertanto, nella progettazione di questo sistema, viene utilizzato FPGA per realizzare il design dell'OSD, che può ridurre l'onere del DSP.


     
        La parte di implementazione dell'OSD utilizza XC3S250E di Xilinx. XC3S250E è un FPGA della serie Xilinx SPARTAN-3E con 250,000 porte logiche.


    2. Implementazione dell'OSD
     
        SAA7105 non può realizzare la funzione OSD, ma è realizzato da XC3S250E. Il chip di controllo principale DM6? 3 deve solo informare l'FPGA del contenuto e della posizione da visualizzare e il lavoro specifico viene eseguito dall'FPGA. Lo schema a blocchi logico dell'OSD è mostrato come in Fig. 2.
     Progettazione OSD di applicazioni video basate su FPGA

     

     OSD FPGA riceve i dati OSD e le istruzioni di controllo da DSP DM6 3 tramite EMIFA, riceve dati video tramite la porta video DSP 1 e sovrappone le informazioni OSD ai dati video e le invia al codificatore video SAA7105. I moduli funzionali di OSD sono descritti come segue.
     
       La porta dati del modulo di decodifica dell'indirizzo è interfacciata con i dati a 32 bit bassi di EMIFA del DSP DM6 3 e riceve i dati e le informazioni di controllo inviate da DM6 3. Questi dati e le informazioni di controllo sono i dati originali a 32 bit inviati da DM6 3. Il modulo di decodifica degli indirizzi inserisce i dati OSD ricevuti, come il contenuto dell'OSD, nella FIFO interna dell'FPGA in un formato dati a 32 bit. Le informazioni di controllo vengono utilizzate principalmente per controllare l'OSD attraverso una serie di registri di controllo.

     
       C'è anche un modulo di interfaccia video direttamente collegato al DSP. Il modulo di interfaccia video è collegato alla porta video 2 del DSP e memorizza i dati e le informazioni di controllo dalla porta video DSP. Queste informazioni di controllo vengono trasmesse direttamente al modulo di controllo multicanale OSD e le informazioni di controllo controllano anche direttamente il decodificatore video SAA7105.

     
        La logica di controllo dell'OSD emette le informazioni di controllo ottenute dal gruppo di registri di controllo a ciascun modulo funzionale dell'OSD per realizzare il controllo dell'OSD. Il gruppo di registri è principalmente diviso in due parti: una è il gruppo di registri asincrono, che invia all'OSD informazioni di controllo come reset, abilitazione dell'OSD e selezione della larghezza dei dati; l'altro è il gruppo di registri sincrono, che controlla principalmente le informazioni sulla posizione dell'OSD.

     
        Il modulo di decodifica OSD preleva i dati da visualizzare dalla FIFO secondo le informazioni di controllo della logica di controllo e li invia al modulo OSD CLUT in sincronizzazione con i dati video. I dati ottenuti dal FIFO sono i dati originali DSP a 32 bit e i dati richiesti dal modulo OSD CLUT sono 8/16 bit, quindi il modulo di decompressione OSD deve decomprimere i dati a 32 bit in base alla frequenza del porta video. I dati a 32 bit vengono trasmessi al modulo OSD CLUT con una larghezza di 8/16.
     
        Un'altra funzione del modulo FIFO è trasferire informazioni sullo stato FIFO al modulo generatore di eventi DMA, come FIFO pieno o FIFO vuoto. Il generatore di eventi DMA monitora questi eventi e, se si verificano, vengono inviati a DM6? 3 in una modalità di interruzione per ottenere operazioni di lettura e scrittura corrette nella FIFO.
     
        Il modulo OSD CLUT ricerca il valore corrispondente di YCbCr per i dati di ciascun pixel ricevuto dal modulo di disimballaggio OSD e controlla la sequenza di uscita di questi dati OSD CLUT. Questa relazione di conversione viene trasmessa dal DSP attraverso la porta dati a 24 bit. I dati del modulo OSD CLUT vengono trasmessi direttamente al modulo controller multicanale OSD.
     
        Il modulo di controllo multicanale OSD determina i dati video in uscita in base al bit di controllo Alpha ricevuto dal modulo OSD CLUT. Se le informazioni OSD correnti, ovvero il bit di controllo Alpha, sono valide, invia i dati OSD al modulo di conversione dati. Altrimenti, emettere i dati video originali ricevuti dal modulo di interfaccia video per realizzare la funzione OSD.
     
        I dati in uscita dal controller multicanale OSD non vengono inviati direttamente al decoder video, ma tramite il modulo di conversione dati, in base a specifiche condizioni applicative, viene eseguita la necessaria conversione del formato dati. Si può vedere dalla temporizzazione dell'interfaccia di SAA7105 che quando SAA7105 è configurato per l'uscita video composita, i dati richiesti sono dati di clock edge singolo. A questo punto, il modulo di conversione dati non funziona e i dati ricevuti dal modulo di controllo multicanale OSD vengono trasmessi intatti. Per SAA7105; se SAA7105 è configurato in modalità di uscita VGA o HDTV, sono richiesti i dati dual clock edge. A questo punto, il modulo di conversione dei dati converte i dati del bordo di clock singolo ricevuti dal controller OSD in dati del bordo di clock doppio e li invia al decodificatore video SAA7105.
     
        Si può vedere che FPGA ha completato tutto il lavoro di OSD. Se vuoi visualizzare il contenuto dell'OSD, DM6? 3 deve solo inviare istruzioni di controllo all'FPGA attraverso la porta EMFIA. Queste istruzioni, ovviamente, includono il contenuto e le informazioni sulla posizione dell'OSD.
     


    3. Controllo OSD
     
        Il design OSD implementato da XC3S250E esegue la visualizzazione OSD in base alla posizione OSD ricevuta e alle informazioni sul contenuto, senza alcuna restrizione sul contenuto visualizzato dall'OSD, il che è molto flessibile e conveniente. Quanto segue prende come esempio la visualizzazione dei caratteri cinesi OSD per illustrare l'operazione di controllo dell'OSD.
     
        Per visualizzare correttamente i caratteri cinesi, il codice interno dei caratteri cinesi immesso deve essere convertito nel codice della località corrispondente. Per questa funzione utilizziamo la funzione Uint32 Code_Converse(unsigned char *CodeNPointer), il cui input è un puntatore, che punta al carattere cinese da convertire. Il valore restituito è il codice della località corrispondente al carattere cinese. La visualizzazione OSD è realizzata dalla funzione OSDHZ?isplay:


      void OSDHZ_Visualizza{
    Uint8 *pFrame
    Passo Uint32
    OSDUTIL_Point* posizione
    Codice Uint32Q
    OSDHZ?non *carattere
    Uint8 fgColor
    Uint8 bgColor
    }
        Tra questi, Uint8 *pFrame è il buffer buffer per l'output dell'OSD; Il passo Uint32 è il valore in pixel visualizzato in ogni riga; OSDUTIL_Point *loc è la posizione di visualizzazione del primo carattere; Uint32 CodeQ è il prefisso per visualizzare i caratteri cinesi; OSDHZ?ont * font è il font utilizzato per visualizzare i caratteri cinesi; Uint8 fgColor visualizza il colore di primo piano dei caratteri cinesi; Uint8 bgColor visualizza il colore di sfondo dei caratteri cinesi.


        Pertanto, se è necessario visualizzare i caratteri cinesi, è sufficiente convertire i caratteri cinesi nel sistema di codice necessario e quindi inviare il prefisso convertito all'FPGA OSD. Naturalmente, per visualizzare i caratteri cinesi, la libreria dei caratteri cinesi è indispensabile.

     

     

     

     

    Elencare tutte le domande

    Nickname

    E-mail

    Domande

    Il nostro altro prodotto:

    Pacchetto di apparecchiature per stazioni radio FM professionali

     



     

    Soluzione IPTV per hotel

     


      Inserisci l'email per ricevere una sorpresa

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org -> Afrikaans
      sq.fmuser.org -> albanese
      ar.fmuser.org -> Arabo
      hy.fmuser.org -> Armenian
      az.fmuser.org -> Azerbaigiano
      eu.fmuser.org -> Basco
      be.fmuser.org -> bielorusso
      bg.fmuser.org -> Bulgaro
      ca.fmuser.org -> Catalano
      zh-CN.fmuser.org -> Cinese (semplificato)
      zh-TW.fmuser.org -> Cinese (Tradizionale)
      hr.fmuser.org -> croato
      cs.fmuser.org -> ceco
      da.fmuser.org -> danese
      nl.fmuser.org -> Olandese
      et.fmuser.org -> Estone
      tl.fmuser.org -> Filippino
      fi.fmuser.org -> finlandese
      fr.fmuser.org -> Francese
      gl.fmuser.org -> Galiziano
      ka.fmuser.org -> georgiano
      de.fmuser.org -> tedesco
      el.fmuser.org -> Greca
      ht.fmuser.org -> Creolo haitiano
      iw.fmuser.org -> Ebraico
      hi.fmuser.org -> Hindi
      hu.fmuser.org -> Hungarian
      is.fmuser.org -> Islandese
      id.fmuser.org -> Indonesiano
      ga.fmuser.org -> Irlandese
      it.fmuser.org -> Italiano
      ja.fmuser.org -> giapponese
      ko.fmuser.org -> coreano
      lv.fmuser.org -> Lettone
      lt.fmuser.org -> Lithuanian
      mk.fmuser.org -> Macedone
      ms.fmuser.org -> Malese
      mt.fmuser.org -> Maltese
      no.fmuser.org -> Norwegian
      fa.fmuser.org -> persiano
      pl.fmuser.org -> polacco
      pt.fmuser.org -> portoghese
      ro.fmuser.org -> Romeno
      ru.fmuser.org -> Russo
      sr.fmuser.org -> Serbo
      sk.fmuser.org -> slovacco
      sl.fmuser.org -> Sloveno
      es.fmuser.org -> spagnolo
      sw.fmuser.org -> Swahili
      sv.fmuser.org -> svedese
      th.fmuser.org -> Thai
      tr.fmuser.org -> turco
      uk.fmuser.org -> Ucraino
      ur.fmuser.org -> Urdu
      vi.fmuser.org -> Vietnamita
      cy.fmuser.org -> Gallese
      yi.fmuser.org -> Yiddish

       
  •  

    FMUSER Wirless Trasmetti video e audio più facilmente!

  • Contatti

    Indirizzo:
    No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou Cina 510620

    E-mail:
    [email protected]

    Telefono/WhatApp:
    + 8618078869184

  • Categorie

  • Newsletter

    NOME PRIMO O COMPLETO

    E-mail

  • soluzione paypal  Western UnionBanca di Cina
    E-mail:[email protected]   WhatsApp: +8618078869184 Skype: sky198710021 Chatta con me
    Copyright 2006-2020 Powered By www.fmuser.org

    Contatti