E!Kit-1100のNTSCビデオ出力実験事例



株式会社デバイスドライバーズE-KIT事業部

戻る→


弊社製 組込みLinuxボード E!Kit-1100と拡張ユニバーサルボードを使用したNTSCビデオ出力の設計事例です。

Au1100の内蔵ビデオコントローラとFPGAによるNTSCダウンコンバート及びエンコード処理を使用して、Linuxカーネル2.6とNano-X WindowでNTSC出力実験を行い、動作確認をしました。

ハードウェア

追加した回路の回路図です。 ダウンコンバート及びNTSCエンコード処理にはXILINX製FPGA XC3S200-4FT256Cが実装されている Spartan-3 Starter Kitを使用しました。部品の一覧表は下記の通りです。

部品表
種類 品名 数量 記号 備考
IC uPC29M33HF 1 U1
ADV7127KRU50 1 U2
AD8051AR 2 U3, U4
インダクタ 1.5u 1 L1
抵抗 75 4 R2, R5, R6, R9
560 1 R1
1.0K 4 R3, R4, R7, R8
コンデンサ 100p 1 C9
680p 1 C8
0.1u 6 C3, C4, C5, C6, C7,
C10
47uF 2 C1, C2
1000u 1 C11
コネクタ 2.54mmピンヘッダ(L型)2×20pin 3 CNA1, CNA2, CNB1 2×40pinの物を切断して使用
秋月電子通商 \100
RCA(黄) 1 CN3
2.54mmピンヘッダ2×25pin 4 2×40pinの物を切断して使用
秋月電子通商 \100
ICソケット 丸ピンICソケット両端オス1×10pin 4 1×20pinの物を切断して使用
秋月電子通商 \100
丸ピンICソケット両端オス1×14pin 2
丸ピンICソケット1×10pin 4 1×20pinの物を切断して使用
秋月電子通商 \70
丸ピンICソケット1×14pin 2
基板/ボード ユニバーサル基板(AE-2G) 1 秋月電子通商 \200
ピッチ変換基板(ICB-010) 1 千石電商 \340
ピッチ変換基板(SSP-61) 1 千石電商 \680
拡張ユニバーサルボード 1
Spartan-3 Starter Kit 1

10bitDAC(下位2bitは0固定)を1.3Vp-pで出力するようにし、 出力には3次のLPF(Bessel)を接続して折返しノイズを抑えています。 減衰値が-30[dB]では少ないと思うかもしれませんが FPGA内のLPFのSNRが-30[dB]程度なので今回はこのようにしています。 あと折返しノイズ部分は、実際はDACのアパーチャ効果で減衰していますが 図では信号と同一レベルで書いています。
LPF

組立例です。 ユニバーサル基板やピッチ変換基板を使用しています。
部品面

FPGA

Spartan-3 Starter Kit用のVHDLファイルです。

全体(top.vhd)と周辺回路を含めたブロック図です。 Spartan-3 Starter KitにはFPGA以外の機能(SRAMなど)がいろいろと 実装されていますが、今回はFPGA、50MHzクロックとDSUB15pinコネクタ以外の 機能は未使用です。50MHzのクロックからDFSを2個使用して28.63636MHzを生成しています。 あとE!Kit-1100のLCD信号をDSUB15pinコネクタに出力(8色)することで、 画像を確認できるようにしています。 (8色画像なのであくまで確認用です。)
topブロック図

ダウンコンバート(down.vhd)のブロック図です。 1024×16bitのデュアルポートRAMを使用して、E!Kit-1100側の映像(31.5KHz/640ドット)を NTSC信号(15.7KHz/768ドット)に変換しています。 水平ドット数を640から768に変換しているのはアスペクト比を1:1にする為です。 垂直ライン数は480のままです。(480pから480iの変換は行っています。)
downブロック図

ダウンコンバート(down.vhd)の動作タイミングです。 ラインバッファ(デュアルポートRAM)への書込みが読出しを追い越さないように E!Kit-1100側のタイミングを調整しています。 E!Kit-1100側とNTSC側のクロックが非同期な為、1クロック分のジッタが発生します。
downタイミング

