星期五, 6月 17, 2005

一般的Media Processor設計

Media Processor都是由一個core(一般是ARM),配上一個DSP。然後是一個強大的DMA controller。有些包裝得比較好的還會有PAL/NTSC encoder和audio 方面的interface。再有甚者加上了現在流行的storage card controller。

Core
  • 32bit RISC + 64bit DSP
  • 8/16 bit DRAM controller up to 128Mb
  • 16 bit SRAM/EPROM interface to boot
Video
  • Decode MPEG-1, MPEG-2 video and JPEG Photo.
  • Decode MPEG-4 video at D1 resolution.
  • CIR656/601 digital video output port
  • Progressive Scan NTSC/PAL video encoder provide S-video, YUV output
  • OSD controller (256 color)
Audio
  • audio processing for CD-DA, MP3, AAC, WMA playback with 7-band equalizer
  • I2S multichannel audio serial port (5.1).
  • S/PDIF digital audio stream output
  • Card Control
  • 16bit host interface to manay storage solutions : CF, SM, xD, IDE HD,
  • serial interface to SD, XD, MMC and MS.
* 其實還有Camera In和Audio in,但是因為沒有encoder功能,所以這個不知道要幹麻?

DSP
DSP負責作decompress的動作,將結果放在RAM裡,DRAM DMA會將這些資料放到video output interface。
Video Processor
有 以下動作:memory R/W, conditional branch, compute,Video processor一般用來作video的micro block的計算,當然也可以用來作其他的功能,或是作audio壓縮/解壓縮。內涵8k ROM,存放一般常用的microcode,其他不常用的microcode可以用download的方式放在internal 2k RAM。(所以顆DMP也可以用來作video壓縮?)

Command Queue
command queue 是給Video Processor用的,RISC可以將一連串的instruction放在queue中讓image processor依序執行,然後等待她完成。
溝 通的方式是1.先將instruction依續在ram中排好. 2.啟動DMA,要求將剛剛排好的ram block依序送給video processor(DMA 的target address是Video processor的command register)。
DMA controlller
可以作以下的資料搬運作業:
  1. video data/video decoder == memory
  2. video data/memory == RISC
  3. RISC to video processor command (via memory ?)
DMA controller提供特殊的register供Video processor load microcode.和對video processor內部狀態的monitor。
Video MPEG decoder
好像有一個hardware的Huffman engine decode Vairable Length Codes (VLC),有內建的MPEG-1,MPEG-2 VLC table。
decode 的工作,RISC作所有parse data的工作到microblock level,好像有一個hardware的start code search engine,將parse的coefficiency傳送到DSP。依序將microblock data送給DSP,安排DSP執行適當的microcode routine,DSP將結果放回DRAM framebuffer
NTSC/PAL encoder
encoder 以標準的速度(13.5MHz)讀入CCIR656/601格式的digital frame data,將color space由YCbCr轉為YUV或Y/C。再放入output FIFO,encoder會自己產生PAL/NTSC需要的同步信號,subcarrier freqency,encoder含有4個10 bit的DAC,將pixel data轉為PAL/NTSC信號。
OSD controller
全螢幕提供每個pixel 8 bitcolor,8個透明層次的螢幕輸出。
Host Interface
提供debug port作debug用和一個DMA port,讓chip可以由外界讀入bitstream data。
Audio Interface
提供serial port配合外加的ADC/DAC,以I2S的格式傳送PCM audio data。可以提供stereo和5.1的輸出。
Video bus
以CCIR656/601格式送出pixel data。(8-bit bus width)
Video Post Processing
補償CCIR656/601作horizontal up sampling。

沒有留言:

網誌存檔