FMUSER Transmitir vídeo e áudio sem fio mais fácil!

[email protegido] WhatsApp + 8618078869184
Língua

    Projeto OSD de aplicativo de vídeo baseado em FPGA

     

    Nos últimos anos, os sistemas de vigilância por vídeo digital têm sido amplamente usados ​​em vários campos, como bancos, rodovias e edifícios. Em sistemas de vigilância por vídeo digital, a tecnologia OSD (On Screen Display) é uma parte indispensável. O OSD fornece aos usuários uma interface homem-máquina amigável, permitindo aos usuários obter mais informações adicionais.

     

    1. Composição do sistema


       O sistema apresentado neste artigo é um sistema completo de vigilância por vídeo baseado em TI DSP TMS320DM6? 3 e FPGA. Ele suporta 1 canal de entrada de vídeo e 1 canal de saída de vídeo, e também fornece uma interface de rede.

     
        A entrada de vídeo é realizada pelo decodificador de vídeo econômico TVP5150A da TI. TVP5150A pode realizar a coleção de duas entradas de vídeo composto ou um sinal de vídeo S-vídeo. O registro é configurado por meio de I2C, e o sinal de vídeo digital de saída segue o padrão ITU656.

     
        O sinal de vídeo digital decodificado pelo TVP5150A é transmitido ao DSP através da porta de vídeo 1 do DM6? 3, e o processamento de vídeo necessário é executado pelo DSP e, em seguida, enviado para o dispositivo remoto pela interface de rede. Por outro lado, depois do DM6? 3 processa os dados de vídeo recebidos da rede, são exibidos e emitidos por SAA7105 por meio da porta de vídeo 2 por FPGA. 

     
        A parte de saída é realizada por SAA7105. SAA7105 é um codificador de vídeo de alto desempenho da NXP Company, que pode fornecer saída de vídeo composto, saída de vídeo VGA e saída de sinal de vídeo HDTV de alta definição. O controle do SAA7105 também é realizado através do I2C, e recebe o sinal de vídeo digital do padrão composto ITU656.

     
        A parte de processamento de vídeo adota o DSP TMS320DM6 3 da TI para realizar. A frequência principal do DM6? 3 pode chegar a 600 MHz, e há duas portas de vídeo de 20 bits. As portas de vídeo suportam interfaces de vídeo digital, como BT.656 e Y / C. O DM6? 3 também integra o MAC da rede para realizar o acesso à rede.

     
       A velocidade de desenvolvimento de desempenho de hardware é sempre difícil de atender às necessidades de software. Nas aplicações cada vez mais complexas de processamento de vídeo, o DSP é responsável por tarefas complexas de processamento de vídeo e os recursos se tornam muito limitados. Portanto, no design deste sistema, FPGA é usado para realizar o design do OSD, o que pode reduzir a carga do DSP.


     
        A parte de implementação do OSD usa o XC3S250E da Xilinx. O XC3S250E é um FPGA da série SPARTAN-3E da Xilinx com 250,000 portas lógicas.


    2. Implementação de OSD
     
        SAA7105 não pode realizar a função OSD, mas é realizada pelo XC3S250E. O chip de controle principal DM6? 3 só precisa informar ao FPGA o conteúdo e a posição a serem exibidos, e o trabalho específico é executado pelo FPGA. O diagrama de bloco lógico do OSD é mostrado como na Fig. 2.
     Projeto OSD de aplicativo de vídeo baseado em FPGA

     

     OSD FPGA recebe dados OSD e instruções de controle do DSP DM6 3 por meio de EMIFA, recebe dados de vídeo por meio da porta 1 de vídeo DSP e sobrepõe as informações de OSD aos dados de vídeo e os envia para o codificador de vídeo SAA7105. Os módulos funcionais do OSD são descritos a seguir.
     
       A porta de dados do módulo de decodificação de endereço tem interface com os dados de 32 bits baixos de EMIFA de DSP DM6 3 e recebe os dados e informações de controle enviados por DM6 3. Esses dados e informações de controle são os dados originais de 32 bits enviados por DM6 3. O módulo de decodificação de endereço coloca os dados OSD recebidos, como o conteúdo do OSD, no FIFO interno do FPGA em um formato de dados de 32 bits. As informações de controle são usadas principalmente para controlar o OSD por meio de um conjunto de registros de controle.

     
       Também existe um módulo de interface de vídeo diretamente conectado ao DSP. O módulo de interface de vídeo é conectado à porta de vídeo 2 do DSP e armazena os dados e informações de controle da porta de vídeo DSP. Essas informações de controle são transmitidas diretamente para o módulo de controle multicanal OSD, e as informações de controle também controlam diretamente o decodificador de vídeo SAA7105.

     
        A lógica de controle do OSD emite as informações de controle obtidas do grupo de registro de controle para cada módulo funcional do OSD para realizar o controle do OSD. O grupo de registros é dividido principalmente em duas partes: uma é o grupo de registros assíncronos, que envia informações de controle como redefinir, ativar OSD e selecionar largura de dados para o OSD; o outro é o grupo de registro síncrono, que controla principalmente as informações de posição do OSD.

     
        O módulo de decodificação OSD retira os dados a serem exibidos do FIFO de acordo com as informações de controle da lógica de controle e os envia para o módulo OSD CLUT em sincronização com os dados de vídeo. Os dados obtidos do FIFO são os dados DSP originais de 32 bits e os dados exigidos pelo módulo OSD CLUT são de 8/16 bits, portanto, o módulo de descompactação OSD precisa descompactar os dados de 32 bits de acordo com a frequência do porta de vídeo. Os dados de 32 bits são transmitidos ao módulo OSD CLUT com uma largura de 8/16.
     
        Outra função do módulo FIFO é transferir informações de status FIFO para o módulo gerador de eventos DMA, como FIFO cheio ou FIFO vazio. O gerador de eventos DMA monitora esses eventos e, caso ocorram, são enviados ao DM6? 3 em um modo de interrupção para obter operações corretas de leitura e gravação para o FIFO.
     
        O módulo OSD CLUT procura o valor correspondente de YCbCr para os dados de cada pixel recebido do módulo de descompactação OSD e controla a sequência de saída desses dados OSD CLUT. Essa relação de conversão é transmitida pelo DSP por meio da porta de dados de 24 bits. Os dados do módulo OSD CLUT são enviados diretamente para o módulo controlador multicanal OSD.
     
        O módulo de controle multicanal OSD determina os dados de vídeo de saída de acordo com o bit de controle Alpha recebido do módulo OSD CLUT. Se a informação OSD atual, ou seja, o bit de controle Alpha for válida, ele envia os dados OSD para o módulo de conversão de dados. Caso contrário, produza os dados de vídeo originais recebidos do módulo de interface de vídeo para realizar a função OSD.
     
        A saída de dados pelo controlador multicanal OSD não é enviada diretamente para o decodificador de vídeo, mas através do módulo de conversão de dados, de acordo com as condições específicas da aplicação, é realizada a conversão do formato de dados necessária. Pode ser visto a partir do tempo de interface do SAA7105 que quando o SAA7105 é configurado para saída de vídeo composto, os dados necessários são dados de transição de clock único. Neste momento, o módulo de conversão de dados não faz nenhum trabalho e os dados recebidos do módulo de controle multicanal OSD são transmitidos intactos. Para SAA7105; se SAA7105 estiver configurado no modo de saída VGA ou HDTV, dados de borda de clock duplo são necessários. Neste momento, o módulo de conversão de dados converte os dados de transição de clock único recebidos do controlador OSD em dados de transição de clock duplo e os envia para o decodificador de vídeo SAA7105.
     
        Pode-se ver que o FPGA concluiu todo o trabalho do OSD. Se você deseja exibir o conteúdo OSD, DM6? 3 só precisa enviar instruções de controle ao FPGA por meio da porta EMFIA. Essas instruções, é claro, incluem o conteúdo e as informações de localização do OSD.
     


    3. Controle OSD
     
        O design OSD implementado pelo XC3S250E executa a exibição do OSD com base na localização do OSD recebido e nas informações de conteúdo, sem quaisquer restrições ao conteúdo exibido pelo OSD, que é muito flexível e conveniente. A seguir, a exibição de caracteres chineses do OSD como exemplo para ilustrar a operação de controle do OSD.
     
        Para exibir os caracteres chineses corretamente, o código interno do caractere chinês de entrada deve ser convertido no código de local correspondente. Para esta função, utilizamos a função Uint32 Code_Converse (unsigned char * CodeNPointer), cuja entrada é um ponteiro, apontando para o caractere chinês a ser convertido. O valor de retorno é o código do local correspondente ao caractere chinês. A exibição do OSD é realizada pela função OSDHZ? Isplay:


      void OSDHZ_ Display {
    Uint8 * pFrame
    Pitch Uint32
    OSDUTIL_Point * loc
    Código Uint32Q
    Fonte OSDHZ? Ont *
    Uint8 fgColor
    Uint8 bgColor
    }
        Entre eles, Uint8 * pFrame é o buffer de buffer para saída de OSD; Pitch Uint32 é o valor de pixel exibido em cada linha; OSDUTIL_Point * loc é a posição de exibição do primeiro caractere; Uint32 CodeQ é o código de área para exibir caracteres chineses; A fonte OSDHZ? Ont * é a fonte usada para exibir os caracteres chineses; Uint8 fgColor exibe a cor de primeiro plano dos caracteres chineses; Uint8 bgColor exibe a cor de fundo dos caracteres chineses.


        Portanto, se você precisar exibir caracteres chineses, precisará apenas converter os caracteres chineses no sistema de código necessário e, em seguida, enviar o código de área convertido para o OSD FPGA. Claro, para exibir caracteres chineses, a biblioteca de caracteres chineses é indispensável.

     

     

     

     

    Liste todos os Pergunta

    Alcunha/Nickname

    E-mail

    Frequentes

    Nosso outro produto:

    Pacote de equipamento de estação de rádio profissional FM

     



     

    Solução de IPTV para hotéis

     


      Digite o e-mail para obter uma surpresa

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org -> Afrikaans
      sq.fmuser.org -> albanês
      ar.fmuser.org -> árabe
      hy.fmuser.org -> armênio
      az.fmuser.org -> Azerbaijão
      eu.fmuser.org -> Basco
      be.fmuser.org -> bielorrusso
      bg.fmuser.org -> búlgaro
      ca.fmuser.org -> catalão
      zh-CN.fmuser.org -> Chinês (simplificado)
      zh-TW.fmuser.org -> chinês (tradicional)
      hr.fmuser.org -> croata
      cs.fmuser.org -> checo
      da.fmuser.org -> dinamarquês
      nl.fmuser.org -> holandês
      et.fmuser.org -> estoniano
      tl.fmuser.org -> filipino
      fi.fmuser.org -> finlandês
      fr.fmuser.org -> francês
      gl.fmuser.org -> galego
      ka.fmuser.org -> georgiano
      de.fmuser.org -> alemão
      el.fmuser.org -> grego
      ht.fmuser.org -> crioulo haitiano
      iw.fmuser.org -> hebraico
      hi.fmuser.org -> Hindi
      hu.fmuser.org -> húngaro
      is.fmuser.org -> islandês
      id.fmuser.org -> indonésio
      ga.fmuser.org -> irlandês
      it.fmuser.org -> italiano
      ja.fmuser.org -> Japonês
      ko.fmuser.org -> coreano
      lv.fmuser.org -> letão
      lt.fmuser.org -> Lituano
      mk.fmuser.org -> macedônio
      ms.fmuser.org -> malaio
      mt.fmuser.org -> maltês
      no.fmuser.org - norueguês
      fa.fmuser.org -> persa
      pl.fmuser.org -> polonês
      pt.fmuser.org -> português
      ro.fmuser.org -> romeno
      ru.fmuser.org -> russo
      sr.fmuser.org -> Sérvio
      sk.fmuser.org -> Eslovaco
      sl.fmuser.org -> esloveno
      es.fmuser.org -> espanhol
      sw.fmuser.org -> Swahili
      sv.fmuser.org -> sueco
      th.fmuser.org -> Tailandês
      tr.fmuser.org -> turco
      uk.fmuser.org -> ucraniano
      ur.fmuser.org -> Urdu
      vi.fmuser.org -> vietnamita
      cy.fmuser.org -> Galês
      yi.fmuser.org -> iídiche

       
  •  

    FMUSER Transmitir vídeo e áudio sem fio mais fácil!

  • Contato

    Endereço:
    No.305 Sala HuiLan Edifício No.273 Huanpu Road Guangzhou China 510620

    E-mail
    [email protegido]

    Tel/What Apps:
    +8618078869184

  • Categorias

  • Newsletter

    PRIMEIRO OU NOME COMPLETO

    Email

  • solução paypal  Western Union Banco da China
    E-mail[email protegido]   WhatsApp: +8618078869184 Skype: sky198710021 Fala comigo
    Copyright 2006 2020-Powered By www.fmuser.org

    Contate-nos