ENTtinymachines

ベンチ

hotbits が配るのはプールで、これはそのプールが生まれるベンチだ。ガイガー管は専用の電源を持つ鋼のケースの中で数え、フォトカプラが一つひとつのカウントを光として向こうへ渡し、ケースの外の ESP32-C6 があらゆるエッジの時刻をハードウェアで記録する。そのあとでサーバーが、エッジのあいだの隔たりをビットに変える。立ち上げは NES のベンチと同じやり方で進めた: スクリプトで動かすオシロスコープ、ベンチから書き込むボード、そして一歩ごとの記録。

これらは図面の版 F だ。図面に未確認と記されたものはもうない: カウンタはシャーシの電源に一つだけつながり、エミッタは箱の外の専用アダプタで動き、検出器とフォトカプラは密閉した容器に入れてシャーシの中に置いてある。まだ確かめていないのは、シャーシが接地に結ばれているかどうかだ。

三つの場所としてのガイガー TRNG: カウンタと管の入ったケース、その外のエミッタ、そしてサーバー。そのあいだを何が渡るか。
三つの場所と、そのあいだを渡るもの: ケースの絶縁の壁を越えるのは光だけ、エミッタを出るのは TCP の流れだけ、公開されているのはウェブサーバーだけ。
図面一式の 3 枚目: カウンタ基板のコネクタをピンごとに、シャーシ電源の 5 V 線に一つだけつないで、フォトカプラの LED はコネクタの 5 V ピンと検出トランジスタのコレクタのあいだに。
ピンごとに描いたケース: カウンタ基板はシャーシ電源の 5 V 線に一つだけつながり、エミッタと何も共有しない。フォトカプラの LED は検出トランジスタのコレクタから取り、カウントが LED を灯せる。
エミッタ: ESP32-C6 ボードの捕捉ピン GPIO18 ひとつ、ケースからのリード線とそのプルアップ。
ケースの外で専用の USB 電源から動くエミッタ: ピンひとつが、立ち下がりエッジごとにカウンタを捕まえる。
管から捕捉ピンまでの信号の連なりと、プローブを当てる三つの場所。
プローブをどこに当てるか。源からピンへ向けて、一段ずつ。

図面一式、すべての図に枠と番号つき: 図面一式「Geiger TRNG emitter: the detector and an ESP32-C6 in a box」TM-TRNG-001 版 F (PDF、英語)

計器とは何か

崩壊がどうバイトになるか: カウンタ、ビット、配らないと決めるテスト、そして前に立つゲートウェイ。

  • 装置: カウントのひとつひとつをハードウェアで時刻付けするガイガーカウンタと、崩壊イベントから誰かが取得できる 1 バイトまでの連鎖。
  • ビット: 間隔のペアごとに 1 ビット。偏りは補正ではなく対称性で打ち消す。
  • 健全性テスト: 三つの時間尺度に三つの層、そして提供を拒む一つ。
  • ゲートウェイ: 開いていたエンドポイントがなぜ閉じたか、何が開いたままか、ブラウザに何が見えてよいか。

ベンチを組む

図面の上のエミッタと、組み上がったエミッタ: 図面、基板、部品、そしてどの ESP32 がどの仕事をするか。

  • どの ESP32 がどの仕事をするか NES のノートにある: Espressif のどのチップが Bluetooth のキーボードになれ、どれが USB のキーボードになれ、どれが両方か。八つについて、記憶ではなくベンダ自身のヘッダから読んだもの。パッドを P4 モジュールへ移した比較。

ベンチでの実験

信号の連なりに当てたオシロスコープ、カウンタ自身の時間がカウントにいくら掛かるか、そして源の質をどう追うか。

  • オシロスコープの使い方、ソフトウェア開発者のために NES のノートにある: 配線のためのデバッガとしてのスコープを、本物の故障で教える: カチカチ鳴っているのにファームウェアが何も数えなかったガイガーカウンター。グラウンドクリップ、ブレークポイントとしてのトリガ、信号の連鎖の二分探索、SCPI でスコープをスクリプトから操ること、そして計器そのものが間違えたいくつものやり方。