[管理者用]

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

         
戻る 
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年

2012年11月
11月30日 ・さて、とりあえずドライバの基本はできた。今度は割り込みでも・・と思って検索したら、現状のカーネルではGPIO割り込みはまだサポートしてないよという寂しいお話。
・それならタイマ割り込みなりpoll/selectあたりかな。こちらの実装はどうなっていたっけ。

11月29日 ・さて、それでは実験・・とやってみたRaspberry Pi上のドライバ。
・これが動かない・・というよりmakeできない。なにせ、/usr/srcの下がからっぽだ。
・試行錯誤で、
apt-get update
をしてアップデートしてから
apt-get install git
とやってから、
https://github.com/raspberrypi/linux.git
を指定してこれでOKかと思いきや、
/usr/src/linux/Module.symvers
が無いぞと叱られた。結局これはmakeしてやらないと駄目らしい。仕方ないので、カーネルのソースコードのmake。延々と何時間かかけて終わり。
・さて、改めて挑戦。今度は上手くいったようだ。一安心。


11月28日 ・今年も恒例の三社参り・・都税事務所、市役所、税務署の一周コースである。今期は予定納税分が返ってくる方向だ。個人の方の税金がどうなるかはわからないけど、とりあえずこの分で何か作るなり、少し設備投資という考えもあるか。
・とりあえずubuntuな環境ではそれなりに動いたようなので、raspberry piの上でも動かしてみるか。
・基本は同じだろう?と、とりあえずRaspberry Piを準備。久しぶりに使うとすっかり忘れてるなということで、自分で書いた記事を眺めて記憶の発掘。とりあえず使えるところまではきた。



11月27日 ・2500cc入りで198円という格安柔軟剤を見かけて思わず買ってしまった。
・とりあえず使ってみるかと思って、さてどこに投入したらいいのかと、洗濯機のマニュアルを探すが見つからない。どうせweb上にあるだろうと検索して発見。なるほど、ケースの中を脱水の時の遠心力で移動していって最終段階のすすぎで自動投入されるのか。電磁弁だのなんだのとややこしい仕掛けを使わずに、単純なメカニズムでうまいことやるものだ。
・正攻法的な方法でまともにやるのではなく、ちょっとした細工で簡単かつ安価に片付けるという手法というのは見習うべきところだろうな。
・さて、洗濯終了。とりあえず効果あったのか無かったのか良くわからないけども、悪い事は無かったようだ。

11月26日 ・さて、Linuxなドライバの続き。
・とりあえず、メモリを1バイト確保してリード/ライトできるというものを試す。
・何箇所かちょっと躓いたけども、とりあえずちゃんと動いたようだ。なるほど、さすがLinux。サービスいいな。
・なんだか政治の世界はグダグダになってきている感じ。どうでもいいけど我々の生活の邪魔だけはしないでくれ。
・年金は破綻しませんと声高に主張している人がTVに映っていた。破綻しないなら支給開始年齢を引き上げる必要もないんじゃないの?というのは言ってはいけないことだったのかな?

11月25日 ・日曜くらいはちょっと息抜きしたいところだけど、それでも気になってついつい調べ物。Linuxドライバというのも簡単なところは簡単に・・でもこれが色々入り組んできたら大変そうだ。
・そろそろ寒くなってきているので、着るものの入れ替え作業。去年の冬物を引っ張り出して少し整理。去年あわててしまいこんだもので、もうこれは着ないだろうと思えるものが多々あるので、全部破棄。ついでに夏物の放置状態だったものを一旦引っ張り出してこれまた整理。
・一応今シーズン使い始める前と、片付けるものは洗ってしまおうということで、洗濯機回し。結構な量だ。


11月24日 ・とりあえずarduinoが動いたところで、何がどうなっているのかちょっと調べてみようと思ってビルドした後にディレクトリを見たら自分で書いたソースしかない。なるほど、ソース以外は隠蔽してしまえということか。しかし、これはなんとも落ち着かないな。
・さてとりあえずLinuxな仮想マシンとしてUbuntuがあったので、この下でちょっとドライバの実験を開始。とりあえず何もしないドライバをinsmod/rmmodで取り付け/取り外しはできた。ヘッダだけで本体が一切無いソースから生成してもモジュールとして扱えるというのがちょっと面白いところだな。

