コメを噛め

コメを噛め

rerofumi の電子工作メモ

Archive for the ‘fuwafuwaBlog’ Category


hatena bookmark

PLD ならでは的な作業として PWM を作ってみる。
それで LED を光らせて柔らかく点滅させるのだ。(基本基本)


ブロック図はこんな。
PWM で柔らかく点滅させる回路と、2bit でデジタルに点滅する回路の二つを載せて、SW でどちらかを出力するか選択できるようにしている。
cpld_pwmled.zip

ウェイト用の 20bit カウンターがほとんど食っているけれども、36マクロセルぎりぎりの内容。ALTERA の方に載せると 47ロジックエレメンツ食うのだけれども、この辺の数値って等価じゃないのかなあ。


写真じゃわからないけど、トラ技の MAXII CPLD 基板でもぴかぴか。
FPGA でも動かしてみたけれども、絵的に面白くないので割愛。

入門としてはこんなところまでだろうか。
—–


hatena bookmark


結局、ダウンロードケーブルを購入したところで改めてCPLDに挑戦。ダウンロードケーブルもストロベリー・リナックスからキットを購入。
テスト用に LED を8本くっつけたサブボードを作ってテストボードに接続してある。
この LED をぴかぴかさせて CPLD 修行するのですよ。

LED を光らせるだけなら SPARTAN-3E Starter Kit で行えていたので、今度は光る位置が左右に移動する、いわゆるナイトフラッシャーに挑戦。
クロックは PLD テストキットに付いてきた 12.624MHz のものを利用。これを20bitカウンターで分周して遅くし、ライトカウンターをカウントアップしていく。

cpld_flasher1.zip

これだと修行として面白みにかけるので、同じ動作をするものをモジュールに分けつつ再設計。
20bit分周カウンターの waitcounter.vhd と、光の状態カウント&出力の movecount.vhd と、3bit の入力から 8個のどれか1つを光らせるデコーダーの linedecorder.vhd に分解。それぞれをシミュレーションで入出力の正しさを確認しながら進行していく。
ISE Simulator はなにやら wave table と呼ばれる仮想ピン入力ファイルを作って、それを使って行うようだが、今ひとつ把握していない。いや、シミュレートは行いましたけどね。
で、各モジュールが期待通りに動いていたところで flasher.vhd を Structure としてそれらモジュールを論理的にピン結合して完成。
こうしておけばモジュールで使えそうな奴は使い回すといった事ができるはず。

cpld_flasher2.zip

これで簡単なワークフローを体得できたかね。
—–


hatena bookmark

最近はほとんどのアイテムが表面実装前提のパッケージになっていて、ちょいと気の利いたLSIを使おうとすると避けては通れない様になってきている。
日曜工作とはいえ、これからの電子工作にも面実装部品をハンダ付けできるほどのコテ先技術が必要なんではないかと、危機感を覚える今日この頃である。ウソだけど。


まずはハンダ付けしやすいところからと、SOICパッケージの PSoC CY8C27443 を入手。それのI/Oピンを全て引き出した実装基板を作成する。
面実装を使いこなそうと思ったら自分で基板を作らないとね。逆に、自分で基板を作れる範囲が日曜工作でまかなえる範囲だということだろう。


パスコンとPSoCを乗せたところ。左にくっついているのはPSoCのプログラマ。
まずまずの大きさでまとまったので PSoC の実験基板としても活躍してくれることだろう。


5PIN 部分はプログラマー接続部、兼電源端子。シリアル出力もここにしようかねえ。

簡単なサンプルコードを書き込んで動作できることは確認済み。
—–


hatena bookmark

CPLD作戦が「ダウンロードケーブル購入待ち」というずっこけに終わり、手持ちぶさたに呵まれる。
んー、とか考えて、そのまま勢いで SPARTAN-3E Starter Kit 上で LED をチカチカさせてみることに。まあ、基本だし。

led_control.vhd

led_control.ucf

オンボードのクロックが 50MHz なので 24ビットカウンターをインクリメントでカウント。満帆になったら、クリアしつつパターンフラグを 0/1 反転。
パターンフラグを見て、LED の表示を行う。結果 2パターン交互に表示されるチカチカ回路。

