古いカウンタの心臓手術
2014-07-27
古いカウンタの安定度、とある処置をしたら少々マシになりました。

しかぁ~し
結局は筐体内温度(TCXO付近の温度)が44度近くまで上がってしまうため、この後の周波数推移はダラ下がりの一途・・・これでは意味がありません
さて、こうした特性のサンプルを採っていると、毎回少し違う結果が得られることが判りました。
◆ 温度の安定点の中心が測定する毎に変化し、38℃~41℃の間で一定にならない
◆ 毎回、測定される発振周波数が数Hz~十数Hz違ってしまう
上記2つの特性(って言うのかな
)によって、結局どんな処置を施しても無意味な感じがしてきました
特に後者・・・これは、測定の度に一旦装置自体の温度を下げるべく電源落とし&ふた開けをして適当に温度が下がったところから再開すると、『同一温度でも発振周波数が異なる』という異状を示すんです。それも、数十Hz違っていたり・・・
これでは、どんな対策を打っても的を射た処置にはなりませんよね・・・。
そこで「最終手段の部品」が届くのを待つ間(そんな対策があるんだったら、放っておけば良いんですが・・・)、一旦取り出してみた本装置の心臓部「TCXO」をちょっと分解してみることにしました。

ちょっとピンぼけですが、内部の様子はわかりますね。真ん中の黒いのは多分サーミスタだと思います。左上で向こうを向いているのが15pFのセラコン・・・頭が橙ですから、-150ppmの特性のものだと思います。

水晶を外してみました。発振用のトランジスタ(水晶の手前に写っている黒い奴)と波形整形用のNANDゲート(JRCのLS00M)が見えます。まぁ、想像通りの構成部品です。
折角ここまで分解したんで(
)、不安定要因を「水晶の惚け」と踏んで手持ちの10MHz水晶と換装して安定度を比較。 しかし、結果はやはり殆ど変わりませんでした。

或いは、取り外し⇒取り付けで元気を取り戻したかも・・・と、元の水晶で再測定しても変わりませんでしたから、やはり水晶が・・・云々ではなさそうです。

結論から述べると、今の「大型三端子レギュレータの余熱利用」では、40度付近で安定した「発振環境」を作り出すのはちょっと難しく、「OCXOモドキ」を作らざるを得ないかなぁ・・・というのが最終処置になりそうです。ひとまず、「最終手段の部品」が到着するまで、古いカウンタはバラバラのままにしておきましょうかね。

しかぁ~し