NTSCエンコード(enc.vhd)のブロック図です。 S出力用の信号も生成していますが今回は未使用です。 図のなかでnTという表記は処理にnクロック必要ということです。 各信号のタイミングがずれないように必要な遅延を入れています。 E!Kit-1100側の水平周波数がカラーサブキャリア周波数と1:910にならないので 水平タイミングで位相を合わせることは省いています。
encブロック図

Xilinx ISE 7.1iで合成した結果です。 ガンマ補正と色変換に9個のテーブルを使用しているので BlockRAMの使用率が高くなっています。

Device Utilization Summary
Logic Utilization Used Available Utilization
Number of Slice Flip Flops: 993 3,840 25%
Number of 4 input LUTs: 970 3,840 25%
Logic Distribution:      
Number of occupied Slices: 639 1,920 33%
Number of Slices containing only related logic: 639 639 100%
Number of Slices containing unrelated logic: 0 639 0%
Total Number 4 input LUTs: 1,022 3,840 26%
Number used as logic: 970    
Number used as a route-thru: 52    
Number of bonded IOBs: 122 173 70%
Number of Block RAMs: 10 12 83%
Number of MULT18X18s: 2 12 16%
Number of GCLKs: 4 8 50%
Number of DCMs: 2 4 50%

カーネル

E!Kit-1100用のカーネル2.6.12へのパッチです。

上記パッチをあてることで、E!Kit-1100側のLCDコントローラのタイミングを 必要なタイミングに設定することができます。 あとFramebufferを有効にする為の、カーネル設定の抜粋を掲載しておきます。 arch/mips/configs/ekit1100_defconfigにもパッチをあてているので それをそのまま使用しても良いです。

*
* Graphics support
*
Support for frame buffer devices (FB) [Y/n/m/?] y
  Enable Video Mode Handling Helpers (FB_MODE_HELPERS) [N/y/?] n
  Enable Tile Blitting Support (FB_TILEBLITTING) [N/y/?] n
  Au1100 LCD Driver (FB_AU1100) [Y/n/?] y
Epson S1D13XXX framebuffer support (FB_S1D13XXX) [N/m/y/?] n
Virtual Frame Buffer support (ONLY FOR TESTING!) (FB_VIRTUAL) [N/m/y/?] n
*
* Console display driver support
*
VGA text console (VGA_CONSOLE) [N/y/?] n
Framebuffer Console support (FRAMEBUFFER_CONSOLE) [Y/n/m] y
Select compiled-in fonts (FONTS) [Y/n/?] y
  VGA 8x8 font (FONT_8x8) [Y/n/?] y
  VGA 8x16 font (FONT_8x16) [Y/n/?] y
  Mac console 6x11 font (not supported by all drivers) (FONT_6x11) [N/y/?] n
  Pearl (old m68k) console 8x8 font (FONT_PEARL_8x8) [N/y/?] n
  Acorn console 8x8 font (FONT_ACORN_8x8) [N/y/?] n
  Mini 4x6 font (FONT_MINI_4x6) [N/y] n
  Sparc console 8x16 font (FONT_SUN8x16) [N/y/?] n
  Sparc console 12x22 font (not supported by all drivers) (FONT_SUN12x22) [N/y/?] n
*
* Logo configuration
*
Bootup logo (LOGO) [Y/n] y
  Standard black and white Linux logo (LOGO_LINUX_MONO) [Y/n] y
  Standard 16-color Linux logo (LOGO_LINUX_VGA16) [Y/n] y
  Standard 224-color Linux logo (LOGO_LINUX_CLUT224) [Y/n] y
*
* Backlight & LCD device support
*
Backlight & LCD device support (BACKLIGHT_LCD_SUPPORT) [N/y/?] n

使用例

いろいろな画面をNTSC出力したときの写真です。 オーバースキャンになっているので上下左右の一部が見えなくなっています。 有効解像度は使用するテレビによって変わりますが8割り程度だと思います。 ここでは示していませんが、ffplayなどを実行してMPEGファイルの再生を行うことも もちろん可能です。

Linux起動画面
Linux起動画面

Nano-X Window System画面(1)
Nano-X Window System画面(1)

Nano-X Window System画面(2)
Nano-X Window System画面(2)


戻る→




株式会社デバイスドライバーズE-KIT事業部
TEL: 042-363-8294
FAX: 042-363-8255
E-Mail: [email protected]
最終更新日: 2005年8月12日