NANDを用いたチャタリング防止回路の怪

投稿者: 芦田和毅. Posted in FPGAによる自作CPU

今回作成している回路の中には,チャタリング防止をしたスイッチを4つ用意してあり,それらはすべてNANDを2個使ったものです.下に作成した回路を示します.

NAND AntiChata

 

通常はこれで問題なく動作するのですが,FPGAに接続するとなぜかチャタリングに似た挙動をしてしまうことがあり大変困りました.対処方法として,今回は制約ファイルに以下のことを書きました.

NET "IN17" PULLDOWN;
NET "IN[17]" IN_TERM = UNTUNED_SPLIT_75;

上記のように,PULLDOWNするとともに,75[Ω]の電源で吊るすようにしてみました.こうすると,どうやらチャタリングっぽい動作が無くなりました.

 

ダウンロードケーブル変換基板

投稿者: 芦田和毅. Posted in FPGAによる自作CPU

Xilinx University Programを利用すると,高専や大学ではFPGAやVivadoの寄付などさまざまな特典が受けられます.そのうちのひとつに格安ダウンロードケーブルの購入があります.Xilinx純正のダウンロードケーブルのコンパチで,およそ半額で購入できるのです.本校には50本のケーブルがありますので,今回はこれを利用することにしました.

 コンパチなのでダウンロードするときのドライバにはまったく問題がないのですが,FPGAと物理的に接続するとき,コネクタが太いため0.1インチピッチのピンヘッダだと接続が非常に困難です.そこで,ダウンロードケーブル付属のフラットケーブルを使いダウンロードできるようにするため,変換基板を作成しました.下の写真は変換基板を使ってダウンロードケーブルを接続した様子を撮影したものです.

 DownLoadConverter

付属のフラットケーブルのピンソケットはピン間隔が0.1インチでなく2ミリメートルであり,ガイドが1個のものを探すのに苦労しました.いろいろ調べた結果,Molex社製の87832-1422がフィットします.

ドットマトリクスディスプレイをFPGAで制御する

投稿者: 芦田和毅. Posted in FPGAによる自作CPU

CPUボードには,幅32ドット,高さ16ビットのドットマトリクスディスプレイを備えており,CPUのコードや計算結果を表示することができます.この文書では,ドットマトリクスディスプレイにサンプルパターンを表示するとともに,トグルスイッチおよびタクトスイッチの動作確認をかねて,スイッチにより表示パターンを変えられる回路のデモを示します.

 まずは仕様を述べます.

  • CPUボードには,反射式フォトインタラプタと,それらを排他的に使用する16個のトグルスイッチ(SW1~16)と,そうでないスイッチ(SW17と18)があります.そこで,フォトインタラプタもしくはSW1~16により1列分のパターンを設定したのち,SW17をHighにすると1列分のパターンをラッチし,ドットマトリクスディスプレイを左端から順番に表示できるようにします.
  • SW18をHighにすると表示し,Lowにすると消灯するようにします.
  • ドットマトリクスディスプレイは初期状態では,「長野高専電子情報」と表示します.
  • タクトスイッチを押すと初期状態(すべてを消灯し,再び左端から表示)になります.

以上の仕様で実装した結果を下に示します.少し見辛いかもしれません.その場合には細目をして見てください.なんとなく読めると思います.それから,下の写真はスマホで露光時間などを気にせずに撮影したものです.ダイナミック点灯方式だとちらつきが発生しやすいですが,かなり高速に表示しているためちらつきませんでした.

DotMatrixDisplay

Seeed Studioの3Dプリントサービスを受けてみた

投稿者: 芦田和毅. Posted in FPGAによる自作CPU

基板を作成するとき,何かとお世話になっているSeeed Studio(Fusion PCB)ですが,最近,3Dプリントサービスをするようになりました.基板の作成代金と同様,国内の3Dプリントサービス業者より安く作れそうでしたので,早速試してみました.この文書では,使ってみた結果の感想を述べます.


データの送付方法

データの送付には標準的なフォーマットSTLを使うようです.このフォーマットは多くのCADで出力可能なため都合がよさそうです.STLファイルをアップロードしますと,下図のようにプレビューができます.ちょっと惜しいなあと思ったのは,このプレビューにサイズが分かるような機能がないことです.単位を誤ってしまうと,とんでもなく小さいものができたりしてしまうからです.私も最初,何か非常に安いと思ったらinchのところをmmになっており,結果として非常に小さな造形物を頼んでしまいそうになりました.

3DPrintService01


素材

素材はResin(SLA)とPLA(FDM)の2種類から選べます.一般的に,Resinの方が精度が高くなります.詳しい使用はこちらのページに書かれていますのでご覧ください.今回はResinで作成してみました.


色は何も指定しない場合,Resinでは乳白色,PLAでは透明となるようです.有料になりますが,白,黒,黄,赤,紫,金,銀に着色することもできるようです.今回はResinで色指定しませんでしたので乳白色となります.


個数

最大で20個までしか頼めませんが,20+10という方法で30個頼むこことができます.


製作期間

今回,幅100[mm],高さ8[mm],奥行15[mm]の棒状の造形物を30個作成しました.注文してからおよそ2週間で到着しました.今回は,2月末に注文したため,春節期間に少しかかっていたかもしれませんので,ひょっとすると通常はもっと早く到着することもあるかもしれません.


価格

今回,20個と10個作成し,送料別でおよそ3万円弱,1個あたりに直すとおよそ1000円でした.Resinを使った割には安いと思います.


感想

初めてResinでできた造形物だったので比較しにくいですが,思った以上に硬くていい感じです.下に写真を掲載します.精度のなかなかよいように感じました.また機会があれば頼んでみようと思います.

3DPrintService02

3DPrintService03

ピンアサイン

投稿者: 芦田和毅. Posted in FPGAによる自作CPU

TKM-HにはFPGAが備わっているカメラボードがあります.このボードを使ってCPUを作成するのですが,このときにはカメラボードをFPGAボードと呼ぶことにします.さて,FPGAボードの端子の機能と,入出力ボードの端子の機能を表にまとめてみました.下にそれを示します.

FPGABoard IOBoard

全部で54本の端子のうち,ダンピング抵抗を挟んでFPGAと接続されている端子は全部で41本です.そのうちドットマトリクスディスプレイを制御するために22本,フォトインタラプト等による入力端子に16本,手動のクロックを生成できるチャタリング防止機能付き入力端子に2本,リセット用入力端子に1本の機能を割り付けました.

次に,FPGAボードに接続されるディスプレイボードのピンアサインについて説明します.ディスプレイボードとは,LEDや7セグメントLEDが搭載されており,入出力ボードにあるドットマトリクスディスプレイ以外の表示器として用いられます.下に,FPGAボードとディスプレイボードのピンアサインを示します.

FPGABoard DisplayBoard

以上のようなピンアサインをISE Design Suiteの中のPin Aheadを使います.この使い方はディジタル電子回路の中で説明していますのでそちらをご覧ください.