Previous
Next

TI DaVinci ile çoklu ortam iletimi

by Cem Kefeli 9. Ocak 2009 00:43

DaVinciTM  TEKNOLOJİSİ
Davinci TechnologyTM is a trademark of Texas InstrumentsTM

DaVinci teknolojisi DSP-tabanlı işlemci, yazılım araçları, sayısal video ve ekipmanlarının geniş çapta geliştirilmesi desteğinin tek pakette birleştirildiği bir uygulama geliştirme platformudur. Bu platform Texas InstrumentsTM firmasının sayısal video uygulamalarında kullanılması için oluşturduğu en yeni teknolojisidir. DaVinciTM işlemcisi çift çekirdekli bir mimariye sahiptir. İçerisinde yüksek performanslı (fixed point-TMS320C64x+™) DSP ve 32 bitlik RISC mimarisinde ARM (ARM926EJ-S) işlemci bulunmaktadır.


Bu platformun sunmuş olduğu özellikler aşağıda verilmektedir;

    * High-Performance Digital Media SoC
          o 594-MHz C64x+™ Clock Rate
          o 297-MHz ARM926EJ-S™ Clock Rate
          o Eight 32-Bit C64x+ Instructions/Cycle
          o 4752 C64x+ MIPS
          o Fully Software-Compatible With C64x /ARM9™
    * Advanced Very-Long-Instruction-Word (VLIW) TMS320C64x+™ DSP Core
          o Eight Highly Independent Functional Units
                + Six ALUs (32-/40-Bit), Each Supports Single 32-Bit, Dual 16-Bit, or Quad 8-Bit Arithmetic per Clock Cycle

                + Two Multipliers Support Four 16 x 16-Bit Multiplies (32-Bit Results) per Clock Cycle or Eight 8 x 8-Bit Multiplies (16-Bit Results) per Clock Cycle
          o Load-Store Architecture With Non-Aligned Support
          o 64 32-Bit General-Purpose Registers
          o Instruction Packing Reduces Code Size
          o All Instructions Conditional
          o Additional C64x+™ Enhancements
                + Protected Mode Operation
                + Exceptions Support for Error Detection and Program Redirection
                + Hardware Support for Modulo Loop Operation
    * C64x+ Instruction Set Features
          o Byte-Addressable (8-/16-/32-/64-Bit Data)
          o 8-Bit Overflow Protection
          o Bit-Field Extract, Set, Clear
          o Normalization, Saturation, Bit-Counting
          o Compact 16-Bit Instructions
          o Additional Instructions to Support Complex Multiplies
    * C64x+ L1/L2 Memory Architecture
          o 32K-Byte L1P Program RAM/Cache (Direct Mapped)
          o 80K-Byte L1D Data RAM/Cache (2-Way Set-Associative)
          o 64K-Byte L2 Unified Mapped RAM/Cache (Flexible RAM/Cache Allocation)
    * ARM926EJ-S Core
          o Support for 32-Bit and 16-Bit (Thumb® Mode) Instruction Sets
          o DSP Instruction Extensions and Single Cycle MAC
          o ARM® Jazelle® Technology
          o EmbeddedICE-RT™ Logic for Real-Time Debug
    * ARM9 Memory Architecture
          o 16K-Byte Instruction Cache
          o 8K-Byte Data Cache
          o 16K-Byte RAM
          o 8K-Byte ROM
    * Embedded Trace Buffer™ (ETB11™) With 4KB Memory for ARM9 Debug
    * Endianness: Little Endian for ARM and DSP
    * Video Processing Subsystem
          o Front End Provides:
                + CCD and CMOS Imager Interface
                + BT.601/BT.656 Digital YCbCr 4:2:2 (8-/16-Bit) Interface
                + Preview Engine for Real-Time Image Processing
                + Glueless Interface to Common Video Decoders
                + Histogram Module
                + Auto-Exposure, Auto-White Balance and Auto-Focus Module
                + Resize Engine
                      # Resize Images From 1/4x to 4x
                      # Separate Horizontal/Vertical Control
          o Back End Provides:
                + Hardware On-Screen Display (OSD)
                + Four 54-MHz DACs for a Combination of
                      # Composite NTSC/PAL Video
                      # Luma/Chroma Separate Video (S-video)
                      # Component (YPbPr or RGB) Video (Progressive)
                + Digital Output
                      # 8-/16-bit YUV or up to 24-Bit RGB
                      # HD Resolution
                      # Up to 2 Video Windows
    * External Memory Interfaces (EMIFs)
          o 32-Bit DDR2 SDRAM Memory Controller With 256M-Byte Address Space (1.8-V I/O)
          o Asynchronous16-Bit Wide EMIF (EMIFA) With 128M-Byte Address Reach
                + Flash Memory Interfaces
                      # NOR (8-/16-Bit-Wide Data)
                      # NAND (8-/16-Bit-Wide Data)
    * Flash Card Interfaces
          o Multimedia Card (MMC)/Secure Digital (SD)
          o CompactFlash Controller With True IDE Mode
          o SmartMedia
    * Enhanced Direct-Memory-Access (EDMA) Controller (64 Independent Channels)
    * Two 64-Bit General-Purpose Timers (Each Configurable as Two 32-Bit Timers)
    * One 64-Bit Watch Dog Timer
    * Three UARTs (One with RTS and CTS Flow Control)
    * One Serial Port Interface (SPI) With Two Chip-Selects
    * Master/Slave Inter-Integrated Circuit (I2C Bus™)
    * Audio Serial Port (ASP)
          o I2S
          o AC97 Audio Codec Interface
          o Standard Voice Codec Interface (AIC12)
    * 10/100 Mb/s Ethernet MAC (EMAC)
          o IEEE 802.3 Compliant
          o Media Independent Interface (MII)
    * VLYNQ™ Interface (FPGA Interface)
    * USB Port With Integrated 2.0 PHY
          o USB 2.0 High-/Full-Speed (480-Mbps) Client
          o USB 2.0 High-/Full-/Low-Speed Host (Mini-Host, Supporting One External Device)
    * Three Pulse Width Modulator (PWM) Outputs
    * On-Chip ARM ROM Bootloader (RBL) to Boot From NAND Flash or UART
    * ATA/ATAPI I/F (ATA/ATAPI-6 Specification)
    * Individual Power-Saving Modes for ARM/DSP
    * Flexible PLL Clock Generators
    * IEEE-1149.1 (JTAG) Boundary-Scan-Compatible
    * Up to 71 General-Purpose I/O (GPIO) Pins (Multiplexed With Other Device Functions)
    * 361-Pin Pb-Free BGA Package (ZWT Suffix), 0.8-mm Ball Pitch
    * 0.09-µm/6-Level Cu Metal Process (CMOS)
    * 3.3-V and 1.8-V I/O, 1.2-V Internal

 

