Tartalomjegyzék:

Esp8266 Óra és impulzusgenerátor: 3 lépés
Esp8266 Óra és impulzusgenerátor: 3 lépés

Videó: Esp8266 Óra és impulzusgenerátor: 3 lépés

Videó: Esp8266 Óra és impulzusgenerátor: 3 lépés
Videó: Как запрограммировать модуль реле Wi-Fi ESP8266 ESP-01 2024, November
Anonim
Esp8266 Óra és impulzus generátor
Esp8266 Óra és impulzus generátor

Ez az utasítás egyszerű tesztberendezésre vonatkozik; egy óra és impulzus generátor.

Az esp8266 i2S hardver interfészét használja tesztóra vagy impulzus sorozat létrehozásához. Ez megkönnyíti az összeállítást, mivel az alaprendszerhez nincs szükség speciális hardverre.

  • Óragenerálás 2 Hz -től 20 MHz -ig
  • Bármilyen frekvencia használható
  • Az óraosztók és a bithossz legjobb egyezését keresi a 160 MHz -es alapóra alapján
  • Általában jobb, mint 0,1% egyezés a <100KHz frekvenciáknál
  • Jelölje be a térarány kiválasztását
  • A gyakoriság -illesztési tűrést enyhíthetjük a jobb jelterület -kezelés érdekében
  • Impulzusvonatok generálása a fájlokban található definíciók alapján
  • Web alapú grafikus felület, amely lehetővé teszi a vezérlést számítógépről, telefonról, táblagépről
  • Wifi felügyelet az útválasztó egyszerű beállításához
  • OTA szoftver frissítés
  • Speciális I2s könyvtárat (i2sTXcircular) használ, amely rugalmas vezérlést biztosít

1. lépés: Hardver

Hardver
Hardver
Hardver
Hardver

Az enyémet egy 3D nyomtatott házba építettem, amely 18650 -es akkumulátort, USB -töltőt, be- és kikapcsolót, valamint egy 3 tűs csatlakozó dugót tartalmaz a kimeneti jelhez.

A szekrény keskeny résszel rendelkezik az elektronika akkumulátorhoz való tartásához.

A jel a GPIO3 érintkezőből (RX) származik. Ez közvetlenül is használható, de a nagyobb meghajtási képesség érdekében úgy döntöttem, hogy egy kis puffert 74LVC2G34 segítségével használok. Párhuzamba állítottam az eszköz két pufferét, hogy még nagyobb meghajtási képességet biztosítsak.

Minden csak az eszköz szoftverében történik, a vezérlés pedig webszerver biztosításával történik, így a számítógépen, telefonon vagy táblagépen található böngésző teljes körű irányítást biztosít.

2. lépés: Szoftver

A szoftver létrehozásához és beállításához használja a https://github.com/roberttidey/espI2sClockGen címen található kódot

  • Az i2sTXcircular könyvtár telepítése (mellékelve)
  • A BaseSupport könyvtár telepítése (https://github.com/roberttidey/BaseSupport)
  • WifiManager könyvtár hozzáadása
  • Jelszavak szerkesztése a BaseConfig.h webhelyen
  • Fordítás és feltöltés Arduino környezetben
  • Állítsa be a wifi hálózatkezelést úgy, hogy csatlakozik az AP -hez, és böngészi a 192.168.4.1 címen
  • töltsön fel alapvető fájlkészletet az adatmappából az STA ip/upload használatával
  • további feltöltéseket az ip/edit használatával lehet elvégezni - a normál felület az ip/

Hogyan működik

Az i2sTXcircular könyvtár lehetővé teszi egy kör alakú pufferek láncának felépítését, amelyeket az i2S hardver automatikusan az esp8266 -on ad ki DMA használatával, így nem kell többlet szoftvert használni.

A készülék alapértelmezett órája 160 MHz, amelyet egy pár elválasztó oszt fel. A kimenő jelet ezután határozza meg, hogy milyen adatokat helyeznek a pufferekbe, amelyeket az osztott óra ad ki. A két osztó kiválasztásával és potenciálisan több adatbit használatával az egyes impulzusokat ábrázolva a frekvencia meglehetősen közelíthető. Ezenkívül lehetővé teszi a működési ciklus (az óraimpulzusok jel/tér arány) megváltoztatását.

A böngésző javascript kódja úgy próbálja optimalizálni a paraméterek választását, hogy szorosan illeszkedjen bármely kiválasztott frekvenciához.

Bár a fő cél az órák előállítása, bonyolultabb impulzusvonatokat is lehet előállítani úgy, hogy egy meghatározást egy impulzusfájlba helyezünk, amely ezután szabályozza a generált és a körpufferbe helyezett adatokat. A részleteket a példában található impulzus fájlok tartalmazzák.

3. lépés: Művelet

A működést a fő képen látható böngésző felület vezérli.

A normál óra generáláshoz csak válassza ki a célórát és a jel tér % arányát. Megjelenik a ténylegesen elért óra és annak hibája. Amikor megnyomja az Óra létrehozása gombot, a paraméterek elküldésre kerülnek az eszközre, és elindul az ezekkel a paraméterekkel generált óra.

A Speciális sávra kattintva további részletek láthatók.

A bitóra mutatja a használt 160 MHz-es rész többszörösét.

A jel és szóköz bitek azt mutatják, hogy hány bitet használnak a jelek és szóközök ábrázolására.

A Div1 és Div2 azt a két osztót mutatja, amelyek a legközelebbi bitóra előállítására lettek kiválasztva.

Általában a két osztót úgy választják ki, hogy a legközelebbi illeszkedést biztosítsák a kiválasztott frekvenciához, és maximalizálják a felhasznált adatbitek számát, ami nagyobb rugalmasságot biztosít a különböző munkaciklusok engedélyezéséhez. Néha azonban a legjobb egyezés alacsony bitszámot eredményez, és kevés teret hagy a működési ciklus megváltoztatására. A tolerancia % értékének megváltoztatásával az elválasztókat úgy választjuk meg, hogy ezen a tűréshatáron belüli frekvenciát adjanak, de potenciálisan több adatbitet használnak. Próbálkozzon például 0,5 vagy 1 tűréssel.

A paraméterek kiválasztásának szabályozásához beállíthatja a Bits per word számot is. 0 (alapértelmezett) azt jelenti, hogy szavakonként tetszőleges bitet választhat. Egyetlen szám (pl. 24) azt jelenti, hogy csak ennek megfelelő paramétereket válasszon. Megadhat egy tartományt is (pl. 24, 31). Ez csak 10KHz feletti cél Hz -nél működik, ez alatt a skálázás lép életbe, így a szám megsokszorozódik.

A pufferméret a 32 bites szavakban használt összes puffertávolságot mutatja. Ezt úgy választjuk, hogy az óraimpulzus tökéletes körkörös illeszkedést biztosítson a pufferbe. Belsőleg ez a puffer számos kis méretű rbufferre van felosztva, hogy lehetővé tegye a láncolt DMA működését.

Az impulzusok működéséhez válassza ki a TAB impulzusokat. Ez megjeleníti az elérhető impulzusfájlokat, és mindegyik mellett egy gombot, amely a meghatározása alapján impulzusvonatot generál. A fájl tartalmát a linkre kattintva tekintheti meg. További impulzusfájlok tölthetők fel az ip/edit file böngészővel. Az impulzus névvel kell kezdeniük.

Ajánlott: