Sisukord:

Esp8266 Kella- ja impulssgeneraator: 3 sammu
Esp8266 Kella- ja impulssgeneraator: 3 sammu

Video: Esp8266 Kella- ja impulssgeneraator: 3 sammu

Video: Esp8266 Kella- ja impulssgeneraator: 3 sammu
Video: Связь Modbus ESP32 | FLProg SCADA 2024, Juuli
Anonim
Esp8266 Kella- ja impulssgeneraator
Esp8266 Kella- ja impulssgeneraator

See juhend on mõeldud lihtsa katseseadme jaoks; kell ja impulssgeneraator.

See kasutab testkella või impulssjärjestuse genereerimiseks esp8266 i2S riistvaraliidest. Seda on lihtne kokku panna, kuna põhisüsteemi jaoks pole vaja spetsiaalset riistvara.

  • Kella genereerimine 2Hz kuni 20MHz
  • Kasutada võib mis tahes sagedust
  • Otsib parimat vastet kellajaguritele ja bitipikkusele 160 MHz baaskellast
  • Tavaliselt sobib paremini kui 0,1% sagedustel <100KHz
  • Märkige ruumi suhte valik
  • Sageduse sobitamise tolerantsi võib leevendada, et tähemärgiruumi paremini käsitseda
  • Impulssrongide genereerimine failides määratluste alusel
  • Veebipõhine GUI, mis võimaldab juhtimist arvutist, telefonist, tahvelarvutist
  • Wifi haldus, mis võimaldab hõlpsalt ruuterit esmalt seadistada
  • OTA tarkvarauuendus
  • Kasutab spetsiaalset I2 -teeki (i2sTXcircular), mis tagab paindliku juhtimise

Samm: riistvara

Riistvara
Riistvara
Riistvara
Riistvara

Ehitasin oma 3D -trükitud korpusesse, milles oli 18650 aku koos USB -laadijaga, sisse/välja lüliti, 3 -kontaktiline pistik väljundsignaali jaoks.

Korpusel on kitsas pesa elektroonika hoidmiseks aku kõrval.

Signaal väljub GPIO3 kontaktist (RX). Seda saab kasutada otse, kuid suurema juhtimisvõime tagamiseks valisin 74LVC2G34 abil väikese puhvri. Võrdlesin selle seadme kahte puhvrit, et pakkuda veelgi suuremat draivivõimet.

Kõik tehakse ainult seadme tarkvaras ja juhtimine toimub veebiserveri abil, nii et arvuti, telefoni või tahvelarvuti brauser tagab täieliku kontrolli.

Samm 2: Tarkvara

Tarkvara loomiseks ja seadistamiseks kasutage koodi aadressil

  • Installige i2sTX ringikujuline kogu (kaasas)
  • Installige BaseSupport raamatukogu (https://github.com/roberttidey/BaseSupport)
  • Lisage WifiManageri kogu
  • Muutke paroole rakenduses BaseConfig.h
  • Kompileerige ja laadige üles Arduino keskkonnas
  • Seadistage WiFi -võrguhaldus, ühendades AP -ga ja sirvides 192.168.4.1
  • laadige põhifailid andmekaustast üles STA ip/upload abil
  • edasisi üleslaadimisi saab teha kasutades ip/edit - tavaline liides asub aadressil ip/

Kuidas see töötab

I2sTXcircular raamatukogu võimaldab ehitada ümmarguse puhvrite ahela, mille seejärel esp8266 i2S riistvara automaatselt DMA abil väljastavad, nii et tarkvara ei kasutata kohe, kui see läheb.

Seadme põhikell on 160 MHz, mis on jagatud paaride vahel. Seejärel määratakse väljundsignaal selle järgi, milliseid andmeid puhvritesse pannakse jagatud kella abil. Valides kaks jagajat ja kasutades potentsiaalselt mitut andmebitti iga impulsi esitamiseks, saab sagedust üsna lähedalt hinnata. See võimaldab ka töötsüklit (kellaimpulsside märgi/ruumi suhe) muuta.

Brauseri JavaScripti kood püüab optimeerida parameetrite valikut, et see vastaks mis tahes valitud sagedusele.

Kuigi peamine eesmärk on kellade genereerimine, on võimalik toota ka keerukamaid impulssronge, sisestades määratluse impulssfaili, mis seejärel kontrollib genereeritavaid ja ringpuhvrisse paigutatavaid andmeid. Üksikasjad on näidatud impulssfailides.

3. samm: toimimine

Töötamist juhib põhipildil näidatud brauseri liides.

Tavalise kella genereerimiseks valige lihtsalt sihtkell ja märgi ruumi suhe. Kuvatakse tegelik saavutatud kell ja selle viga. Kui nuppu Kella genereerida vajutatakse, saadetakse parameetrid seadmesse ja kella genereerimine nende parameetrite abil algab.

Täpsemal ribal klõpsates näete rohkem üksikasju.

Bittkell näitab kasutatavat alamkordset 160 MHz.

Märgi- ja tühikubitid näitavad, mitu bitti kasutatakse märkide ja tühikute esitamiseks.

Div1 ja Div2 näitavad kahte jaoturit, mis on valitud lähima bitikella genereerimiseks.

Tavaliselt valitakse kaks eraldajat, et anda valitud sagedusele lähim vaste ja maksimeerida kasutatavate andmebittide arvu, mis aitab paindlikumalt lubada erinevaid töötsükleid. Kuid mõnikord annab parima vaste tulemuseks vähe bitti, jättes vähe ruumi töötsükli muutmiseks. Hälbe % väärtuse muutmisega valitakse eraldajad, et anda sagedus selle tolerantsi piires, kuid potentsiaalselt rohkem kasutatavaid andmebitte. Proovige näiteks määrata tolerants 0,5 või 1.

Parameetrite valiku kontrollimiseks saate määrata ka bitid sõna kohta. 0 (vaikimisi) tähendab, et valige sõna kohta bitti. Üks number (nt 24) tähendab ainult sellele vastavate parameetrite valimist. Võite sisestada ka vahemiku (nt 24, 31). See toimib ainult sihtmärgi Hz puhul, mis ületab 10KHz, allapoole see skaleerimine hakkab kehtima, nii et arv korrutatakse.

Puhvri suurus näitab 32 -bitiste sõnadega kasutatud puhvri koguhulka. See on valitud tagamaks, et kellaimpulss moodustab puhvrisse ideaalse ümmarguse sobivuse. Sisemiselt on see puhver jagatud mitmeks väikeseks rbufferiks, et aheldatud DMA saaks toimida.

Impulsside jaoks valige impulss TAB. See näitab saadaolevaid impulssfaile ja iga faili kõrval olevat nuppu, mis tekitab selle määratluse alusel impulssrongi. Faili sisu näete, klõpsates selle lingil. Rohkem impulssfaile saab üles laadida brauseri ip/edit abil. Need peaksid algama nimeimpulsiga.

Soovitan: