Kysymys:
Pitääkö IO-nastoilla olla jokaisella oma ylös / alas-vastus?
JYelton
2012-12-05 13:58:54 UTC
view on stackexchange narkive permalink

Hyvin peruskysymys:

Onko kytkimen tai hyppääjän tulona toimivan mikrokontrollerin jokaisella IO-nastalla oltava oma ylös / alas-vastus?

Simple 3-pin IO schematic

Tässä esimerkissä kukin nasta vedetään vastuksella alas ja sitten 1P3T-kytkimellä VCC: ksi.

Se näyttää suoraviivaiselta, mutta koska enemmän IO-nastoja on käytetty, tarvitaanko lisää vastuksia ehdottomasti? Onko olemassa jokin fiksu tapa pitää vastus laskettuna?

Liittyvä kysymys: Vetovastuksen jakaminen

Kolme vastused:
Anindo Ghosh
2012-12-05 14:25:04 UTC
view on stackexchange narkive permalink

Annetun kaavion mukaisesti, jos kaikki 3 tuloa jakavat vastuksen, mikä tahansa johto, joka vedetään korkealle kytkimen kautta, nostaisi kaikki 3 johtoa korkealle, mikä vastaisi suunnittelun tarkoitusta - MCU ei tiedä mikä kytkinasento on valittu.

Yleinen tapa vähentää osamäärää , ei vastusmääriä, tällaisissa malleissa on käyttää yhteistä väylävastusverkkoa tai -taulukkoa:
Common Bus Resistor Array ( täältä)


Näitä on saatavana rei'itettyinä SIP / DIP- ja SMD-tiedostoina, useilla vastusmäärillä tarpeidesi mukaan . Väylänapa on kytketty maahan ja muut nastat on kytketty vastaaviin MCU-tuloihin kuten kaaviossa. SIP resistor arrays ( täältä)

SMD resistor arrays ( täältä)

Brian Drummond
2012-12-05 16:31:25 UTC
view on stackexchange narkive permalink

Useimmissa MCU: issa on valinnaiset kullekin nastalle sisäänrakennetut vastusvastukset (ei alaspäin), joten on normaalia vetää nastat ALAS kytkimellä (ja käsitellä ohjelmiston napaisuuden inversiota).

Joten - ei tarvita vastuksia.

Miksi pullup, ei down, se on tapana, joka jäi 1970-luvun TTL-logiikkapiiristä, jossa tulon vetäminen kesti paljon vähemmän virtaa ylöspäin tai alaspäin - alasvetävä vastus tuhlaisi enemmän virtaa. Tämä ei enää päde nykypäivän CMOS-logiikkaan, mutta vetämisen perinne on jatkunut, joten varhaiset 5 V: n CMOS-sirut olivat yhteensopivia vanhemman TTL-logiikan kanssa.

Luulin, että syy vetämiseen johtui siitä, että niiden yhteinen käyttö oli avoimen keräilijän lähdön kanssa, ja kun sinulla on tapana mennä yhteen suuntaan, jatkat sitä tietä ilman hyvää syytä.
Lisäksi TTL-lähdöt voivat uppoaa 16 mA: n, mutta lähde vain 800uA, joten lihaksen lisäämiseen lähtöön voidaan käyttää vetovoimaa. TTL-tulo vetää itsensä ylös, jos et kytke sitä, joten sisäänsyöttö syistä tuntuu minulle hieman oudolta. (Anteeksi, odotin liian kauan edellisen kommentin muokkauksessa ...)
"TTL-tulo vetää itsensä ylös" ... jossain määrin kyllä, mutta ei luotettavasti - isossa oranssissa kirjassa määritetään 40 mikroamppi Ih takaamaan Vin> 2,4 V (7400: lle; 20ua 74LS: lle) TTL-tulojen jättäminen avoimeksi oli ehdottomasti ei suositella missä tahansa työskennellyt ...
Pulldowns vs. pullups eivät ole vain historiallisia. Vetovastuksella kytkimen toinen puoli voidaan maadoittaa, mikä on usein kätevää.
TI MSP430 -mikrokontrollerien perheessä on sekä sisäisiä nousuja että alamäkiä.
Lma Ranger
2014-11-30 06:50:46 UTC
view on stackexchange narkive permalink

Et koskaan halua jättää logiikan syötettä auki olettaen, että se vetää itsensä ylös tai alas. jos tulo jätetään auki, se on pieni antenni ja myös logiikkalaitteen virtojen alainen. Joten vedät ylös tai alas varmistaaksesi, että sinulla on puhdas ja ennustettava tulo. Opin tämän säännön työskennellessäni Fairchild Semiconductorissa 1980-luvulla.

Tämä ei vastaa esitettyyn kysymykseen.
Mielestäni alkuperäisen kysymyksen asiayhteys on, että on painikkeita ja kytkimiä, jotka ovat MCU: n tuloja.Jos I / O-nasta on käyttämätön, siitä voidaan tehdä ulostulo, jonka jälkeen laiteohjelmisto ohjaa matalaksi (tai korkeaksi).Sen pitäisi ratkaista piilevät EMI-ongelmat, eikä se vaadi ulkoista vastusta.


Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
Loading...