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, Srpanj
Anonim
Esp8266 Sat i impulsni generator
Esp8266 Sat i impulsni generator

Ovo uputstvo služi za jednostavan dio ispitne opreme; generator takta i impulsa.

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

  • Generiranje takta od 2Hz do 20MHz
  • Može se koristiti bilo koja frekvencija
  • Traži najbolje podudaranje razdjelnika takta i duljine bita od 160 MHz osnovnog takta
  • Obično se bolje od 0,1% podudara za frekvencije <100KHz
  • Označite odabir omjera prostora
  • Tolerancija podudaranja frekvencija može se ublažiti kako bi se bolje rukovalo označenim prostorom
  • Generiranje impulsnog niza na temelju definicija u datotekama
  • GUI na webu koji omogućuje kontrolu s računala, telefona, tableta
  • Wifi upravljanje za omogućavanje jednostavnog početnog postavljanja usmjerivača
  • Ažuriranje OTA softvera
  • Koristi posebnu knjižnicu I2s (i2sTXcircular) koja omogućuje fleksibilnu kontrolu

Korak 1: Hardver

Hardver
Hardver
Hardver
Hardver

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

Kućište ima uski utor 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 malo međuspremnika pomoću 74LVC2G34. Usporedio sam dva međuspremnika u ovom uređaju kako bih pružio još veću mogućnost pogona.

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

Korak 2: Softver

Za izradu i postavljanje softvera koristite kôd na

  • Instalirajte i2sTXcircular library (uključeno)
  • Instalirajte knjižnicu BaseSupport (https://github.com/roberttidey/BaseSupport)
  • Dodajte biblioteku WifiManager
  • Uredite lozinke u BaseConfig.h
  • Sastavite i prenesite u Arduino okruženje
  • Postavite upravljanje WiFi mrežom povezivanjem na pristupnu točku i pregledavanjem na 192.168.4.1
  • prenesite osnovni skup datoteka iz podatkovne mape pomoću STA ip/upload
  • daljnji prijenos tada se može izvršiti pomoću ip/edit - normalno sučelje je na ip/

Kako radi

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

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. Također omogućuje mijenjanje 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 vlakove stavljanjem definicije u datoteku impulsa koja zatim kontrolira podatke koji će se generirati i staviti u kružni međuspremnik. Pojedinosti su navedene u primjerima pulsnih datoteka.

Korak 3: Operacija

Radom upravlja sučelje preglednika prikazano na glavnoj slici.

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

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

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

Bitovi oznaka i razmaka pokazuju koliko se bitova 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žu podudarnost 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 niskim brojem bitova ostavljajući malo prostora za promjenu radnog ciklusa. Promjenom vrijednosti tolerancije % razdjelnici će biti odabrani da daju 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 tome. Također možete staviti raspon (npr. 24, 31). Ovo radi samo za ciljni Hz iznad 10KHz, ispod toga skaliranje će stupiti na snagu tako da se broj pomnoži.

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

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

Preporučeni: