Semua orang tahu tentang sistem koordinat satelit. Mereka juga memberi tahu Anda kecepatan dan waktu saat ini. Atas dasar sistem seperti itu, server waktu yang tepat dibangun, yang telah disebutkan berkali-kali di sini, dan tidak hanya di sini. Keakuratan sistem ini tumbuh, harganya jatuh, singkatnya, kemajuan tidak berhenti. Tampaknya baru-baru ini masalah milidetik, dan sekarang mikrodetik tidak mengejutkan siapa pun. Dan hari tidak jauh ketika ...
Jujur, hari ini sudah datang untukku. Belum lama berselang, informasi menarik perhatian saya bahwa salah satu produsen untuk modul-modulnya menjanjikan keakuratan interval sinyal keluaran PPS dari urutan puluhan nanodetik.
Dengan kata lain, standar kedua muncul dengan akurasi yang sangat baik. Benar, ini tidak selalu ada, dan sering kali tergantung pada keadaan eksternal, tetapi Anda dapat mencapai kondisi yang menguntungkan dan mendapatkannya. Dan, yang paling penting, cara menyalin diri sendiri.
Untuk berjaga-jaga, saya melihat bagaimana keadaan dengan produsen lain yang memiliki produk serupa dan menemukan spesifikasi teknis yang sama. "Tren, bagaimanapun," sebuah pikiran melintas di benakku, kira-kira, seperti Shtirlits. Itu perlu untuk melakukan sesuatu.
Pembaca yang tahu cara menyolder resistor dari papan sirkuit tercetak atau cara menyolder sirkuit mikro dan bahkan tahu cara melakukannya, secara mental setuju dengan saya bahwa memiliki pengukur frekuensi yang memastikan akurasi 7-8 digit di rumah tidak akan pernah sakit. Apalagi jika itu memakan sedikit ruang, dan Anda tidak perlu meminjam banyak uang untuk membelinya. Dan mereka yang tidak suka berhenti berpikir dapat memikirkan arloji yang keliru selama beberapa detik setahun (dalam digit ketujuh, Clara). Penggemar komunikasi radio amatir mungkin akan mengingat desain filter pita sempit buatan rumah yang bagus pada resonator kuarsa.
Hal pertama yang harus dilakukan adalah menemukan perangkat keras yang tepat. Saya menyukai papan evaluasi sederhana dengan modul Teseo-LIV3F kecil dari perusahaan terkenal. Seperti apa penampilannya.

Benda ini dijual dengan antena aktif jarak jauh, yang dapat dipasang lebih dekat ke jendela sehingga satelit dapat "melihat" dengan baik. Jumper ditempatkan di papan seperti yang diperlukan untuk mendongeng lebih lanjut dan pemrograman yang sukses. Foto ini juga berisi perbaikan sirkuit dalam bentuk dioda tunggal dengan kecepatan baik.
Skema perbaikan akan ditunjukkan di bawah ini. Pabrikan asalkan papan ini dapat dimasukkan ke papan evaluasi Nucleo yang sesuai dengan mikrokontroler di papan (sebenarnya, ini adalah konektor untuk Arduino, tetapi saya tidak ingin meninggalkan dengan 32 bit). Dalam deskripsi modul GPS / GNSS itu sendiri, saya menemukan yang berikut ini.

Ini sangat bagus dan dapat berfungsi sebagai pendekatan pertama ke penghitung frekuensi yang baik. Sekarang saya memiliki interval kedua yang sangat akurat, dan saya dapat menghitung frekuensi osilasi, misalnya, osilator kristal saya sendiri yang dikontrol secara termostatis. Dan bahkan, mungkin, menyetelnya ke arah yang diperlukan untuk dirinya sendiri. Mungkin nanti, mungkin. Sementara itu, saya ingin mengukur frekuensi resonator kuarsa yang terakumulasi dalam perekonomian.
Papan seri Nucleo yang cocok dibangun di atas STM32L476RG. Muncul tanpa resonator kuarsa (jam tidak masuk hitungan). Di bawah foto menunjukkan panah di mana elemen yang hilang harus disolder.

