Quartus IIハンドブック Volume 5、セクション III. ディスプレイ

セクション III. ディスプレイ
このセクションでは、アルテラが提供するディスプレイ・インタフェー
ス・ペリフェラルについて説明しています。これらのコンポーネントは、
SOPC Builder システム向けのビジュアル・ディスプレイ・デバイスにイ
ンタフェースを提供します。
詳しくは、「このハンドブックについて」を参照してください。
このセクションは、以下の章で構成されています。
第 8 章 Avalon インタフェース対応キャラクタ LCD(Optrex 16207)コ
ントローラ
以下の表に 8 章の改定履歴を示します。
改訂履歴
章
8
日付 / バージョン
変更内容
2005 年 10 月、v5.1.0
前リリースから内容の変更はなし。
2005 年 5 月、v5.0.0
前リリースから内容の変更はなし。
以前は Nios II プロセッサ・リファレンス・ハンドブックに収録。
2004 年 9 月、v1.0
初版
Altera Corporation
セクション III–1
ディスプレイ
セクション III–2
Quartus II ハンドブック Volume 5
Altera Corporation
8. Avalon インタフェース対応キャラクタ
LCD(Optrex 16207)コントローラ
この資料は英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。こちらの日本語版は参考用としてご利用
ください。設計の際には、最新の英語版で内容をご確認ください。
NII51019-5.1.0
コアの概要
Avalon® インタフェース付きキャラクタ LCD
(Optrex 16207)コントロー
ラ(「LCD コントローラ」)は、Nios® II プロセッサが Optrex 16207(ま
たは同等な)16x2 キャラクタ LCD パネルにキャラクタを表示するため
に必要な、ハードウェア・インタフェースとソフトウェア・ドライバを
提供します。Nios II プロセッサの場合、デバイス・ドライバは HAL シ
ステム・ライブラリで提供されます。Nios II プログラムは、printf()
などの ANSI C 標準ライブラリ・ルーチンを使用して、キャラクタ・モー
ド・デバイスとして LCD コントローラにアクセスします。LCD コント
ローラは、SOPC Builder に対応しており、SOPC Builder で生成された
どのシステムにも容易に統合できます。
Nios II 開発キットには、Optrex LCD モジュールが含まれており、LCD コ
ントローラを介して Optrex 16207 上にテキストを表示する既製デザイン例
がいくつか用意されています。Optrex 16207 LCD モジュールの詳細につい
ては、http://www.optrex.com にアクセスして、Optrex 提供の「Dot Matrix
Character LCD Module User's Manual」を参照してください。
機能の説明
LCD コントローラ・ハードウェアは、ユーザが管理可能な以下の 2 つの
コンポーネントで構成されています。
1.
Optrex 16207 LCD パネルのピンに接続される 11 の信号 – これらの
信号は、Optrex 16207 データ・シートで定義されています。
●
●
●
●
E −イネーブル(出力)
RS −レジスタ・セレクト(出力)
R/W −読み出しまたは書き込み(出力)
DB0 ∼ DB7 −データ・バス(双方向)
2. 4 つのレジスタにアクセスする Avalon スレーブ・インタフェース –HAL
デバイス・ドライバの利用により、ユーザがレジスタに直接アクセス
する必要はありません。したがって、レジスタの使用法の詳細につい
ては記載していません。詳細については、8–2 ページの「ソフトウェ
ア・プログラミング・モデル」を参照してください。
Altera Corporation
2005 年 10 月
8–1
デバイスおよびツールのサポート
図 8-1 に、LCD コントローラ・コアのブロック図を示します。
図 8-1. LCD コントローラのブロック図
アルテラFPGA
E
アドレス
オンチップ・
ロジックへの
Avalon
スレーブ・
インタフェース
RS
データ
コントロール
LCD
コントローラ
R/W
Optrex 16207
LCDモジュール
DB0 .. DB7
デバイスおよ
びツールのサ
ポート
LCD コントローラのハードウェアは、すべてのアルテラ FPGA ファミ
リをサポートしています。LCD コントローラ・ドライバは Nios II プロ
セッサをサポートしています。ドライバは第 1 世代の Nios プロセッサ
はサポートしていません。
SOPC Builder
でのコアのイン
スタンス化
SOPC Builder で は、LCD コ ントローラ・コン ポーネントの 名前は
Character LCD(16x2、Optrex 16207)です。LCD コントローラには、
ユーザ がコン フィギュ レーシ ョン可能 な設定 はありま せん。SOPC
Builder では、LCD コントローラをシステムに追加するかどうかのみを
選択します。システムに追加された各 LCD の場合、トップ・レベルの
システム・モジュールには、LCD モジュールに接続される 11 の信号が
含まれています。
ソフトウェア・
プログラミン
グ・モデル
このセクションでは、LCD コントローラのソフトウェア・プログラミン
グ・モデルについて説明します。
8–2
Quartus II ハンドブック Volume 5
Altera Corporation
2005 年 10 月
Avalon インタフェース対応キャラクタ LCD(Optrex 16207)コントローラ
HAL システム・ライブラリ・サポート
アルテラは、ANSI C 標準ライブラリ関数を使用して LCD コントローラ
へのアクセスを可能にする、Nios II プロセッサ用の HAL システム・ラ
イブラリ・ドライバを提供しています。アルテラが提供するドライバは、
Nios II システム用の HAL システム・ライブラリに統合されます。LCD
ドライバは、「Nios II ソフトウェア開発ハンドブック」で説明している
とおり標準キャラクタ・モード・デバイスです。したがって、キャラク
タをディスプレイに書き込むには、printf() を使用するのが最も簡単
です。
LCD ドライバを利用するには、HAL システム・ライブラリにシステム・
クロック・ドライバが含まれていることが必要です。
LCD へのキャラクタの表示
ドライバは、16 x 2 画面のミニチュア・スケールで VT100 端末に類似し
た動作を実装しています。LCD コントローラに書き込まれたキャラクタ
は、ドライバで維持される 80 カラム× 2 ロウのバッファに格納されま
す。キャラクタが書き込まれと、カーソル位置が更新されます。可視キャ
ラクタはカーソル位置を右に移動します。バッファの右に書き込まれた
可視キャラクタは破棄されます。ライン・フィード・キャラクタ(\n)
は、カーソルを 1 行下の左端のカラムに移動します。
表示可能なキャラクタがバッファのボトムの下の行に書き込まれると、
バッファは上にスクロールされます。カーソルが下に移動してもロウは
すぐにはスクロールしないので、バッファ内の有用な情報を最大限に表
示できます。
バッファ内の可視キャラクタがディスプレイに適合する場合は、すべて
のキャラクタが表示されます。バッファの幅がディスプレイよりも広い
場合、ディスプレイは水平方向にスクロールして、すべてのキャラクタ
を表示します。行がスクロールするスピードは行によって異なり、バッ
ファの各行にあるキャラクタ数によって決まります。
LCD ドライバは、ANSI および VT100 エスケープ・シーケンスの小さな
サブセットを認識します。これらのスケープ・シーケンスは、表 8–1 に
示すとおり、カーソル位置の制御、およびディスプレイのクリアに使用
することができます。
Altera Corporation
2005 年 10 月
8–3
Quartus II ハンドブック Volume 5
ソフトウェア・プログラミング・モデル
表 8–1. LCD コントローラでサポートされるエスケープ・シーケンス
シーケンス
意味
BS
(\b)
カーソルを左に 1 キャラクタ分移動します。
CR
(\r)
カーソルを現在行の開始位置に移動します。
LF
(\n)
カーソルを行の開始位置に移動し、さらに 1 行下に移動します。
ESC(
(\x1B)
ESC
[
ESC
[
ESC
[
VT100 コントロール・シーケンスを開始します。
<y>
;
<x>
K
H
指定された y、x 位置にカーソルを移動します。この位置は、1、1 で
ある左上隅を基準にしてカウントされます。
現在のカーソル位置から行末までクリアします。
2
J
画面全体をクリアします。
LCD コントローラは出力専用デバイスです。したがって、このデバイス
から読み出そうとしても直ぐに復帰し、受信されたキャラクタがないこ
とを示します。
システム・ライブラリに対して Reduced device drivers オプションがイ
ネーブルされている場合、LCD コントローラ・ドライバはシステム・ラ
イブラリに含まれません。他のデバイスに小型ドライバを使用しながら、
LCD コントローラを使用したい場合は、プリプロセッサ・オプションに
-DALT_USE_LCD_16207 を追加します。
ソフトウェア・ファイル
LCD コントローラには、以下のソフトウェア・ファイルが付属していま
す。これらのファイルは、ハードウェアへの低水準インタフェースを定
義し、HAL ドライバを提供します。アプリケーション開発者がこれらの
ファイルを変更してはなりません。
■
altera_avalon_lcd_16207_regs.h −このファイルはコアのレジスタ・
マップを定義し、低水準ハードウェアにアクセスするための記号定
数を提供します。
■ altera_avalon_lcd_16207、
、altera_avalon_lcd_16207.c −これらのファ
イルは、HAL システム・ライブラリ用の LCD コントローラ・デバ
イス・ドライバを実装します。
8–4
Quartus II ハンドブック Volume 5
Altera Corporation
2005 年 10 月
Avalon インタフェース対応キャラクタ LCD(Optrex 16207)コントローラ
レジスタ・マップ
HAL デバイス・ドライバを利用すれば、レジスタに直接アクセスする必
要はなくなります。したがって、アルテラはレジスタ・マップの詳細は
公開していません。詳細な情報が必要な場合、レジスタ・マップは
altera_avalon_lcd_16207_regs.h ファイル、レジスタの使用法は Optrex
提供の「Dot Matrix Character LCD Module User's Manual」に記載され
ています。
割り込み動作
LCD コントローラは割り込みを生成しません。ただし、LCD ドライバ
のテキスト・スクロール機能は、HAL システム・クロック・ドライバに
依存します。このドライバは割り込みをタイミングを図る目的に使用し
ます。
Altera Corporation
2005 年 10 月
8–5
Quartus II ハンドブック Volume 5
ソフトウェア・プログラミング・モデル
8–6
Quartus II ハンドブック Volume 5
Altera Corporation
2005 年 10 月