11月23日 ・さて、Arduinoを使ってみることに。ふと基板を見れば今時珍しい標準Bタイプなコネクタが付いてる。最近Mini-Bばかりだからなとケーブルを発掘。とりあえず、IDEをダウンロードして展開。ボードを接続したらCDCか。ドライバはIDEの下にあるINFでいいのだな。
・続いてサンプルでLED点滅で確認。
・さて、その後いきなり書き込みができなくなって焦ったけど、どうもCOMポート行方不明事件だったようで、接続しなおしてIDEでCOM3を指定したら復活。


11月22日 ・とりあえずSmartAnalogなボードでも・・と思っていて、アートワークが完了してさて作ろうかと思ったら、SmartAnalog唯一(?)の一般入手先のChip1Stopで在庫切れ。この調子じゃいつぞやのPSoCみたいになりそうだなということで、しばらく製造見合わせ。

11月21日 ・Linuxなドライバも最近のカーネルでは色々事情が変わっているのだろうなと思って、ちょっと検索。
Linux Device Drivers, Third Editionが英文だけども、無料で読めるようだ。
ついでにWriting device drivers in Linux: A brief tutorialというものも。Linuxの仮想マシンを一つこしらえてやってみるかな。


11月20日 ・3Dプリンタが気になる。基板は作れるようになった、3DプリンタでABS樹脂でブツが作れるなら、とりあえず最終的な物が手元で作れるわけだ。
・多分、いずれ買うだろうと思いながらも、やはりどの程度のものになるのかを知りたいところでもある。近場で出力サービスみたいなことをやっていると良いのだけどな。

11月19日 ・我が家にMacBookがやってきた。Xcodeもインストールされていると言えば分かるとおりで、iPadなりのアプリケーションをゴニョゴニョしようという魂胆である。
・さて、なにせ余りにも縁遠い世界なので、何をするにも要領を得ない。とりあえずチュートリアル的な物から手をつけてみるしかないな。
・さて、基板設計していたものを出図しようかと思って改めて眺めていたら変なところを発見。表のベタ層と裏のベタ層を勘違いしていたので、サーマルリリーフが生成されず(あたりまえ)、単なる浮いた足になってしまっていた。慌てないでもう一回きちんとチェックしたほうがいいな。

11月18日 ・色々やっているうちに、VMWare下の仮想マシンが起動できなくなった。「vmware service authorization not running」なんていうメッセ-ジが出てくる。
・困った時は検索だ・・ということで、探してみたらよくある話らしい。解決策はここにあった。ファイル名を指定して実行で、services.mscを実行して「VMware Authorization service」を探すと、確かにスタートしていない。これをスタートさせて無事復旧。でも一体何故こういう状態になったのか分からないけども。

11月17日 ・AX-12なサーボインターフェース。とりあえずCY8C29466に収めて動いたけども、昨日のように1Mbps用のテストデータ出力機能が欲しい。そうなるともう少し欲が出てくるもので、ホストPCなどが無くてもサーボの動作チェックができるようなセルフテスト機能を入れ込んでみることにした。
・サーボのIDを指定するのが面倒なので、ブロードキャストで一斉送信するだけ。従って送信のみで受信方向は無し。要するに今動いているものをベースにして、TX8からダミー入力を与えれば良いわけだ。今のところ入力データはDigBufで受けているので、DigBufの入力を切り替えれば良いと思ったのだけども、切替用のAPIが無い。
・しばらく悩んだけども、結局良い切替方法が無い。でも、そこは非同期シリアルなので、非動作時は'1'。つまり'0'が筒抜ければ良いわけで、not(not(A) or not(B))===>A AND Bという具合にANDをとればいい。これは当然PSoCのデジタルブロックのLUT(Look Up Table)が使える。
・ということでザクザクと配置配線して、外部入力と内部のダミーデータのどちらでも動くように改造。とりあえず、ポジション256に移動するようなコマンドを出力するように書いてスタートしてみたところ無事動作。
・まあ、一応繰り返し回転したほうがいいだろうということで、16ビットタイマを用意して約3秒周期で送ってみる。ウイーンと回って、ウィーンと回って・・と繰り返している。なかなか面白いな。


11月16日 ・AX-12なサーボモータインターフェースはとりあえず動いたのだけど、どうせならAX-12のMAXの1Mbpsまで対応させたいということで、分周比の分配を変更。
・計算上ではうまくいったけど、波形はどうだろう。とりあえず作りこんでみて出力波形を見るとそれなり。ただ、1Mbps対応のUARTは無い。これは内部からチェックデータを出力するしかないな。

11月15日 ・AX-12サーボインターフェースを作る。要するに通常のUARTのTxD/RxD分離型のと半二重のデータ線共用タイプの変換。I2Cならオープンドレイン+プルアップだけど、こちらは'H'もドライブしなければならないので、3ステートなドライバで送信時のみドライブということになる。
・PSoCの場合、3ステート制御機能付きなバッファモードは無いので、普通なら外部に74xx125などのバッファをつけるのが王道だということは確か。ただ、今回は量産品ということでもないので、ちょっと思いついた、外部にバッファをつけない方法を試してみる。
・試しにやってみて、波形をみると上手くいっているようだ。実際にサーボを繋いで波形を見ると、サーボの応答は思ったよりはるかに早いけども、予定通りちゃんとトライステート状態になっているので、サーボのデータもきちんと取り込めている。
・ついでにプルアップ抵抗をPSoCの内蔵プルアップを流用。少々抵抗値は違うけどもこのくらいは引っ張れるだろうと試すとこれまたOK。
・これで、データラインに入れたシリーズ抵抗以外は外付け部品無しでPSoCと直接接続できることになった。さすがPSoCというところか。


11月14日 ・さて、AX-12なるサーボモータのインターフェースの作成。こいつはGNDと+12Vとデータという3線式。データラインは+5V系で半二重伝送をする。各サーボが8ビットのアドレスを持っていて(ただし、0xFFは無し、0xFEはブロードキャスト用として利用)、マルチドロップでいくつもぶら下げられるという仕様だ。
・これを普通にシリアルポートと接続すると面倒になるのが半二重で送受信ラインを兼用しているため、送信時以外はドライブしては駄目ということ。
・ここのところの始末をPSoCでやらせてしまおうと企んだ。とりあえず、最初は少々怪しいテクニックを使って、外付け部品はRS-232Cからのレベルコンバータのみという構成。トライステートバッファを使わずに始末するのは少々面倒だったけども、とりあえず予備実験としてやってみるとなんだか良さそうだ。
・上手くいきそうなので、サーボを実際につないでみる。まずは回転だ。とりあえず、単純にdebugで手入れしたバイナリファイルをcopyの/bオプション付けて送ってみたらサーボがギヤ音を盛大にたてながら回転した。とりあえず上手くいったようだ。あとは電源や動作確認用のLEDをつけておくくらいだな。

11月13日 ・この冬は少し出張などもありそうなので、とりあえずインフルエンザの予防接種をしにいく。まぁ、外れたら何にもならないのだけどもね。そういえば予防接種なんて何十年ぶりなのだろう。
・そういえば、予防接種って保険対象外だから病院ごとにかなり違いがあるのだ。ちょっと調べてみた範囲では5000円弱から2000円までと、随分幅がある。なんとなく3500円前後が多いようだけど、とりあえず見つけたところで2500円なり。

11月12日 ・さて、ちょいとメモ代わりにしておくのに良いところはないかと、Blogを開設してみた。コネクタのピン配置を表にしようとしたら空行だらけ。そうか、改行すると勝手にBRタグが入ったのと同じ扱いになってしまうのか。なんだかイマイチやりにくいな。


11月11日 ・さて、AX-12なるサーボモータを動かす事に。こいつの通信用コネクタというのを、ちょっと探したけど、あまりそこらで売ってるものではないようだ。一応部品屋さんの通販なら手に入るのだけど。
・まぁ、実験用だし、このケーブル側コネクタがはまればいいのだ。とすると、例えば、単なるピンヘッダやILコネクタのように板が立っているだけのタイプなら入るはず。
・ということで、要するに2mmピッチでピンの太さが同じくらいの寸法で、シェルがはまるならいいのだという割り切りで探してみる。
・いろいろ見ていたら、ご近所さんの部品屋で1個15円なりで売っていることを発見。ILより安いな。ということで、ちょっと車で買出し。一応現物のケーブルを持っていってはめてみると、なるほどちょっと変な感じだけど、ILもこいつもなんとかはまる。なんとなく形が良くてちゃんと逆刺し防止も機能するという具合。よし、これでいいや。


