(M)のドタバタ編集記 2005年1月号(?)


●1月1日
 A HAPPY NEW YEAR!!
 今年もよろしくお願いしますぅ〜

 …ってことで、今日は寝正月(汗)

●1月2日
 年末から出来てた口内炎が悪化中… 食べ物を口に入れられません(T_T) 新年早々これぢゃ先が思いやられるな…(涙) 今年は徹底的寝正月だ!!!

 …っとも言ってられないので、布団から這い出してゴソゴソ作業開始。昨年末、秋葉に行ったときに買ってきたジャンク基板の動作テストするか(そんなもん買ってきてたんかい!)
 店先で一目見て「これって、デスクトップVAIO君からひっぺがしてきたボードちゃうか?」という、あやしいCardBusブリッジ+IEEE1394が載ったPCIボード。CardBusブリッジ用PCIアダプタといっても、こういうのではなくて、PCカードスロットを筐体前面に出すために、引き伸ばして、フルサイズPCIボードみたいな大きさのやつ。筐体前面に出ると思われる部分にはPCカードスロット(TypeII×1)と、i.LINK、そしてUSB TypeAコネクタも。ただしこのUSBコネクタはマザーボードなどから線を引っ張ってくるだけで、この基板上にはUSBコントローラは載っておらず。
 で、このボードの搭載デバイスはTIのPCI4410。もう一つちっこいのもTIのデバイスで、i.LINKのコネクタにパターンが繋がってるとこからみると、1394の物理層チップのもよう。ってことは、このPCI4410はCardBusブリッジと1394の論理層のマルチファンクションチップか…?
 さっそくPCIスロットに差し込んで電源ON。で、DOSを起動していつものツールでPCIデバイスの検索。…デバイス見つかりません(T_T) やっぱハズレ基板か? しかし基板をよくみると、3.5インチFDDについてる電源コネクタと同じコネクタが… 基板裏を見ると、真ん中の2ピンはいかにもGNDっぽい層に繋がってるぞ。ってことは、ここに電源を繋げば… …っえい!(←“えい”ぢゃないだろぉ〜 ちゃんとテスタで当たってからにしろよ!) うむ、煙は吹かないし、デバイスも熱くなってないから大丈夫だろ(^^;) で、再度PCIデバイスチェック… ビンゴ! しかも予想通りCardBusと1394のマルチファンクションでした! たしかに1394はi.LINK(4ピン)だから電源供給の必要はないけど、PCカードは結構電源食うカードもあるから、PCIスロットだけではなく、こっからも電源を供給するってことなんでしょう。
 で、さしあたって使いたいのはCardBusブリッジのほうなんですよ。これまでTIのCardBusブリッジで見たことがあるのはPCI1xxx系なんで、4000番台は初めてなモンで、どんな挙動を示すか興味津々… もっとも、単に1394とのマルチファンクションなんで4000番台になってるダケで、CardBus部はとくに変わった部分は無いと思うんですが。とはいえ、TIのCardBusブリッジなんで、電源投入や割り込みルーティングで、一癖ありそう…  ってことで、早速コレ掲載のツールを改良したCardBusブリッジ制御プログラムを実行。で、カードソケットにPCカードを挿入…

   PCCard detecte ... 16bit PCCard!
お! 割り込みが動いた! そして問題は次…
   CardSocket PowerUp ... ok!
をぉ〜 電源も入ったぁ〜!! いい! このデバイス、使える!!(^^;)
 いやぁ〜 RICOHのデバイスと同様に初期化不要で使えるTIのCardBusブリッジ、はじめて見ましたよ。RICOHのデバイスはPCIデバイスとして一般的な初期化以外はとくに処理が必要なく、CardBusブリッジの標準レジスタを設定するだけで、カードを抜き差しすると割り込みも出るし、電源ONしてすぐに電源が入るんですが、私がいままで見てきたTIのCardBusブリッジって、CardBusブリッジの標準レジスタの割り込みマスクビットや電源制御ビットだけいじってもダメで、PCIコンフィグレーションレジスタ中のTI独自のレジスタを設定してやらないと、カード挿しても割り込み出ないわ、電源ONにして実際にはソケットに電源が入らないわで、面倒なんっすよ。
 しかも“TIチップならこうすればすべてOK”っというわけではないんで、輪をかけて問題をややこしくしている。チップ自体にいろいろ動作モードがあって、そのモードによって初期化方法が違う。つまりどのモードで動かすことを前提にそのボードが設計されたかがわからないと、どう初期化すべきかわからない… 今回のように拾ってきたボードの場合、もし動かないとなったら、解析は困難なことが予想されたのですが… ラッキぃ〜!(笑)

●1月3日
 自宅は引っ越してこの春でまる3年なんですが、はじめて自宅のブレーカ落としましたよ(^^;) いまどきの建物は40Aがデフォみたいですが、以前の部屋は30Aだったので、基本料金抑えるためにも30にしたろか…なんて思ったこともありましたが… すいません、もう言いません(汗)。
 そうか、風呂入れながら寝室以外の電気やらエアコンを同時に入れた状態で仕事部屋のPC群やらプリンタの電源を入れるとヤバいのか…(年賀状出してない人からとどいたので、もう数枚印刷しようとしてた^^;) ってことで、暖房を入れないまま寒い仕事部屋でPCを1台だけにしてシコシコ年賀状印刷(T_T)。