Digital Video Evaluation Module (DVEVM), tasarımcıların DaVinciTM işlemcisi ile daha kolay ve rahat bir şekilde uygulama gerçekleştirebilmeleri için sunulmuş bir uygulama geliştirme ortamıdır.

Uygulama geliştirme paketi içerisinde, uygulama kartı, NTSC/PAL CCD kamera, 5.6 inch LCD display, mikrofon ve IR uzaktan kumanda bulunmaktadır. Kart üzerinde ise 40 GB’lık sabit belleğe gömülü bir Linux , DaVinciTM işlemcisi ve diğer arabirimler bulunmaktadır.

DVEVM ile birlikte H.264, MPEG–4, AAC+ ve G.711 uygulamaları için demolar ve yazılımları bulunmaktadır. DaVinciTM kılıfı içerisindeki ARM işlemcinin koşturduğu MontaVistaLinux 2.0 hazır olarak kit ile birlikte uygulama geliştiricilerin hizmetine sunulmaktadır.

Aşağıdaki şekilde uygulama geliştirme kartının (DVEVM) temsili blok diyagramı verilmektedir;

 

 DVEVM kartı üzerindeki çevre birimler aşağıda listelenmektedir;

• A Texas Instruments DM644x processor with an ARM processor operating up to 300 Mhz. and a C64xx DSP operating up to 600 MHz.
• 1 video input port, supports composite or S video
• 4 video DAC outputs - component, RGB, composite
• 256 Mbytes of DDR2 DRAM
• UART, Media Card interface (SD card, xD card, SM card, MS card, MMC)
• 16 Mbytes of non-volatile Flash memory, 64 Mbytes NAND Flash, 4 Mbytes SRAM
• AIC33 stereo codec
• USB2 Interface
• 10/100 MBS Ethernet Interface
• IR Remote Interface, real time clock, via MSP430
• Configurable boot load options
• JTAG emulation interface
• 8 user LEDs
• Single voltage power supply (+5V)
• Expansion connectors for daughter card use
• ATA Interface, Vlynq Interface
• SPDIF Interface, analog, and optical

 
Günümüzde görüntü sıkıştırma, görüntü iletimi gibi media uygulamaları çok büyük bir kullanım alanı bulmaya başlamıştır. Bu bağlamda DaVinci platformu özellikle dijital video uygulamalarında bu ihtiyaçların karşılanmasını amaçlamıştır. Platformun başlıca kullanılabileceği uygulamalar aşağıda listelenmektedir :

• Video security
• Ip set-top box
• Video conferencing
• Digital Cameras
• Portable media players
• Networked video for emerging applications

 


