Sisällysluettelo:

Esp8266 Kello ja pulssigeneraattori: 3 vaihetta
Esp8266 Kello ja pulssigeneraattori: 3 vaihetta

Video: Esp8266 Kello ja pulssigeneraattori: 3 vaihetta

Video: Esp8266 Kello ja pulssigeneraattori: 3 vaihetta
Video: Как запрограммировать модуль реле Wi-Fi ESP8266 ESP-01 2024, Heinäkuu
Anonim
Esp8266 Kello- ja pulssigeneraattori
Esp8266 Kello- ja pulssigeneraattori

Tämä ohje on tarkoitettu yksinkertaiselle testilaitteelle; kello ja pulssigeneraattori.

Se käyttää esp8266: n i2S -laitteistoliitäntää testikellon tai pulssisekvenssin luomiseen. Tämä on helppo koota, koska perusjärjestelmään ei tarvita erityisiä laitteistoja.

  • Kellojen luominen 2 Hz - 20 MHz
  • Mitä tahansa taajuutta voidaan käyttää
  • Etsii parhaiten kellonjakajia ja bittien pituutta 160 MHz: n peruskellosta
  • Yleensä parempi kuin 0,1% täsmää <100KHz taajuuksille
  • Merkitse tila -suhteen valinta
  • Taajuuden vastaavuuden toleranssia voidaan lieventää paremman merkkitilan käsittelyn saavuttamiseksi
  • Pulssijonon luominen tiedostojen määritelmien perusteella
  • Verkkopohjainen käyttöliittymä, joka mahdollistaa ohjauksen tietokoneelta, puhelimelta ja tabletilta
  • Wifi -hallinta mahdollistaa helpon alkureitittimen asennuksen
  • OTA -ohjelmistopäivitys
  • Käyttää erityistä I2s -kirjastoa (i2sTXcircular), joka mahdollistaa joustavan hallinnan

Vaihe 1: Laitteisto

Laitteisto
Laitteisto
Laitteisto
Laitteisto

Rakensin omani kolmiulotteiseen painettuun koteloon, jossa oli 18650 -akku, jossa on USB -laturi, virtakytkin ja 3 -nastainen liitin lähtösignaalia varten.

Kotelossa on kapea aukko elektroniikan pitämiseksi akun vieressä.

Signaali tulee GPIO3 -nastasta (RX). Tätä voidaan käyttää suoraan, mutta paremman ajokyvyn vuoksi päätin sisällyttää pienen puskurin käyttämällä 74LVC2G34: tä. Olen rinnastanut kaksi puskuria tässä laitteessa tarjotakseni vielä enemmän ajokykyä.

Kaikki tehdään vain laitteen ohjelmistossa, ja ohjaus tapahtuu tarjoamalla verkkopalvelin, jotta tietokoneen, puhelimen tai tabletin selain tarjoaa täyden hallinnan.

Vaihe 2: Ohjelmisto

Voit rakentaa ja asentaa ohjelmiston käyttämällä koodia osoitteessa

  • Asenna i2sTX -pyöreä kirjasto (sisältyy toimitukseen)
  • Asenna BaseSupport -kirjasto (https://github.com/roberttidey/BaseSupport)
  • Lisää WifiManager -kirjasto
  • Muokkaa salasanoja BaseConfig.h -sivustossa
  • Kokoa ja lataa Arduino -ympäristössä
  • Ota wifi -verkon hallinta käyttöön yhdistämällä tukiasemaan ja selaamalla osoitteeseen 192.168.4.1
  • lataa perustiedostot datakansiosta käyttämällä STA ip/upload -toimintoa
  • lisälataukset voidaan sitten tehdä käyttämällä ip/edit - normaali käyttöliittymä on osoitteessa ip/

Kuinka se toimii

I2sTX -pyöreä kirjasto mahdollistaa pyöreän puskuriketjun rakentamisen, jonka sitten i2S -laitteisto lähettää automaattisesti esp8266 -laitteella DMA -tekniikkaa käyttäen, jotta ohjelmiston yleiskustannuksia ei käytetä sen aikana.

Laitteen peruskello on 160 MHz, joka on jaettu parilla jakajalla. Lähtösignaali määräytyy sitten sen perusteella, mitä tietoja puskureihin laitetaan jaetun alaskellon antama. Valitsemalla kaksi jakajaa ja käyttämällä mahdollisesti useita databittejä edustamaan kutakin pulssia, taajuus voidaan arvioida melko tarkasti. Sen avulla voidaan myös muuttaa käyttöjaksoa (kellopulssien merkki/tila -suhde).

Selaimen javascript -koodi yrittää optimoida parametrien valinnan, jotta se vastaisi hyvin valittua taajuutta.

Vaikka päätarkoitus on kellojen luominen, on myös mahdollista tuottaa monimutkaisempia pulssijunia asettamalla määritelmä pulssitiedostoon, joka sitten ohjaa tuotettavaa ja pyöreässä puskurissa olevaa dataa. Tiedot ovat esimerkkipulssitiedostoissa.

Vaihe 3: Käyttö

Toimintoa ohjaa pääkuvassa näkyvä selaimen käyttöliittymä.

Normaalia kellon luomista varten valitse vain kohdekello ja merkin tila -suhde. Todellinen saavutettu kello ja sen virhe näytetään. Kun Luo kello -painiketta painetaan, parametrit lähetetään laitteelle ja kellon luominen näiden parametrien avulla alkaa.

Napsauttamalla Lisäpalkkia näet lisätietoja.

Bittikello näyttää käytettävän 160 MHz: n osa-monikertoimen.

Merkki- ja välilyönnit osoittavat, kuinka monta bittiä käytetään merkkien ja välilyöntien esittämiseen.

Div1 ja Div2 näyttävät kaksi jakajaa, jotka on valittu luomaan lähin bittikello.

Normaalisti kaksi jakajaa valitaan antamaan lähin sovitus valitulle taajuudelle ja maksimoimaan käytettyjen databittien lukumäärä, mikä auttaa lisäämään joustavuutta eri käyttöjaksojen sallimisessa. Joskus paras vastaavuus johtaa kuitenkin pieneen bittimäärään, mikä jättää vähän tilaa käyttöjakson muuttamiseen. Muuttamalla toleranssiprosentin arvoa jakajat valitaan antamaan taajuus tämän toleranssin sisällä, mutta mahdollisesti enemmän databittejä. Kokeile esimerkiksi asettaa toleranssi 0,5 tai 1.

Voit myös määrittää bittiä sanaa kohden ohjaamaan parametrien valintaa. 0 (oletus) tarkoittaa minkä tahansa bitin valitsemista sanaa kohden. Yksi luku (esim. 24) tarkoittaa vain sitä vastaavien parametrien valitsemista. Voit myös asettaa alueen (esim. 24, 31). Tämä toimii vain yli 10 KHz: n kohde -Hz: ssä, tämän skaalauksen alapuolella tulee voimaan niin, että luku kerrotaan.

Puskurin koko näyttää käytetyn puskurin kokonaisvälin 32 -bittisissä sanoissa. Tämä on valittu varmistamaan, että kellopulssi muodostaa täydellisen pyöreän sovituksen puskuriin. Sisäisesti tämä puskuri on jaettu useisiin pieniin puskuriin, jotta ketjutettu DMA voi toimia.

Valitse pulssitoiminnolle pulssi TAB. Tämä näyttää käytettävissä olevat pulssitiedostot ja kunkin vieressä olevan painikkeen, joka tuottaa pulssijonon sen määritelmän perusteella. Näet tiedoston sisällön napsauttamalla sen linkkiä. Lisää pulssitiedostoja voidaan ladata käyttämällä ip/edit -tiedostoselainta. Niiden pitäisi alkaa nimipulssilla.

Suositeltava: