ARMベース・システムLSI開発の事例研究 ――CPUの選択,バス構成,グラフィックス処理やビデオ表示制御の取り扱い
● 2面のフレーム・メモリでピンポン・バッファを構成
テレビやLCDパネルにグラフィックスを表示する場合,フレーム・メモリ上に絵を描画(ライト)してそれを表示タイミングに合わせて横方向に走査(リード)し,ピクセル値を順次テレビやLCDパネルに送ります.このとき,表示中(走査中)のフレーム面に非同期に描画すると,チラツキが見えることがあります.
これを避ける手として,表示走査を行わない垂直ブランキング期間に描画する方法があります.この方法はフレーム・メモリを1面だけ持てばよいので,メモリ容量が少ない場合には有効です.しかし,垂直ブランキング期間は限られているので,複雑な描画を完了させられないケースが生じます.
このため本LSIでは,図4に示したようにフレーム・メモリを2面持ち,ピンポン・バッファを構成することを前提としました.片方のフレーム・メモリを表示しているときは,もう一方に描画するようにします.描画期間として1フレーム周期(30フレーム/sのアニメーションの場合は33ms)まるまる確保できるので,複雑な描画処理も行えます.これにより,スムーズなアニメーション(動画)表示が可能となりますが,メモリ容量は多くなります.ただし,16ビット幅のSDRAMは単体ですでに容量が大きく,入手できる最小容量のものでも16Mビット=2Mバイトあるので,VGA(640×480)サイズのフレーム・メモリ2面分は確保できます.
図4 グラフィックスの描画と表示
本LSIでは,テレビやLCDパネルに動画などのグラフィックスを表示する場合,内部処理を大きく「描画」と「表示」の二つに分けている.まず,CPUや専用プロセッサがグラフィックスをフレーム・メモリ上にライトする.これを「描画」という.次に,描画されたグラフィックス・データをフレーム・メモリの走査(リード)を行いながらテレビやLCDパネルに送る.これを「表示」という.あるフレーム・メモリを表示しているときに,同じフレーム・メモリに描画すると,画面上にチラツキが見えてしまう点に注意が必要である.このため,一般にフレーム・メモリを2面に分けて,片方を描画中のときはもう一方を表示している.そして,テレビやLCDの垂直周期で切り替える.このようなフレーム・メモリ方式をピンポン・バッファという.