Texas Instruments DaVinci
Texas Instruments DaVinci テクノロジー(ダビンチ・テクノロジー)は、広範な最適化されたデジタルビデオとデジタル機器の開発のために、テキサス・インスツルメンツ (TI) が統合したデジタルシグナルプロセッサ、ソフトウェア、ツールのセットである。DaVinci DSP は、広く使われているTMS320 DSP ファミリの一部である。
概要
[編集]ハードディスクレコーダーやデジタルカメラのような、典型的なマルチメディアシステムは、大まかに2つの部分に分けることができる。制御部とメディア処理部である。メディア処理部が音声や画像のエンコード・デコードの処理を行っている間、制御部はメモリーカードやハードディスクドライブのアクセス、ユーザインタフェース、ネットワーキングのような処理を行う。汎用プロセッサは制御部のタスクで良い性能を発揮するが、最も強力な汎用プロセッサでも、リアルタイムの高画質ビデオエンコーディングのようなメディア処理関連のタスクには、十分に強力であるとはいえない。一方で DSP は、反復的で容易に並列化できるメディア処理関連のタスクで素晴らしい性能を発揮するが、制御タスクでは十分な性能を発揮できない。
DaVinci ファミリーのプロセッサの背後にあるアイデアは、汎用プロセッサと DSP を用いて、制御部とメディア処理部のタスクを、それぞれに適したプロセッサで実行させることである。これらの 2つの構成要素の 1チップへの統合により、システムデザインを単純化し、2つの構成要素の間のより効率的なコミュニケーションを行うことができる。
現在の DaVinci ファミリーのプロセッサは、ARM と DSP のマルチコアデバイス (例:DM644x) から、DSP のシングルコアデバイス (例:DM643x)、ARM のシングルコアデバイス (例:DM355) まで、幅広いスケーラビリティがある。
周辺デバイス
[編集]DaVinci プロセッサファミリーは、多くのオンチップデバイスを搭載している。それぞれのモデルにより搭載状況は異なる。
- コンパクトフラッシュ・SDカード・MMC などのメモリーカードのサポート(後ろの2つ用のLinux用ドライバは、現状では適切な性能での書き込みができない)
- ATAインタフェース
- デジタルカメラ/ビデオカメラ用の CCDコントローラ
- ホスト/デバイス用の USB 2.0コントローラ、VLYNQ (en:VLYNQ)(FPGA、無線LAN、PCI 用のインタフェース)、MDIO(en:MDIO) に対応したEMAC(イーサネットMAC)などのコネクティビティ
- GPIO
- 強化されたDMA
- 割り込みコントローラ
- デジタルLCDコントローラ
- SPI、I²C、I²S、UARTなどのシリアルインタフェース
- ヒストグラム、自動フォーカス、自動露光、自動ホワイトバランス (H3A) のアクセラレータ
- 画像リサイズのためのアクセラレータ
- アナログビデオ入出力用の A/D・D/Aコンバータ
モデル
[編集]- DM6443 - ARM9 + Texas Instruments TMS320C64x+ DSP + DaVinci Video (デコード) - 標準解像度の表示のためのビデオアクセラレータとネットワーキング
- DM6446 - ARM9 + Texas Instruments TMS320C64x+ DSP + DaVinci Video (エンコードとデコード) - 標準解像度の撮影と表示のためのビデオアクセラレータとネットワーキング
- DM6467 - ARM9 + Texas Instruments TMS320C64x+ DSP + DaVinci Video (エンコードとデコード) - 高解像度の撮影と表示のためのビデオアクセラレータとネットワーキング
- DM643x - Texas Instruments TMS320C64x+ DSP
- DM355 - ARM9 + DaVinci Video (エンコードとデコード) - MPEG-4/JPEG コプロセッサ
- DM365 - ARM9 + DaVinci Video (エンコードとデコード) - MPEG-2/MPEG-4/H.264/VC-1/JPEG コプロセッサ
- DM368 - DM365の機能強化版
ライブラリ
[編集]- ほとんどのTMS320 DSP は、周辺デバイスを制御するためのAPIである TMS320チップ・サポート・ライブラリ (CSL) を含んでいる。 しかし DaVinci は ARM/Linux 側の Linuxデバイスドライバで周辺デバイスを制御する思想のため、現状では DM644x (ARM/DSP のデュアルコア) の CSL のサポートは DSP 側で使用できない。
オペレーティング・システム
[編集]多くの DaVinci ベースのデバイスに内蔵される DSP は、一般的に TI の DSP/BIOS リアルタイムOS が動作している。複数の異種のコアが搭載されるデバイス(例えば DM644x)では、DSP/BIOS Link ドライバが、ARMとDSPの両側で動作し、2つのコアの間の通信を提供する。
多くのオペレーティング・システムが、Davinci ARM と DaVinci の DSP/BIOS Link ドライバをサポートしている。
- モンタビスタ Linux
- メンター・グラフィックス Nucleus PLUS リアルタイムOS
- グリーン・ヒルズ・ソフトウェア INTEGRITY リアルタイムOS
- QNX Neutrino
- Microsoft Windows CE
- LEOs (RTOS)
外部リンク
[編集]- DaVinci ホームページ(日本語)
- DaVinci Developers Wiki (TIが運営)