[管理者用]

イゼルローン日誌
宇宙・・・それは人類に残された最後の観光地である

         
戻る 
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
1998年
1999年
2000年
2001年
2002年
2003年
2004年
2005年
2006年
2007年
2008年
2009年
2010年
2011年
2012年
2013年
2014年

2014年09月
9月30日 ・そんなところで、新規開発な基板のレイアウト検討。2次元のCADで充分なのだけど、ふと見れば3Dプリンタの時に使った三次元CAD・・PTC Creoがある。久しぶりに立ち上げてライセンス更新。最初はちょっと忘れている部分もあったけど、自分で書いた原稿をちょっと読み直してあぁ、そうだったかと思い出す。
・忘れているようでも最初のトリガだけひいてやれば、あとは芋蔓式に次々に思い出した。
・これで収めたいケースの図を描いて、その下書き線を使って別のワークプレーンに基板の外形を引いて、基板取り付け穴の位置を描いて・・という具合にして割と簡単にレイアウト検討ができた。
・検討画面の上にある四角や丸は、配置したい部品や穴を示しているので、これを元にちょっとプルしてやれば基板の実装状態の感じもつかめるかな。

9月29日 ・トラブルでヘルプ対応。状況はだいたいわかった。とにかく何が起きているのやらという感じでいろいろ試すと、それなりに動くようになってきたけど、やっぱりおかしい。何人もの人でよってたかって数時間。ふと気になったところを「ダメモトで試してみましょう」とやってみたら、これが劇的に効いた。そういうことか。やはり何人集まっていても「盲点」というものはあるものだ。

9月28日 ・打ち合わせ。想像していたものとちょっと違うところもあったけど、だいたい全体像は把握できた。今持っている基板でいけるかな?と思ったけどやはりちょっと難しい。まぁ、機能縮小して小型化して作り直しというところかな。
・そんなところで、XPなPCのOS再インストール。さて、IEも一応IE8までは引き上げておくかと思ったら、MSのサイトからはダウンロードさせてもらえない。XPはもうサポート外だから知らないよというつれないメッセージ。
・と、検索していたら各社さんスペシャルなIEが提供されているようで、その中からgoo版のIE8を利用させていただくことに。gooスティックが一旦入ってくるけど、後から削除してしまえばよし。

9月27日 ・とりあえず原稿終わり。というところで一息ついて、次のための予備知識入れ。

9月26日 ・さて、急ぎの原稿書き。図版がだいたい揃ってきたので、スタート。あんまり複雑なことになっていってもしょうがないので、ツボというのか、背骨になるようなところだけ触れておくことにしよう。興味が出てきたら、各自頑張れということで。

9月25日 ・昨日の打ち合わせ内容をまとめておく。事前に頂いていた資料を再度眺めてざっと頭の中でイメージ化。動作の細かいところまではまだ把握してはいないけども、この入出力からみると、だいたいこういう動きをするのかな?というあたりは見えてきたな。
・あとは入出力の仕様ももう一回見ておかないとな。

9月24日 ・次なる仕事の打ち合わせ。わざわざこちらまで足を運んで頂いてしまった。
・とりあえず、話の大筋は見えて、あとは具体的な"物(ブツ)”に落とし込む作業と、処理内容の検討だな。大雑把な見積もりはだいぶ軽くみているけど、初物でもあるし実際にやりだせばまた何か起きるかもしれないかな。
・まぁ、「人生とりあえず主義者」としてはとりあえずやってみることか。

9月23日 ・世間では休日だったらしい。こちらは関係なくとりあえずの原稿書きの準備。色々実験してみたのだけど、やっぱり上手くいかないな。まぁ、元々無理があったか。

9月22日 ・とりあえず、うまく行く事は分かったので次の手立て・・と思っていたら、急な打ち合わせ。いろいろ考えることはあったけど。

9月21日 ・昨日の続き。今度はケーブルで引き出してみて波形をオシロで確認。まずは30cmからはじめて1m、5m、10mと伸ばして様子を見る。予想していたよりも綺麗な波形。意外とマージンがあるものだな。

9月20日 ・とりあえず今月の納品が終わったので、次はARMな環境でのお仕事。この前までのおさらいをようとしたら、変なエラー続出でどうにもならない。IDEを再インストールしても駄目。これは変だなと、もう一回最初に戻って全部やりなおしたら問題なくいけた。どうやらディレクトリの構造が崩れると駄目なのだな。多分、パスの設定方法がどこかにあるのだろうけど、とりあえずこの山を越えるのが目的なので、「寝た子は起こすなの法則」を適用する。
・確認が出来たので、ちょっとした時間を使って独自プロジェクト(というほどでもないけども)なボードの検討。まずはテストでEVAL1を2個使うことにして久々のPSoC Designer登場。やはりこういうプロトタイプを作って確認する時にAPI呼べば済むというのは楽でいい。
・とりあえずプロジェクトは出来たので、まずは簡単に動作チェック。特に問題なし。

9月19日 ・打ち合わせででかける。車で出て途中までは良かったのだけど、現地近くになって渋滞に巻き込まれてしまった。
・先日のiPod Touchに地図が入れてあったので、WiFiとGPSアダプタを起こして、別ルートを探して、路地を抜け、別道を抜けという具合でどうにか渋滞回避。これからは電車にしたほうがいいな。

9月18日 ・while()を使ってステートの肥大をおさえて、ついでにあちこちと手入れ。一応それなりっぽくはなったので、これで良いとしよう。


9月17日 ・さて、動作合成の続き。メモリアクセスのインターリーブは確かにうまくいっているようだが、ふと合成結果を見るとものすごいステート数になっている。これは一体どうしたことかと思ったら、for()文でループ回数が予測できるような書き方をすると、勝手にforの繰り返し回数分を複数のステートに割り付けるという、ループアンローリングのような最適化をしてくれるようだ。

9月16日 ・少し間があいたけど、動作合成ツールを使う。
・久しぶりにやってみたらエラー・・エラー・・あれ?と思ったら自分で書いていたメモが間違っていた。
・とりあえず回復して、さて、データのバッファリング用のメモリアクセスを試してみてまたひっかかる。こいつの場合には同期メモリなので、1クロック前にアドレスを与えてから読み出すのだけど、これを直接やるとアドレス=>データ=>アドレス・・という具合で2クロック毎にしかデータが出ないということになる。さて、インターリーブで、読み出しながら次のアドレスを与える事はできるのか。
・一応アクセスはできたようなので、明日もう一回チェックだな。

9月15日 ・I2Cバスの延長について少し調査。
・それにしても、CANだSPIだI2Cだと、このところシリアルなバスだらけだな。
・絶縁ICも便利そうなものがある。バス駆動をサポートしてくれてケーブル長を100mくらいまで伸ばせるようなICもあるという具合で、なるほど使いやすくなっているのだな。
・まぁ、CANのようなエラーチェックが最下層で定義されているわけではないので、エラーは上位プロトコルで始末してやらないといけないけども。

9月14日 ・SPI接続なデバイスを使ったボード調査。他人の作ったものの動きを追うなんていうのはしばらくやっていなかったことだけど、ちょっとロジアナで波形を見ているだけでも、なんだかなぁ・・という作りが透けて見えてくる。
・さて、これに対処するとしたらどうしたら良いのかなと考えてみたけど、やっぱり小手先の細工を工夫するよりも、根本的に処理の流れから考え直して全部やり直した方が手っ取り早そうだ。



9月13日 ・CANコントローラの資料をもう一度ザッと眺める。CANもそれなりに便利そうだな。
・さて、少しARMなマイコンを弄ってみるけど。開発環境の整備だけで一苦労。なんだかグチャグチャだな。

9月12日 ・さて、何となくDigikeyを眺めていると、PSoC4の特殊板なのかCG7999とかCG8001などというものが110円台で出ているのを目にした。
・PSoC4もCY8C4000シリーズちょっと機能的に寂しいけどこちらは4200シリーズなので、UDBも4個あるし、そこそこ便利そうでもある。
・でも、相変わらずDMAは無いのかな。残念。

9月11日 ・早朝起きて顔洗って髭そって、朝食とはいえない程度のものだけど軽く口にしてから仕事開始して、数時間。ようやく終了。
・これで、圧縮してメール添付で送信。とりあえずこれで一息。さて、次の資料読みしないとな。

9月10日 ・明日納品してしまおうということで、テキストの最後の詰め。ちょっとやっておきたかったことをペンディングにして、こちら優先。
・深夜までかかってどうにか9割方終了。明日朝には終わるだろう、多分。

