Satura rādītājs:

Esp8266 Pulksteņu un impulsu ģenerators: 3 soļi
Esp8266 Pulksteņu un impulsu ģenerators: 3 soļi

Video: Esp8266 Pulksteņu un impulsu ģenerators: 3 soļi

Video: Esp8266 Pulksteņu un impulsu ģenerators: 3 soļi
Video: Как сделать 2-канальное реле Wi-Fi ESP8266 ESP-01 | ESP-01 Домашняя автоматизация | УдаленныйXY 2024, Jūlijs
Anonim
Esp8266 Pulksteņu un impulsu ģenerators
Esp8266 Pulksteņu un impulsu ģenerators

Šī pamācība ir paredzēta vienkāršam testa aprīkojumam; pulkstenis un impulsu ģenerators.

Lai izveidotu testa pulksteni vai impulsu secību, esp8266 izmanto i2S aparatūras saskarni. Tas ļauj to viegli salikt, jo pamata sistēmai nav nepieciešama īpaša aparatūra.

  • Pulksteņa ģenerēšana no 2Hz līdz 20MHz
  • Var izmantot jebkuru frekvenci
  • Meklē labāko pulksteņa dalītāju un bitu garuma atbilstību no 160 MHz pamata pulksteņa
  • Parasti labāk nekā 0,1% atbilst frekvencēm <100KHz
  • Atzīmējiet atstarpes attiecības izvēli
  • Frekvenču atbilstības pielaidi var atvieglot, lai iegūtu labāku atzīmju atstarpes apstrādi
  • Pulsa vilciena ģenerēšana, pamatojoties uz definīcijām failos
  • Tīmekļa GUI, kas ļauj kontrolēt no datora, tālruņa, planšetdatora
  • Wifi pārvaldība, kas ļauj viegli iestatīt sākotnējo maršrutētāju
  • OTA programmatūras atjauninājums
  • Izmanto īpašu I2 bibliotēku (i2sTXcircular), kas nodrošina elastīgu vadību

1. darbība. Aparatūra

Aparatūra
Aparatūra
Aparatūra
Aparatūra

Es uzbūvēju raktuvi 3D drukātā korpusā, kurā bija 18650 akumulators ar USB lādētāju, ieslēgšanas/izslēgšanas slēdzis, 3 kontaktu kontaktdakša izejas signālam.

Korpusam ir šaurs slots elektronikas turēšanai blakus akumulatoram.

Signāls nāk no GPIO3 tapas (RX). To var izmantot tieši, bet, lai nodrošinātu lielāku diska spēju, es izvēlējos iekļaut nelielu buferi, izmantojot 74LVC2G34. Es paralēlēju abus buferus šajā ierīcē, lai nodrošinātu vēl lielāku diska spēju.

Viss tiek darīts tikai ierīces programmatūrā, un kontrole tiek veikta, nodrošinot tīmekļa serveri, lai datora, tālruņa vai planšetdatora pārlūkprogramma nodrošinātu pilnīgu kontroli.

2. darbība: programmatūra