ま、一発目なので適当に。な、割りには動いているな。
ちゃんとした VHDL の本買ってこないと細かいところがわからないや。

最初のいっぽ。

—–


hatena bookmark

PLD で遊ぶぞ!と意気込んで SPARTAN-3E Starter Kit を入手したものの、いきなりこの規模の FPGA では大物過ぎてどっから手を付けて良いのかさっぱり見当が付かなかったり。なんか、己をしれ自分という感じか。

んでまあ、PLD の嬉しさといったらやっぱり 74ロジックIC を買わなくても済むようになるとか、複数のロジックICと等価な回路を1つにできるとか、それらの配線がなくなるとかかね。
その 74ロジックIC の代わりというのが目に見えるくらいの小ささからスタートすると良いんじゃないカナ、カナ。とか、考えましたよ自分。
なので、ぐぐっと小さく XILINX の XC9536(36マクロセル)から再出発。評価ボードはストロベリー・リナックスの「XC9536ボード・キット」。XC9536 単体だと500円くらいで買えるしね。
取り敢えず「カウンター+7セグドライバー」とかそんな地味なところからやっていきたい。

CPLD の規模感(セルの数)とか実際にいじってみないとなかなか掴めないしね。

と、基板を用意したは良いけれども、ダウンロードケーブルが無くていじれない。
しょぼーん。
いや、ダウンロードケーブル代わりになるかとおもった SPARTAN-3E Starter Kit が使えなかっただけなんですが。そいや電圧も違うし、無茶なことしないほうがよいな。
てなわけで CPLD はおあずけ。
—–


hatena bookmark

秋月電子の新入荷を眺めていたら、カイオニクス社の三軸加速度センサーチップ KXM52 をモジュール化したものがあった。アンプ付きで VDD の半分が基準電圧(0G時電圧)として出力されるお手軽構成。しかも 800円と激安じゃないすか。


早速購入。
うちでは何度か出てきている浅草ギ研の加速度センサーをこれまで使ってきており、そのアイテムもいくつか存在している。


ピン互換のアダプタを作成してみた。
大体同じように使えるけれども、軸のプラスマイナスがそれぞれ逆だったりして。
まあその辺はソフトの手直しで合わせるか。
HAAM-313B(浅草ギ研の加速度センサー)と性能的にはそんなに変わらないみたい。

お手頃価格で、今ホットな加速度センサーが入手できるようになった(しかも秋月で買える)ということで、マイコン電子工作でがんがん使って楽しみましょ。


hatena bookmark

プリント基板を自作してみて、これを切り離すのが結構大変なんだと改めて認識。
リューターでけがいて、ぺきっと割ってみていたんだけれども、けがき線がまっすぐ引けなくてやばい感じにまがってしまうし(これは私が悪い)、割るにしても意図せぬ方向に割れてみたり割り口が汚かったり。断面をリューターとロールサンダーで磨くけれどもそれもなんか違う感じで。

まあ、そんなこんなでプリント基板から離れたいキャンペーンを展開しているわけですが、やっぱりプリント基板作りはやらないとならないので。


というわけで導入。ホーザンの「PCBカッター」という名前の小型丸ノコ。
基板用ということでガラスエポキシでも切れるように通常の刃ではなく、ダイヤモンド回転砥石が付いてくる。切るというより削り落とす感じで。
切るんじゃないので、銅箔がぺりぺりぺりーっとめくれていくのがちと注意(言葉で説明しにくいな)。
あとやかましいところとか。


フィギュア作成にも活躍してみたり。

いくら丸ノコといっても切断線がふにゃふにゃよれるのはしかたがないのね<君が下手すぎます

前回作ったプリント基板をもういっぺん作ってみた。大分慣れてきて手際も良くなってきたのだけれども、感光基板の綺麗な焼き付けには至れず。うーん、ちゃんとしたクランプが無いと難しいのかなー。
それと、感光基板の現像に「現像スプレー」を使ってみた。いや、これ楽だわ。楽というか楽しいというか。スプレーのブローで現像面を吹き飛ばす感じなのね。
大きな基板だと辛そうなので、小さな基板を手早く作りたいときに有効。
—–


