Pitanje:
GPIO: Zašto žičani gumb pritisnuti na masu, a ne + 3,3 v?
howard10
2013-09-09 20:56:07 UTC
view on stackexchange narkive permalink

U većini primjera koje sam vidio kod ožičenja gumba na GPIO ulazima, gumb je ožičen tako da se, kada je zatvoren, krug završi između pina i zemlje, što daje mali ulaz na pinu. Vučni otpor koristi se za zadavanje visoke vrijednosti ulazne vrijednosti. Kôd na Pi-u tada može detektirati nisko pritiskom gumba.

Povezivao sam gumbe na + 3.3v, tako da je signal visok, jer ovo čini više smisla i drži kôd logičnijim, ali mora postojati razlog da većina ljudi favorizira povezivanje sa zemljom. Koje su prednosti?

Napomena: Kad kažem "otpor na izvlačenje", mislio sam na fizički vanjski otpor ili na unutarnji otpor koji je konfiguriran u kodu.
šest odgovori:
#1
+20
Piotr Kula
2013-09-09 21:25:59 UTC
view on stackexchange narkive permalink

Jedan od glavnih razloga zašto se favorizira ožičenje gumba i logike na GND (a zatim se kopiraju po cijelom Internetu) je optimizacija napajanja.

  • Povlačenjem pina LOW s otpornikom na GND košta 0 vata.
  • Povlačenjem pina HIGH s otpornikom na + Vcc košta snaga.

Na složenim krugovima ili krugovima koji se oslanjaju na baterije, ta je snaga vrlo dragocjena.

Ostali razlozi uključuju nisko stvaranje EMF-a. Na bežičnim uređajima koji visoko povlače logiku, na izuzetno osjetljivim RF prijamnicima doći će do nepotrebnog unakrsnog razgovora. Na takvim primopredajnicima postoji GND ravnina koja se koristi za filtriranje buke i tu se svodi sva logika. Procesor zatim koristi ravninu GND za filtriranje zvukova prebacivanja.

Kako povlačenje prema gore ili dolje otpornikom košta bilo koju snagu? Struja teče prema ulazu vrlo visoke impedancije na Pi, što će smanjiti bilo kakvu struju do sub-mikroAmps, što je mikroWatts snage.
OK, ali samo mi recite ako griješim. povlačenjem pin-a prema dolje, što je upotreba `0v = 0watts`, ali povlačenjem pin-a prema gore`> 0watts` - bilo koja vrsta, mikro, mili, nano, nije važno. Kao što je spomenuto, kod napunjenosti baterije svaki nano vat pomaže. Ali kao što je već ovdje odgovoreno ... na USB-u to ne znači ništa. Da li se varam?
Ne nužno istina. Digitalni ulazi imaju visoku impedansu prema zemlji - točno. Ali oni nisu samo otpornici. Oni su ulazna vrata, obično za FET-ove i ta vrata nisu idealna. Imaju struje curenja, a te struje curenja mogu biti u bilo kojem smjeru, prema unutra ili van. Stoga bi vaš pad mogao potrošiti mikrovat-dva, baš kao što bi to mogao i povući.
Ako ste trebali dizajnirati ugrađeni uređaj koji radi na 2AA baterije, a kupac zahtijeva da radi najmanje 12 mjeseci. I morate spustiti / podići GPIO. Koji biste koristili za uštedu najviše energije. (Ovdje govorimo o mikro upravljanju)
To ne bi imalo razlike. Budući da struja curenja može teći u bilo kojem smjeru (a vjerojatno i hoće), ne radite ništa ispravno ili pogrešno odabirom izvlačenja ili povlačenja u CMOS sustavu. S http://www.ti.com/lit/an/szza036b/szza036b.pdf "U statičkom stanju istosmjerne struje ulaz aCMOS tone ili daje samo minutnu količinu struje curenja (nekoliko µA)." Sudoperi ili izvor - može biti bilo koji. Ovo iznosim samo zato što smatram da vaš odgovor zavarava - @AdamDavis' odgovor u nastavku je daleko ispravniji.
Mislim da moj odgovor u potpunosti ne zavarava, možda mu samo nedostaje proširenja, kao što je to učinio Adam. Priznajem da sam se možda usredotočio na aspekt baterije, ali iz iskustva vjerujem da je ono što sam napisao više istinito nego zavaravajuće. Ali ja nisam inženjer elektrotehnike, samo praktični haker.
Snažna strana sigurno nije točna - Adamov odgovor objašnjava da je to općenito povijesno i da je zadržavanje žica s uzemljenjem sigurnije (u smislu potencijalnih oštećenja opreme) od žica s bilo kojim naponom na njima. Ja sam inženjer elektronike s iskustvom u točno onom scenariju o kojem "morate trčati godinu dana". Obećavam vam da se ne pokušavam pokazivati ​​ili potući (očito imate mnoštvo znanja o širokom spektru predmeta) - ali ideja da povlačenje gore ili dolje utječe na potrošnju energije nije točna.
Morao sam dizajnirati uređaj male snage baš tako. I sve što sam morao iskoristiti kao zaključak su testovi koje sam napravio tijekom izrade različitih prototipova u raznim konfiguracijama. Držeći stvari povučene, uštedio mi je snagu. Možda je to bilo specifično za tu jednu IC, možda okolišnu, ne znam. Ne mogu sada promijeniti svoj odgovor. Čini se da znate razmjenu stogova, a ja sam naučio da osobno ne skidam glasove, posebno ako je to opravdano stručnim mišljenjem. :)
To je u redu - ova će rasprava biti dovoljna da nahrani znatiželjnike. Drago mi je što ste to prihvatili u dobroj namjeri - nova sam na web mjestu, ali oduševljena sam jer pruža veliku ravnotežu između dijeljenja i učenja. VRLO zanima da su vam padovi smanjili potrošnju energije - ali to je drugačija rasprava.
Koliko vrijedi, napravio sam nekoliko mjerenja na ovome - i padajuće pobjede (za potrošnju energije), ali samo pravedne. Izvlačenje 10 k na 3,3 V = 9fW (da femtowati) - spuštanje 10 k na zemlju = 5 fW. To sigurno nije ni u uštedi malo teritorija baterije.
Moguće je da je sve što sam učinio utjecalo na unutarnji krug, na neki drugi način, možda nešto drugo. Ali da ... te brojke obično neće pomoći ako ste se pobrinuli, jer će se baterija sama isprazniti brže nego što bi to pomoglo uštedjeti energiju :) Čudna mi je situacija jer je ovo dobilo toliko glasova za i prihvatilo se .... i Ipak ste upravo dokazali, i poštujem vaše testove, da zapravo ne odgovara točno na pitanje, kao što je to učinio Adam Davis.
#2
+11
Adam Davis
2013-09-09 23:20:13 UTC
view on stackexchange narkive permalink