Lai izveidotu un iestatītu programmatūru, izmantojiet kodu vietnē

  • Instalējiet i2sTX apļveida bibliotēku (iekļauta)
  • Instalējiet BaseSupport bibliotēku (https://github.com/roberttidey/BaseSupport)
  • Pievienojiet WifiManager bibliotēku
  • Rediģējiet paroles vietnē BaseConfig.h
  • Apkopojiet un augšupielādējiet Arduino vidē
  • Iestatiet wifi tīkla pārvaldību, izveidojot savienojumu ar AP un pārlūkojot vietni 192.168.4.1
  • augšupielādēt pamata failu kopu no datu mapes, izmantojot STA ip/upload
  • turpmākās augšupielādes var veikt, izmantojot ip/edit - parastā saskarne ir ip/

Kā tas strādā

I2sTX apļveida bibliotēka ļauj izveidot apļveida buferšķiedru ķēdi, kuru pēc tam automātiski izvada i2S aparatūra uz esp8266, izmantojot DMA, lai pēc tam netiktu izmantota papildu programmatūra.

Ierīces pamatpulkstenis ir 160 MHz, ko sadala pāris dalītāji. Pēc tam izejas signālu nosaka tas, kādi dati tiek ievietoti buferos, kurus izvada sadalītais pulkstenis. Izvēloties divus dalītājus un katra impulsa attēlošanai izmantojot potenciāli vairākus datu bitus, frekvenci var tuvināt diezgan tuvu. Tas arī ļauj mainīt darba ciklu (pulksteņa impulsu zīmes/atstarpes attiecība).

Pārlūkprogrammas JavaScript kods mēģina optimizēt parametru izvēli, lai tas atbilstu jebkurai izvēlētajai frekvencei.

Lai gan galvenais mērķis ir pulksteņu ģenerēšana, ir iespējams ražot arī sarežģītākus impulsa vilcienus, ievietojot definīciju impulsu failā, kas pēc tam kontrolē ģenerētos un apļveida buferī ievietotos datus. Sīkāka informācija ir iekļautajos impulsa failu paraugos.

3. darbība: darbība

Darbību kontrolē pārlūka saskarne, kas parādīta galvenajā attēlā.

Parastajai pulksteņa ģenerēšanai jums vienkārši jāizvēlas mērķa pulkstenis un zīmes telpas attiecība. Tiek parādīts faktiskais sasniegtais pulkstenis un tā kļūda. Nospiežot pogu Ģenerēt pulksteni, parametri tiek nosūtīti uz ierīci un tiek sākta pulksteņa ģenerēšana, izmantojot šos parametrus.

Noklikšķinot uz papildu joslas, var redzēt sīkāku informāciju.

Bitu pulkstenis rāda izmantoto 160MHz apakškārtu.

Atzīmes un atstarpes biti parāda, cik bitu tiek izmantots, lai attēlotu zīmes un atstarpes.

Div1 un Div2 parāda divus dalītājus, kas izvēlēti, lai ģenerētu tuvāko bitu pulksteni.

Parasti abus dalītājus izvēlas, lai tie atbilstu izvēlētajai frekvencei vistuvāk un palielinātu izmantoto datu bitu skaitu, kas palīdz nodrošināt lielāku elastību dažādu darba ciklu pieļaušanai. Tomēr dažreiz vislabākās atbilstības rezultāts ir zems bitu skaits, atstājot maz vietas darba cikla maiņai. Mainot pielaides % vērtību, sadalītāji tiks izvēlēti, lai sniegtu frekvenci šīs pielaides robežās, bet, iespējams, izmantotu vairāk datu bitu. Mēģiniet, piemēram, iestatīt pielaidi uz 0,5 vai 1.

Varat arī iestatīt bitu par vārdu skaitu, lai kontrolētu parametru izvēli. 0 (noklusējums) nozīmē izvēlēties jebkuru bitu par vārdu. Viens skaitlis (piemēram, 24) nozīmē izvēlēties tikai tam atbilstošus parametrus. Varat arī ievadīt diapazonu (piemēram, 24, 31). Tas darbojas tikai mērķa Hz virs 10KHz, zem šī mērogošana stāsies spēkā, lai skaitlis tiktu reizināts.

Bufera lielums parāda kopējo bufera atstarpi, kas izmantota 32 bitu vārdos. Tas ir izvēlēts, lai nodrošinātu pulksteņa impulsa perfektu apļveida iekļaušanos buferī. Iekšēji šis buferis ir sadalīts vairākos mazos buferos, lai ķēdes DMA varētu darboties.

Impulsu darbībai izvēlieties impulsus TAB. Tas parāda pieejamos impulsa failus un pogu blakus katram, kas radīs impulsa vilcienu, pamatojoties uz tā definīciju. Jūs varat redzēt faila saturu, noklikšķinot uz tā saites. Vairāk impulsa failu var augšupielādēt, izmantojot ip/edit failu pārlūku. Viņiem vajadzētu sākt ar vārda impulsu.

Ieteicams: