Sadržaj:

Esp8266 Sat i impulsni generator: 3 koraka
Esp8266 Sat i impulsni generator: 3 koraka

Video: Esp8266 Sat i impulsni generator: 3 koraka

Video: Esp8266 Sat i impulsni generator: 3 koraka
Video: Генератор || ESP8266 Лестничная логика FLProg 2024, Decembar
Anonim
Esp8266 Sat i impulsni generator
Esp8266 Sat i impulsni generator

Ovo uputstvo služi za jednostavnu opremu za testiranje; generator takta i impulsa.

Koristi i2S hardversko sučelje na esp8266 za generiranje testnog takta ili impulsnog slijeda. Ovo olakšava sastavljanje jer za osnovni sistem nije potreban poseban hardver.

  • Generisanje takta od 2Hz do 20MHz
  • Može se koristiti bilo koja frekvencija
  • Traži najbolje podudaranje razdjelnika takta i dužine bita od 160 MHz osnovnog takta
  • Obično se bolje od 0,1% podudara za frekvencije <100KHz
  • Označite odabir omjera prostora
  • Tolerancija podudaranja frekvencije može se ublažiti radi boljeg rukovanja prostorom
  • Generiranje impulsnog niza na osnovu definicija u datotekama
  • GUI na webu koji omogućava kontrolu sa računara, telefona, tableta
  • Wifi upravljanje za omogućavanje jednostavnog početnog postavljanja usmjerivača
  • Ažuriranje OTA softvera
  • Koristi posebnu I2s biblioteku (i2sTXcircular) koja daje fleksibilnu kontrolu

Korak 1: Hardver

Hardver
Hardver
Hardver
Hardver

Ja sam svoj napravio u 3D štampanom kućištu koje drži bateriju 18650 sa USB punjačem, prekidač za uključivanje/isključivanje, 3 -polni utikač za izlaz za izlazni signal.

Kućište ima uski otvor za držanje elektronike pored baterije.

Signal izlazi iz GPIO3 pina (RX). Ovo se može koristiti izravno, ali za veće mogućnosti pogona odlučio sam uključiti mali bafer koristeći 74LVC2G34. Usporedio sam dva međuspremnika u ovom uređaju kako bih pružio još veće mogućnosti pogona.

Sve se radi samo u softveru u uređaju, a kontrola se vrši pružanjem web servera tako da preglednik na računaru, telefonu ili tabletu pruža potpunu kontrolu.

Korak 2: Softver

Za izradu i postavljanje softvera koristite kôd na

  • Instalirajte i2sTXcircular biblioteku (uključeno)
  • Instalirajte biblioteku BaseSupport (https://github.com/roberttidey/BaseSupport)
  • Dodajte biblioteku WifiManager
  • Uredite lozinke u BaseConfig.h
  • Kompilirajte i prenesite u Arduino okruženje
  • Postavite upravljanje WiFi mrežom povezivanjem na pristupnu točku i pregledavanjem na 192.168.4.1
  • otpremite osnovni skup datoteka iz foldera sa podacima koristeći STA ip/upload
  • dalje učitavanje se tada može obaviti pomoću ip/edit - normalno sučelje je na ip/

Kako radi

Knjižnica i2sTXcircular omogućava izgradnju kružnog lanca međuspremnika koje zatim i2S hardver automatski emituje na esp8266 pomoću DMA -a, tako da se softverski dodatni troškovi ne koriste nakon odlaska.

Osnovni sat na uređaju je 160MHz koji je podijeljen parom razdjelnika. Izlazni signal se tada određuje prema tome koji se podaci stavljaju u međuspremnike, a koji se dijele podijeljenim taktom. Odabirom dva razdjelnika i korištenjem potencijalno više bitova podataka za predstavljanje svakog impulsa tada se frekvencija može prilično približiti. Omogućava i promjenu radnog ciklusa (omjer oznake/prostora taktnih impulsa).

Javascript kôd preglednika pokušava optimizirati izbor parametara kako bi se približio bilo kojoj odabranoj frekvenciji.

Iako je glavna svrha generiranje satova, također je moguće proizvesti složenije impulsne nizove stavljanjem definicije u datoteku impulsa koja zatim kontrolira podatke koji će se generirati i staviti u kružni bafer. Detalji su navedeni u primjerima pulsnih datoteka.

Korak 3: Operacija

Radom upravlja interfejs pregledača prikazan na glavnoj slici.

Za normalnu generaciju takta samo odaberete ciljni sat i omjer % prostora prostora oznaka. Prikazuju se stvarni postignuti sat i njegova greška. Kada se pritisne gumb Generiraj sat, tada se parametri šalju na uređaj i počinje generiranje sata pomoću ovih parametara.

Klikom na traku Napredno možete vidjeti više detalja.

Bitni sat prikazuje podmnožak od 160MHz koji se koristi.

Bitovi za oznaku i razmak pokazuju koliko bitova se koristi za predstavljanje oznaka i razmaka.

Div1 i Div2 prikazuju dva razdjelnika koji su odabrani za generiranje najbližeg takta bitova.

Obično su dva razdjelnika odabrana tako da daju najbliže podudaranje odabranoj frekvenciji i povećaju broj korištenih bitova podataka što pomaže u pružanju veće fleksibilnosti u dopuštanju različitih ciklusa rada. Međutim, ponekad najbolje podudaranje rezultira malim brojem bitova ostavljajući malo prostora za promjenu radnog ciklusa. Promjenom vrijednosti tolerancije % bit će odabrani razdjelnici koji će dati frekvenciju unutar ove tolerancije, ali s potencijalno više korištenih bitova podataka. Pokušajte na primjer postaviti toleranciju na 0,5 ili 1.

Također možete postaviti broj bitova po riječi za kontrolu izbora parametara. 0 (zadano) znači odabir bilo kojeg bita po riječi. Jedan broj (npr. 24) znači samo odabrati parametre koji odgovaraju ovome. Možete postaviti i raspon (npr. 24, 31). Ovo radi samo za ciljni Hz iznad 10KHz, ispod će ovo skaliranje stupiti na snagu tako da se broj pomnoži.

Veličina međuspremnika prikazuje ukupan razmak međuspremnika koji se koristi u 32 bitnim riječima. Ovo je odabrano kako bi se osiguralo da taktni impuls savršeno kružno stane u međuspremnik. Interno je ovaj međuspremnik podijeljen na nekoliko manjih odbojnika koji omogućuju funkcioniranje lančanog DMA -a.

Za rad impulsa odaberite impulse TAB. Ovo prikazuje dostupne datoteke impulsa i dugme pored svakog koji će proizvesti niz impulsa na osnovu njegove definicije. Sadržaj datoteke možete vidjeti klikom na njenu vezu. Više pulsnih datoteka može se učitati pomoću preglednika datoteka ip/edit. Trebali bi početi s imenom puls.

Preporučuje se: