FMUSER безжично предаване на видео и аудио по-лесно!

[имейл защитен] WhatsApp + 8618078869184
Език

    OSD дизайн на видео приложение, базирано на FPGA

     

    През последните години цифровите системи за видеонаблюдение са широко използвани в различни области като банки, магистрали и сгради. В цифровите системи за видеонаблюдение технологията OSD (On Screen Display) е незаменима част. OSD предоставя на потребителите приятелски интерфейс човек-машина, което позволява на потребителите да получат повече допълнителна информация.

     

    1. Състав на системата


       Въведената в тази статия система е цялостна система за видеонаблюдение, базирана на TI DSP TMS320DM6? 3 и FPGA. Той поддържа 1 канал за видео вход и 1 канал за видео изход, а също така осигурява мрежов интерфейс.

     
        Видео входът се реализира от рентабилния видео декодер на TI TVP5150A. TVP5150A може да реализира събирането на два композитни видео входа или един S-видео видео сигнал. Регистърът е конфигуриран чрез I2C, а изходният цифров видео сигнал следва стандарта ITU656.

     
        Цифровият видео сигнал, декодиран от TVP5150A, се предава към DSP през видео порта 1 на DM6? 3, а необходимата видео обработка се извършва от DSP и след това се извежда до отдалеченото устройство чрез мрежовия интерфейс. От друга страна, след DM6? 3 обработва видео данните, получени от мрежата, те се показват и извеждат от SAA7105 през видео порт 2 през FPGA. 

     
        Изходната част се реализира от SAA7105. SAA7105 е високоефективен видеокодер на NXP Company, който може да осигури композитен видео изход, VGA видео изход и HDTV видео сигнал с висока разделителна способност. Управлението на SAA7105 също се осъществява чрез I2C и приема цифровия видео сигнал по композитен стандарт ITU656.

     
        Частта за видео обработка приема DSP TMS320DM6 3 на TI за реализация. Основната честота на DM6? 3 може да достигне 600MHz и има два 20-битови видео порта. Видео портовете поддържат цифрови видео интерфейси като BT.656 и Y/C. DM6? 3 също интегрира мрежов MAC за реализиране на достъп до мрежата.

     
       Скоростта на развитие на хардуерната производителност винаги е трудна за задоволяване на нуждите на софтуера. Във все по -сложните приложения за видео обработка, DSP отговаря за сложните задачи за обработка на видео и ресурсите стават много ограничени. Следователно, при проектирането на тази система, FPGA се използва за реализиране на дизайна на OSD, което може да намали тежестта на DSP.


     
        Частта за внедряване на OSD използва XC3S250E на Xilinx. XC3S250E е FPGA от серия Xilinx SPARTAN-3E с 250,000 XNUMX логически порта.


    2. Въвеждане на OSD
     
        SAA7105 не може да реализира OSD функция, но се реализира от XC3S250E. Основният контролен чип DM6? 3 трябва само да информира FPGA за съдържанието и позицията за показване, а специфичната работа се извършва от FPGA. Логическата блокова диаграма на OSD е показана както на фиг. 2.
     OSD дизайн на видео приложение, базирано на FPGA

     

     OSD FPGA получава OSD данни и инструкции за управление от DSP DM6 3 чрез EMIFA, получава видео данни през DSP видео порт 1 и наслагва OSD информацията върху видео данните и я извежда към видеокодера SAA7105. Функционалните модули на OSD са описани, както следва.
     
       Портът за данни на модула за декодиране на адрес е свързан с ниските 32-битови данни на EMIFA на DSP DM6 3 и получава данните и контролната информация, изпратени от DM6 3. Тези данни и контролната информация са оригиналните 32-битови данни, изпратени от DM6 3. Модулът за декодиране на адрес поставя получените OSD данни, като например съдържанието на OSD, във вътрешния FIFO на FPGA в 32-битов формат на данни. Контролната информация се използва главно за управление на екранното меню чрез набор от контролни регистри.

     
       Има и модул за видео интерфейс, директно свързан към DSP. Модулът за видео интерфейс е свързан към видео порта 2 на DSP и съхранява данните и контролната информация от DSP видео порта. Тази управляваща информация се предава директно към многоканалния контролен модул на OSD, а управляващата информация също директно управлява видео декодера SAA7105.

     
        Логиката за управление на екранното меню извежда управляващата информация, получена от групата на контролния регистър, към всеки функционален модул на екранното меню, за да реализира контрола на екранното меню. Регистърната група е разделена главно на две части: едната е асинхронната регистърна група, която изпраща контролна информация като нулиране, активиране на OSD и избор на ширина на данните към OSD; другата е групата за синхронен регистър, която контролира главно информацията за позицията на екранното меню.

     
        Модулът за декодиране на екранното меню изважда данните, които да се показват от FIFO, в съответствие с управляващата информация на управляващата логика, и ги извежда към модула OSD CLUT в синхрон с видео данните. Данните, получени от FIFO, са оригиналните DSP 32-битови данни, а данните, изисквани от OSD CLUT модула, са 8/16-битови, така че модулът за разопаковане на OSD трябва да разопакова 32-битовите данни според честотата на видео порт. 32-битовите данни се предават към модула OSD CLUT с ширина 8/16.
     
        Друга функция на модула FIFO е да прехвърля информация за състоянието на FIFO към модула за генериране на събития DMA, като например FIFO пълен или FIFO празен. Генераторът на DMA събития следи тези събития и ако те се случат, те се изпращат до DM6? 3 в режим на прекъсване за постигане на правилни операции за четене и запис на FIFO.
     
        Модулът OSD CLUT търси съответната стойност на YCbCr за данните за всеки пиксел, получен от модула за разопаковане на екранното меню, и контролира изходната последователност на тези OSD CLUT данни. Тази връзка за преобразуване се предава от DSP през 24-битовия порт за данни. Данните от модула OSD CLUT се извеждат директно към модула на многоканалния контролер на OSD.
     
        Екранният многоканален контролен модул определя изходните видео данни според алфа контролния бит, получен от модула OSD CLUT. Ако текущата информация от OSD, тоест контролния бит Alpha е валиден, той извежда OSD данните към модула за преобразуване на данни. В противен случай изведете оригиналните видео данни, получени от модула за видео интерфейс, за да реализирате OSD функцията.
     
        Извежданите данни от многоканалния контролер на екранното меню не се изпращат директно към видео декодера, но чрез модула за преобразуване на данни, в зависимост от специфичните условия на приложение, се извършва преобразуването на необходимия формат на данни. От синхронизацията на интерфейса на SAA7105 може да се види, че когато SAA7105 е конфигуриран за композитен видео изход, необходимите данни са данни за един часовник. По това време модулът за преобразуване на данни не върши никаква работа и данните, получени от многоканалния контролен модул на OSD, се предават непокътнати. За SAA7105; ако SAA7105 е конфигуриран в изходен режим VGA или HDTV, са необходими данни с двойни ръбове на часовника. По това време модулът за преобразуване на данни преобразува единичните данни за ръба на часовника, получени от контролера на екранното меню, в данни с двоен ръб на часовника и ги извежда към видео декодера SAA7105.
     
        Може да се види, че FPGA е завършила цялата работа на OSD. Ако искате да покажете съдържанието на OSD, DM6? 3 трябва само да изпрати инструкции за управление до FPGA през порта EMFIA. Тези инструкции, разбира се, включват информацията за съдържанието и местоположението на екранното меню.
     


    3. OSD контрол
     
        Дизайнът на екранното меню, реализиран от XC3S250E, изпълнява OSD дисплей въз основа на полученото OSD местоположение и информация за съдържанието, без никакви ограничения за съдържанието, показвано от OSD, което е много гъвкаво и удобно. По -долу е даден OSD китайски символ като пример за илюстриране на контролната операция на OSD.
     
        За правилното показване на китайски букви, въведеният вътрешен код на китайски символ трябва да се преобразува в съответния код на местоположение. За тази функция използваме функцията Uint32 Code_Converse (unsigned char *CodeNPointer), чието въвеждане е указател, сочещ китайския символ, който трябва да се преобразува. Връщаната стойност е кодът на местоположението, съответстващ на китайския знак. OSD дисплеят се реализира чрез функцията OSDHZ? Isplay:


      void OSDHZ_ Дисплей {
    Uint8 *pFrame
    Uint32 стъпка
    OSDUTIL_Точка* лок
    Uint32 CodeQ
    OSDHZ? Ont *шрифт
    Uint8 fgColor
    Uint8 bgColor
    }
        Сред тях Uint8 *pFrame е буферният буфер за OSD изход; Uint32 стъпка е стойността на пиксела, показана във всеки ред; OSDUTIL_Point *loc е позицията на показване на първия знак; Uint32 CodeQ е код на област за показване на китайски букви; OSDHZ? Ont * шрифт е шрифтът, използван за показване на китайски букви; Uint8 fgColor показва цвета на предния план на китайските букви; Uint8 bgColor показва цвета на фона на китайските букви.


        Следователно, ако трябва да показвате китайски символи, трябва само да преобразувате китайските символи в необходимата кодова система и след това да изведете преобразувания код на област към OSD FPGA. Разбира се, за показване на китайски символи, библиотеката с китайски символи е незаменима.

     

     

     

     

    Избройте всички Въпрос

    прякор

    Имейл

    въпроси

    Нашата друг продукт:

    Професионален пакет оборудване за FM радиостанция

     



     

    Хотелско IPTV решение

     


      Въведете имейл, за да получите изненада

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org -> африкаанс
      sq.fmuser.org -> албански
      ar.fmuser.org -> арабски
      hy.fmuser.org -> Арменски
      az.fmuser.org -> азербайджански
      eu.fmuser.org -> баски
      be.fmuser.org -> белоруски
      bg.fmuser.org -> Български
      ca.fmuser.org -> каталунски
      zh-CN.fmuser.org -> китайски (опростен)
      zh-TW.fmuser.org -> Китайски (традиционен)
      hr.fmuser.org -> хърватски
      cs.fmuser.org -> чешки
      da.fmuser.org -> датски
      nl.fmuser.org -> Холандски
      et.fmuser.org -> естонски
      tl.fmuser.org -> филипински
      fi.fmuser.org -> финландски
      fr.fmuser.org -> Френски
      gl.fmuser.org -> галисийски
      ka.fmuser.org -> грузински
      de.fmuser.org -> немски
      el.fmuser.org -> Гръцки
      ht.fmuser.org -> хаитянски креолски
      iw.fmuser.org -> иврит
      hi.fmuser.org -> хинди
      hu.fmuser.org -> Унгарски
      is.fmuser.org -> исландски
      id.fmuser.org -> индонезийски
      ga.fmuser.org -> ирландски
      it.fmuser.org -> Italian
      ja.fmuser.org -> японски
      ko.fmuser.org -> корейски
      lv.fmuser.org -> латвийски
      lt.fmuser.org -> Литовски
      mk.fmuser.org -> македонски
      ms.fmuser.org -> малайски
      mt.fmuser.org -> Малтийски
      no.fmuser.org -> Norwegian
      fa.fmuser.org -> персийски
      pl.fmuser.org -> полски
      pt.fmuser.org -> португалски
      ro.fmuser.org -> Romanian
      ru.fmuser.org -> руски
      sr.fmuser.org -> сръбски
      sk.fmuser.org -> словашки
      sl.fmuser.org -> Словенски
      es.fmuser.org -> испански
      sw.fmuser.org -> суахили
      sv.fmuser.org -> шведски
      th.fmuser.org -> Thai
      tr.fmuser.org -> турски
      uk.fmuser.org -> украински
      ur.fmuser.org -> урду
      vi.fmuser.org -> Виетнамски
      cy.fmuser.org -> уелски
      yi.fmuser.org -> Идиш

       
  •  

    FMUSER безжично предаване на видео и аудио по-лесно!

  • Контакти

    Адрес
    No.305 Стая HuiLan Сграда No.273 Huanpu Road Гуанджоу Китай 510620

    Мейл:
    [имейл защитен]

    Тел / WhatApps:
    +8618078869184

  • Категории

  • Бюлетин

    ПЪРВО ИЛИ ПЪЛНО ИМЕ

    E-mail

  • разтвор PayPal  Western UnionЦентралната банка на Китай
    Мейл:[имейл защитен]   WhatsApp: +8618078869184 Skype: sky198710021 Пиши си с мен
    Copyright 2006-2020 Powered By www.fmuser.org

    Свържи се с нас