●1月4日
 気が付くと、DVD/HDDレコーダのHDDの残りがあと数時間という状態だったので、年末年始に放送された映画をDVDに焼く準備(^^;) 頭と後ろを必要な部分でカットして、6箇所くらいに適当にチャプター打って(うちのレコーダでDVD-Videoを作ると1画面が6個のチャプターメニューになるので)サムネイル設定してDVD1枚4.7Gめいっぱいになるようビットレートを調整してレート変換ダビング(レート変換ダビングは実時間かかるので後でまとめて処理)。
 NHK BSで放送されたやつはいいんですが、民放だとコマーシャルが入っちゃうんでCMカットが大変。でも、普通にCMが入る程度ならまだ許せるんですが、たちが悪いのは本編放送中にスポンサー表示をスーパー表示で入れちゃってるやつ… そう、レイボーブリッジ封鎖するアレだよアレ(←まだ見てなかったもんで(笑))
 さて、チャプターは打ったものの、チャプタータイトルとかは入れてないので、こういうのはPCから入力するのが楽。で、いつものようにノートPCからDVD/HDDレコーダのメニューをWWWブラウザで呼び出すも… ん? なぜ繋がらない!? …っは! 昨日停電で電源落ちて、電源再投入でDHCPで割り当てられるIPアドレス変わった!? えぇ〜と、何番になったんだろ… 前は192.168.0.5だったんだけど… 4かな? …なし。3かな? …おっと、これは無線LANアクセスポイントの設定用httpサーバーだ。1はDHCPサーバーが走ってるルータだから、ってことはか2? …2でした(リモコンでレコーダの初期設定メニューを表示すれば現在割り当てられているIPアドレスはわかるんだけど、リモコンが手元になかったので^^;)
 すったもんだでチャプタータイトルを入力して、やっとDVD焼き焼き。で、終わってもすぐにはHDDのほうを消せません。なにせうちのレコーダのDVDドライブは“へたれドライブ”で有名なので、ほんとに焼けたかどうか頭から最後まで再生してみるまでわかりません(涙) 焼きあがった板を今度はDVDプレーヤに入れて再生。このプレーヤもときどき再生中にハングアップするDVD-Videoがあったり、DVD-Rや-RWの再生に関してはPS2より弱いんちゃうか?という程の“へたれプレーヤ”なので、こいつで再生できないようなら他でもまともに再生できるとは思えない… そういう意味ではテスト用に最適!?
 …ってことで、CMカットやらチャプタ編集を含め2回も3回も見るハメに… とりあえずは大丈夫そう? とはいえこのDVD-R、いつまで持つのやら!? ある日突然再生不能になりそうで怖いです。

●1月5日
 弊社は今日から仕事はじめです。9時出社で社長の念頭の言葉を聴きます。ふぅ〜なんとか遅刻せずに間に合いました(^^;)
 さて、本年業務開始で、まずは片っ端からメールの返事を書きまくりぃ〜!(汗) そして年明けに締切りを設定していた筆者さんに催促のメール(を)やら、長期的プロジェクトをお願いしている人には状況確認のメールなどを…
 …さて、増刊やるか(汗)

 新年早々、怒涛の新製品発表ですかい。しかし、今ひとつ代わり映えののない新鮮味がない気が…!?

●1月6日
 本誌の編集作業は年末年始を挟んで、年明け早々は再校読みとなります。…が、本誌校正と同時に増刊の送稿作業が… 今日は2章分お願いしますぅ〜

 海の向こうではCESが開催だそうで。で、松下とHPの提携で、HPのDVDドライブはDVD-RAM対応に、PanasonicのDIGAはDVD+R対応になるとか… え? DVD+Rぅ? …どうやらそれは米国だけのもよう。やっぱ米国とか欧州は+Rが結構普及してるってことか…

●1月7日
 今日も昨日と同様、本誌校正を読みつつ、増刊の送稿作業を… 今日はがんばって3章分です…

 新年早々、2005年も始まったばかりですが、個人的には2005年のヒット製品としてコレを推したい! その手があったか!!(笑) …そうかぁ〜 そのためにSDカードはMMCより厚さを厚くしたんだ…(違!)

●1月8日
 筆者からメール。おぉ! アセンブラが動き出したって!? すばらしい!! プロジェクトが順調にすすでるようす。ソフトが動き始めたら、次はハードのほうですよね… 例のボードはまだ使える実機が存在しないので、その前に何か使えそうな評価ボードを用意しないとな…

 ふむ。土曜日でもCES関連のニュースはアップされてますね。ん〜 ここまで来ちゃうと、HD DVDBlu-rayは、もうこのまんま突っ走っちゃうしかないのかなぁ〜!?

●1月9日
 今日は午後から筆者と打ち合わせがあるんで、昼過ぎには出社して準備。本当なら機材を用意して、実機の波形をみるところだったんですが、手配が間に合わなかったので、今日は打ち合わせのみ。
 打ち合わせが終わり…さて、増刊の作業をするか。今回の増刊は、コレコレの両方で動作するサンプル設計データを収録するんですが、両方でまったく同じHDLソースコードで動かさないと説得力無いよなぁ〜 ってことで、評価ボードの微妙な仕様の違いを吸収するために一つ上にトップ階層を作って、そこからまったく同じ仕様の共通モジュールを呼び出すようにして… これで、増刊で解説しているシーケンサ本体は、1バイトたりとも違いのない設計で、A社のデバイスでもX社のデバイスで動くことになるっと。
 …で、この作業を、ターゲット1〜ターゲット8、イニシエータ1、それと応用編で解説するPIO、SIO、8/16/32ビットブリッジ、拡張ROMと、15本もサンプル設計データあるので大変。
 ん〜腹減った… もう夜7時か… 今日は帰ろう(^^;)

