FC2カウンター FPGAの部屋 スパルタン3Eスタータキットのロータリーエンコーダ1
FC2ブログ

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

FPGAの部屋

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

スパルタン3Eスタータキットのロータリーエンコーダ1

スパルタン3Eのロータリーエンコーダの回路ができたようだ。
ロータリーエンコーダでLCDの上の行の値を入力するのが目的だ。
仕様としてはCountモードとMoveモードがある。
Countモードではロータリーエンコーダを右に回すとその桁の数字が増え、左に回すと減る。その他の桁には影響を与えない。ロータリーエンコーダを押すとMoveモードになる。Moveモードでは値を入力する桁を移動できる。右に回すと右の桁へ、左に回すと左の桁に移動する。もう一度ロータリーエンコーダを押すとCountモードになり、値を入力できる。
新しいハードはロータリーエンコーダの入力用回路と桁ごとの4ビットカウンタ4つがあり、上の行のデータとしてLCD表示回路につながっている。PicoBlazeとハンドシェークによって信号を伝達する機能も実装してあるが現在は使用していない。
PicoBlazeは上下行の表示と上の行には桁の番号とステータス、それにモードをMとCで示している。
大体うまく行った様だ。これで任意のデータを入力することができるようになった。
今までうまくいかなかった原因としては、ロータリーエンコーダのパルス幅が予想よりも短かったことだ。チャタリングを除くために5msごとにサンプルしていたが、それだとパルスを取りこぼすことがあるようだ。1msごとのサンプルすることにしてOKになったようだ。
Rotary_Encoder_1_060518.jpg

LCDの上の行で"6DB6"がデータ、"13C"の'1'が1桁目を増減、'3'がステータス、'C'がCountモードである。
  1. 2006年05月18日 19:46 |
  2. Spartan3E Starter Kit
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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