hatena bookmark

電子工作というとユニバーサル基板を用いるのが基本となるわけだ。
エッチングで自作基板という手もあるけれども、小規模であればやっぱりユニバーサル基板だと思う。しかし、基板を作っても思ったし、ユニバーサル基板にワイヤーを張っていても思うけれども、いささかめんどくさいのである。
考えてみれば真空管時代はアルミシャーシとラグ板だったものが、トランジスタとICの時代になってプリント基板へと移行した。それから 30〜40年も経っているのである。そんなに長い間変わっていないのか。(いや、2層 4層 8層とか、表面実装とか進化はしているけれども)
今時ならばデジタルでもっとエレガントな配線ができたりはしないのかねえ。プログラマブルでやり直しが容易な奴。

……あ、それが PLD なのか。

というわけで、いい加減ハンダ付け(というよりリード線の皮むき)が嫌になってきたのでこれを減らしていこう、そうだ時代は PLD だ。ワンチップマイコンの時代になって周辺部品が一気に減ったように(そしてソフトががんばる)、配線をもっと減らしていくのだー。

しかしま、多くがチップの中に納められるようになったとはいってもプリント基板が無くなるわけではないのよね。それはアナログが完全になくなることはなく、重要な要素として残り続けるように、周辺に必ず残るものなのであろう。

それはともかく、CQ出版の付録基板で実験してみるのも悪くはないのだけれども、もちょっと整った学習環境が欲しいなあといったところ。


てなわけで買っちゃいました、XILINX の SPARTAN-3E Starter Kit。
XILINX の英語側サイトから直販で購入。なんかやたらと日本の代理店を勧められるのだけれども、どこも個人向けは本筋じゃなさそうなので敬遠。(だってその後セミナーの案内とか山ほど来そうじゃない)

まだ、触り始めていないけれども事前調査の範囲での情報。
USB経由でのコンフィグレーションができるので、ダウンロードケーブルが不要というのが大きな魅力だけれども、DDR-RAM や Flash-ROM、SPI 経由の DAC, ADC なんかも付いていて $178 というのはお得。まあ、CQ出版の付録とか、JolietBlue みたいに各デバイス会社が宣伝のために提供してくれている広告だからねえ。
「日本語版」とあるので、なにが日本語なのかと思ったら、同封されている「プログラマロジック、クイックハンドブック」という(唯一の)冊子が日本語の本だった。おおっ、とちょっとどよめいたけれどもよくよく読んでみたらあんまり役に立ちそうにもないかも。クイックハンドブックの内容は、PLD の歴史から CPLD と FPGA の違い、XILINX のデバイスはいかなる所が優れているかの宣伝と、WebPack ISE (開発環境)の日本語マニュアル。 ISE の説明はちょっとありがたい。
「リソースCD」はちまたで話題になっているように「SPARTAN-3」のStarter Kit のものがそのまま付いてきていて、このボードでは役に立たない情報。ちょいとなれてきたところで、サンプルのネットを書き換え 3E に適用してみるという使い方はできるかもしれないけれども。
なので、このボードについて説明や解説をするものは一切同梱されていないというイカすセットである。
ドキュメントは Xilinx の英語サイト(日本語サイトからはたどり着けないので注意)から、アクセスして入手。同じように、リファレンスデザイン集にもいくつかアクセス可能。
当然英語のドキュメントではあるけれども、それを読むくらいの気力がないとやっていけないということですな。

このくらいの FPGA となると、ロジックを作成して外付けのマイコンから利用というのではなく、プロセッサロジックを乗せてしまってそいつでステート処理をしてしまうほうが主流らしい。リファレンスもほとんどが PicoBlaze なり MicroBlaze なりをのせてコントロールしているので、ちょっと物足りなく感じたり。
StarterKit には Xilinx の PLD 用 core IP である MicroBlaze の開発キット、EDK の評価版が付いてきているのでインストールから 60日はこれが使える。8bit のマイクロコアな PicoBlaze はフリーでいくらでも使えるので、ありがたいところだけれども。
慣れてきたら opencores.org の core IP を乗せられるかなあ。できるようになるといいなあ、ぽわわ。