●1月10日
 今日もいろいろ会社で雑務処理。増刊で解説予定の設計データなんですが、一部原稿の説明と「ちがうんぢゃないか?」っという部分があったので、実機検証とかetc 原稿のほうも赤入れせんとな… この章は新規なので、図面やリストの準備も忘れずに…
 それから、新しい企画について、第1校の企画書をでっちあげて、めぼしをつけている筆者さんに「こんなん考えてるんですけどぉ〜」っと相談メールを送ったり… なとしていたら、メールBOXに新しいメールが。おりょ、さっそく返事が! 祝日だというのに、お疲れ様です。
 さてそろそろ帰るか… 思っていたところ、突然編集部の電話が… さきほどメールを出した別の筆者さんからでした。で、さきほどメールでお願いした件や、以前からお願いしていた案件の現状などについてしばし長電話…(すいません。IP電話だからって長電話してしまいまして…)

●1月11日
 毎週月曜日の編集部内会議。月曜日が休みの時は火曜日…のはずなんですが… いつもの時間よりだいぶ遅れて会議。年明けてから最初の編集部内会議ですが…4月号、大丈夫? って、5月号担当の私も人のことは言えないが…(汗)
 で、三校をババっと見たら、ちょっと試作部品を購入しに秋葉へ。山手線ホームからエスカレータで下に降りると… うぉ! 電気街改札から山手線ホームを経由せず総武線へ上がれるるるる!! そうだ、思い出した。昨年末秋葉に行った時、なんかいつもと違うな…と違和感を感じた(時間もなかったので即効で買い物して速攻で帰ってきたし)んですが、あの時に違和感はこれか。秋葉もちゃくちゃくと再開発されてますな。
 さて、今日のお買い物は、表面実装タイプの電子部品をいくつか… それと、コレ。今編集中の増刊で、ちょっちLowProfileのPCIボードの写真が欲しい(もちろん写真だけが欲しいなら広報に一言いえばいつでも写真を送ってもらえるんですが)のと、USBの企画でOHCIとUHCIが内蔵されたUSBホストインターフェースが入用だったので。一般的なUSB2.0対応のホストって、たいていはNECチップが載ってます。でもNECのUSB1.1はOHCIなので、UHCI+EHCIってパターンがなかなか無いんですよねぇ〜 このカードに実装されているコントローラはVIAチップ。VIAはUSB1.1の頃はUHCIを採用してたので、これはUHCI+EHCIという組み合わせであると期待して…
 で、夕方は某筆者と今年最初の打ち合わせ。お借りしていた試作ボードとさきほど買ってきた部品をお渡しして、実装をお願いします!!

●1月12日
 おっと、昨日帰ったあとにすぐメールがあったんだな… おお! 繋がったって!? やった! これで野望に一歩近づいた! で、フラッシュの書き換えテスト許可しますです。ばんばん消して書いてやってください!(笑)
 さて、増刊ですが、昨年送稿した章の初校が順調に出てきております… 校正のほうもやらなあかんのですが、先に送稿する原稿の作業を進めねば…

 で、“Macworld Conference&Expo 2005”で発表されたのが、Mac miniとフラッシュ・メモリ版iPod iPod shuffleですか… Macは欲しいと思わないのでどうでもいい(^^;)ので、ここではiPod shuffleに注目。メモリはカード式ではなくて内蔵のみ。バッテリも内蔵固定で交換や電池駆動も不可。そして液晶などの表示機能も搭載せず。うむ…(バッテリ仕様はiPodと同じとしても)かなり割り切ってる感じですな。フラッシュ・メモリ版は容量的にはHDD版に勝てないから、カード交換式にすることで容量不足という弱点を補えると思うんだけど… iPodがあるから容量的な面や液晶表示機能の有無で差別化をはっきりさせるため、iPod shuffleは思いっきりシンプル性を追求したってところか。

●1月13日
 ん? ちょっと興味深いリリースが… 「リフレッシュ間隔を長くして消費電力を低減」 このネタ、実は本誌2000年6月号「ハードウェアで高速処理を実現したリードソロモン復号アルゴリズム」で掲載したことあります。リフレッシュ時間を長くしてメモリ化けが起こっても、エラー訂正回路で復旧させるという荒技です。う〜ん、ホントに採用してくるベンダが出てくるとわ…??(記事とは違う考え方/方式なのかな?) ちょっと話を聞いてくるか…(あ、DWM編集部が先にツバつけてそうだな^^;)

 おっと! QUALIAシリーズの“1番”がやっと出たんですね… ん?? う〜ん… こういうのって、単体で存在する意義ってどれくらいあるんだろう… 普通ぅ〜こういう画像処理回路は表示デバイスの特性に合わせて内蔵するもんちゃうんかな。単体でやるなら最高解像度の1080pでも出力できるようにすべきかと…(そんなの表示できるデバイスあるのか?) しかも入力信号はいろいろ受け付けるとして、出力がHDMIとかディジタルぢゃなくてコンポーネントやアナログRGBで出力ってあたりが、またそこでアナログ伝送になっちゃうわけでしょ? これってハイビジョン対応3管式プロジェクタユーザー向けってことかな??

●1月14日
 今日は昼過ぎまで設備点検だというので自宅で待機。が、業者の手違いでうちの順番が午後に! 午前中、時間が空いてしまったので散髪でも行ってくるか…(そろそろ限界だし^^;)
 昼過ぎ、やっと業者の人が。で、ここに引っ越してきて3年目になるんですが、今日初めてわかった新事実! うちってTVKが見れたのか… うちは屋根にはアンテナが上がってなくてCATVが入って(とはいえ無料のチャネルしか見てませんが)て、引越し当初「NHKと東京5局以外どっか映るかなぁ〜」とチャネル設定でVHF空きチャネルからUHF62chまで全部みてみたのですが… TV埼玉MXTV放送大学、それとCATV業者のCMチャネルとTVショッピングチャネルだけしか確認できませんでした。んでそのTVK、どこにはいってたかというと、Cxx(CATV用のチャネルでxxは2桁の数字)… そ、そんなところに割り当てられていたなんて… たしかに、CATV用チャネルだとしても、使ってるTVやビデオがCATVチャネル対応で、スクランブルかけてないならそのまま映るわな。うみゅぅ〜 CATVチャネル=スクランブル(有料)という固定概念が招いた盲点!(笑)
 で、改めて自宅にあるCATVチャネル対応機器を見てみると… リビングのTVとDVD/HDDレコーダ、それと5台ほど(といっても2台はほとんど壊れててもう1台も調子悪)あるVHSデッキのうちの1台だけ。寝室のちっこいTVとかは非対応。あ、VAIO君(の内蔵TVチューナ)はどうだったかな…あとで調べてみるか。
 …とはいえ、関東ローカルUHF局の一つが増えたところで、そこでしかやってなくて見たい番組があるわけでもないですが…(^^;) とか言いつつ、さっそくDVD/HDDレコーダのチャネル設定をいじってたり… えぇ〜と、もう1ch分チャンネルスキップを解除してここに割り当てて… ただ見るだけならこれで設定終了ですが、せっかくのEPG対応機種なんで、EPGの設定もね(でないと番組表ダウンロードしてくんない)… あれ? CATVチャネルってどうやって指定すりゃいいんだっけ… どうせTVKはほとんど見ないから番組表の表示順番は一番下かな… TVショッピングチャネルは番組表がないからこいつは非表示で… よしっと、これで設定完了。

 なにゅぅ〜 再延期だと… 20Mバイト/秒転送を実現するSDカードに対抗できず苦戦中か!?
 PSP効果でメモステPRO Duoが人気急上昇中なところに水を差さなければいいのですが… っは! もしかして、PSPでうまく読み書きできないからモメてるとか!?

●1月15日
 さみぃ〜 なんか雪降るとか言ってましたが、今のところはまだ降ってない模様… 雪降る前に出社して仕事するか…
 今回の増刊はせっかくコレとかコレを使うんで、応用編で解説するSIOについては、16550を外付けなんてしないで、やっぱFPGA内にシリアルコントローラの一つも実装しないとカッコ付かないでしょぉ〜!
 …ってことで、簡易版のシリアルコントローラを作ることに… とりあえず掲載しているテストプログラムが動けばいいってことで、必要な機能/仕様は以下の通り…
  データ長8ビット、ストップビット1ビット、パリティなし…で固定!
  FIFO機能/ブレーク送受信機能/フレーミングエラー検出機能/パリティエラー検出機能…すべて無し!
さすがに通信速度は選択できないと使い勝手が悪いので分周回路は実装。エラー検出は受信オーバーランだけは検出できるようにしまひょか… それと、使ってる評価ボードだと、DTR/DSR/DCD/RIはFPGAまで繋がってないんで…
  モデムステータス系…常時イネーブル(RIは常時ディセーブル)
  モデムコントロール系…ビットは立てられるが外には出てない!
という仕様で。RTS/CTSはちゃんと正しく動くようにしないと、フロー制御用ができなくなっちゃうので実装。
 ってことで、FIFOが無いので8250ってことになるんでしょうが、“互換”って言ほど互換性がないので、ここでは“8250もどき”ってことで(笑)

●1月16日
 今日も昨日の続き… 手元にある8250の資料は、レジスタ一覧や簡単な説明だけで、実際の挙動について詳しいところがわからなかったので、こういうときは実機で動作確認するべし! DOSを立ち上げて、3F8h〜3FEhあたりのI/Oレジスタをつつきまわす… 負論理だから'L'を入れるとビットが立つのね… ふむふむ。モデムステータス変化検出は2回目読み出すとクリアされるのね… LSRのエラーフラグは…今回オーバーランエラー対応にしたけど、これも2回目読み出すとクリアされるのか。あとは割り込み系の挙動だな… 受信完了割り込みはRBRを読み出すとクリアで、送信完了割り込みはIIRを読み出すとクリアされるみたいやね…
 で、同じ挙動になるように実装… 2回目読むとクリアされてるってのは、1回目の読み出しが終わったところでクリアするんだろうな… 送信完了は、送信バッファからシフトレジスタにロードしたところで送信バッファエンプティを出せばいいのかな??
 さて、これでどうだ… 論理合成して配置配線してダウンロードしてリセットして再起動… IO.COMでレジスタをつついてみると… とりあえずはホンモノと同じ挙動をしてる感じ。テストプログラムを走らせると… おぉ〜 ちゃんとターミナルから入力した文字をエコーバックしてくれますよ。で、テキストファイル送信で文字列を流し込んでやると… ありゃ、なんかところどころ文字が化けてますな(涙) ま、一発で完動するとは思ってませんが… さて、ロジアナあてて、細部のタイミングを検証と行きますか…
 …ん〜 あと問題は、クロックが一致してないから誤差が出てるのか?? レガシーCOMポートは1.8432MHzなんだけど、PCI評価ボードには33Mとか66Mのオシレータしか乗ってないんだよな…(今は33Mを18分周して1.833333…MHz) さすがのStratixのPLL機能でも、33MHzから1.8432MHzは生成できんよなぁ〜 と、MegaWizardを起動して設定してみるも…やっぱ周波数低すぎて生成不能か(赤字だらけ) ならば整数倍にして… うぉ! 18.432MHzは生成できそうだぞ(青字になった) ってことで、1/10分周はロジックで組むとして、さっそく組み込んでみると… だいぶ文字化けは少なくなったけど、まだどっか変だぞ(T_T)

 メールBOXを掃除しながら… 最近届いたSPAMより…
   “Get A New PLAYSTATION 2”
と題しておきながら、その下に張り付いている写真は、トレイローディングな旧タイプPS2なSPAM… ぜんぜん新しくねぇ〜ぢゃん(^^;)
 その2…

   Subject 新年会決定!

   あけましておめでとうございます。
   ことしもよろしくお願い致します。

   新年会が下記アドレスに決定しましたのでお願いします。

  ↓アドレス
   http://xxxxxxxxxxxxxxxxxxxxxx(一応伏せます)

   今すぐGoGoGo!!!!
…ど、どんなところで新年会やるんだろう(恐ろしくてURLを開けない(笑))

●1月17日
 げ! 寝坊した!! 今日は午前中に筆者と打ち合わせがががが!!! しかも電車遅れてるし…(涙) もうしわけありません。で、お昼食べながら打ち合わせでどうでしょうか?(^^;) っということで、増刊/単行本の件、よろしくお願いいたします。
 打ち合わせから戻って、まずはメールの返事。某筆者からフラッシュメモリの書き換えが成功したとのメールが!すばらしい!あとは記事をどうまとめるかですね。そしていつも巡回している筆者陣のWeb日記をチェックしていたら… おお!某CPUボードでついに動き出しましたか!! いろいろと種をまいておいた??件が次々と芽を出している感じですね。

 ネットで話題になってたあれですが、やっと?正式にアナウンスされましたね… っつ〜かさ、そんなファイルを入手したほうが悪い? ダウンロードされるようなところに不用意にテストファイルをアップしたSCEIが悪い? …どっちもどっち?(^^;)

●1月18日
 シリアルコントローラの件。通信速度を遅くしたら文字化けがなくなったんで、ロジックは大丈夫そう?? なにせテストプログラムはフロー制御してないからナ(汗)
 さて、次は互換性確認の最終段階? Windows上から使えるかどうかのテスト! “8250もどき”シリアルコントローラを実装したPCI評価ボードをWindowsマシンに実装し、手動でCOMポートドライバをインストールしてハイパータームでCOM3を選択するも… 向こうからのデータはちゃんと受信するんだけど、こっちからのデータが送信されない…?? いや、ぜんぜん送信されてないわけじゃないな… なんだこの動きは? ははぁ〜 キーボードから文字を入れても、送信バッファに溜まるだけでその時点で送信はされず、向こうからの文字を1文字受信したときに、送信バッファに溜まってる1文字が送信されてるって動きだな…
 うむ、つまりだ、送信完了割り込みが単独では発生してないってことか? 受信割り込みは正しく発生して割り込み処理ルーチンが呼ばれるんで、そこで送信処理が行われるから受信のたびに1文字だけ送信される…ってことか? ん〜 手動操作でテストしたときは、ちゃんと送信完了割り込みも出てるんだけどなぁ〜 Windowsの標準COMポートドライバの送信アルゴリズムが、こっちの想定している流れとちゃうのか??
 おっと! 今日は午後から編集会議… の前に、いろいろ緊急のメールが入っていたりして… 諸般の事情で特集企画の一部変更がががが(を!)
 夜、打ち上げ行く前にもう少し仕事。増刊用のプログラムの動作確認が取れてないので、実機でテスト。あ!デバイスID変更してなかった… ありゃ、デバッグ用のprintfを埋め込んだまんまだ… うげ!割り込みスイッチを押したらいきなりリセットかかった!(をぃをぃ) わかってしまえばしょぉ〜もないバグで、修正しては動作確認を繰り返し、なんとかバグも取れた感じ? で、2時間ほど遅刻して飲み会参加。とりあえず食べるほう優先(笑)

 夜、自宅に戻って録画してたProject-Xを見ていたら… よよよ!? なんか川井節のBGMが聞こえてきたのですが…??(^^;)

●1月19日
 先日からすったもんだやってた、8250もどきシリアルコントローラがWindowsからだとうまく送信してくれなかった件、解決! “送信完了”って言うからダメなんだな。“送信バッファエンプティ割り込み”と考えれば、リセット直後の送信してない状態でも割り込みが出ないとダメぢゃん!!ってことで。これまでの設計は、送信シフト処理で8ビット分送信完了した段階で割り込みを出してました… つまり、割り込みイネーブルに設定した直後の1発目の割り込みが出てなかったわけだ…
 っつぅ〜ことで、送信バッファが空の状態で送信完了割り込みを許可すると割り込みを出力するようにロジックを変更すると… おぉ〜 Windows上から使えるようになると、ちょっと感動!? しかも、やっぱ標準COMポートドライバはフロー制御もしっかりしてるんで、192とか384でファイル転送しても文字化けもなくなりました!!(バイナリファイル転送してコンペア取っても完璧!)

 うむ、ついにノートもついにPCI Expressの世界に突入ですな。で、モバイルといえば次世代PCカードなわけですが… さすがにExpress Cardスロット搭載機はまだ出てないみたいですね… 卵が先か鶏が先か??

●1月20日
 増刊送稿作業も大詰めですよ! これ以上遅れると発売日に間に合いません!! ってことで、ラストスパート!? 去年送稿した頭の章はもう初校が出てるんですが、これもそろそろ返さないと… 送稿時に追加コラムなどは“後送”とか言い訳して後回しにしてましたが、初校を返す段階ではそうは言ってられないので、ちゃんと原稿やら図面を用意せんと…(^^;)

 なんじゃこりゃ… iPodを意識したっていうより、パクったって感じ?(^^;) セガで犬といえば、こんなのもあったけど、話によるとこのidogのデザイナの女性って、プーチ設計者の奥さんだとか…(^^;)

