FPGA評価ボードに十字キーを付けてみた【前編】:注目デバイスで組み込み開発をアップグレード(18)(3/3 ページ)
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。第18回では、筆者の今岡氏が他連載でも活用しているFPGA評価ボード「Tang Nano 9K」に、ファミコンで広く知られるようになった十字キーとA/BボタンのUIを搭載する。
接続を確かめる
図5はTang nano 9Kのピン配列を示した図です。十字キーはこの図5でいうところの左上あたりに接続されます。図3で示した十字キーの裏面の配線図と合うように十字キーの基板をブレッドボードに挿し込みます。Tang Nano 9Kの36番ピン(図5の左上から3番目のピン)はGND(グランド)に設定していますのでTang Nano 9Kと十字キーの下を通して十字キーのGNDに接続してください。
それと、AボタンとBボタンは、図5で示したTang Nano 9Kの左下あたりに挿し込みます。Aボタンは69番、Bボタンは68番のピンに接続します。AボタンのGNDは、図5の右下から2番目のGND(69番と反対側にあるピン)に接続し、BボタンのGNDにはそこからジャンパー線で渡しています。
それでは早速これらのボタンがTang Nano 9Kにきちんと接続されているか確認してみましょう。以下のリスト1は、VerilogHDLで書いた十字キーの接続を確認するためのコードです。
module cpu(input [3:0]btn,output [5:0]leds,output low,input Abtn,Bbtn); assign low=0; assign leds[0]=btn[0]; assign leds[1]=btn[1]; assign leds[2]=btn[2]; assign leds[3]=btn[3]; assign leds[4]=Abtn; assign leds[5]=Bbtn; endmodule
Tang nano 9Kの基板上には6個のLEDがあってFPGAから制御できるようになっています。実はもう1個LEDがあるのですが、それは電源が入っていることを示すためのものです。Tang nano 9Kを使っていていつも思うのですが、そのLEDが他のLEDと同じ列に並んでいてしかも同じオレンジ色(もしかしたらアンバーかもしれない)なんですね。だから他の6個のLEDと見間違えやすいんです。次に製品改良するのであれば、色を変えるなり場所を変えるなりといった対策をしていただきたいところです。
話を戻しますが、十字キーとAボタンとBボタンの接続を、これら6個のLEDを点灯させることによって確認します。なお、リスト1では、十字キーとAボタン、Bボタンを6個のLEDそれぞれに割り当てています。
次のリスト2は、物理制約ファイルと呼ばれるもので、VerilogHDLで記述されている入出力の信号線を実際のFPGAのピンに割り当てるものです。
IO_LOC "Abtn" 69; IO_PORT "Abtn" PULL_MODE=UP; IO_LOC "Bbtn" 68; IO_PORT "Bbtn" PULL_MODE=UP; IO_LOC "btn[0]" 38; IO_PORT "btn[0]" PULL_MODE=UP; IO_LOC "btn[1]" 37; IO_PORT "btn[1]" PULL_MODE=UP; IO_LOC "btn[2]" 27; IO_PORT "btn[2]" PULL_MODE=UP; IO_LOC "btn[3]" 28; IO_PORT "btn[3]" PULL_MODE=UP; IO_LOC "low" 36; IO_LOC "leds[0]" 10; IO_LOC "leds[1]" 11; IO_LOC "leds[2]" 13; IO_LOC "leds[3]" 14; IO_LOC "leds[4]" 15; IO_LOC "leds[5]" 16;
これら2つのリストを用意して、FPGAメーカーのGOWIN Semiconductorから提供されているIDEによりFPGAに書き込むファイルを生成します。それを、IDEをインストールしているPCからUSBケーブル経由でTang nano 9Kに書き込むことで実装できます。
いかがでしょう。それぞれのタクトスイッチに対応したLEDが点灯することをご確認いただけたでしょうか。もし思い通りにLEDが点灯しない場合は十字キーの基板のはんだ付けかブレッドボード上のジャンパー線の配線の不具合が考えられます。そのあたりをもう一度見直して試してみてください。
次回に続く
次回の後編は、この十字キーを用いたアプリ開発に挑戦します。お楽しみに。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ≫連載「注目デバイスで組み込み開発をアップグレード」バックナンバー
- ≫連載「オリジナルCPUでバイナリコード入門」バックナンバー
- LEDの光にはもう飽きた、放電プラズマが見たい
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。第17回は、フライバックトランスを使って人工的に放電プラズマを起こす回路を紹介する。 - リレーで自作したスポット溶接装置で十字配線ユニバーサル基板をカットする
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。第16回は、近年広く販売されるようになった十字配線ユニバーサル基板の配線をカットするために、リレーを使って自作したスポット溶接装置を紹介する。 - 金属探知機を自作して宝探しの勝ち組に
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。第15回は、ひそかなブームとなっている宝探しの勝ち組を目指して、金属探知機を自作する。 - ソリッドステートリレーを使った1/fゆらぎ扇風機
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。第14回は、ソリッドステートリレーとArduino、一般的な扇風機を組み合わせて1/fゆらぎ扇風機を作る。 - ツェナーダイオードを使って物理乱数を生成する
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。第12回は、物理現象を基にした「物理乱数」を、ツェナーダイオードのノイズから生成してみる。 - クリスタルイヤフォンは電子技術者の聴診器
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。第12回は、筆者が入院中に興味を持った「聴診器」から着想を得たクリスタルイヤフォンの活用法を紹介する。