Isi kandungan:

Esp8266 Penjana Jam dan Nadi: 3 Langkah
Esp8266 Penjana Jam dan Nadi: 3 Langkah

Video: Esp8266 Penjana Jam dan Nadi: 3 Langkah

Video: Esp8266 Penjana Jam dan Nadi: 3 Langkah
Video: Cara Membuat Relay Wi-Fi ESP8266 ESP01 4 Channel | ESP01 Otomatisasi Rumah | Jarak JauhXY | FLProg 2024, Julai
Anonim
Esp8266 Penjana Jam dan Nadi
Esp8266 Penjana Jam dan Nadi

Instruksional ini adalah untuk peralatan ujian yang sederhana; penjana jam dan nadi.

Ia menggunakan antara muka perkakasan i2S pada esp8266 untuk menghasilkan jam ujian atau urutan nadi. Ini memudahkan untuk disatukan kerana tidak diperlukan perkakasan khas untuk sistem asas.

  • Penjanaan jam dari 2Hz hingga 20MHz
  • Sebarang frekuensi boleh digunakan
  • Mencari padanan terbaik pembahagi jam dan panjang bit dari jam asas 160MHz
  • Biasanya lebih baik daripada 0.1% padanan untuk frekuensi <100KHz
  • Tandakan pemilihan nisbah ruang
  • Toleransi pemadanan frekuensi boleh dilonggarkan untuk mendapatkan pengendalian ruang markah yang lebih baik
  • Penjanaan kereta nadi berdasarkan definisi dalam fail
  • GUI berasaskan web yang membolehkan kawalan dari PC, telefon, tablet
  • Pengurusan Wifi untuk membolehkan penghala awal yang mudah disediakan
  • Kemas kini perisian OTA
  • Menggunakan perpustakaan I2s khas (i2sTXcircular) yang memberikan kawalan fleksibel

Langkah 1: Perkakasan

Perkakasan
Perkakasan
Perkakasan
Perkakasan

Saya membina lombong dalam kandang bercetak 3d yang memegang bateri 18650 dengan pengecas USB, suis hidup / mati, palam pengepala 3 pin untuk isyarat output.

Kandang mempunyai slot sempit untuk memegang elektronik di sebelah bateri.

Isyarat keluar dari pin GPIO3 (RX). Ini boleh digunakan secara langsung tetapi untuk keupayaan pemacu yang lebih tinggi, saya memilih untuk memasukkan sedikit penyangga menggunakan 74LVC2G34. Saya selari kedua-dua penyangga dalam peranti ini untuk memberikan keupayaan pemacu yang lebih banyak lagi.

Semuanya dilakukan hanya dalam perisian di peranti, dan kawalan dilakukan dengan menyediakan pelayan web sehingga penyemak imbas di PC, telefon atau tablet memberikan kontrol penuh.

Langkah 2: Perisian