11月10日 ・QFPの中央部分はいろいろ試してみたけど駄目そうだ。仕方ないから、とりあえずこの中央部分の大きさのパッドを配置してみる。やっぱりこのパッドはGNDにしてほうがいいだろうな。今回は裏をGND層にしたので、このパッドがビアを通して繋がることになるのだけど、どうだろうか。
・やってみようとしたら、パッドの中にビアができる形になってしまうので、やっぱり駄目と言われてしまった。やっぱりこれでは駄目か。そういえばパッドにしたら、当然のように半田が乗ることが前提になってしまうか。
・それならばと、ビア並みの穴のスルーホールをパッドとして作って、回路図上でGNDと接続する。イメージとしてはQFPの真ん中に細いGNDピンが出ているような”画鋲パッケージ”用という感じ。これで、中央のエリアをGND領域として塗りつぶしてみる。今度はビアと裏面のGND層、そして表のGND領域とも接続された。表のGND領域をスポーク無しのベタ接続に設定して、予定どおりの形にできたようだ。一応ガーバで確認しておこう。

11月9日 ・ちょっとした基板のレイアウト&アートワーク。今回はKiCADでやってみるか。
・とりあえず、フットプリントは以前から使っていた物を流用。KiCADの場合全部テキストファイルなのでこのあたりは楽。
・ザッと並べるのだけど、今回は電源系がいくつかに別れている。少し部品を配置しているうちに、そもそも電源層の分割から始めるべきだろうということで、まず分割。試しにベタ塗りさせてみると、ギリギリまでキッチリ塗ってくれたのはいいけど、本当にこんなのを作れるのか?とちょっとP板あたりの基準書を見るとやっぱり駄目。クリアランスを規定どおり広げたら今度はQFPの中央部分まで入り込めなくなった。これはパッド寸法を変えろということなのかなぁ。


11月8日 ・ちょっとした基板の回路設計。
・2,3見直しをかけてとりあえず完成。まぁこのあたりまでは簡単だ。

11月7日 ・AppleさんからのMFIプログラムへの参加可否が来ない。さて、こういうのはどうしたものなのだろう。
・駄目なら駄目と通知して欲しいものだ。メールが行方不明という可能性もあるのだろうけど、さてどうしたものか。

11月6日 ・ちょいとした基板の設計に入る。まずは回路図部品作成から。ひょっとしたら別の物でレイアウトするかもしれないので、ネットリストの扱いの楽なKiCADを使ってみる。
・そういえば、OrCADなんていうのも持っていたんだけど、あれを使おうとしたらドングルは一体どうしたらいいのだろう。どうせ回路図書くだけだったら、あのマウス不要なDOS画面なインターフェースも、案外やりやすいのかもな。


11月5日 ・冬支度というところで、灯油を買いに行く。
・相変わらず高いな。昔は1缶10000円もしなかった気がするんだけど、結局軽油よりちょっと安いよという程度。


11月4日 ・さてこれからということで少し考えると、やはりサポートページというのか、事例集的なものが必要なのだろうなとふと。
・思いつくまま事例集を作るならBlogのような形より、Wikiみたいなのが楽なのかな。

11月3日 ・さて、PSoC3/5ボードを販売してみようかと思って改めてコストの積算をしてみる。
・Cypressさんのキットが何と言っても安いので、コスト面で勝てる要素は無いのは最初から承知だったのだけど、思ったよりも原価が跳ね上がってしまった。
・とりあえず、ちょっと足りない部材を補って、もう少し機能チェックしてから2台ずつくらいテスト販売してみるとするか。


11月2日 ・打ち合わせ。
・とりあえずいい話にはなってくれた模様。こちらとしても色々やらなくてはならないことが出てきているわけで、この先のこともあわせて試行錯誤。
・AppleさんのMFIプログラムとやらに申請してみているのだけど、いまだに応答無し。時差もあるしで、2週間以上かかるのは仕方ないということなのだろうけど、全く無応答というのはしんどいな。駄目なら駄目と言ってくれ。

11月1日 ・明日の打ち合わせ準備を少し。
・それにしても朝晩は特に冷える。いよいよ秋から冬に向かっている感じ。
こうなってくるとブーツも恋しいのでちょっと引っ張り出してみたら、あぁやられた。ポリウレタンが限界を超えて分解されてしまったらしい。ちょっと置く場所を間違ったかな。今年はブーツ買いなおしか。

前月 次月
エース