FPGAの部屋

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

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。ご利用ください。 http://marsee101.web.fc2.com/index.html

KiCADで使っているオートルーターのFreeRouter 関連でバグがあって困ってしまった。その場合の対処方法を書いておく。バージョンが古いがFreeRouter の使い方に関しては、”KiCADからFreeRouterへデータを渡してオートルート”を参照して欲しい。現在使用しているKiCADのバージョンはBuild:(2012-jul-04-ja)-stable 。

配置も出来たので、修正も途中なのだが、試しにオートルーターに掛けてみようということで、FreeRouter のアイコンをクリックしてFreeRouter を起動するダイアログを表示した。
5001f88e.png


下がFreeRouter のダイアログ。最初に”現在のボードを”Pecctra DSN"ファイルにエクスポート”のボタンをクリックして.dsn ファイルを出力する。
67038fb2.png


下がそのボタンをクリックしてダイアログが開いたところだ。もうすでにacrylic_sign.dsn ファイルがあるが、保存ボタンを押すと.dsn ファイルが保存される。
e5fa2ce2.png


次にFreeRouter のダイアログで、”Java Web Start を通して FreeRouter を起動する”ボタンをクリックする。そうするとFreeRouter が起動する。
acrylic_signs_6_121012.png

Open Your Own Design ボタンをクリックして、acrylic_sign.dsn をLoad するが、Loading design のダイアログがず~と表示されていて、一向にデザインがロードされない。
acrylic_signs_7_121012.png

早速、ググってみたところ、satonohitoの日記さんの”外部基板その3”がヒットした。それによるとファイルに書いてある表面や裏面の日本語でエラーになっているということだった。
acrylic_sign.dsn の一部を下に示す。

(pcb H:\EDA\KiCad\Work\acrylic_sign\acrylic_sign.dsn
  (parser
    (string_quote ")
    (space_in_quoted_tokens on)
    (host_cad "KiCad's Pcbnew")
    (host_version "(2012-jul-04-ja)-stable")
  )
  (resolution mil 10)
  (unit mil)
  (structure
    (layer 表面
      (type signal)
      (property
        (index 0)
      )
    )
    (layer 裏面
      (type signal)
      (property
        (index 1)
      )
    )


表面をtop に、裏面をbottom に置換した。その後、もう一度FreeRouter でOpen Your Own Design ボタンをクリックして、acrylic_sign.dsn をLoad すると、Load がうまく行って、FreeRouter が立ち上がった。
1b0cd2e4.png


オートルートさせてみました。
5a78a822.png

出来れば、Maker Faire Tokyo 2012に出してみたいということで照明型のアクリルサインを作っています。アクリルサインとはアクリルで来てた看板のことで、私は看板ではなくオブジェとして使いたいと思っています。アクリルの端から3原色のLEDの光を当てて、図形を浮かび上がらせます。LEDはArduinoのPWMで制御して7色の光を光量を増減しながら出して図形を彩ります。最終的には中学生のお神輿のオブジェとして使います。うちの地区では子供用のお神輿の電飾がとっても派手なんです。そこで、星の形のLED照明アクリルサインを付けて目立つ予定です。
星の形のオブジェはレーザー加工機で加工しますが、なかなか全体を光るようにするのが難しいです。色々な方式を試していますが、だいぶ傾向が分かって来ました。その中で良さそうなパターンを作ろうと思っています。
今は、Arduinoを使ったLED照明制御部を設計しています。回路図は出来たので、基板を設計しようとしています。ラジアル部品だけなので、結構簡単です。PCB CADは、KiCAD使っています。
f40b7c78.jpg


MFT2012展示用としては、最初の段階では、これに更にLEDを付けて、ΔΣ変調して可視光通信で音声やいろんな音を光に乗せて出すということを考えていたんですが、間に合わなそうです。

ZedBoard用のchar_wirte_axi_master IP も頑張って作成中です。平行してやっています。ただ、基板は早く作って発注したいので、基板を優先して作ります。

ZedBoardにビットマップ・ディスプレイ・コントローラを追加する9(MBを追加)”の続き。

ビットマップ・ディスプレイ・コントローラのXPSプロジェクトにMicroBlazeを入れると、SDKでどうしてもARM-A9のブートコードが動作しないようだ。PL部にクロックが回っていない。方法が見つからないので、MicroBlazeを全部抜いてしまって、ビットマップ・ディスプレイ・コントローラのフレームバッファのDDR3 SDRAMにキャラクタをWriteするIPを作ることにした。これが第2の方法だ。ベースとしては、”AXI4マスタIPの作製(仕様の策定)”、”AXI4マスタIPの作製2(単体シミュレーション)”、”AXI4マスタIPの作製3(インプリメント)”を参考にする。ただしこのAXI4マスタIP (char_write_axi_master) は、キャラクタ・ディスプレイ・コントローラのWrite, Readテスト用なので、ビットマップ・ディスプレイ・コントローラ用に書き換える必要がある。策定した仕様を下に示す。

・0.2秒に1回、1つのキャラクタをビットマップ・ディスプレイ・コントローラ上に描画する。

キャラクタの色は0を除いた7色とする。(2012/10/14変更)キャラクタの色は、24ビットのM系列で決定されるカラーコードを使用する。

・バースト可能な水平8ピクセル分を64ビットバス幅4バーストでフレームバッファ用DDR3 SDRAMにWriteする。これがキャラクタの1ラインとなる。

・アドレスを計算しながら、キャラクタの8ラインを描画する。

・次は色を変えて、次のキャラクタを描画する。

・キャラクタコードは0x20から0x7F までとする。


↑このページのトップヘ