トップ «前の日記(2003年04月12日) 最新 次の日記(2003年04月15日)» 編集
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|10|12|
2009|02|03|06|07|10|11|12|
2010|01|02|03|04|07|09|10|11|12|
2011|01|03|04|05|06|07|08|10|
2012|01|06|08|09|10|12|
2013|01|02|03|04|07|09|11|12|
2014|01|03|04|05|06|09|
2015|04|
2016|01|08|
ここは旧えびめもです。えびめも2に移行します(2016/12/1)

2003年04月13日

CAT709

時計精度の実験の続きを行った。48時間電源を入れておいた条件で

ソフトウェア時計+2秒
ハードウェア時計(RTC9701JE)ほぼ正確
48時間で+2秒ということは、30日で+30秒ということだから一般的なクオーツの精度レベルであるが合格ラインぎりぎりだ。もう少し電子・機械的な精度は上だと考えられる。

SH7709のマニュアルを見てみると今のコードには2つの問題があることがわかってきた。(1)タイマーの入力クロックは上限2MHzまでであるが、現状はφP(29.4912MHz)/プリスケーラ4=7.3728MHzでオーバークロック動作(実力としては問題ない)。 (2) タイマー割り込みは、タイマ値が00000000->FFFFFFFFとアンダーフローしたときに発生すると書かれている。ということはTCORの値が0のときに1分周、1の時に2分周、73728の時は73729分周となるのではないか?

(2)について検算を行ってみる。
φP(29.4912MHz) / プリスケーラ4 / 73729 = 99.998Hz → 10.0002msec毎に割込み。つまり 0.002% 遅れるはずだ。48時間の0.002%というと 3.456秒遅れる計算となる。あれ?

計算は合わないが(A^^;; 上記(1)と(2)の問題を解決するために arch/sh/kernel/time.c に対してパッチを行った。

diff -u time.c~ time.c
--- time.c~     Sat Apr 12 02:41:20 2003
+++ time.c      Mon Apr 14 05:22:36 2003
@@ -34,7 +34,7 @@
 #include 
 #define TMU_TOCR_INIT  0x00
-#define TMU0_TCR_INIT  0x0020
+#define TMU0_TCR_INIT  0x0021   /* 2002-4-14 Y.Ebihara, it was 0x0020 */
 #define TMU_TSTR_INIT  1
@@ -453,7 +453,10 @@
 #endif
        printk("Module clock: %d.%02dMHz\n",
               (module_clock/1000000), (module_clock % 1000000)/10000);
-       interval = (module_clock/4 + HZ/2) / HZ;
+/* 2003-4-14  y.ebihara */
+       interval = (module_clock/16 + HZ/2) / HZ -1 ;
        printk("Interval = %ld\n", interval);
このカーネルで起動したところ、
Interval = 18431
という表示を得られた。検算してみよう。
φP(29.4912MHz) / プリスケーラ16分周 / (18431+1) = 100Hz
今度こそソフトウェア時計が正確になることを祈ってまた放置してみる。

サルサ

土日に大阪に行く用事があったので、土曜の夜にサルサ屋にいった。はじめは B.&W.(いちおう伏字)という店にいった。miniレッスン付\2,000/w1dr。超混みで、ざっと男10人、女20人くらい。初心者の男女が多めで今日はじめてサルサやるというグループが居た。しかーし、パーティーが始まってから、DJがフロアーの様子を見ずに早い曲、それも超スピードなテクノ系のサルサ(ヴォーカルのない曲)ばかりをかけてた。フロアーは一部、数人の達人級の人がパフォーマンスを見せる一方、曲が早すぎて全然踊れない大多数の人たちがシラケムードになり、よい雰囲気とはいえなかった。俺も数人の子を踊りに誘ったし、誘われもしたが、すんごい早い曲ばっかりで俺自身ついていけなかったし女の子も全然踊れなくて申し訳なかった(次々と早い曲しかかからない)。ロマンチックな曲やメレンゲもかからないしメリハリがなかった。まぁそれを特徴としている店ならしかたない。が、俺の個人的な感覚としてはフロアーの様子を見ずに自分の世界に浸るDJは最悪だ。二度と行かない。

次にINKAS CLUBという店にいった。Door \1,500/w1dr。ここは先ほどと違い早い曲も、スローな曲もかかりgood! というかそれくらいは普通か。今まで意識したこともなかった。フロアーは踊場とテーブルに空間が分かれていて、会話を楽しむ雰囲気もあってよかった。俺がいったときの客のスタイルはLAの人が多かったが、キューバンの男女も結構居た。またソフトドリンクなら300円と良心価格なのも○。レストランやスペイン語教室なども開かれていて丸ごとラテンのお店らしい。また行ってみたくなった。あ、そうそう、京都のアルベルトさんが来ててエルメスさんによろしく(^-^)といってた。

INKAS CLUB入り口。梅田の阪急東通商店街にある
http://los-inkas.com/