9月9日 ・テキストの校正。一気に書いたものだけにちょっと読みにくい部分もあって、細かい修正が続く。
・そういえば、新聞で「○○社は○○社といっしょに○○の製造をおこなっており」な表現に引っかかった。自分なら書き物にはまず使わない表現だな。

9月8日 ・さて、ボチボチ・・と思ったら、次の仕事依頼。CANバスがらみの話らしいので、貰った資料から使っているICのデータシートを引っ張ってきて目を通す。
・CANも少し興味はあったこともあるけど、手にする機会がなかったな。RS-485風で、CSMA/CAを使ったマルチマスタなバスで、バス上は差動のNRZ。とりあえず5ビット連続したら反転データを挟むという、ビットスタッフもやっていて、1パケットが最大8バイトで15ビットのCRCつき。
・IDは11ビットで、RTRによってリクエストとデータの区分けをしていて、コントロールフィールドはデータ長を示す。
・最後にACKスロット、ACKデリミタ、EOFときて一段落してITM。
・次のバス動作開始を遅延させたい時はITM期間中にバスをレセッシブに固定して動作を止める。
・整理してしまえばこんなところ。だいたい予想がつけられる範囲の簡素なものではあるけど、実機でやりだしたらいろいろあるのだろうな。

9月7日 ・ついでにチャンネルスワップ機能もできるかな?と思ったけど、ちょっと難しいようだな。とりあえず入れられるものは入れておくかということで、強制稼動モードも付けてみた。
・次にVBの方の対応。極性変更をコンボボックスで選択していたけど、二つしかないならやっぱりラジオボタンの方が良いかなということで、グループボックスにラジオボタンを二つ配置。
・ラジオボタンのチェックは、結局それぞれのラジオボタンの情愛を確認するしかないのかな?今回は二つしかないから、片方のチェックだけでいいけども。

9月6日 ・いつもの土日は暇を作っているのだけど、今週はそうもいかない。とりあえず目先のPSoC3なものの仕上げ。
・UDBが半分くらい余っているので、極性変更機能を追加しようとしたら「UDBが足りないよ」エラーが出てしまった。
・そこまで食うはずが無いので、多分これはWARPの問題なのだろう。
・多分、少し楽になるはずだという読みで、試しに一回ラッチさせた信号を使うようにしたらうまくいった。単なる組み合わせ論理のオーバーフローなら、一回ラッチしてもしなくても大差ない筈だから、きっとそういうことなのだろう・・・多分。

9月5日 ・PSoC3側。DMAはうまくいったので、PC側。コマンド類の追加削除やら、コマンドフォーマットの見直し。一応開通はしているからあまり難しく考えることもない。難しくはないけど地道な作業だな。


9月4日 ・DMAのターミネーション部分をちょっと手入れして、リスタート機能を実験。こちらもちょっと躓いたけど、何とかクリア。
・ちょっと内々に暖めている物の設計を再検討。あとは最後のツメでオッケーかな?と思えるところまで行ったらやっぱり・・という具合に行きつ戻りつして段々固まってきたのだけど、最後に引っかかっている部分がどうしても綺麗に収まらない。
・色々悩んだけど、ここは思い切ってバッサリと切り捨てることにしよう。「悩んで付けたものは使う時も悩むだけ」ということだ。

9月3日 ・朝起きてから、昨晩の続き。DMAリクエストを止めた状態で停止しているのだけど、ここで強制的にターミネーションしたらどうなるだろうと思い立ってやってみたら、何となくうまくいった感じだ。これで良いのかな。

9月2日 ・さて、条件成立で一旦止まった後の再開がうまくいかない。どうもDMAのリスタートが失敗する感じだな。
・試しに、CySoftwareReset();したら、全部落ちてしまったのでこれは駄目。DMAをStopして、DMAチャンネルをReleaseしてTdFreeでTDを解放した後で、もう一回DMAを初期化しなおしたけど駄目。どうもRAM上のバッファの一部しかデータが更新されていない感じなので、転送カウント数か転送先のアドレスがおかしくなっているのだろう。


9月1日 ・とりあえず、開通したので少し修正。これまた色々あるな。とりあえずあと一週間というところか。

前月 次月
エース