Untuk membina dan menyediakan perisian, gunakan kod di

  • Pasang perpustakaan i2sTXcircular (termasuk)
  • Pasang pustaka BaseSupport (https://github.com/roberttidey/BaseSupport)
  • Tambahkan perpustakaan WifiManager
  • Edit kata laluan di BaseConfig.h
  • Susun dan muat naik di persekitaran Arduino
  • Sediakan pengurusan rangkaian wifi dengan menyambung ke AP dan melayari ke 192.168.4.1
  • memuat naik set fail asas dari folder data menggunakan STA ip / upload
  • muat naik selanjutnya boleh dilakukan menggunakan ip / edit - antara muka biasa ada di ip /

Bagaimana ia berfungsi

Perpustakaan melingkar i2sTX membolehkan membina rantai penyangga bulat yang kemudian dikeluarkan secara automatik oleh perkakasan i2S pada esp8266 menggunakan DMA sehingga tidak ada overhead perisian yang digunakan begitu ia akan berjalan.

Jam asas pada peranti adalah 160MHz yang dibahagi oleh sepasang pembahagi. Isyarat output kemudian ditentukan oleh data apa yang dimasukkan ke dalam penyangga yang dihasilkan oleh jam terbahagi. Dengan memilih dua pembahagi dan dengan menggunakan beberapa bit data yang berpotensi untuk mewakili setiap nadi maka frekuensi dapat didekati dengan cukup dekat. Ini juga membolehkan kitaran tugas (nisbah tanda / ruang denyutan jam) berubah-ubah.

Kod javascript penyemak imbas cuba mengoptimumkan pilihan parameter untuk memberi padanan dengan frekuensi yang dipilih.

Walaupun tujuan utamanya adalah untuk menghasilkan jam, adalah mungkin untuk menghasilkan kereta nadi yang lebih kompleks dengan memasukkan definisi ke dalam fail nadi yang kemudian mengawal data yang akan dihasilkan dan dimasukkan ke dalam penyangga bulat. Perincian terdapat dalam contoh fail nadi yang disertakan.

Langkah 3: Operasi

Operasi dikendalikan oleh antara muka penyemak imbas yang ditunjukkan dalam gambar utama.

Untuk penjanaan jam biasa anda hanya memilih jam sasaran dan nisbah ruang tanda tanda. Jam sebenar dicapai dan kesalahannya dipaparkan. Apabila butang Hasilkan Jam ditekan maka parameter dihantar ke peranti dan penjanaan jam menggunakan parameter ini akan dimulakan.

Dengan mengklik pada bar Advanced lebih banyak perincian dapat dilihat.

Jam bit menunjukkan sub-gandaan 160MHz yang sedang digunakan.

Mark dan bit ruang menunjukkan berapa banyak bit yang digunakan untuk mewakili tanda dan ruang.

Div1 dan Div2 menunjukkan dua pembahagi yang telah dipilih untuk menghasilkan jam bit terdekat.

Biasanya kedua-dua pembahagi dipilih untuk memberikan padanan terdekat dengan frekuensi yang dipilih dan untuk memaksimumkan jumlah bit data yang digunakan yang membantu memberikan lebih banyak fleksibilitas dalam memungkinkan putaran tugas yang berlainan. Namun, kadangkala perlawanan terbaik menghasilkan jumlah bit yang rendah sehingga tidak banyak ruang untuk mengubah kitaran tugas. Dengan mengubah nilai toleransi%, pembahagi akan dipilih untuk memberikan frekuensi dalam toleransi ini tetapi dengan bit data yang berpotensi lebih banyak digunakan. Cuba contohnya menetapkan toleransi ke 0,5 atau 1.

Anda juga boleh menetapkan Bits per kata bilangan untuk mengawal pilihan parameter. 0 (lalai) bermaksud memilih bit setiap perkataan. Nombor tunggal (mis. 24) bermaksud hanya memilih parameter yang sepadan dengan ini. Anda juga boleh memasukkan julat (mis. 24, 31). Ini hanya berfungsi untuk sasaran Hz melebihi 10KHz, di bawah penskalaan ini akan berlaku sehingga jumlahnya bertambah.

Ukuran buffer menunjukkan jarak keseluruhan buffer yang digunakan dalam 32 bit perkataan. Ini dipilih untuk memastikan denyut jam membentuk lingkaran yang sempurna sesuai dengan penyangga. Secara dalaman penyangga ini dibahagikan kepada sebilangan kecil rbuffer untuk membolehkan DMA yang dirantai berfungsi.

Untuk operasi denyut nadi pilih TAB denyutan. Ini menunjukkan fail nadi yang tersedia dan butang di sebelah masing-masing yang akan menghasilkan kereta nadi berdasarkan definisinya. Anda dapat melihat kandungan fail dengan mengklik pautan itu. Lebih banyak fail nadi boleh dimuat naik menggunakan penyemak imbas fail ip / edit. Mereka harus bermula dengan nadi nama.

Disyorkan: