アダルト・ヴァイオリン May the force be with you..

2009年11月24日

ポケコン、USB通信ケーブルを作る

Filed under: Weblog — い~ぐる @ 9:22 PM


秋月電子のFT232RL基板(通販コード:K-01977)とL型ピンヘッダを用いて、ポケコン用のUSB通信ケーブルを作った。

結果として安定稼動しているが、教えていただいた参考リンクにあったシャープの旧モデルの回路図で少々はまった。

普通、GNDが+5Vで、VGGが0Vとは読まないよなぁ。。
VGGと書いているのをVCCだと読み間違え、電源を逆につないでいた。
(壊れなくて良かった)

FTPROGをダウンロードし、インタフェース信号を負論理に変更し、TeraTERMで接続すると、無事に通信可能である。

ファイルのアップロード時にCtrl-Zを入れないと通信が終了しないのはご愛嬌だが、これで、PCでファイルを作成可能なのはうれしい。ROMダンプをPCに送れば、解析が必要になった場合には、逆アセンブルもできる。

送信割込みを使うと、約1mSのタイマを作れるなぁ。。(精度がないから制御には使えないけれど)などと、考えながら半田付け。

送信・受信のピンを逆にしたり、いろいろあったけれど、とりあえず完成。

2009年11月21日

ポケコン(PC-G850VS)来る

Filed under: Weblog — い~ぐる @ 9:58 AM


武善さんから、ポケコンが到着した。