Postoje složeni povijesni razlozi zašto su inženjeri elektrotehnike obično povlačili ulaze otpornicima i koristili prekidače za njihovo uzemljenje.

Međutim, ti razlozi nisu osobito relevantni za hobi upotrebu Raspberry Pi. Upotrijebite sve što za vas ima smisla.

Ako izrađujete komercijalni proizvod ili želite da vaš dizajn bude nešto bolji, odabrat ćete pull-up s prekidačem za uzemljenje iz sljedećih praktičnih razloga:

  • Duga uzemljena žica predstavlja manji rizik od EMI / EMC zračenja od one koja je spojena na struju
  • Uzemljenje nečega i pronalazak točke uzemljenja za povezivanje lakše je od dalekovoda
  • Ako se prekidač ili ožičenje, koji se obično nalaze na udaljenosti od kruga, oštete i kratko spoje žicu ili unutarnje dijelove prekidača na kućište ili korisnika, nema štete - sve je na zemlji
#3
+3
Milliways
2013-09-10 10:10:17 UTC
view on stackexchange narkive permalink

Strogo nema potrebe za pull-up otpornikom, BMC GPIO ima unutarnje pull-up otpore koji se aktiviraju kad se programiraju kao ulaz, iako to ne šteti.

Loša je praksa za spajanje GPIO pina izravno na 3V3 ili GND. GPIO je dvosmjeran i ako se programira kao ulaz, to ne bi stvaralo probleme. S druge strane, ako programirano kao izlaz uzrokuje povlačenje prekomjerne struje.

Dobar (siguran) dizajn bi upotrijebio serijski otpor (1 kΩ) u nizu s tipkom za ograničavanje struje. Iz razloga koje je iznio Adam Davis, poželjno je tipku spojiti na masu i zaštitni otpor smjestiti blizu GPIO pina.

Jedini je problem što tijekom faze pokretanja 1-3 ovi pinovi plutaju (primopredaja GPU-a na CPU), a zatim se u fazi 4 tijekom pokretanja Linux kernela PIN-ovi postavljaju u ispravno stanje. To može uzrokovati ozbiljne probleme s vratima koji čekaju logiku. Stoga je poželjno da ih ipak povučete kako vam plutajući period tijekom pokretanja ne bi učinio da vaši krugovi postanu mentalni!
#4
+2
John La Rooy
2013-09-09 21:03:14 UTC
view on stackexchange narkive permalink

Mislim da na RPi nema razloga za preferiranje jednog nad drugim. Većina ljudi vjerojatno samo kopira ili prenosi krugove koje su vidjeli negdje drugdje.

Kada spajate krug (žicama ili PCB-om), u redu je jednostavno odabrati što je prikladnije i prevesti ga u pravo značenje u vašem softvera.

#5
+1
Peter Green
2015-11-19 09:46:26 UTC
view on stackexchange narkive permalink

U stara vremena TTL-a bilo je potrebno mnogo više struje da se igla povuče nisko nego da se povuče visoko. Tako bi pullup otpor mogao biti veći otpor (a time i manje trošenja energije) od pulldown otpora. Nije važno sa suvremenim CMOS-om, ali stare navike teško umiru.

#6
  0
tavis
2014-08-07 23:45:29 UTC
view on stackexchange narkive permalink

Povezivanje zatiča s masom unutarnjim otpornikom za izvlačenje znači da koristite manje dijelova. Sve što trebate je gumb; ne treba vanjski otpornik za ograničavanje struje.



Ova pitanja su automatski prevedena s engleskog jezika.Izvorni sadržaj dostupan je na stackexchange-u, što zahvaljujemo na cc by-sa 3.0 licenci pod kojom se distribuira.
Loading...