高速つないでイーサ(W-SIM - Ethernet変換装置)FPGA版は,W-SIMインタフェース部分のシリアル送信部,シリアル受信部と,ATコマンド送信制御部までVHDLによるコーディングと波形シミュレーションが完了しました。まだW-SIM実機で試したことはありませんが,W-SIMに対して通信速度240kbpsでATコマンドを投げて,ダイヤルするところまでは動作するものと信じています。(少なくとも波形シミュレーション上は全く問題なく動作しています。)
ゴリゴリVHDLを書くのは5年ぶりだったりするので,基本に戻って詳細なタイミングチャートを書いてからコーディングするようにしています。タイミングチャートがしっかり書けていれば,VHDLにする時はこれっぽっちも頭を使わずすんなり動作するので,やっぱり基本・原点に帰ることは重要なんだと再認識しました。FPGAのCPUコアとか,SystemCなんかでFPGA開発する人が増えると,タイミングチャートを書けなくてもハードウェア設計できるようになるようですが,そんなハードウェア,大丈夫なんでしょうかね?
実は,W-SIMインタフェースのATコマンド送信制御部あたりで,CPUコアIP使ってみても良いかな,と思い始めたのですが,まずは純粋なハードウェアで作り上げてみようと思い,ステートマシンぐりぐりで頑張っています。通信ハンドシェークや,データ送受信,メッセージ比較,送信バッファの制御はC言語で書いた方が100倍楽ちんですから。例えば,W-SIMに送信すべきATコマンドは,FPGA内部のブロックRAMというところに初期設定しておいて,それを順番に読み出しながらシリアル送信する,という制御をすべてタイミングチャートにしないといけないのです。
ただ,今までは全然楽な方。おそらく一番面倒なのがLANコントローラ制御部です。LANコントローラのレジスタ設定をはじめ,メッセージ送受信,さらにUDP/IP(TCP/IPは最初から断念)の実装を考えると,本当に純粋なハードウェアだけで設計できるのかどうかが不安になってきます。ステートマシンの渦に巻き込まれてしまうのではないかと。
今はLANコントローラの品定め(といっても候補は2つしかありませんが)や,LANコントローラの基本的な使い方の部分をトラ技やWebを使い勉強しているところです。
今後の部品在庫管理の意味もこめて、先日、アキバで購入したものを表にまとめてみました。
購入品 | 価格 | 型番 | 購入店 |
サンハヤトピッチ変換基板 0.65mmQFP 100pin | 714 | ICB-016 | ラジオデパート内 |
サンハヤトピッチ変換基板 0.4mmQFP 120pin | 1050 | QFP-41 | ラジオデパート内 |
ACアダプタ9V1.3A | 600 | M-00815 | 秋月電子 |
3端子レギュレータLM317T 2個 | 200 | I-01266 | 秋月電子 |
20MHz SMDクリスタルオシレータ 2個入り | 100 | P-01141 | 秋月電子 |
33MHz SMDクリスタルオシレータ 4個入り | 300 | P-01512 | 秋月電子 |
パルストランス内蔵RJ-45コネクタ 2個 | 600 | P-00819 | 秋月電子 |
LANコントローラ AX88796LF | 680 | I-01784 | 秋月電子 |
LANコントローラ RTL8019AS | 800 | I-00179 | 秋月電子 |
RS232CインタフェースIC ADM3202AN | 200 | I-00469 | 秋月電子 |
MACアドレス書き込み済み93C46 | 200 | I-01412 | 秋月電子 |
プラネジ基板スペーサー 4個 | 200 | P-01861 | 秋月電子 |
ガラスエポキシユニバーサル基板4枚 | 1000 | 秋月電子 | |
Dサブ9pinコネクタシェル | 50 | C-00034 | 秋月電子 |
セラミックコンデンサ22pF 10個 | 100 | 秋月電子 | |
セラミックコンデンサ33pF 10個 | 100 | 秋月電子 | |
20MHzクリスタル | 200 | 秋月電子 | |
DCジャック基板用 4個 | 120 | 秋月電子 | |
サンハヤトDサブコネクタ対応ユニバーサル基板 2個 | 1670 | ICB-97-CK | 千石電商 |
サンハヤト モジュラ変換基板 | 550 | CK-18 | 千石電商 |
サンハヤト ピッチ変換基板 | 770 | ICB-027 | 千石電商 |
サンハヤト ピッチ変換基板 | 340 | ICB-010 | 千石電商 |
マイクロプッシュスイッチ10個入り 2個 | 300 | 千石電商 | |
Xilinx シリアルROM XCF01SVC020 2個 | 1340 | 千石電商 | |
Dサブ 9pin 基板用 | 200 | 千石電商 | |
ヒートシンク 3個 | 120 | 千石電商 | |
74LCX244 SMDパッケージ 2個 | 280 | 千石電商 | |
電解コンデンサ 16V 10uF 10個 | 100 | 千石電商 | |
インダクタ 5個 | 100 | 千石電商 | |
その他 ピンヘッダ類 | 1630 | いろいろ | |
合計 | 14614 |
基板関係とピンヘッダで金額の半分を占めています。