コメを噛め

コメを噛め

rerofumi の電子工作メモ

Archive for 7月, 2006


hatena bookmark

面白そうと、秋月で買い物のついでに購入した8×8のLEDマトリクス表示装置が転がっている。


23x23mm の小さい方で 1個90円の代物。
別段ほったらかしていても良かったのだが、気まぐれに光らせて見たくなる。


適当にあり合わせの部品達。
あまりここでは書いていないが最近は PIC よりも PSoC マイコンの方が私的に良くいじる。
まあ、PSoC についてはいずれ改めて。
LED をデコーダーICによらずにマトリクス表示するには 8+8 で16本の GPIO が必要になる。もちろん PIC でもなんとかまかなえる数だけれども、8ビットx2 となると結構面倒だったり。そのてん、PSoC はモジュールを使わないときは 8ビットx3 と素直でリニアな IO として使えるのでこういった実験には丁度良い。


なんとなく小さくまとめてみた。
こういった LED モジュールはピンの並びが変態的なので、ワイヤーで地味にわっしわっしと配線していく。


まあ、それっぽく完成。
見てるとわからないけど、ラスター毎に点灯している LED の数によって明るさが全然違ったりする。単に抵抗(見てわからないけどチップ抵抗が付いている)を付ける位置を間違ってしまっただけなんだけれどもね。まさに orz…
次回は間違えないぞ。
一応表示してスクロールしているムービーをフラッシュムービーとして用意してみた。

さらについで、いらないと思うけれどもプロジェクトファイル。

led_matrix_06.zip

—–


hatena bookmark

やっぱり実験ボードはへっぽこでも良いから自作したいなあというのが思うところ。
動くか動かねえかそんな殺伐としたのが良いんじぇねえか。とか。
まあ、少ピンの CPLD だったら自作できそうだし、といったところで色々考えてみる。
PLD のトレーニングボードと言えば「ストップウォッチ」で決まりらしい(思いこみ
7セグメントをダイナミック点灯で制御するあたりとか、タイマーというカウンターの塊とかが PLD的というわけですな。

そんな事とは関係なく(マテ
俺的自作ベンチとして定番の「カップラーメンタイマー」を PLD で作成することを考えてみた。ぼんやり考えていたら、カップラーメンタイマーを作る要素があれば、時計もストップウォッチもコンフィグの変更でできそうだなあといったところに行き着く。
(時計はマクロセルが足りなくて作れないかも)

回路図を書き起こしてみるとこんな感じ。

3.3V 駆動でQV44ピンフラットパッケージな XC9572XV を選択しているのは、これだけ妙に安いチップだっただから。(秋月で 300円)
丁度 3.3V 回路に慣れなくちゃとか、フラットパッケージのハンダ付け修行に燃えているところだったので色々と良い訓練になりそうという目論見があってのこと。

うーん、こんなんで動くのかなあ。
ブザーは圧電ブザー直結じゃなくて抵抗噛まさないと。
オシレーターが 5V なので 74244 でバッファしているけれども、実のところ XC9572XV の I/O に 5V が流し込めるので必要無いっぽい。付けておくか省略するかは思案のしどころ。特訓と思えば付けておいた方が良いのだろうけれども。外部入力にも応用できるし。

7セグメントを 2桁 1パッケージの奴にしてみたら、引き回しが大変で泣きそうに。
進捗するのかしらん、この企画。
—–


hatena bookmark

最近はポジ感光基板の現像に「スプレー式現像材」を使っている。
ぷしゅー、しゅわしゅわしゅわとラクチンかつ楽しい。
エッチング後のレジスト除去も、感光させてスプレーで吹き飛ばす。と、楽で良いのだけれどもスプレーの減りも激しかったりする。粉末が結構安いのに比べ、なんか微妙にお高い感じがしてきたりも。
そこで考えた。


ペットボトルに粉末とぬるま湯を入れて良く溶かした後に、


住居用清掃用品(トイレとかお風呂とか)の洗剤スプレー空き容器に現像材を入れれば良いのでは。
特にこれら洗剤は「泡スプレー」で噴霧できるので、スプレー現像材の代わりになりそうである。

てなわけでやってみた。


写真がイマイチな上にぼけているけれども。
感触として、スプレー現像材の快適さには及ばないもののだいたい同じ様な間隔で現像できることがわかった。コレで十分とは思わないけれども、サポート手段としてはまあまあなのではないかね。
安い粉末を買い置きして、いざスプレーが切れたらそれを使うみたいな感じが良いかな。
—–


hatena bookmark

なんかマルツパーツ館WEBSHOPにて、Xilinx の SPALTAN-3E Starter kit と CPLD Starter kit の取り扱いが開始されているな。
欲しかったけど入手経路の関係で躊躇していた人には朗報かも。

CPLD の方はボードの作りがちと勉強向きとは思えないけれども、ダウンロードケーブルをこの値段で買うと思えばそこそこに見えてくるはず。

CPLD/FPGA というカテゴリができたみたいだけれども、まだこの 2品しか無い上にジャンル一覧に載っていなかったりするんだよね。そのうちチップも扱うようになってくれるのかなあ、今後に期待。
—–


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 部分はプログラマー接続部、兼電源端子。シリアル出力もここにしようかねえ。

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