Opsi papan ini dipilih karena tiga alasan. Pertama, generator mikrokontroler dengan resonator eksternal beroperasi dari 4 hingga 48 MHz. Tidak semua papan mikrokontroler Nucleo memiliki toleransi seperti itu. Kami akan menjalankan generator ini dengan kuarsa kami. Kedua, port serial (UART) dapat clock dari generator RC built-in yang terpisah dengan akurasi 1% pada frekuensi 16 MHz. Oleh karena itu, tidak perlu mengubah pengaturan dan pembagi dalam konfigurasi UART dengan perubahan frekuensi generator eksternal. Dan yang paling penting, tempat untuk pemasangan di dinding disediakan untuk resonator kuarsa, di mana Anda dapat memasang konektornya agar tidak menyolder resonator berikutnya setiap kali.
Port serial sudah terhubung ke port USB virtual di on-board debugger. Jadi, Anda dapat menggunakan emulator terminal untuk menampilkan informasi. Setelah menyelesaikan dan memasang dua memo untuk kuarsa dari konektor collet, papan terlihat sebagai berikut.

Sekarang kita perlu memulai timer tepat satu detik, dan itu akan menghitung pulsa dari jam sistemnya, yaitu frekuensi resonator kuarsa kita. Untungnya, timer menyediakan mode di mana itu secara bersamaan diatur ulang dan dimulai dari tepi naik dari pulsa eksternal.
Saya langsung ingin membuatnya agar tidak rata-rata pengukuran beberapa detik, tetapi untuk mengukur frekuensi dalam sepuluh detik, yaitu, lebih akurat. Untuk ini, pada kenyataannya, diperlukan untuk menambahkan dioda ke rangkaian dan mendukung ide ini secara terprogram. Penyempurnaan sirkuit ditunjukkan di bawah ini.

Diagram berikut menunjukkan cara membuat interval sepuluh detik dari satu detik.

Sinyal PPS disuplai ke timer melalui dioda, dan langsung ke input interupsi eksternal tambahan. Dalam interupsi dari timer, interupsi eksternal diperbolehkan, yang, menghitung hingga sepuluh, melarang dirinya sendiri dan mengubah resistor pull-up dari atas ke bawah.
Panah merah menunjukkan saat-saat dari operasi penghentian waktu, dan hijau menunjukkan saat-saat dimulainya gangguan eksternal, sesuai dengan yang dipertimbangkan interval kedua yang diperlukan. Biru menunjukkan resistor pull-up on-off. Proyek itu dibuat di IAR dan Anda bisa melihatnya di sini . Foto di bawah ini menunjukkan hasil program pengontrol bersama dengan emulator terminal, yang menunjukkan kondisi mapan.

Untuk melihat grafik, dan bukan garis kering dari nilai frekuensi, saya harus membuat utilitas kecil untuk Windows. Bangkai nya berada di tempat yang sama dengan proyek firmware.
Semua percobaan dilakukan sesuai dengan skenario yang sama. Sebelum pengukuran, papan dibiarkan selama lima belas hingga dua puluh menit di lemari es, di mana itu sedikit di bawah nol. Kemudian secara alami dipanaskan sampai suhu kamar selama setengah jam. Kemudian papan dan resonator menerima udara hangat dari pengering rambut selama beberapa menit (di sini kondisi yang sama tidak berhasil).
Resonator yang baik berperilaku baik, yaitu, sesuai dengan ketergantungan suhu pada AT kristal. Grafik ini (atau banyak salinan?) Mudah ditemukan di internet. Hasil pengukuran tiga resonator pada 16 MHz ditunjukkan di bawah ini.

Kemudian ternyata ada pengecualian untuk gambaran perilaku yang biasa. Data di bawah ini menunjukkan dua kristal kuarsa dari jenis yang sama dan, kemungkinan besar, dari asal yang sama, yang berperilaku berbeda.

Pada resonator, yang berperilaku seperti biasa, saya hanya bernapas sedikit, dan yang kedua memutuskan untuk memanaskan lebih banyak, karena itu menunjukkan dirinya berbeda. Betapa mudahnya untuk melihat ketergantungan suhu dia atau bergeser, atau hanya yang lain.
Pengamatan lain yang menarik. Setelah terpapar suhu, resonator tidak kembali ke nilai frekuensi sebelumnya, atau saya tidak punya kesabaran untuk menunggu. Bagaimanapun, tidak masalah jika Anda tidak peduli dengan tanda-tanda setelah keenam.
Berikut ini pengamatan lain. Ini adalah resonator satu dan sama, yang harus diukur dua kali, karena itu menyebabkan kejutan. Saya belum menemukan penjelasan untuk perilaku seperti itu dan belum muncul.

Akan bermanfaat untuk menghilangkan ketergantungan suhu individual dari frekuensi untuk resonator individu. Kemudian Anda dapat membuat generator interval kedua yang sangat stabil menggunakan sensor suhu yang baik dan mengetahui kurva suhu resonator. Namun, ini sudah membutuhkan ruang panas. Saya ingin tahu sensor suhu mana yang dapat dianggap baik hari ini?