2010年08月
08月01日 タッチセンサの動作がやっと納得.そういうことか.分かってしまえば単純なこと.ちょっと気恥ずかしいくらいだな.

08月02日 とりあえず完成というところで原稿にとりかかる.

08月03日 ちょいと病院へ.引越し前までお世話になっていたところはちょっと遠いので,近所を探す.とりあえず行ってみたら,いかにも昔の個人病院.医薬分業でないというあたりも妙に懐かしい.

08月04日 原稿書き,原稿書き,原稿書き・・・結構最初は詰まっていたのだけども,説明しておきたい部分がはっきりしてくるにつれてペースアップ.これならなんとかなるだろう.書いているうちにちょっと変更したい部分が出てきたりするのだけど,こういう時についうっかりエンバグしたりそうになるので要注意.

08月05日 なにやらプールの排水口への吸い込まれ事故がまた起きたらしい.「点検の対象外だった」とかなんか良く分からない言い訳が出ている.何が問題だったのか,全く理解できていないというあらわれだろか.とりあえず,排水口のそばにはポンプの非常停止ボタンを設置するくらいのことをしないものなのかな?

08月06日 ちょっと依頼されて設計したPSoC3を使ったボードが先日組みあがってきていたのだが,原稿先行で手が付けられずにいた.ようやく手が出せるようになったので本腰入れてデバッグを開始.まずは電源周りの再チェック.とりあえず問題なさそうだ.続いてUSB経由でのプログラマ部分だなということで軽くチェックして接続してみると一発動作.なかなかいい感じではないか.大丈夫そうなので,シリアルROMを書き込んで電源ON.おっ,ちゃんと認識された.
これでPSoC Creatorを起動して,ちょっとテスト用のプロジェクトを作って書き込みしてみる.PSoC Programmerでもちゃんと認識された模様で,何事も無かったかのように書き込み完了.ということはちゃんとデバイスのIDコードも読めたし,リード/ライトとも正常だったということか.電源OFF/ONしてリセット・・おっ,動いているではないか.うーん・・・ここまで何事もないとちょっと嬉しいような不安なような複雑な気分でもある.
試しに液晶ディスプレイをつけて,LCD表示プログラムを作って書き込み・・・あ”・・何もでない・・と思ったらポートを設定していなかった.設定しなおしてビルド/書き込みしたら無事表示.とりあえずここまで動くようなら大きな問題はなさそうだな.

08月07日 ある程度動いた用でもあるし,次はアナログだな・・ということで軽くADCを弄ってみる.と,全然動かない.CY8CKIT-001で動いているものをベースに持ってきてもやはり駄目.
一体何が起きたのかと調べていったらとんでもない凡ミス.基本的にほとんどの線はなるべく外でカットできるようにしていたのだけども,パターンの引き回しの都合で,このピンは石の下にもぐりこんでいる.さて,しょうがない0.5mmピッチのICの足上げということになってしまった.
カッターの歯をちょっと差し入れて半田ごてであぶりながらそっと持ち上げて,パッドをお掃除して一息.軽くテープを足の下に入れて一安心.ジャンパしてOK.
さて,これでいいはず・・・と思って電源を入れると今度は動いていたところまで全く動いていない様子.液晶ディスプレイも真っ白だ.壊してしまったかと冷や汗をかいたものの,一応書き込みはできるので吹っ飛んでいるというわけはないらしい.しばらく悪戦苦闘していて分かったのがLCDの電源ショートプラグが無くて適当なものでブリッジさせておいたのが接触不良となっていただけのことだった.
とりあえずちゃんと繋ぎなおして動作確認.大丈夫だな.続いてタッチセンサ回りもテストプログラムを書いて動かしてみる.こちらも問題なし.
これでほぼ大丈夫だろう.

08月08日 とりあえずいい感じで動作しはじめた.これなら比較的順調にクリアかな.

08月09日 加速度センサが読めれば入力にできるなということでテスターでチェックしたら全然電圧が出ていない.何気なくジャンパを外してみるとちゃんと電圧が出ている.そういうことかとピンのモード設定をアナログ入力に設定したら何と言うこともなく動作.A/D変換された結果もちゃんと読めている.これで一件落着.

08月10日 アナログマルチプレクサ機能を使った入力チャンネル切り替え機能を付加し,PC側から入力を選択して動作切り替えができるようにしてみた.これまたなんということもない.

08月11日 試しにトラ技の次回掲載予定のサンプルを移植してみる.あまり悩むことも無く動作した.単純だけどちょっと面白いサンプル.中身は・・とりあえず本誌発売までは内緒ということにしておこう.

08月12日 ARMな基板付き本,「ARMマイコンパーフェクト学習基板」が到着.
ちょっとだけ宣伝しておくと,LPC1343はARMのCortex-M3コアでUSB付き&消えないブートローダROM内蔵.ピン設定でブートローダモードにして起動するとUSBのマスストレージデバイス(USBメモリみたいなもの)に見えるので,ここにビルドして出来上がったバイナリファイルをドラッグ&ドロップしてやると書き込み完了となる.(もちろん,LPC1343チップだけ買ってきて変換基板にでも載せて水晶とUSBコネクタつければ同じように遊べる)
 基板にはセンサICなども付いているけれども,I/Oポートが潰されるのは嫌だとか,他のマイコンから動かしてみたいというときのために全部ショートプラグで経由にして切り離せるようにしてみた.
 ソフトは,多分異論反論いろいろあるだろうけども,ワンチップマイコンもこのくらいの規模になってきたら何らかの処理系を搭載してセルフでプログラムを作成/実行できる,いわば初期のパソコン化という方向もホビーユース的には悪くないのではないかと考えて,簡単なインタプリタを用意してみた.(そんなもの要らないという人はCodeRedなりIARさんなりから提供のIDEを使ってプログラムを作成してドラッグ&ドロップすれば良いだけで,別段特別なことはない)
 このインタプリタ,果たしてBASICベースというのが妥当なのかどうかは分からないけれども,覚えなくてはならない要素があまり無い(なにせ,制御関係はIF,GOTO,GOSUBしかない)ということからすればBASICはそれなりにお手軽かと思う.ついでにVTLというのか,GAMEの要素を混ぜてメモリアクセスなどが便利なようにしてみた.RAMとROMとの間でロード/セーブしたり,セーブしたROM上のプログラムをそのまま実行するROMモードに加えて,行番号1の行を追加してROMにセーブしておけば電源ONで即動作するオートラン機能などをつけてみたので「組み込みソフト」的な感じで動かすこともできる.

08月13日 赤信号.先頭で停車したときに後ろのダンプカーが急接近.一瞬やばいかとブレーキを緩めにして追突緩和に備えてしまった.これ以上近づいたらブレーキ開放で赤信号無視で交差点に入るしかないと思ったところでなんとか停車してくれた.暑い日が続くけどもご注意ご注意.
で,ふとダンプに映る我が車の後姿を見ると,ハイマウントのブレーキランプが点いていない.出発の時には点灯していたのは後ろの反射で確認しているので,走行中に切れたのだろう.駐車場にとめてさて,どうやって外すのかなとカバーを引っ張ったら簡単に外れて電球ソケットも露出.こんなものかと某自動車用品店で同じタイプを見つけて交換.300円なり.

08月14日 ARMマイコンパーフェクト学習基板に使ったLPC1343をHIDとして動作させてみる.実はLPC1343にはUSBブートローダ機能の他にUSBドライバが内蔵されていて,ユーザアプリケーションから簡単な初期化関数コールしてやるだけでHIDやMSDデバイスとして動作させることができる.
ちょうど,PSoCのEzI2Csのような感じで,初期化さえしてしまえば後の通信処理は全部バックグラウンドで行われるので,アプリケーションは何もしなくて良い.とりあえずHIDとしての動作はした.これならMSDも簡単かな.

08月15日 HIDはOKだったので,MSDとして動作させてみる.こちらはファイルシステムも絡むのでちょっと面倒だけどもなんとか動作.ちょっと面白いけれども,果たしてMSDを何に使えば良いのだろうかな.

08月16日 最近やたらとアップデートのメッセージがうるさい.最初のうちは楽で良いかもしれないと思ったけれども,MSの立て続けのようなアップデートにとどまらず,やれ○○だ,○○だとあれもこれも次々にアップデートしろといわんばかりの画面にいい加減うんざりである.挙句に「再起動が必要です」とはどういうことだろう.しかもアップデートで何か良いことがあるかと言えば何が変ったのかも分からない.勝手にCPU時間を食いつぶし,勝手に他人が金を払っているネットワークの帯域を食いつぶし.どうも便利さより迷惑と感じるようになってきている.

