Beräkna pull up för open collector

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
FlashGordon
Inlägg: 22
Blev medlem: 18 juni 2004, 01:06:01

Beräkna pull up för open collector

Inlägg av FlashGordon »

Jag håller på att lära mig elektronik från grunden och har nu förstått hur man beräknar lämpligt värde på pull up-motstånd anslutna till open collector-utgång på logikkretsar (något som verkligen inte varit lätt att hitta info om!) Jag vill förklara det jag förstått, kanske det hjälper andra, och vill gärna ha kommentarer på vad som är rätt och fel. Det känns tryggare att förstå vad man sysslar med, än att bara välja "pull up på 10 kohm" som brukar anges utan förklaring.

En länk där detta förklaras och där det finns illustrationer, är:
http://onlinelearning.tcc.edu/faculty/t ... 278L3A.pdf
Se främst sidan 4.

Först om principen med pull up:

Om en open collector-utgång lämnas hängande i luften, inte ansluten till någonting, så är den mycket störningskänslig och kan generera felaktiga signaler. Därför kopplas den via en pull up-resistor Rp till Vcc (som f.ö. inte behöver vara samma spänningskälla som driver logikkretsen med open collector-utgången). Utgången kan då inte anta något annat värde än hög eller låg inom de spänningsintervall som logikkretsarna kräver.

När utgångstransistorn inte leder, så går ingen ström genom Rp. Det finns ingen väg genom den från Vcc till jord. Eftersom det inte går någon ström genom den, så finns det inget spänningsfall över den. Potentialen är alltså Vcc på båda sidor om Rp. Utgångstransistorns kollektor har potentialen = Vcc och utgången fungerar som hög.

När utgångstransistorn leder, så går det en ström från Vcc genom Rp och in i utgången till jord (observera, IN genom UTgången på logikkretsen!) Logikkretsen och Rp bildar på en spänningsdelare. Motståndet i Rp är då så stort relativt motståndet inne i logikkretsen att nästan hela spänningen faller över Rp. Potentialen på kollektorn är då mycket närmare noll än Vcc och utgången fungerar som låg.


Nu något om hur man beräknar värdet på Rp:

Jag vet inte om det jag har förklarat det på enklaste sätt, men det ÄR faktiskt förvånandsvärt komplicerat! Lämpligen matar man in formlerna nedan i Excel en gång för alla, och slår sen upp värdena i datablad från gång till gång.

Formeln för minsta och största värde man kan välja på Rp ges av:

Kod: Markera allt

              Vccmin - Vutlågmax
Rpmin = ----------------------------
        Iutlågmax - Nin * Iinlågmax


               Vccmax - Vuthögmin
Rpmax = --------------------------------
        Nut * Iuthögmax + Nin * Iinhögmax
Här är förklaring till variablerna och vanliga värden för TTL-kretsar:

Vccmin=4,75v är det minsta värde som Vcc kan ligga på.
Vccmax=5,25v är det största värde som Vcc kan ligga på.
Vutlågmax=0,4v är den största spänning som utgången kan ha för att räknas som LÅG.
Vuthögmin=2,4v är den minsta spänning som utgången kan ha för att räknas som HÖG .

Iutlågmax=16mA är den största ström som kan gå IN i UTgången när den är låg.
Iuthögmax=0,4mA är den största ström som kan gå IN i UTgången när den är hög.
Iinlågmax=1,6mA är den största ström som kan gå UT ur INgången när den är låg.
Iinhögmax=0,04mA är den största ström som kan gå in i ingången när den är hög.

Nin är antalet ingångar som är anslutna till varandra och till utgångarna och Rp.
Nut är antalet utgångar som är anslutna till varandra och till ingångarna och Rp.

Nin och Nut är alltså antalet logikkretsar som är direktkopplade till varandra (s.k. wire-AND) i den punkt där Rp är anslutet. Det kan vara 1 en eller flera av både in- och utgångar. Antalet påverkar valet av Rp. Se bilden på sidan 4 i länken ovan.

Värdena ovan (vanliga för TTL-kretsar) ger att Rp måste vara i intervallet 337 ohm till 6528 ohm, när Nin = Nut = 1. I praktiken är väl intervallet större, eftersom värdena här utgår från worst case.


En fråga:
När t.ex. Nut =6 och Nin=8 (alltså, när man kopplar 6 open collektor TTL-utgångar till 8 TTL-ingångar) så blir Rpmin > Rpmax. Betyder det att en sån sammankoppling är omöjlig att genomföra?

En annan fråga:
I bilden på sidan 4 i länken ovan, så anges med pilar strömmen går IN i utgången BÅDE när utgången är hög och när den är låg. Det måste väl vara ett tryckfel? Vid hög utgång, så måste väl strömmen gå ut ur utgången, medan den går in i utgången vid låg utgång. Eller hur?

PS
Eftersom Iutlågmax = 10 ggr Iinlågmax, och Iuthögmax = 10 ggr Iinhögmax, så klarar en TTL-utgång en fan-out på 10, alltså att kopplas till 10 TTL-ingångar. Iutlågmax är det som kallas sänkströmmen.
Senast redigerad av FlashGordon 2 augusti 2004, 15:01:06, redigerad totalt 3 gånger.
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