さて、こうした特性のサンプルを採っていると、毎回少し違う結果が得られることが判りました。
◆ 温度の安定点の中心が測定する毎に変化し、38℃~41℃の間で一定にならない
◆ 毎回、測定される発振周波数が数Hz~十数Hz違ってしまう
上記2つの特性(って言うのかな



そこで「最終手段の部品」が届くのを待つ間(そんな対策があるんだったら、放っておけば良いんですが・・・)、一旦取り出してみた本装置の心臓部「TCXO」をちょっと分解してみることにしました。

ちょっとピンぼけですが、内部の様子はわかりますね。真ん中の黒いのは多分サーミスタだと思います。左上で向こうを向いているのが15pFのセラコン・・・頭が橙ですから、-150ppmの特性のものだと思います。

水晶を外してみました。発振用のトランジスタ(水晶の手前に写っている黒い奴)と波形整形用のNANDゲート(JRCのLS00M)が見えます。まぁ、想像通りの構成部品です。
折角ここまで分解したんで(


或いは、取り外し⇒取り付けで元気を取り戻したかも・・・と、元の水晶で再測定しても変わりませんでしたから、やはり水晶が・・・云々ではなさそうです。

結論から述べると、今の「大型三端子レギュレータの余熱利用」では、40度付近で安定した「発振環境」を作り出すのはちょっと難しく、「OCXOモドキ」を作らざるを得ないかなぁ・・・というのが最終処置になりそうです。ひとまず、「最終手段の部品」が到着するまで、古いカウンタはバラバラのままにしておきましょうかね。
古いカウンタ内部の様子
2014-07-23
今日はかなり早めの帰宅となりました。早速、格闘中の周波数カウンタの安定度調査についてまとめておきます。
このカウンタのカタログスペックでは、通電後1H経過時点を基準として云々しています。前の持ち主の方が「不安定だぁ」と判断されていたのは、いわゆる「暖機」が済んで安定していてもよさそうな頃合いでの変動・・・即ち、通電から1H程経っても落ち着かないというところだと思います。
この検証は、通電しながら内部温度の上昇具合を見て吟味すればOK
これなら、我が貧弱な測定器達でも何とかなりそう・・・ということで、TCXOの上に温度計のセンサを貼り付けて筐体の外に引っ張り出し、時間、温度、周波数の関係をトレースしてみることにしました。
測定対象は、例の「我が家標準の10MHz」です。これを基準として、測定周波数がどう動くのか・・・を見ることで、カウンタ内のTCXOの安定度を確かめようという試みです。ですから測定結果は、TCXOの周波数と温度の変動関係を逆に捉えることになります。

まずは通電5分過ぎ辺りに最初の変曲点があります。筐体の内部温度としては33度くらいでしょうか。ただ、こんなところで安定するような上昇度合いに非ず、温度はまだまだ上がっていきました。
通電から30分ほどのところで、温度の上昇具合に比してかなりなだらかな発振周波数の変位・・・いわば「温度補償が利いているポイント」に差し掛かります。グラフの読み取りで、大凡39℃から41℃辺り・・・ここらで温度上昇が止まってくれれば御の字なんですが、40分を過ぎてもさらに上昇
そして、それまで上昇方向に動いていた周波数が急降下し始め、時を追う毎に「線形」に近い形で落ちて行ってしまいました
このときの室温は27.5℃前後。多分、カタログスペックとしては「室温25℃」をモデルに書いているはずですから、2.5℃程度高めです。ひょっとするとこの分が筐体内の温度をさらに押し上げ、折角温度補償が利いていそうなポイントを超えてしまっている・・・まぁ、ざっとこんなところかも知れませんが、ちょっと残念な結果ではあります。それに、もしもこれが真冬の室温だったら、それこそ内部温度がここまで上昇するかも謎です。やはり、何らかの策を講じて、もう少し安定に動作させたいところです。
一方で、温度補償が利いていそうなポイントを39-41℃と見立てると、この間の安定度は、発振周波数10MHzに対して「±0.05ppm」(2℃の帯域中に1Hz以下の変動)という表現ができます。これは、かなり優秀な結果であると思いますから、この辺りを上手く利用できれば「飲み会1回程度の金額でも価値あるジャン測」・・・と言えそうです。
解決策は幾つか考えられそうです。少しずつ、楽しみながら「改善」したいと思います
このカウンタのカタログスペックでは、通電後1H経過時点を基準として云々しています。前の持ち主の方が「不安定だぁ」と判断されていたのは、いわゆる「暖機」が済んで安定していてもよさそうな頃合いでの変動・・・即ち、通電から1H程経っても落ち着かないというところだと思います。
この検証は、通電しながら内部温度の上昇具合を見て吟味すればOK

測定対象は、例の「我が家標準の10MHz」です。これを基準として、測定周波数がどう動くのか・・・を見ることで、カウンタ内のTCXOの安定度を確かめようという試みです。ですから測定結果は、TCXOの周波数と温度の変動関係を逆に捉えることになります。

まずは通電5分過ぎ辺りに最初の変曲点があります。筐体の内部温度としては33度くらいでしょうか。ただ、こんなところで安定するような上昇度合いに非ず、温度はまだまだ上がっていきました。
通電から30分ほどのところで、温度の上昇具合に比してかなりなだらかな発振周波数の変位・・・いわば「温度補償が利いているポイント」に差し掛かります。グラフの読み取りで、大凡39℃から41℃辺り・・・ここらで温度上昇が止まってくれれば御の字なんですが、40分を過ぎてもさらに上昇


このときの室温は27.5℃前後。多分、カタログスペックとしては「室温25℃」をモデルに書いているはずですから、2.5℃程度高めです。ひょっとするとこの分が筐体内の温度をさらに押し上げ、折角温度補償が利いていそうなポイントを超えてしまっている・・・まぁ、ざっとこんなところかも知れませんが、ちょっと残念な結果ではあります。それに、もしもこれが真冬の室温だったら、それこそ内部温度がここまで上昇するかも謎です。やはり、何らかの策を講じて、もう少し安定に動作させたいところです。
一方で、温度補償が利いていそうなポイントを39-41℃と見立てると、この間の安定度は、発振周波数10MHzに対して「±0.05ppm」(2℃の帯域中に1Hz以下の変動)という表現ができます。これは、かなり優秀な結果であると思いますから、この辺りを上手く利用できれば「飲み会1回程度の金額でも価値あるジャン測」・・・と言えそうです。
解決策は幾つか考えられそうです。少しずつ、楽しみながら「改善」したいと思います

ジャン測の中の見慣れたアイツ・・・
2014-07-21
多忙と各種イベントが重なり、随分と交信・・・じゃなくて更新(交信もですけどね
)をサボってしまいました
ここ数週は梅雨に翻弄され、それでも仕事の合間に秋葉に買い出しに行くなど、寸暇を紡いで「工作系」はちょびっとずつ・・・と言いたいところですが、結局買い物をしただけに終わっています。そんな中、ちょっと気がフレて(
)、禁断の「ジャン測」を入手しました。
今、正に「自分的な旬」と言えば周波数カウンタ・・・これ、自作を画策していたんですが、手頃なものがオークションに出ていたため、「はて、メーカー製品はどんなじゃろうか
」と思い、それこそ瞬間的な判断でポチッとな・・・。
この器械、そもそも持ち主の方が「不安定なのよね・・・」と書いてござって、それこそ「実用に耐えるのか」という部分は謎だったんですが、20年ほど前の器械故、回路図辿っていけば何とかなるべ・・・と、飲み会1回分程度の費用で入手しました。そして、確かに「仰る通り」の塩梅。なるほど不安定・・・と判断し、早速、開腹手術となりました。「にわか医師」としては、どこぞが病巣かを知っておく必要があるんですが、まぁとりあえず開けて見たところ、何やらよく見た形のブツを発見

NDKの古めかしいTCXOを発見しました。型番でネット検索しても、既に情報は見つからず・・・。その上、電源のヒートシンク前に鎮座するあたり、温度管理が「余熱任せ」ときたもんだ
我が家の赤い周波数カウンタも、熱源としてカウンタLSIを「前向き」に使ったものですから、TCXO辺りを頼りにする器械では定石なのかな
どんな風に不安定なのかは、もう少し調べが進んだら(
)ご紹介しますが、分解ついでにちょっと外してみました。

何の変哲も無い「The TCXO」です。ふたを開けてみましたが、それこそ普通~のもの。ゲジゲジが一匹いましたから、TTL出力に違いない・・・と思いつつ波形を見てみましたが、これも全く面白みがありませんでした。
不安定の原因は、こいつの経年変化による不具合・・・というのが今の見立てです。筐体内温度のピークより下に変曲点があり、筐体がある程度落ち着いてきても発振周波数は下がる一方
これでは流石に安定した測定はできないなぁ・・・と、ここまでは追跡済みです。とは言え、10Hz以内の変動の話ですから、このままでも気をつけて使う分には「まだまだイケる」と思います。
そもそも、TCXOの安定度から考えても「そんなに悪くはないなぁ」と思うものの、カタログスペックからは少し脱落気味ですから、この辺りをもう少し詰められたら発表したいと思います。まぁ、誰の役にも立たんだろうけど


ここ数週は梅雨に翻弄され、それでも仕事の合間に秋葉に買い出しに行くなど、寸暇を紡いで「工作系」はちょびっとずつ・・・と言いたいところですが、結局買い物をしただけに終わっています。そんな中、ちょっと気がフレて(

今、正に「自分的な旬」と言えば周波数カウンタ・・・これ、自作を画策していたんですが、手頃なものがオークションに出ていたため、「はて、メーカー製品はどんなじゃろうか

この器械、そもそも持ち主の方が「不安定なのよね・・・」と書いてござって、それこそ「実用に耐えるのか」という部分は謎だったんですが、20年ほど前の器械故、回路図辿っていけば何とかなるべ・・・と、飲み会1回分程度の費用で入手しました。そして、確かに「仰る通り」の塩梅。なるほど不安定・・・と判断し、早速、開腹手術となりました。「にわか医師」としては、どこぞが病巣かを知っておく必要があるんですが、まぁとりあえず開けて見たところ、何やらよく見た形のブツを発見


NDKの古めかしいTCXOを発見しました。型番でネット検索しても、既に情報は見つからず・・・。その上、電源のヒートシンク前に鎮座するあたり、温度管理が「余熱任せ」ときたもんだ


どんな風に不安定なのかは、もう少し調べが進んだら(


何の変哲も無い「The TCXO」です。ふたを開けてみましたが、それこそ普通~のもの。ゲジゲジが一匹いましたから、TTL出力に違いない・・・と思いつつ波形を見てみましたが、これも全く面白みがありませんでした。
不安定の原因は、こいつの経年変化による不具合・・・というのが今の見立てです。筐体内温度のピークより下に変曲点があり、筐体がある程度落ち着いてきても発振周波数は下がる一方

そもそも、TCXOの安定度から考えても「そんなに悪くはないなぁ」と思うものの、カタログスペックからは少し脱落気味ですから、この辺りをもう少し詰められたら発表したいと思います。まぁ、誰の役にも立たんだろうけど

PIC16Fシリーズのタイマ0の動作
2014-07-06
仕事の多忙に加え、またしても填まってしまったゲームに余暇を費やしてしまい、無線系に割く時間が短い状況です。GPSモニタのソフトについてはボチボチ完成しそうなんで、適当にブレッドボードに組んでデバッグしてしまいたいところなんですが、ついついゲームパッドに手が行ってしまいます・・・年甲斐も無く
幾つか覚え書きしておきたいことを得意のパワポで書き出していますが、GPSモニタの次に着手するであろう周波数カウンタ・・・まぁ、この構想も幾つかバリエーションがあるんでどういう風に進んでいくか自分でも謎ですが、PIC16Fシリーズで実現する場合に関わりそうな部分を今回の「公式備忘録」(=このブログの記事)にしました。
まず、PIC内蔵のタイマで周波数を測定する場合、タイマ0かタイマ1をカウンタとして使いますが、タイマ0は固定的に内部クロック(システムクロック)と同期カウントさせるような仕掛けになっていることから、プリスケーラなしでは数MHz程度までしか測定できません。
一方のタイマ1は、この内部同期を取る・取らないの選択ができ、同期を取らなければカタログ値でも数十MHzまでのカウントができるようです。さらにタイマ1は「カウンタ・ゲートの制御機能」を持っており、特に拡張ミッドレンジ・・・簡単に手に入るシリーズでは18xxや19xxなどのPICでは、かなりのバリエーションのゲート制御ができますから、周波数カウンタとして使うならタイマ1に軍配が上がるものと思います。
タイマ1のゲート制御方式の中に、タイマ0のカウント・オーバフローを使ったものがあります。タイマ0のオーバフローをトリガにタイマ1のカウントを停止させるこの方式を使うことで、ゲートタイムの設計を柔軟に考えることができる非常に好都合な機能なんですが、ゲートタイムとしての正確性を確保できなければ意味がありません。そこで、このタイマ0に正確なクロックを与えることが命題となります。
タイマ0に正確なクロックを与える方法は、システムクロック自体を正確なものにするか外から与えるかの二択になりますが、システムクロックをタイマ0で分周してゲートタイムを作るとすると、比較的長い時間のゲートタイム・・・例えば1秒のものは、タイマ0の分周のみでは非常に低いシステムクロック(約262KHz)となってしまい、ちょっと現実的ではありません。勿論、ソフト処理を介在させればどうにでもなるんですが、ソフトで片付けるのは余り面白くありません
・・・と、能書きは置いて(え、能書きだったの
)、タイマ0で無理なく分周でき、かつ長いゲートタイムが作れるよう、タイマ0に外からクロックを供給した場合の動作をまとめました。

実は直前の記事が伏線になっていたりします
タイマ0に与えるクロックが「2のべき乗」になっていると、分周設定が楽・・・ここでは「256Hz」を与えたことにしました。
タイマ0のT0CKIのサンプリングは、命令タイミングのQ1、Q3の立ち上がりエッジが起点となります。Q1で認識されたもの(図中の黄色)は3クロック後のQ4、Q3で認識されたもの(図中のオレンジ)は5クロック後・・・つまり次の命令タイミングのQ4ということになります。また、あまりに短いパルスは認識できませんが、この辺りの詳細は各PICのデータシートに記載されています。
図では、前提となっている「★」の条件にした場合65ns程度の遅れが生じることから、多分「Q3で認識される」という様子をオレンジで示しており、この65nsの遅延は常に同じですから、タイマ0のカウントアップも常に同じタイミングで起きる・・・という解釈をしています。
以上、これまた自分にしか必要の無い備忘録でした。

幾つか覚え書きしておきたいことを得意のパワポで書き出していますが、GPSモニタの次に着手するであろう周波数カウンタ・・・まぁ、この構想も幾つかバリエーションがあるんでどういう風に進んでいくか自分でも謎ですが、PIC16Fシリーズで実現する場合に関わりそうな部分を今回の「公式備忘録」(=このブログの記事)にしました。
まず、PIC内蔵のタイマで周波数を測定する場合、タイマ0かタイマ1をカウンタとして使いますが、タイマ0は固定的に内部クロック(システムクロック)と同期カウントさせるような仕掛けになっていることから、プリスケーラなしでは数MHz程度までしか測定できません。
一方のタイマ1は、この内部同期を取る・取らないの選択ができ、同期を取らなければカタログ値でも数十MHzまでのカウントができるようです。さらにタイマ1は「カウンタ・ゲートの制御機能」を持っており、特に拡張ミッドレンジ・・・簡単に手に入るシリーズでは18xxや19xxなどのPICでは、かなりのバリエーションのゲート制御ができますから、周波数カウンタとして使うならタイマ1に軍配が上がるものと思います。
タイマ1のゲート制御方式の中に、タイマ0のカウント・オーバフローを使ったものがあります。タイマ0のオーバフローをトリガにタイマ1のカウントを停止させるこの方式を使うことで、ゲートタイムの設計を柔軟に考えることができる非常に好都合な機能なんですが、ゲートタイムとしての正確性を確保できなければ意味がありません。そこで、このタイマ0に正確なクロックを与えることが命題となります。
タイマ0に正確なクロックを与える方法は、システムクロック自体を正確なものにするか外から与えるかの二択になりますが、システムクロックをタイマ0で分周してゲートタイムを作るとすると、比較的長い時間のゲートタイム・・・例えば1秒のものは、タイマ0の分周のみでは非常に低いシステムクロック(約262KHz)となってしまい、ちょっと現実的ではありません。勿論、ソフト処理を介在させればどうにでもなるんですが、ソフトで片付けるのは余り面白くありません

・・・と、能書きは置いて(え、能書きだったの


実は直前の記事が伏線になっていたりします

タイマ0のT0CKIのサンプリングは、命令タイミングのQ1、Q3の立ち上がりエッジが起点となります。Q1で認識されたもの(図中の黄色)は3クロック後のQ4、Q3で認識されたもの(図中のオレンジ)は5クロック後・・・つまり次の命令タイミングのQ4ということになります。また、あまりに短いパルスは認識できませんが、この辺りの詳細は各PICのデータシートに記載されています。
図では、前提となっている「★」の条件にした場合65ns程度の遅れが生じることから、多分「Q3で認識される」という様子をオレンジで示しており、この65nsの遅延は常に同じですから、タイマ0のカウントアップも常に同じタイミングで起きる・・・という解釈をしています。
以上、これまた自分にしか必要の無い備忘録でした。