【英語学習】理解例:水晶発振器、時計

時計

https://ariya.io/2012/08/real-time-lock
这个链接有一句话:
周波数 32.768 KHz のクリスタルは、15 ビット プリスケーラーと組み合わせると良好な 1 を与えることができるため、特に便利です。クロックの Hz 信号。

ここでは、この水晶の周波数は 32.768KHz であると言われています (メモリ内の K、つまり kb、kb と混同しないように注意する必要があります)。そして、この周波数の水晶は、15 ビット プリスケーラー (プリスケーラー、信号を刺激する前に 32768 個の信号を許容できるプリセット スカラー デバイス) と組み合わせることができるため、特に有用であると言われています。この 15 ビット スカラーの最大値は、デバイスも 32768 です。したがって、1 秒あたり 1 つの信号、つまり 1Hz 信号の効果が与えられます。

したがって、このような周波数が固定された水晶を作成することが非常に重要であり、プリスケーラーの値を調整してタイマーの機能を実現できます。定期的に割り込みをトリガーします。
特に事前定義された周波数で IRQ (割り込み要求) をトリガーするように、プリスケーラーもプログラムできることに注意してください。

chatGPT: 結晶の製造プロセス

特定の周波数の結晶を製造するには、非常に洗練されたプロセスと技術が必要であり、多くの場合、特殊な機器や実験室の条件が必要です。結晶の周波数はその結晶構造と化学組成によって決まり、結晶の種類が異なれば周波数も異なります。以下に一般的な手順をいくつか示しますが、具体的な製造プロセスは水晶の種類によって異なる場合があることに注意してください。 水晶
材料の選択: まず、必要な周波数に適した水晶材料を選択する必要があります。一般的な水晶材料には、石英、シリコン、ゲルマニウムなどが含まれます。各素材には独自の固有の周波数特性があります。
結晶成長: 一般的な結晶製造方法は、結晶成長プロセスを通じて結晶を準備することです。これには通常、高温高圧の環境で適切な原材料を溶解し、結晶シード上で結晶を成長させることが含まれます。このプロセスでは、最終的な結晶が所望の周波数を持つようにするために、非常に厳密な温度、圧力、化学的制御が必要です。
クリスタルの成形と切断: 製造されたクリスタルは、周波数が要件を満たしていることを確認するために、さらなる成形と切断が必要になる場合があります。これは通常、結晶の形状とサイズを正確に制御するために精密機械によって実行されます。
分極: 一部のアプリケーションでは、結晶を分極する必要があります。これは、結晶の分子構造が特定の方向に揃っていることを意味します。これは、特定の温度と電場条件下で結晶を処理することによって実現できます。
テストと校正: 製造された水晶振動子が要求どおりに動作することを確認するには、周波数テストと校正が必要です。これには、多くの場合、特殊な検査機器や研究室の使用が必要になります。

結晶の製造は高度に専門化されたプロセスであり、多くの場合専門的な知識と設備が必要であることを強調することが重要です。特定の周波数のクリスタルが必要な場合は、要件に合わせてクリスタルをカスタマイズできる専門のクリスタル製造会社または研究所と協力することをお勧めします。同時に、特に高温、高圧、危険物を扱う場合には、関連する規制や安全ガイドラインに従う必要があります。

この時計だけでも多くの知識が必要です。

カーネル

4.99 KVM_REINJECT_CONTROL

:機能: KVM_CAP_REINJECT_CONTROL
:アーキテクチャ: x86
:タイプ: vm ioctl
:パラメータ: struct kvm_reinject_control (in)
:戻り値: 成功した場合は 0、
struct kvm_reinject_control を読み取れない場合は -EFAULT、
KVM_CREATE_PIT または KVM_CREATE_PIT2 が以前に成功しなかった場合は -ENXIO。

i8254 (PIT) には、reinject と !reinject という 2 つのモードがあります。デフォルトは再注入で、KVM は経過した i8254 をキューに入れ、i8254 が注入するベクトルからの割り込みの完了を監視します。再注入モードは、i8254 からの保留中の割り込みがない場合は常にティックをキューから取り出し、その割り込みを挿入します。!reinject モードは、ティックが到着するとすぐに割り込みを挿入します。

struct kvm_reinject_control { __u8 ピット_reinject; __u8 予約済み[31]; };


タイミングに PIT を使用する古いオペレーティング システム (Linux 2.4.x など) を実行している場合を除き、pit_reinject = 0 (!reinject モード) を推奨します。

i8254

この文章では i8254 について言及しています。これは Intel 8254 Programmable Interval Timer (プログラマブル インターバル タイマー) の略称であり、PIT とも呼ばれます。PIT はコンピュータ システムのハードウェア タイマーで、固定時間間隔でパルス信号を生成するために使用され、通常は特定の周波数で動作します。コンピュータ アーキテクチャでは、PIT には "reinject" (再注入) と "!reinject" (再注入なし) という 2 つのモードがあります。
再注入モード: 再注入モードでは、PIT は定期的にパルス信号を生成でき、各パルス信号が発行された後、タイマーは自動的にカウント値をリロード (再注入) してカウントダウンを再開します。このモードは通常、オペレーティング システムのクロック割り込みや、固定間隔で実行する必要があるその他のタスクなどの定期的な割り込みを生成するために使用されます。タイマーは外部介入なしで自動的に再トリガーされます。
!reinject (再注入なし) モード: !reinject モードでは、PIT はパルス信号を 1 回だけ生成し、その後カウントを停止します。カウント値は自動的に再ロードされないため、タイマーを再起動してパルス信号の生成を再トリガーするには外部介入が必要です。このモードは通常、1 回限りのスケジュールされたタスク、またはタイマーの手動制御が必要な場合に使用されます。

これら 2 つのモードにより、コンピュータ システムは PIT を使用して、必要に応じてさまざまな種類のタイミング操作を実行できます。どのモードを選択するかは、特定のアプリケーション要件によって異なります。一般に、「reinject」モードは定期的なタスクに適しており、「!reinject」モードは 1 回限りのタスクまたは手動で制御されるタスクに適しています。

MC146818 VS i8254

MC146818 はリアルタイム クロック (RTC) チップであり、i8254 はプログラマブル インターバル タイマー (PIT) チップです。これらはすべて、タイミングとカウントの分野のハードウェア デバイスに属しますが、機能と用途には明らかな違いがあります。
MC146818: MC146818 は、コンピュータ システムで日付と時刻の情報を追跡および維持するために一般的に使用されるリアルタイム クロック (RTC) チップです。通常、リアルタイム クロックと、システムの時刻と日付の設定やその他の構成情報を保存する不揮発性 RAM (NVRAM) メモリが含まれています。RTC チップはシステムのリアルタイム クロックを維持するために使用され、停電または再起動後にコンピューターが正確に時間を追跡できるようにします。
i8254 (PIT): i8254 (プログラマブル インターバル タイマー) は、周期的なインターバルまたはパルス信号を生成するために使用されるハードウェア タイマー チップです。これは、コンピュータ システムでの時間測定や割り込み生成、および正確な時間制御が必要なその他のアプリケーションによく使用されます。PIT チップは、単一トリガ、周期トリガなどのさまざまなタイミング要件を満たすために、さまざまな動作モードで構成できます。

MC146818 と i8254 はどちらも時間とタイミングを扱いますが、機能と応用分野は異なります。MC146818 は主にシステムの日付と時刻を維持するために使用され、i8254 は主に時間間隔とタイミングを生成するために使用されます。これらはコンピュータ システム内に共存することがよくありますが、異なる役割を果たします。

おすすめ

転載: blog.csdn.net/qq_36428903/article/details/133030591