08月17日 円高だ円高だと.だったらこの際海外資源でも有望そうな企業でも「国策」として買い取ってしまえという気になってくる.少なくとも「子供手当て」などと称してばら撒いているよりもよほど将来の子供たちのため・・であろう.不景気だの何だの言うけれども大企業はちょっと前には空前の大黒字なのだろう.
08月18日 PSoC3ボードのデバッグが一息ついたので,2枚目の改造.0.5mmピッチの真ん中あたりの足上げが辛いなと思ったけども,あれ?というくらい簡単にできて,思ったよりも簡単に改造の難関部分は終了.とりあえず動作確認.OKだな.

08月19日 ちょっとした打ち合わせというのか面談.少々疲労.
08月20日 VBでHIDデバイスアクセスするアプリケーション作成.おまじないさえ書けてしまえばRead/Writeするだけというところ.

08月21日 フリースケールさんのMC9S08JS関係でちょっとドキュメントを書いていたのだけども「画面が全く違う」というご指摘.いつもの分かりにくいダウンロードページを探して,眺めてみたら何故か「Classic」なんていう名前がついている.少し下を見たらEclipse版なるものが出てきていて,どうやらそちらをインストールしたために全く違う画面になったということのようだ.さて,どうしたものかな.全部書き直しか?

08月22日 PSoC関連商品の在庫がだいぶ寂しくなってしまったので,手配.トラ技の来月号にはPSoc3の記事が載ると思うのだけども,果たしてこれでPSoC3関連の物を買ってもらえるかどうか.

08月23日 PSoC3でちょっとしたアプリケーション作成.それほど難しくは無いな.Verilogで書こうかと思ったけどもスケマティックで済んでしまった.

08月24日 本屋を一回り.以前だったらジャンルを超えて面白そうだと思えるものにぶつかったものだが,今日はなんとなく欲しいなと思える本が無い.暑さで気力ダウンということもあるのかな.

08月25日 PSoC3とPCをUSBで繋いでゴニョゴニョとやっているのだけども,弄っているうちにあれもこれも・・・となってくる.とりあえず整理しながら埋め込んでいっているうちにやっぱりこのままの回路では駄目だなという部分が出てくる.オペアンプ追加だな.どのみち改版する予定なので,そのとき埋め込もう.

08月26日 auの引き落とし金額を見てちょっとびっくり.こんなに使っているはずが無い・・と思ったら2回線分を1口座にしたのだった。それにしても携帯というのは結構な金かかってるんだな.

08月27日 PSoCでサーボモータをコントロールしたいというお話.良くあるPWMではなくてシリアル伝送でコマンドを送るタイプなのだけども,ちょっとした課題はデータラインが1本だけで半二重伝送するので,送信終了後は速やかに出力バッファゲートを閉じてやらないといけない.一応マニュアルでは割り込みなどを使ってやれとあるけども,そこはそれやっぱりPSoCなので,PSoCブロックでやってのける方法を考える・・と言っても要するにワンショットみたいなものなので何とかなるだろう.

08月28日 とりあえずワンショットのモジュールはビット数が足りなくて使えないので,タイマを使ってぐるっとまわしてワンショットもどきにした実験.とりあえずうまく動いたようだ.これなら大丈夫だろう.
実際にシリアルデータを突っ込んでロジックアナライザで波形チェックしてみたけども特に問題なさそうだ.連続送信でも破綻しないし,大丈夫だろう.

08月29日 上位からのコマンド処理を書いてみる.いろいろ欲張っているうちに段々ややこしくなってしまった.こういうときは一回頭を冷やしてもう一回考え直したほうが良いのだ.コマンド処理をステートマシン化にしてやれば比較的簡単にいきそうだと気付く.
08月30日 BlueToothなモジュールが手に入った.SPPがあれば動かせるだろうなと思って眺めていたら電源電圧が3V・・・3.3Vではなく3Vで,3.3V系や5V系と繋ごうとするとレベル変換が必要になるらしい.
不思議なものだけども,そういうことなら仕方ない.まぁ,こういうレベル変換でお手軽処理なら5Vトレラントでサトーさんでも買えるVHC.VIHが0.7Vcc程度だから,3.3V駆動なら2.31V以上あれば良いということで,3VのCMOSとなら十分だろう.

08月31日 民主党さん,政調戦略としか聞こえないのだけど,成長戦略はあるのかな?