www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

ATmega328P - Bujenje preko RS232

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja AVR-jev
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
borzon
Član
Član



Pridružen-a: Čet 17 Sep 2015 23:14
Prispevkov: 150
Aktiv.: 2.14
Kraj: Postojna

PrispevekObjavljeno: Sre Apr 07, 2021 8:34 pm    Naslov sporočila:  ATmega328P - Bujenje preko RS232 Odgovori s citatom

Pozdravljeni,

Ker sam nisem niti približno dober programer imam za vas nekaj vprašanj.
Spravil sem se izdelovat eno zadevo na osnovi Atmega328P čipa, ki bo baterijsko napajana. Zaradi energijske "požrešnosti" čipa sem primoram izvesti "deep sleep mode". Vezije se bo "zalaufalo" vsakodnevno 1x, 2x, mogoče 3x in bi najraje videl da bi bilo fizično nedostopno.
Vem, da se lahko Atmego328P zbudi preko dveh zunanjih "interrupt" pinov.

Zanima me ali obstaja kakšna možnost, da bi čip iz deep sleep mode zbudil preko RS232 povezave oziroma preko serijske povezave?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Jaka57
Moderator
Moderator



Pridružen-a: Ned 12 Dec 2004 21:47
Prispevkov: 5456
Aktiv.: 28.96
Kraj: Grosuplje

PrispevekObjavljeno: Sre Apr 07, 2021 8:42 pm    Naslov sporočila:   Odgovori s citatom

V deep sleep načinu je serijski port onemogočen. Ni pa v idle načinu, ki porabi nekaj mA več kot v deep sleep načinu.
Malo več o tem najdeš tukaj, nekaj več na to temo in nekaj dodatnih povezav pa najdeš tukaj.

_________________
Lp, Jaka
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
borzon
Član
Član



Pridružen-a: Čet 17 Sep 2015 23:14
Prispevkov: 150
Aktiv.: 2.14
Kraj: Postojna

PrispevekObjavljeno: Sre Apr 07, 2021 9:17 pm    Naslov sporočila:   Odgovori s citatom

Jaka57 je napisal/a:
V deep sleep načinu je serijski port onemogočen. Ni pa v idle načinu, ki porabi nekaj mA več kot v deep sleep načinu.
Malo več o tem najdeš tukaj, nekaj več na to temo in nekaj dodatnih povezav pa najdeš tukaj.


Zahvaljujem se ti za hiter odgovor in pomoč.
Težava je v tem, ker vsak mA v mojem primeru zelo veliko pomeni.

Predpostavljam dejstvo, da se iz deep sleep mode Atmega328p proži tako, da se interrupt vhod sklene z GNDjem. RS232 9 žilen kabel in da sta je za RS232 uporabljen le 1 par in zdraven še GND. Če bi nekako uporabil še 4 žilo kabla in jo peljal direktno na Interrupt vhod. Po domače povedano, da bi na koncu vodnika nekako spojil GND z vodnikom ki gre na interupt.
Bi ta ideja "pila vodo" ali bi bila sama upornost vodnika previsoka in do proženja interrupta ne bi prišlo? Predpostavljamo dolžino kabla 2 metra.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Brusli
Član
Član



Pridružen-a: Tor 24 Nov 2020 12:10
Prispevkov: 14
Aktiv.: 1.99
Kraj: Hrastnik

PrispevekObjavljeno: Sre Apr 07, 2021 9:26 pm    Naslov sporočila:   Odgovori s citatom

Predlagam ti, da si prelistaš datasheet za ATmega328p.
https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf

Poglavje 10 opsuje razne načine spanja in načine kako čip prebuditi iz spanca. Za zunanje interrupte (INT0 in INT1) mislim, da je možno tudi nastaviti kdaj oz kako se prožijo (rising/falling edge, glej poglavje 12 in 13).
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Jan
Član
Član



Pridružen-a: Sob 10 Jun 2006 14:19
Prispevkov: 307
Aktiv.: 1.68
Kraj: Dolenjska

PrispevekObjavljeno: Sre Apr 07, 2021 10:32 pm    Naslov sporočila:   Odgovori s citatom

Ena izmed možnosti je ta, da RS232 RX linijo priklopiš ne samo na RX pin na mikrokontrolerju, ampak vporedno še na en INT pin.
Ob aktivnosti na RS232 liniji tako lahko preko INT pina zbudiš procesor z navadno zunanjo prekinitvijo.
Je pa tak način primeren samo, če so podatki na RS232 liniji samo občasni oz. samo takrat, ko bi ti rad procesor zbudil.
Če je prisotno neko stalno pošiljanje podatkov, potem boš težko to izvedel, oz. boš imel malo več dela.

Jan
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Jaka57
Moderator
Moderator



Pridružen-a: Ned 12 Dec 2004 21:47
Prispevkov: 5456
Aktiv.: 28.96
Kraj: Grosuplje

PrispevekObjavljeno: Čet Apr 08, 2021 8:19 am    Naslov sporočila:   Odgovori s citatom

Jan, drži, to je opisano na zadnji povezavi, ki sem jo dal.
S tem pa se izgubi nekaj začetnih podatkov, ki so poslani na serijski port.
Torej, lahko pošlje, recimo, nekaj na serijski port samo zaradi bujenja, ko je zbujen, izklopi prekinitev, nato sprejme pravilne podatke,
ko je končano pošiljanje vklopi prekinitev in gre zopet v spanje.

_________________
Lp, Jaka
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
borzon
Član
Član



Pridružen-a: Čet 17 Sep 2015 23:14
Prispevkov: 150
Aktiv.: 2.14
Kraj: Postojna

PrispevekObjavljeno: Čet Apr 08, 2021 2:00 pm    Naslov sporočila:   Odgovori s citatom

Vsem se iskreno zahvaljujem za odgovore in pomoč.

@jaka57
Ravno to sem imel v mislih ob prebiranju tvoje posredovane povezave.

Zanima pa me, ali je potrebno med interrupt vhodom in RX pinom postavit kak upor ali je direktna povezava ok?
Sprašujem namreč, ker se na spletu zasledil, da nekateri stavijo upore med vhodoma.

l.p
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Jan
Član
Član



Pridružen-a: Sob 10 Jun 2006 14:19
Prispevkov: 307
Aktiv.: 1.68
Kraj: Dolenjska

PrispevekObjavljeno: Čet Apr 08, 2021 7:18 pm    Naslov sporočila:   Odgovori s citatom

Lahko povežeš direktno, ampak moraš potem zagotoviti, da bosta oba pina vedno konfigurirana kot vhoda.
Če pa daš vmes upor ranga kOmega pa tudi ni nič narobe, včasih to pride prav med testiranjem, da lahko upor vzameš ven in tako fizično ločiš pina.

Jan
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja AVR-jev Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 194 dni


Powered by phpBB © 2001, 2005 phpBB Group