Yandaki şekillerde kullandığımız teçhizatlar ve DaVinci teknolojisi kullanarak kameraden alınan görüntünün önce H.264 kodlanması, arkasından da kodlanmış bu verinin çözülerek görüntülerin ekran veya televizyonda gösterimi uygulaması verilmiştir.
Yandaki şekilde DaVinciTM platformundaki web server üzerinden host edilen web sayfası görülmektedir. İp numarası ile sorgu yapılarak doğrudan servera erişim mümkündür. CGI klasik görünümlü web sayfalarının terk edilmesine ve kullanıcı arabirimimin daha güçlü bir şekilde oluşturulmasına yardımcı olmaktadır. CGI scriptlerinin çalıştırılmasına da olanak sağlayan web server üzerinden kullanıcı etkileşimli birçok web sayfasının son kullanıcılara sunulması mümkün olmaktadır.

Yandaki şekilde görüldüğü gibi, tarafımızdan DaVinci Platformu üzerine, web sayfalarının izlenebilmesi amacıyla konqueror web tarayıcı kurulmuştur. Burada sistem görsel arayüz olarak gömülü Xserver ve QT kütüphanelerini kullanmaktadır. Web sayfası içerisindeki resimler de gömülü sistem tarafından çözülerek gösterilebilmektedir.

Yandaki şekillerde gösterilen uygulamamızda DaVinci platformu üzerindeki gömülü Linux işlem sistemi ve bu sistemin API’leri kullanılarak aldığımız görüntünün RTP üzerinden PC ye iletilmiş ve orada gerçek zamanlı olarak gösterilmiştir. RTP’nin TCP iletim protokolüne göre bazı avantajları bulunmaktadır. Veri akış denetimini sağlayan bazı fonksiyonlar RTP de bulunmadığı için daha yüksek veri hızlarına çıkılabilmesine olanak tanınmaktadır. Bu yüzden çoğunlukla veri denetimi gerektirmeyen gerçek zamanlı görüntü iletimi gibi uygulamalarda RTP iletiminin kullanılması tercih edilmektedir.

 

Referanslar :
[1].  “tms320dm6446.pdf”, http://focus.ti.com/docs/prod/folders/print/tms320dm6446.html
[2].  “sprue66.pdf”, http://focus.ti.com/dsp/docs/dspcontent.tsp?contentId=1107
[3].  http://www.ti.com/
[4].  http://focus.ti.com/docs/toolsw/folders/print/tmdxevm6446.html
[5].  http://www.spectrumdigital.com/

 

Yorumlar (2) -

Cengiz Özgen
Cengiz Özgen Turkey
19.03.2009 07:58:24 #

merhaba Cem BEY,
üzerinde çalıştığınız texas davinci işlemcilerini bende araştı-
rıyorum.Daha once dspler ile çalışmadım ama bilgi sahibi olma
ya çalışıyorum.20 veya daha fazla CCD veya cmos kameradan
gelen goruntuleri işlemek için bu işlemci yeterli olurmu.
Nasıl bir yol izlenmesi gerekir hangi özellikleri önemlidir.24
bit okumayı düşünüyorum.
Çalışmalarınızda başarılar.....


Yanıtla

Cem Kefeli
Cem Kefeli Turkey
20.03.2009 11:07:01 #

Cengiz Bey merhaba,

Aslında sorunuzun cevabı çok fazla esnek.. İlk önce şuradan başlamak istiyorum. DSP işlemcilerin belirli sayıda interface'leri bulunmakta. Örneğin; iki tane analog video girişi, bir tane Cmos kamera girişi, üç tane USB port, vb. gibi.. DaVinci işlemcisinin ise yanlış hatırlamıyorsam bir tane analog ve bir tane de hali hazırda cmos girişi bulunmakta. Yani yirmi tane kadar kamera bağlamak sıkıntılı bir durum. Bir şekilde belki çoğullama yaparak bu sorun çözümlenebilir ama performans çok çok ciddi şekilde düşer. İkincisi ise veri işleme algoritmasının işlem yükü. Bu çok değişken birşey. Algoritmanızın yapısı durumu çok etkileyecek.
Kullandığınız platfomun özellikleri ve uygulamanız hakkında daha fazla bilgi verebilirseniz daha iyi yardımcı olmaya çalışacağım..

Yanıtla

Yorum ekle

biuquote
  • Yorum
  • Canlı önizleme
Loading

Hakkımda...

Cem KEFELİ

Electronics and
Telecommunication Eng.
devamı...


Son yapılan yorumlar...

Comment RSS

Yasal bir uyarı...

Disclaimer"Bu web sitesinde görmüş olduğunuz bilgilerin, dokümanların ve diğer materyallerin kullanılmasından doğabilecek hiç bir sorumluluktan site sahibi sorumlu tutulamaz. Web sitesi içerisinde yer alan yazılar, yorumlar, resimler ve diğer tüm içerikler yalnızca sahibinin görüşünü yansıtmakta olup içeriğin sahibi kişilerin çalıştığı kurumları bağlayıcı hiç bir nitelik taşımamaktadır. Yapılan tüm alıntılar mutlaka kaynak gösterilerek verilmeye çalışılmaktadır. Web sitesi içerisinde bulunan ilgili materyaller, ilgili yasal kurumlar tarafından uygun görülmemesi durumda kaldırılacaktır."
General