FC2カウンター FPGAの部屋 スパルタン3EスターターキットのLCD表示回路1
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

スパルタン3EスターターキットのLCD表示回路1

今、スパルタン3EスターターキットのLCD表示回路を作っているところだ。 LCDの上の列と下の列に右端から4つの16進数を表示する回路だ。下にVHDLファイルのentityを示す。


entity LCD4HexDisp is
port( clk : in std_logic;
reset : in std_logic;
upper_4hex_data : in std_logic_vector(15 downto 0); -- LCD上の行の4つの16進数
lower_4hex_data : in std_logic_vector(15 downto 0); -- LCD下の行の4つの16進数
lcd_d : inout std_logic_vector(7 downto 4);
lcd_rs : out std_logic;
lcd_rw : out std_logic;
lcd_e : out std_logic
); end LCD4HexDisp;



このVHDLファイルの下にPicoBlazeをインスタンスして、初期化やupper_4hex_dataとlower_4hex_dataから切り出した8ビットを読み込んでLCD読み書き回路に8ビットを与える。 LCD書き込み回路は前に示したスパルタン3スターターキットのユーザーズマニュアルの図に沿って、与えられた8ビットのデータを4ビットずつLCDに書き込む回路だ。
Spartan3E_LCD_3_060421.png
最初にupper 4bitを書き込んで、1us、waitし、次にlower 4bitを書き込む。LCD書き込み回路のentityを下に示す。この回路はタイミングとLCD_Eを発生する。データのセレクタは上の階層に実装されている。

entity LCD_operation is
port(
access4bit : in std_logic; -- 初期化時の4ビットアクセス用
port1_w_strobe : in std_logic; -- データをPicoBlazeから書き込んだ
lcd_e : out std_logic; -- LCD_E信号、LCDに供給
ope_is_idle : out std_logic; -- upper,lower4bitをLCDに書き込み終了
sel_lower : out std_logic -- lower4bit書き込み中
);
end LCD_operation;



LCD書き込み回路の下には書き込みタイミング発生用のステートマシンがある。ステートマシンはStateCADで作ってみた。
LCD_StateMachine_060430.png


まだ作っている段階でシミュレーションもしていない。 次回はPicoBlazeと回路のインターフェースの仕様を書こうと思う。

-- 2006.05.06 ステートマシンの説明を追加
・Main State Machine
ope_startが1の時ステートマシンがスタートする。access4bitが1の時はlower_startからスタートし、0の時はupper_startからスタートする。
upper_startからスタートした時には、次のクロックでupper_end_waitに遷移し、operateステートマシンの終了を待つ。終了後wait_1usステートに遷移し、U2Linterval_endを待つ。
U2Linterval_endは別のVHDLファイルにあって1usを間としているカウンタの出力であり、1になると1us経過したことを示す。
その後lower_startに遷移して1クロックでlower_end_waitに遷移する。upper同様にoperateステートマシンの終了を待ってidle_mainに戻る。

・右のステートマシン(operateステートマシン)
Figure 5-6のLCD_Eを出力するためのステートマシン。access4bitが0の時はMain State Machineがアクティブになっているときにupperの4bitとlowerの4bitの2回アクティブになる。
1の時はlowerの4bitの1回アクティブになる。
  1. 2006年04月30日 16:51 |
  2. Spartan3E Starter Kit
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/208-e33ab706
この記事にトラックバックする(FC2ブログユーザー)