取り敢えず拙くてもいじってみることから始めてみましょうかね。
—–


hatena bookmark


個人で電子パーツを買うのに有効な手段の1つとなる、通販サイトDigi-Keyのカタログを入手する。
これは申し込めば 1冊無料で貰えるもの。

Digi-Key が取り扱っている電子部品の総合カタログなんだけれども、約1500ページもの分量があるので、全範囲の部品が載っているカタログとして重宝するというお話。手元にあると便利だよという話を聞きつけたので。
確かにこれは便利かも。コネクタ類やソケット類とかがブラウズできるし。
もちろんそっから Digi-Key のサイトにいって注文フォームに入力すれば購入できるわけだし。

Digi-Key 自体はアメリカのミネソタにあって、日本から注文すると関税+送料2000円(合計額が5000円未満の時は手数料として1000円上乗せ)がかかるので安くはないのだけれども、個人で少量でも扱ってくれるのがうれしい。
パーツ屋では手に入りにくい半導体チップや LCD ユニット、センサーとかを入手する経路に使えるかな。

つか、これをによによと眺めているだけで時間がつぶせる。
—–


hatena bookmark

なにやら「SourceBoost」で検索かけてくる人が結構いるみたいで。なんでだろと思ったら今月号のトラ技に SourceBoost の名前がちょろりと載っていたからっぽい。
トラ技はシリアル通信技術の解説だったのだけれども、PIC でのサンプルコードが SourceBoost で書かれているらしく数行の解説があった。
長らくバージョンアップされておらずどうしたもんかと思っていた「ピカント Cコンパイラ」も「ソースブースト 6.0」という名前になって日本語版が 6/1 発売の模様。

SourceBoost についてちょいとわかりにくいところもあるので、先行して使っていた経験からコメントしておこうかと思う。
SourceBoost は正確には SourceBoost IDE といってインストーラーはこれ1つだけ。各種コンパイラ(BoostC/C2C/C++/BoostBASIC/P2C)はこの IDE といっしょにまとめてインストールされる。ただし、コンパイラはライセンス購入型になっていて、購入したら貰えるシリアルをレジストアプリに放り込むとコンパイラが利用できるようになるというわけ。
IDE とコンパイラは MPASM を使ってビルドするので MPASM(ひいてはそれが含まれている MPLAB) は必須。コンパイラのライセンスを持っていなくてもアセンブラは利用できるので SourceBoost IDE 単体で PIC のアセンブラ開発 IDE として利用することも可能。
ロジックアナライザや LCD エミュレータは「追加プラグイン」を購入しないと使えないけれども、CPUエミュレートやステップトレースは標準 IDE でも行うことが可能。ボタンSW エミュレートや LED エミュレートが MPLAB より良い感じでわかりやすいので、SourceBoost IDE 単体で PIC アセンブラの基本学習はできるんじゃないかと思う。
エディタがタブ切り替え型でウィンドウドッキングタイプの今時な IDE UI なんで MPLAB よりも好んで使っていた。

日本語版のページだと「シェアウェア版のダウンロード」「14日の体験版」とわかりにくい書き方をされているけれども、これは SourceBoost IDE のフルインストーラ。
14日間の体験版というのは BoostC がインストールから 14日間 Lite ライセンスと同じ制限で利用できるというだけで、アセンブラ IDE として使い続けるならば無制限である。
また、制限が切れた後にライセンスを購入して後からまた使えるようにすることは可能。
試していないけれども多分 BoostBASIC が無料かつ無制限で使えるはず。これは開発中のβ版なので今のところは無料でお試しくださいとなっているもの。少なくとも、オリジナルの英語版 SourceBoost IDE はそうなっている。

実際私はフリーで 1ヶ月以上アセンブラプロジェクトで IDE を使用していて(プラグインだけは買い足していたけれども)、後から C コンパイラのライセンスを追加購入している。
そういや SourceBoost IDE でフリーの PIC C Lite (制限多し)をコンパイラとして選択できるみたいだね。試したこと無いけれども。
どのような選択をしようとも MPLAB はインストールしなければならないので、どっちの IDE を使うかという選択はあるのだけれども。
—–