« “Lチカ”は水に沈めても点滅するか? | トップページ | 超高精度SPIバスRTC(リアルタイムクロック)DS3234Sは一ヶ月に0.2秒進む »

2016年2月20日 (土)

セット優先RSフリップフロップとリセット優先RSフリップフロップ(RS-FF)

二つのGPS受信モジュールの1PPSの出力タイミングがどのくらい違うとか、GPS/1PPSとJJY/秒信号のタイミングの差を調べたいということがあります。

Test_2

ここでt1を知りたいわけです。

  
=========
 
以前エクスクルーシブORを利用する方法を試しました。
Test01

これは簡単な回路で実現できるので使いやすいのですが問題が二つあります。

1. Aが先だかBが先だかわからない。
2. フォーリングエッジの差(上図のt2)も検出されてしまう。

AとBの順序が決まっているケース(例えばGPS/1PPSとJJY/秒信号)もあって目的によっては1.は問題にならないのですが、2.は必ずマスクする必要があり状況に応じた対策が必要になります。

--------

A.、B.のパルス幅が狭ければRSフリップフロップが使えます。
Test02_2


この方法がA.とB.のパルス幅が広いときも使えればいいのですが、ふつうのRSフリップフロップだとちょっと問題があります。A.とB.の双方がHighになることが禁止されているからです(禁止されているというより、そうなるとフリップフロップの動きではなくなるということでしょう。双方Highになったら絶対ダメというわけではないです。でもこれは考え始めるとだんだん話がややこしくなります)

これもA,とB,が逆になるとタイミングの差がわからなくなるのですが、少なくともA.とB.のどちらが先かというのは確実にわかります。

--------

ではどうすればいいのかというのを自分なりに考えていたのですが、これに対する解決法はちゃんとありました。誰でもそういうのがほしいと思うはずで、それを私が見つけられなかったのは単に“RSフリップフロップ”でググっていたからです。

解決法にはちゃんと名前が付いていてセット優先RSフリップフロップとかリセット優先RSフリップフロップとかいいます。

これについては例えば以下に詳しい説明があります。

  電気通信大学 情報理工学研究科 佐藤研究室 - 論理回路学 - 6. 順序回路

これを実際に作るとするとこんな回路になります。

セット優先RSフリップフロップ
Rsset

リセット優先RSフリップフロップ
Rsreset

この二つは図を上下逆さまにすればわかるように同じものです。使い方が違うだけです。

これを使うと次のようになります。
Test03

ということでこれから最初に書いたようなことをいろいろやってみたいと思い作ってみました。
Imgp14051000

赤色のLEDはQがHighのとき光ります。右側の74HC00がRS-FFで左側はアナログ的な入力(例えばJJYの受信出力)用のコンパレータNJM2903です。ふつうコンパレータは基本オペアンプなので遅延が大きく注意が必要です。

Imgp14061000

緑色のLEDは/QがHighであることを示します。セットとリセットの入力を入れ替えると、出力のQと/Qも入れ替わりセット優先RS-FFからリセット優先RS-FFになります。

---------------------------

関連

  GPS受信モジュール1PPS対決 - GE-612T vs GM-5157A
  「
GPS受信モジュール1PPS出力・巴戦 - NEO6M-ANT-4P * GE-612T * GM-5157A

  「
超高精度SPIバスRTC(リアルタイムクロック)DS3234Sは一ヶ月に0.2秒進む

  「過去記事の一覧(測定、電子工作、天文計算)

  「測定対象別記事一覧(測定、電子工作、天文計算)

« “Lチカ”は水に沈めても点滅するか? | トップページ | 超高精度SPIバスRTC(リアルタイムクロック)DS3234Sは一ヶ月に0.2秒進む »

趣味の電子工作」カテゴリの記事

コメント

フリップフロップにこういった種類があることすら全然知りませんでした(ってアナログは他も知らないことばかりですけど^^;)。
これならどちらのタイミングが早いかわかるわけですね。
私が今回入手したMediaTekのGPSモジュールはNMEA3.01らしいんですが、まったく研究していません。メッセージ中の時刻はやっぱり直前の1PPSを表しているのか気になるところです。

先月のトラ技のGPS特集で気付いたのですが、1PPSはGPSモジュールのクロックで一番近いタイミングで出力する(言われてみれば当然ですが^^;)とのことなので、例えば1MHz動作なら1μs/2の誤差があることになりますよね。長時間測定して均せば問題ないのはわかりますが、目からうろこでした^^。

GPSも精度を極めようとするといろいろ出てきますね。
u-blox 6の場合内部のクロックは48MHzのようです。分解能20nSということになりますが、スペック上は Signal Accuracy <60ns (99%) とあり、そこまでは行けてないようです。
今回のリセット優先RS-FFの製作目的もじつはそのあたりをはっきりさせようというところにあります。
メッセージの時刻はデータシートに明記してあるかもしれません。u-blloxはそうでした。
以前拝見した記事からすると一つ前の1PPSの時刻を出力するのは規約違反(?)なんでしょうが。

この記事へのコメントは終了しました。

トラックバック

« “Lチカ”は水に沈めても点滅するか? | トップページ | 超高精度SPIバスRTC(リアルタイムクロック)DS3234Sは一ヶ月に0.2秒進む »

フォト

サイト内検索

  • 記事を探されるんでしたらこれがいちばん早くて確実です。私も使ってます (^^;; 検索窓が表示されるのにちょっと時間がかかるのはどうにかしてほしいです。

新着記事

リンク元別アクセス数

  • (アクセス元≒リンク元、原則PCのみ・ドメイン別、サイト内等除く)

人気記事ランキング

  • (原則PCのみ、直近2週間)
無料ブログはココログ