え~っと、これが入るポケットってどんなんよ?(これから冬場だからコートのポケットには入るかもしれないけど 

早速、マニュアルを見ているけれど、興味深い機能が多い。

ただ、やりたいことをするには、時間を計る機能が必要なのに、これがポケコンのマニュアルからはどうしても見つからない。

ネットで検索すると、IPポート 14H が1秒タイマらしい。この周期をプログラムを使って測ってみると、(ストップウォッチがないので厳密じゃないけど)、大体、1秒周期で、デューティーは50%になっているみたい。

これを使えば、できないわけではないけれど、ポーリングしないといけないし、ちょっと1秒というのは、コンピュータには長すぎないか?

このタイマを動かすためにはタイマ割込みが内部で使われているはずなので、タイマ割り込みをトラップして、コールバックルーチンを呼び出すように出来れば、やりたいことができるはずなんだけれど、どうしたものやら。。。

タイマはBIOSが動かしているのだろうから、メモリをサーチして、14Hに出力しているルーチンのあたりを逆アセンブルして眺めてみるのがいいか?

追記:簡単なCのプログラムを作り、因みにサーチして探したら、8988番地に見つかった。
   IN A,14h
   RRA
   JNC 88C4
   OUT 14h,A
という感じになっているので、この辺りで処理していることは間違いなさそう。う~む、ディスアセンブラが欲しいところですね

普通に考えれば、タイマ割込みなんだから、割込みベクトルあたりを探せば見つかりそうだけれど、0番地からダンプして見ている限り、RST 30H, RST 38H以外のエントリはなさそう。

これだけ長く世の中に愛されているポケコンだから、さぞかし解析も進んでいるかと思いきや、ネットで検索にかかるのは、あまり深い話が載っていないような気がする? 学販専用などと言わずに、ちゃんと使えれば楽しいのだからもっと積極的に売ってみてもいいような気がするのだ。

ところで、教師用マニュアルってどうやったら入手できるんでしょうね?

2009年11月14日

ファイルディスクリプタリーク

Filed under: Weblog — い~ぐる @ 4:57 PM

sfl2vl linux non-profit版のライセンスチェックで、socketのクロースを忘れるミスがあった。お粗末。

これ、ディスクリプタリークになるのだけれど、debianで動かしているマシンでは、なぜかsocketがstraceに出てこなくて発見が遅れた。ubuntuではsocketが出ていたのだけれど、さっと眺めただけなので、きちんと追求してなかった。

商用版、Windows版、MacOSX版は、ライセンスチェックルーチンの通る場所が異なり、問題なし。

2009年11月12日

ポケコン

Filed under: Weblog — い~ぐる @ 9:45 AM

QWERTYキーボードを備え、Cとアセンブラが使えて、IOポートを持っている乾電池で動くマシンなんてのが、未だに売っているんですね~

シャープ:PC-G850VS

これで外部との通信インタフェースを持っていたら完璧なんだけれど、IOポートがあるから、自分で作れということ?。
SDカードインタフェースくらいなら簡単に作れそうなので、試してみる価値は多いにありそうだ。
(詳細情報がHPには出ていないので、どこまで使えるのか分かりませんが。。)

2009年10月31日

NSL:論理演算

Filed under: Weblog — い~ぐる @ 8:29 AM

C言語では、ブール演算と、論理演算(条件判定などに使う)を分けている。
これはCの「真」「偽」の判定が、「0以外」「0」となっていて、偽の反転は真だけれど、真の反転は偽にはならないという事情から必須。

でも、論理回路だったら、論理演算とブール演算、どちらも1ビットの信号で行なえるので、分ける必然性はほとんどないので、SFLでは分けていない。

一方、Verilogユーザから、論理演算をサポートして欲しいという要望があり、それ自体は大した手間ではないので、NSLで「!」「&&」「||」をサポートした。

これらの演算はC言語互換にしている。つまり、0が偽で、0以外が真の扱い。

2009年10月20日

10000時間

Filed under: Weblog — い~ぐる @ 7:42 AM

最近読んだ本コンサルタントの習慣術: 野口吉昭の冒頭に
10000時間――分子生物学者・福岡伸一
【「あすへの話題」08.08.21日経新聞(夕刊)】
の紹介があった。


世界的コンクールで優勝するピアニスト、囲碁や将棋の名人たち、トップアスリート。彼ら彼女らについて、ふつう私たちは半ばため息をつきつつ、つぎのように感じている。あのような人たちは天賦の才能の持ち主なのだ。われわれ凡人とはそもそもの出来が全く異なるのだと。

ところがプロフェッショナルたちの多くは皆、ある特殊な時間を共有しているのである。10000時間。

いずれの世界でも彼ら彼女らは、幼少時を起点として少なくとも10000時間、例外なくそのことだけに集中し専心したゆまぬ努力をしているのだ。

福岡氏は、天才のDNAはなく、この10000時間を費やす努力をしているかどうかが、決め手だというのだ。

この時間はどの程度かというと、一日8時間、週5日、年50週働くと、一年間で2000時間となる。これを5年続けると、10000時間となる。

従来、会社では5,6年選手が中堅・一人前となっていく時間と大体符合する。もちろん、「専心する」というのが、昨今の短期決戦ばかりの職場では難しいし、雑用の方が多い現状では、8時間の「専心する」時間をとろうとしたら、職場において、相当残業をせざるを得ないだろう。

ところで、一人前になるまで5年も6年も待っていられないというのが、近年の傾向である。諸外国では、大学生が毎日圧倒的に勉強し続けることで、おそらく、4年間で10000時間を越えると思われる。
(以前、長期研修に来た人から、学生時代に勉強ばかりで食事も満足に取らず、身体を痛める人が多いと言っていたので、それ以上やっているかも?)

日本人には、勉強というと暗記だと勘違いしている人が多いが、短期間に詰め込み、終わったら忘れる方法だけ訓練しても社会では何の意味もないのはもちろんである。

人の採用に余裕がなくなってきている今の世情では、ダメな学生を入社させないという厳しいスタンスを公言して厳密に実施していけば、学生側の意識も改革できるのかと思うが、未だに会社に損失を与えるような人材を平気で採用する会社が多いのは、まだまだ日本社会に余裕があるのかもしれない。

2009年10月12日

オーディオ用電流増幅アンプ

Filed under: Weblog — い~ぐる @ 8:58 AM


D氏より、JLHアンプの紹介を受け、回路を眺めていたが、気に入らない点がいくつかあったので、独自に改良してみた。

実は、JLHアンプの記事をいくつも紹介されたのだけれど、記事を読むより、回路を読んだほうが楽しいので、記事は全く見ていない。

結局、JLHアンプのキーポイントは、A級動作のアンプというよりは、電流アンプなのだ。で、電流アンプなのに、電圧フィードバックを電流回路に入れているのが、一番気に入らない点。

なので、差動アンプとカレントミラーを組み合わせたVI変換機を作成し、フィードバックを差動アンプに電圧で入れることにした。

シミュレーションでは、きれいに動きそうな結果が出ている。
果たして、実力はいかに・・・

2009年10月3日

歴史的システムのFPGAによる蘇生

Filed under: Weblog — い~ぐる @ 8:07 AM

Lake Tahoeで行なわれるコンピュータ設計の学会ICCD2009での発表準備中。
発表タイトルは表題の通りで、実は招待講演である。(物好きは世界中にいるらしい)

タホ湖ってどこ?から始まり、航空券の手配、宿の手配、ESTAの登録など、最低限のことは、なんとか済ませてきたが、月曜の発表なのに、まだ、プレゼン資料は半ば。

母親が見たら、「何でいつもあなたはギリギリなの?」と小言を言われそうだ :-O

でも、アメリカと日本には時差がありますから 🙂

2009年9月29日

シリアル通信モジュールの例題

Filed under: Weblog — い~ぐる @ 7:04 AM

私が、最近、for文だの、なんだのとごちゃごちゃやっていたのは、
次のようなモジュールの記述をするためです。(自分でも書き下ろしただけで未確認)
このモジュールは調歩同期(RS232C)の送信モジュールです。
こういった記述ができると、ずいぶん分かりやすいと思ってますが、どうでしょう?


細かな話をすると、送信を開始するときには、start信号とdiをセットします。
外部に、タイマモジュールを用意し、ackが入ったら、送信タイミングごとに
sckが入るとしています。送信終了すると、finが出てくるので、この信号で、タイマモジュールを止めます。

module sout {
input di[8];
output so;
func_out ack,fin;
func_in start;
func_in sck;
reg r;
proc_name put_so(r);
function start seq {
reg i[4], td[8];
{td:=di; ack();}
put_so(0b0);
for(i:=0x0;i<0x8;i++) {
put_so(td[i]);
}
put_so(0b1);
fin();
}
proc put_so {
so = r;
if(sck) finish;
}
}

2009年9月27日

NSL: for文とwhile文

Filed under: Weblog — い~ぐる @ 9:22 AM

seq構文の中で、ステップ実行を行うようにして、goto文も使えるようにしたので、これを拡張して、for文とwhile文も使えるようにした(はず)。

Alpha版の sfl2vlwin-20090927.msi からのサポート。

SFL2VL配布ページにて、ダウンロード可能。

« Newer PostsOlder Posts »

Powered by WordPress