●1月21日
 あっそうだ! この号では結局間に合わなくて掲載できなかったロジアナキャプチャ波形。今回こそはちゃんと載せなきゃ!
 いやぁ〜『ロジアナ波形で見るPCI-Xバスの動き』とか言っておきながら、PCI-Xでもっとも特徴的な“スプリットトランザクション”の波形が載ってないってどういうこと?って。すいません。うまくトリガ掛けられなくて、波形のキャプチャデータが取れなかったんですよ(涙)。後日、インテルのギガビットLANカードにごにょごにょ小細工して(汗)、ちゃんとスプリットトランザクションの波形をキャプチャできたんですが、特集には間に合わなくて、泣く泣くお蔵入り…?!
 で、さっそくその時のキャプチャデータを探したら… あ!そうだった! このとき、BMPファイルとかに落としたんじゃなくて、キャプチャデータを直接ファイルで保存したんだっけ… ん〜 タダでさえ本文の校正とかでクソ忙しい筆者にお願いして、ロジアナでロードして画面キャプチャ画像ファイルを取ってもらうのは気が引けるんで(ってか校正のほうを先に…とか(^^;))、自前でキャプチャ画面を作成すべく、Windows用の波形Viewerソフトを某ロジアナベンダのサイト(リンク張って“某”かい!)からダウンロードしてインストール。
 …ん〜使い方がわからん(汗) ボタンの絵を見て適当にボタンをクリックしてみたり、信号表示の順番を変えたり(FRAME#、IRDY#、DEVSEL#、TRDY#、STOP#の順じゃないとダメです!)して、なんとか所望の波形部分を切り出す… まずスプリットトランザクションの全体と、全体波形だけだとアドレスフェーズ時のC/BE#の値が小さくて良く見えないんで、メモリリードサイクルの起動とスプリットレスポンスを返している部分の拡大波形と、次のスプリットコンプリーションの拡大波形を用意。うむ、ちゃんとバスコマンドが'1100'になってますよ!! これがスプリットトランザクションだだだだ!!!って(笑)

 夜、なにやらNHKでブログ紹介番組があるとかいう情報を入手したので、DVD/HDDレコーダで予約録画するようメールを送っておいたのですが… ちゃんと撮れてました。ん〜 一般人への説明は、あんなもんかな?(^^;) 中越地震のボランティア集めのところで、東京とか静岡とか山形県を経てうんぬん…の説明があったけど、それってサーバーの設置場所なのかしら? それともそのブログを開設した人の住所なのかしら?
 この日記もブログにしろ? どっからもトラックバックがかからないと寂しいからいいです(笑)

●1月22日
 さて、今日は昼過ぎに出社して、増刊の初校校正もせんといかんのですが… 付属CD-ROMに収録する設計データがまだ完全にはあがってないんで、それのファイル整理。
 昔から思ってたんだけど、X社のツールって、論理合成時に未使用の信号が最適化で無くなっちゃう… のはいいんだけど、配置配線の段階でその信号をピン定義してるとエラーになるのはなんとかして欲しいんだけどなぁ〜 A社のツールは未使用信号を定義しててもエラーは出ないんで、たとえばデバイスの中身の仕様によって結局使わなくなってしまう信号でも、使う場合と使わない場合で同じ信号ピン定義ファイルが使えるので楽??(^^;)
 今回、まったく同じ仕様の設計をStratixキットとSpartanキットの両方で実現するわけですが、筆者からのソースをよく見ると、違う記述が入ってたりしてるんで、どっちも同じ記述になるように調整したり… ぎょぎょ!  Stratixキットのソースの中のコメントに、なんで「Spartanキット」とか入ってるんですか!(コピペしたまま書き換えるのを忘れてたらC)
 さて、DOS版の動作確認サンプルプログラムが全部通ったので、最後はWinodws… あ!しまった!! Windows2000とかXPって、ドライバ本体のないINFファイルだけのドライバ?って受け付けないんだっけ… しゃぁ〜ない、ドライバのロード/アンロードだけに対応した“何もしないドライバ”を増刊用に作ってもらうか… ってことで、急遽ドライバ屋さんの筆者にメール(今から頼むんかい!) いや、ほら、以前にも作ってもらったぢゃないですか。あれのファイル名とか書き換えただけでOKなんで、さくさくっと… お願いしますよ(汗)

●1月23日
 今日は欧州から帰国?来日?した筆者さんとの打ち合わせ。お寿司とかの日本食は久々ですか? まずは以前からお願いしていたプロジェクトの件についていろいろ。そして、急遽突発的に執筆依頼した件のほうも詳細打ち合わせを…
 で、夜。さらに別の筆者さんと合流して夕食会を。待ち合わせ場所がなぜか新宿西口ヨドバシカメラ(^^;) そしたらなんと別の筆者さんとも鉢合わせ。で、実は実はこちらの筆者さん、昨日ダミードライバ作成をお願いした筆者さんだったりするという… これはきっと“ちゃんと打ち合わせしれ!”っという神の啓示か!???(^^;)
 で、ここでは打ち合わせの主題(?)。部品実装が完了したデバッグ中の例のボード。なぜかJTAGラインが見えないとか… あのぉ〜 D-Sub25ピンってオスとメスでピン配置逆になりますよね?(えぇ、以前逆にしちゃった試作ボードをどこぞで見た覚えが) で、思い出したんですけど、基板屋さんにオスかメスか指定した覚えがないんですけど…もしかして(滝汗)
 夕食後、自宅に戻って早速筆者からのメールをチェック… やっぱり逆だったか!!(滝涙)

●1月24日
 増刊ですが、残ってる初校はバンバン返さないと間に合わないっすよぉ〜!! しかし、初校を返すには、後送にしてた図面や写真も付けて返さないと…(送稿時に間に合わないのは後回し…ってことにしてたツケが今になって回ってくるわけだ(汗))
 忙しいけど頼める人がいないので、地下室行って写真撮影したり、テスト環境を立ち上げてFPGA評価ボードを差し込んでテストプログラムを動かして、その動作画面のキャプチャを取り込んだり… 一枚の写真やキャプチャ画面を作るのにえらい時間がかかるるる…
 夜、昨日受け取ったボードを、ネクタを逆に実装し直してもらうため、また筆者さんに返却(T_T)

 Western Digitalも1インチHDD市場に参入っすか。1眼レフデジカメとかHDDオーディオ機器とかはやってますからね。CFタイプのHDDの需要はまだまだ伸びるかと。ただ、このあたりの容量だとフラッシュメモリを使ってるCFも追い上げてきてますからね。HDDなら10Gの壁をそれなりのコストでクリアしていただかないと…

●1月25日
 おっと! 増刊の正式タイトルってまだ確定させてなかったっけ? ってことで上司と協議。基本的に以前の号の改訂版なので… ってことで、頭に“改訂新版”つけただけで他は同じに決定!
 さて、今日はお昼にその増刊のソフトウェアの筆者と打ち合わせ。なんでも、最近台湾への出張が何度かあったとか。台湾系チップセットメーカのマザーボードでごにょごにょ…(笑) まぁ〜初物のチップセットは、あっちもこっちもバグだらけでしょうから、ファームウェア屋さんも大変っすね。
 打ち合わせから戻ってきたら、必死こいて増刊校正…

 メールBOXに“最新GAL情報”とかいうタイトルのメールが… どっかのメーカーが超低消費電力版の16V8とか22V10とか出したのかな?とか思ってメールを開いたら… エロビデオ通販のSPAMですた… orz

●1月26日
 会社に出社してメールチェック… お! 何もしないドライバ(笑)が届いてたので早速テスト。INFファイルの記述に少し実機のPCIボードに合わないところがあったので、テキストエディタでちょろちょろ修正して、動作確認OK!
 で、午後からは某筆者と某基板屋さんと打ち合わせ。おっと、月曜日にいったん返却したボードが、コネクタが基板の裏側から逆さまに張り付いて帰ってきました(爆) ま、動作確認用試作ボードですから、動けば問題なしです! っと、それは置いといて、本日の議題は、実はとあるメーカさんの会社の方針転換による余波対策会議(謎) 問題点は、なんとかして解決していかないとね…
 打ち合わせ後、さっそく受け取ったボードに電源投入してJTAGラインのチェック… ほいな。ちゃんとデバイス認識しましたよ!

 HD DVDとかBlu-rayとか騒がしい状況ですが、こちらも標準化団体を立ち上げてがんばっているようです… 正直、こっちは本当に使い物になるのか怪しげな雰囲気もあるんですが(汗)、容量はでかいんで期待してますよ(^^;)

●1月27日
 …結局、デバッグ作業で徹夜しますた… 昨日帰ってきたボードなんですが、JTAGラインでデバイスが正しく認識されたので、さっそく某JTAGツールを使ってフラッシュROMの書き換えテストを… ん〜 なんかうまく動いてないみたい… っつぅ〜か、CFIの読み出しデータが全部FFhってことはないだろぉ〜 ということで、ツールの作者にHELPメール。なんでかな…??
 で、今日は午後1番に筆者打ち合わせがあるので、いったん自宅帰って着替えないと(^^;)
 午後の打ち合わせは謎プロジェクトの一つ(笑)   夕方、携帯(070端末は携帯ではありません!?)に緊急連絡。申し訳ないっす。今日はすぐ自宅に帰るっす。

●1月28日
 やっとこさ増刊の表紙デザインが届いたので、さっそく上司と相談。個人的にはデザインは何でもいいんだけどねぇ〜(コラコラ)
 校正作業中に電話が… 「ちょぉ〜ど今暇なんですけどぉ〜」っという筆者さんから連絡。それはよかった!! 初校が出てるので筆者校正をお願いしたいんですよぉ〜 っということで、巣鴨まで来ていただいて、喫茶店で筆者校正(^^;)
 夜、まだ昨日の緊急事態?が尾を引いているんで、今日は7時過ぎには会社を出て帰宅。

 コレさぁ、ユーザーに貼らせるんじゃなくて、本体を送ったり持ち込みで、プロが貼りつけるとかいうサービスをはじめたりすると、受けたりする??

●1月29日
 今日は自宅でデバッグ大会?? 増刊が忙しいハズなのに、なぜかLANケーブルと格闘してますよ?(^^;) いやぁ〜 明日、この件で筆者と打ち合わせするんで、それまでに新仕様のNICを完成させたいと思ってるんですが…時間的にちょっとムリかな??(^^;)

 Mac miniって今日日本発売開始だったっけ… っとなれば、恒例のバラし記事が(^^;) うぉ! あの“お持ち帰りボックス”の外側にさらに発泡スチロールで保護された箱で送られてくるのか… ってことは何かい? 店頭であのお持ち帰りボックスのまま持って帰るときは、衝撃には十分注意しないとマズイってこと???

●1月30日
 今日はお昼前に会社に行って、筆者との打ち合わせ準備をする予定が… すいません。デバッグ作業、まだ終わってません(涙) 打ち合わせ、昼過ぎにお願いできますか?っと連絡を入れて、時間稼ぎ…するも、結局時間切れ(汗)
 で、昼過ぎに出社。ほどなく筆者さんも来社。すいません。まだモノが出来てませんのです…(T_T) とりあえず、HDDローテーションがうまくいかなくて泣く泣く消してしまったLinux環境の再インストールから。で、レジスタの仕様変更箇所を説明して、ドライバのソースを修正。コンパイルは通るところまで確認したところで、今日はお開き。
 が、筆者さんが帰られた後も、会社に残ってデバッグ作業続行… 100Mだと安定するんだけど、10Mだと時々受信バッファがおかしな動作に陥る… あやしいところに対策の信号を入れてみたり小細工するも、状況は改善されず… どうも状況改善の見込みが… なんかますます泥沼にはまってるような…(涙)
 とにかく、受信バッファがおかしくなった瞬間に何が起こってるのか、カウンタや制御信号の動きをロジアナで見たいんだけど… はて、どうやってトリガかけたろか… テストプログラムで受信バッファがおかしくなったことを検出したときにはすでに手遅れ状態で、ハードウェア的(nsオーダ的)にはすでに大昔の事象になってしまってるので、そこでトリガかけてもロジアナの画面にはおかしくなった後の波形しか出てこないし… う〜みゅ…

 やっとまともなPCI Express x1対応インターフェースカード登場ですか。ん〜 LANカードだから、入り口も出口もシリアル?なので、デバイスのI/Oピンは少なくてす…むとはいえ、なぁ〜んか、有り難味が無いな(汗)

●1月31日
 …結局徹夜だ(^^;) 終電時間突破してしまったので、いきなり数字時間の猶予時間が(それって猶予になるのか?)
 とりあえず、いま問題にしているバグはほっといて、先にPHYチップ内部レジスタアクセスのためのMDIOまわりを実装するか… これができるようになると、いま無理やり外から繋いでるLINK/DUPLEX/SPEEDのステータスを、MIIインターフェースだけで取り込むことが出来るようになるので。
 このMDIO制御の部分、他のNICはどう処理しているか気になるところですが、たとえばMAC層内蔵SHなんかは、MDIOとMDCがただのポートになってて、MDCのクロックですらソフトウェアで1/0を出力してやらないと通信できないという「マジそんなんでいいの?」的仕様らしいので(笑)、このあたりの実装は実はかなりテキトーみたい。
 MDCまですべてソフトウェア制御ってのはかっこ悪いので、PHYアドレスやレジスタアドレスをセットして、R/W方向とスタートビットを立てたらハードウェアがPHYを読みに行くような回路を実装することに。物理メモリエディタから制御レジスタをつつくと… よし、ロジアナの画面にも予想通りの波形が出てるし、PHYチップのデータシートと見比べても、読み出したビットは合ってるっぽい。しかも書き込み可能レジスタに対しては書き込んだ値がちゃんと読み出せてる。OKOK
 ここまでは普通の仕様。次はこれに特定のレジスタを定期的に自動で読み出して、そこからLINK/DUPLEX/SPEEDの各ステータスを判定してMAC層に反映させるロジックを追加。しかも、CPU側からのPHYアクセスも可能なまま! CPU側がアイドルの時は問題ないけど、アクセスが重なった場合が問題やね。自動で読み出し中にCPUからお呼びがかかった場合は、それをいったん保留しておく処理を入れて… 逆にCPUからアクセス中に自動読み出しタイミングになったら… これは保留しなくてもいいか。どうせまた0.2秒後に次の自動読み出し要求が発生するから(^^;)
 で、さっそく実機テスト… おぉ〜 ケーブル引っこ抜くとLINKが消えるし、100Mスイッチングハブに差し込むとLINK/DUPLEX/SPEEDの全LEDが点灯するし、10M専用ハブに差し替えるとLINKしか点灯しない。で、これらステータスの変化を検出すると、バス上に割り込みも…よし、ちゃんと割り込みも出てるぞ。
 と、そんなこんなをロジアナ波形で確認していると… ん? なんだ? パケット受信の頭のほうで、RxCLKのクロックが出力されてない期間があるぞ?? 10Mの半二重の時、しかもTx_Active信号も出てるから… 自分が送信したデータが半二重だから受信側に戻ってきてるときか? プリアンブルでクロックがロックするまで、MIIインターフェース上のRxCLKは安定しないからHのまんまになるの?? ん〜 いまのロジックは、クロックは安定して供給され続けているのが前提だから、こりゃまずいな… ってことで、とりあえず小手先のフラグ対策を講じてみる… あら不思議!? いままで不安定だったのがウソのように安定して動作してますよ!!
 …ただ、その小手先対策は美しくないので、もう少し根本的に受信ロジック部の動作を見直す必要があるな… Etnernetハードウェアの偉い人にも相談してみるか…

 あぁ〜 もう朝か… 7時いったん自宅に帰ってメシ食べて着替えてまた会社へ。毎週月曜日は編集部内会議なので。10分ほど遅れて会社に着くも、まだ(=Ю)さんだけだったり… そしていつもの調子で遅れて会議開始(^^;) とりあえず、フレッシャーズ特集号は2号連続特集という方向で企画を進めておりますぅ〜
 さて、次は増刊増刊。再校を山のように返す!!! これでほとんど終わり? あ!CD-ROM!!


●2004年12月に戻るのだ

●2005年 2月を読むのだ


(M)のページにもどる

Interfaceのページへワープする!