Några saker:

Nu för tiden så används knappt någon "vanlig TTL" utan nästan bara olika CMOS-varianter. De drar knappt någon ström alls i stabilt läge.

Nåt man däremot behöver tänka på i en snabb krets är att ingångarna har kapacitans och det tar en viss tid för pullup-motståndet att "ladda upp" till en etta. Pullup-värdet blir en kompromiss mellan snabbhet och strömförbrukning.

Det är nog rätt att ström alltid går in i en open collector/drain utgång. Den kan ju inte fungera som strömkälla utan bara som sänka. När den är "på" (0) så sänker den mycket ström och när den är "av" så sänker den bara jättelite (läckström).
FlashGordon
Inlägg: 22
Blev medlem: 18 juni 2004, 01:06:01

Inlägg av FlashGordon »

Ah, självklart måste open collector alltid sänka (ta in) ström...
:roll:

Så när man väljer motstånd inom det intervall man får röra sig inom, så lägger man sig nära minimivärdet om snabbhet är viktigt, eller nära maximivärdet om strömsnålhet är viktigt.

I praktiken har jag dock lite svårt att hitta rätt värden i databladen. Se t.ex.
MC74AC05 http://www.elfa.se/pdf/73/736/07362067.pdf
eller
74LV14 http://www.elfa.se/pdf/73/738/07382559.pdf
för att ta två enkla CMOS-kretsar för vilka Elfa har datablad.

När jag använder de värden som verkar vara de rätta, så får jag små negativa värden på Rp :?

Quiescent current? Iuthög = -24mA och Iutlåg=+24mA??? Utgången ska ju alltid sänka ström...
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

Iutlåg är precis som du säger i storleksordningen 25mA, det är så mycket ström som en utgång klarar av att sänka när den *ska*. Iuthög är nog snarare läckströmmen, alltså den lilla ström som den sänker även när den ska vara av.

Den är nog i storleksordningen 1-10uA (obs: mikro). Det är även samma som storleken på Iin-strömmarna.
frejo
Inlägg: 496
Blev medlem: 21 april 2004, 21:43:01
Ort: Linköping

Inlägg av frejo »

Tackar för den redovisningen.
Alltid kul att lära sig något nytt, har väl tänk gröta i det där några gånger men aldrig orkat. Perfekt att få det serverat så här ;)
FlashGordon
Inlägg: 22
Blev medlem: 18 juni 2004, 01:06:01

Inlägg av FlashGordon »

Precis, cyr. Med såna värden verkar det ju mycket rimligare. Det är bara vissa datablad som är förvirrande och ibland rent dåligt skrivna (i Kina?) Hittar och använder man bara korrekta värden, så blir det bra. Har man lite på fötterna, så fattar man nog vilka värden som är rimliga.

"Vanliga" pullup-värden typ 4700 ohm, funkar ju normalt när man kopplar ihop två kretsar med varandra. Men om man kopplar samman fler än två, så kan man tydligen behöva sänka pullupmotståndet.

När det gäller fördröjningen i omslag mellan hög och låg, så är det klart att detta kan beskrivas som en kapacitiv effekt, alltså om jag förstått det, transistorer/dioder/ledningar "slukar" lite ström, likt en kondensator, tills de "laddats upp" tillräckligt mycket för att släppa igenom strömmen och fungera normalt. Lägre Rp ger högre strömmar och därför laddas de "kapacitiva elementen" upp snabbare, vilket ger kortare omslagstider mellan låg och hög logisk spänningsnivå.

Det är, vad jag förstått, SKILLNADEN i fördröjning för ett omslag från låg till hög (längre tid) och från hög till låg (kortare tid) som orsakar strömspikar. Det innebär t.ex. att båda transistorerna i en totempål-utgång leder under en kort tid. Under dessa nanosekunder så har strömmen mycket litet motstånd från Vcc via utgången till jord, så att den skenar tills den ena transistorn slagit ifrån som den ska.

I en gammal bok jag har beskrivs för en TTL-krets att strömspiken motsvarar en konstant urladdning om 30 pC (Coloumb) under 3 ns. Detta avhjälps enligt boken lämpligen med en keramisk kondensator om 10 nF mellan Vcc och jord. Utan ytterligare förklaringar (varför skriver man en lärobok om elektronik om man ändå lämnar svarta luckor?) så antar jag att kondensatorns kapacitans är tillräcklig för att fånga upp 30 pC laddning (hur matchar 10 nF med 30 pC och 3 ns?) Men den måste ju också vara tillräckligt snabb. Kan man lita på att alla kondensatorer är tillräckligt snabba för att fånga strömspikar? Eller har vissa typer högre snabbhet?

Nu har jag alltså glidit in på frågan om vilka kondensatorer man behöver till sina logikkretsar. Själva logikkretsarna är ju normalt väldokumenterade och som sagt logiska :P Det är motstånds- och kondensatorröran på kopplingsschemana som jag vill förstå...

Mycket tacksam för alla kommentarer hittills!
Skriv svar